@junobuild/core-standalone 5.3.1 → 5.4.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.
@@ -1,6 +1,6 @@
1
1
  import { createRequire as topLevelCreateRequire } from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
- var jf=Object.defineProperty;var Kf=(e,t)=>{for(var r in t)jf(e,r,{get:t[r],enumerable:!0})};var $f=class extends Error{},Ko=(e,t)=>{if(e==null)throw new $f(t)};var mr=e=>new Uint8Array(e),qi=e=>Array.from(e);var Bl=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var $r=e=>{let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode(...e.subarray(r,r+32768)));return btoa(t.join(""))},Dl=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0));var U=e=>e==null,J=e=>!U(e),_r=e=>J(e)&&e!=="",pt=e=>!_r(e),se=e=>J(e)?[e]:[],me=e=>e?.[0];var Li="abcdefghijklmnopqrstuvwxyz234567",co=Object.create(null);for(let e=0;e<Li.length;e++)co[Li[e]]=e;co[0]=co.o;co[1]=co.i;function Hf(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 Gf(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=co[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 Jf=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 Wf(e){let t=-1;for(let r=0;r<e.length;r++){let n=(e[r]^t)&255;t=Jf[n]^t>>>8}return(t^-1)>>>0}function zf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Mi(e,...t){if(!zf(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 Vl(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 Yf(e,t){Mi(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function ka(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Ua(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Mt(e,t){return e<<32-t|e>>>t}var Ul=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Zf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Xf(e){if(Mi(e),Ul)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Zf[e[r]];return t}var hr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Pl(e){if(e>=hr._0&&e<=hr._9)return e-hr._0;if(e>=hr.A&&e<=hr.F)return e-(hr.A-10);if(e>=hr.a&&e<=hr.f)return e-(hr.a-10)}function Qf(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Ul)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=Pl(e.charCodeAt(i)),a=Pl(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 eh(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function kl(e){return typeof e=="string"&&(e=eh(e)),Mi(e),e}var th=class{};function rh(e){let t=n=>e().update(kl(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function nh(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,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function oh(e,t,r){return e&t^~e&r}function ih(e,t,r){return e&t^e&r^t&r}var sh=class extends th{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Ua(this.buffer)}update(e){Vl(this),e=kl(e),Mi(e);let{view:t,buffer:r,blockLen:n}=this,o=e.length;for(let i=0;i<o;){let s=Math.min(n-this.pos,o-i);if(s===n){let a=Ua(e);for(;n<=o-i;i+=n)this.process(a,i);continue}r.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Vl(this),Yf(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:o}=this,{pos:i}=this;t[i++]=128,ka(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(r,0),i=0);for(let d=i;d<n;d++)t[d]=0;nh(r,n-8,BigInt(this.length*8),o),this.process(r,0);let s=Ua(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)s.setUint32(4*d,l[d],o)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:o,destroyed:i,pos:s}=this;return e.destroyed=i,e.finished=o,e.length=n,e.pos=s,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}},Mr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),jr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]),ah=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]),Kr=new Uint32Array(64),ch=class extends sh{constructor(e=32){super(64,e,8,!1),this.A=Mr[0]|0,this.B=Mr[1]|0,this.C=Mr[2]|0,this.D=Mr[3]|0,this.E=Mr[4]|0,this.F=Mr[5]|0,this.G=Mr[6]|0,this.H=Mr[7]|0}get(){let{A:e,B:t,C:r,D:n,E:o,F:i,G:s,H:a}=this;return[e,t,r,n,o,i,s,a]}set(e,t,r,n,o,i,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=o|0,this.F=i|0,this.G=s|0,this.H=a|0}process(e,t){for(let d=0;d<16;d++,t+=4)Kr[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let p=Kr[d-15],u=Kr[d-2],f=Mt(p,7)^Mt(p,18)^p>>>3,h=Mt(u,17)^Mt(u,19)^u>>>10;Kr[d]=h+Kr[d-7]+f+Kr[d-16]|0}let{A:r,B:n,C:o,D:i,E:s,F:a,G:c,H:l}=this;for(let d=0;d<64;d++){let p=Mt(s,6)^Mt(s,11)^Mt(s,25),u=l+p+oh(s,a,c)+ah[d]+Kr[d]|0,f=(Mt(r,2)^Mt(r,13)^Mt(r,22))+ih(r,n,o)|0;l=c,c=a,a=s,s=i+u|0,i=o,o=n,n=r,r=u+f|0}r=r+this.A|0,n=n+this.B|0,o=o+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,o,i,s,a,c,l)}roundClean(){ka(Kr)}destroy(){this.set(0,0,0,0,0,0,0,0),ka(this.buffer)}},lh=class extends ch{constructor(){super(28),this.A=jr[0]|0,this.B=jr[1]|0,this.C=jr[2]|0,this.D=jr[3]|0,this.E=jr[4]|0,this.F=jr[5]|0,this.G=jr[6]|0,this.H=jr[7]|0}},uh=rh(()=>new lh),ki="__principal__",dh=2,Fl=4,ph="aaaaa-aa",La=class ao{static anonymous(){return new this(new Uint8Array([Fl]))}static managementCanister(){return this.fromText(ph)}static selfAuthenticating(t){let r=uh(t);return new this(new Uint8Array([...r,dh]))}static from(t){if(typeof t=="string")return ao.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new ao(t);if(ao.isPrincipal(t))return new ao(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Qf(t))}static fromText(t){let r=t;if(t.includes(ki)){let s=JSON.parse(t);ki in s&&(r=s[ki])}let n=r.toLowerCase().replace(/-/g,""),o=Gf(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 ao||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]===Fl}toUint8Array(){return this._arr}toHex(){return Xf(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,Wf(this._arr));let r=new Uint8Array(t),n=new Uint8Array([...r,...this._arr]),o=Hf(n).match(/.{1,5}/g);if(!o)throw new Error;return o.join("-")}toString(){return this.toText()}toJSON(){return{[ki]: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"}},qa="__bigint__",Ma="__principal__",ja="__uint8array__",fh=(e,t)=>typeof t=="bigint"?{[qa]:`${t}`}:J(t)&&La.isPrincipal(t)?{[Ma]:La.from(t).toText()}:J(t)&&t instanceof Uint8Array?{[ja]:Array.from(t)}:t,hh=(e,t)=>{let r=n=>t[n];return J(t)&&typeof t=="object"&&qa in t?BigInt(r(qa)):J(t)&&typeof t=="object"&&Ma in t?La.fromText(r(Ma)):J(t)&&typeof t=="object"&&ja in t?Uint8Array.from(r(ja)):t},Ll=async e=>{let t=new Blob([JSON.stringify(e,fh)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},ji=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(),hh)},Ki=()=>typeof window<"u";var ql;(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"})(ql||(ql={}));var Hr;(function(e){e.Replied="replied",e.Rejected="rejected"})(Hr||(Hr={}));function Ml(e){return e!=null&&"reject_code"in e}function jl(e){return e!=null&&"certificate"in e}var $i="abcdefghijklmnopqrstuvwxyz234567",lo=Object.create(null);for(let e=0;e<$i.length;e++)lo[$i[e]]=e;lo[0]=lo.o;lo[1]=lo.i;function Kl(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+=$i[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?$i[r>>3]:"")}function $l(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=lo[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 mh=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 Hl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=mh[o]^t>>>8}return(t^-1)>>>0}import*as yr from"node:crypto";var kn=yr&&typeof yr=="object"&&"webcrypto"in yr?yr.webcrypto:yr&&typeof yr=="object"&&"randomBytes"in yr?yr:void 0;function jt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ka(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!jt(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 $a(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 Jl(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 Ln(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Gi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rt(e,t){return e<<32-t|e>>>t}var Wl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",_h=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(fe(e),Wl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=_h[e[r]];return t}var gr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Gl(e){if(e>=gr._0&&e<=gr._9)return e-gr._0;if(e>=gr.A&&e<=gr.F)return e-(gr.A-10);if(e>=gr.a&&e<=gr.f)return e-(gr.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Wl)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=Gl(e.charCodeAt(i)),a=Gl(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 G(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Ha(e){return typeof e=="string"&&(e=G(e)),fe(e),e}function $(...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 Hi=class{};function Ji(e){let t=n=>e().update(Ha(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function uo(e=32){if(kn&&typeof kn.getRandomValues=="function")return kn.getRandomValues(new Uint8Array(e));if(kn&&typeof kn.randomBytes=="function")return Uint8Array.from(kn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function yh(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,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function zl(e,t,r){return e&t^~e&r}function Yl(e,t,r){return e&t^e&r^t&r}var $o=class extends Hi{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=Gi(this.buffer)}update(t){$a(this),t=Ha(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=Gi(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){$a(this),Jl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Ln(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let p=s;p<o;p++)r[p]=0;yh(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Gi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,d=this.get();if(l>d.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<l;p++)a.setUint32(4*p,d[p],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()}},xr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),br=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ae=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Wi=BigInt(4294967295),Zl=BigInt(32);function gh(e,t=!1){return t?{h:Number(e&Wi),l:Number(e>>Zl&Wi)}:{h:Number(e>>Zl&Wi)|0,l:Number(e&Wi)|0}}function Xl(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}=gh(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Ga=(e,t,r)=>e>>>r,Ja=(e,t,r)=>e<<32-r|t>>>r,qn=(e,t,r)=>e>>>r|t<<32-r,Mn=(e,t,r)=>e<<32-r|t>>>r,Ho=(e,t,r)=>e<<64-r|t>>>r-32,Go=(e,t,r)=>e>>>r-32|t<<64-r;function Kt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Ql=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),eu=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,tu=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),ru=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,nu=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ou=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var bh=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]),Gr=new Uint32Array(64),zi=class extends $o{constructor(t=32){super(64,t,8,!1),this.A=xr[0]|0,this.B=xr[1]|0,this.C=xr[2]|0,this.D=xr[3]|0,this.E=xr[4]|0,this.F=xr[5]|0,this.G=xr[6]|0,this.H=xr[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 p=0;p<16;p++,r+=4)Gr[p]=t.getUint32(r,!1);for(let p=16;p<64;p++){let u=Gr[p-15],f=Gr[p-2],h=Rt(u,7)^Rt(u,18)^u>>>3,_=Rt(f,17)^Rt(f,19)^f>>>10;Gr[p]=_+Gr[p-7]+h+Gr[p-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:l,H:d}=this;for(let p=0;p<64;p++){let u=Rt(a,6)^Rt(a,11)^Rt(a,25),f=d+u+zl(a,c,l)+bh[p]+Gr[p]|0,_=(Rt(n,2)^Rt(n,13)^Rt(n,22))+Yl(n,o,i)|0;d=l,l=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|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,l=l+this.G|0,d=d+this.H|0,this.set(n,o,i,s,a,c,l,d)}roundClean(){Ln(Gr)}destroy(){this.set(0,0,0,0,0,0,0,0),Ln(this.buffer)}},Wa=class extends zi{constructor(){super(28),this.A=br[0]|0,this.B=br[1]|0,this.C=br[2]|0,this.D=br[3]|0,this.E=br[4]|0,this.F=br[5]|0,this.G=br[6]|0,this.H=br[7]|0}},iu=Xl(["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))),wh=iu[0],Th=iu[1],Jr=new Uint32Array(80),Wr=new Uint32Array(80),za=class extends $o{constructor(t=64){super(128,t,16,!1),this.Ah=Ae[0]|0,this.Al=Ae[1]|0,this.Bh=Ae[2]|0,this.Bl=Ae[3]|0,this.Ch=Ae[4]|0,this.Cl=Ae[5]|0,this.Dh=Ae[6]|0,this.Dl=Ae[7]|0,this.Eh=Ae[8]|0,this.El=Ae[9]|0,this.Fh=Ae[10]|0,this.Fl=Ae[11]|0,this.Gh=Ae[12]|0,this.Gl=Ae[13]|0,this.Hh=Ae[14]|0,this.Hl=Ae[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:d,Fh:p,Fl:u,Gh:f,Gl:h,Hh:_,Hl:y}=this;return[t,r,n,o,i,s,a,c,l,d,p,u,f,h,_,y]}set(t,r,n,o,i,s,a,c,l,d,p,u,f,h,_,y){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=l|0,this.El=d|0,this.Fh=p|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=y|0}process(t,r){for(let g=0;g<16;g++,r+=4)Jr[g]=t.getUint32(r),Wr[g]=t.getUint32(r+=4);for(let g=16;g<80;g++){let T=Jr[g-15]|0,O=Wr[g-15]|0,v=qn(T,O,1)^qn(T,O,8)^Ga(T,O,7),E=Mn(T,O,1)^Mn(T,O,8)^Ja(T,O,7),C=Jr[g-2]|0,w=Wr[g-2]|0,I=qn(C,w,19)^Ho(C,w,61)^Ga(C,w,6),P=Mn(C,w,19)^Go(C,w,61)^Ja(C,w,6),A=tu(E,P,Wr[g-7],Wr[g-16]),x=ru(A,v,I,Jr[g-7],Jr[g-16]);Jr[g]=x|0,Wr[g]=A|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:d,Eh:p,El:u,Fh:f,Fl:h,Gh:_,Gl:y,Hh:m,Hl:b}=this;for(let g=0;g<80;g++){let T=qn(p,u,14)^qn(p,u,18)^Ho(p,u,41),O=Mn(p,u,14)^Mn(p,u,18)^Go(p,u,41),v=p&f^~p&_,E=u&h^~u&y,C=nu(b,O,E,Th[g],Wr[g]),w=ou(C,m,T,v,wh[g],Jr[g]),I=C|0,P=qn(n,o,28)^Ho(n,o,34)^Ho(n,o,39),A=Mn(n,o,28)^Go(n,o,34)^Go(n,o,39),x=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,b=y|0,_=f|0,y=h|0,f=p|0,h=u|0,{h:p,l:u}=Kt(l|0,d|0,w|0,I|0),l=a|0,d=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let S=Ql(I,A,N);n=eu(S,w,P,x),o=S|0}({h:n,l:o}=Kt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Kt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Kt(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:d}=Kt(this.Dh|0,this.Dl|0,l|0,d|0),{h:p,l:u}=Kt(this.Eh|0,this.El|0,p|0,u|0),{h:f,l:h}=Kt(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:y}=Kt(this.Gh|0,this.Gl|0,_|0,y|0),{h:m,l:b}=Kt(this.Hh|0,this.Hl|0,m|0,b|0),this.set(n,o,i,s,a,c,l,d,p,u,f,h,_,y,m,b)}roundClean(){Ln(Jr,Wr)}destroy(){Ln(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ve=Ji(()=>new zi),su=Ji(()=>new Wa),au=Ji(()=>new za);var Yi="__principal__",Nh=2,cu=4,Oh="aaaaa-aa",q=class e{static anonymous(){return new this(new Uint8Array([cu]))}static managementCanister(){return this.fromText(Oh)}static selfAuthenticating(t){let r=su(t);return new this(new Uint8Array([...r,Nh]))}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(Ee(t))}static fromText(t){let r=t;if(t.includes(Yi)){let s=JSON.parse(t);Yi in s&&(r=s[Yi])}let n=r.toLowerCase().replace(/-/g,""),o=$l(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]===cu}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,Hl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=Kl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Yi]: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 wr;(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"})(wr||(wr={}));var Zi;(function(e){e.Normal="normal",e.Verbose="verbose"})(Zi||(Zi={}));var Eh=new Set(["arg","certificate","nonce"]);function Ya(e){return(t,r)=>r instanceof Uint8Array?e===Zi.Normal&&Eh.has(t)?`<${r.length} bytes, set ErrorCode.verbosity = ErrorVerbosity.Verbose to display>`:`hex(${r.length}):${j(r)}`:r}var K=class e{static{this.verbosity=Zi.Normal}constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
3
+ var Of=Object.defineProperty;var Ef=(e,t)=>{for(var r in t)Of(e,r,{get:t[r],enumerable:!0})};var Ci="abcdefghijklmnopqrstuvwxyz234567",ro=Object.create(null);for(let e=0;e<Ci.length;e++)ro[Ci[e]]=e;ro[0]=ro.o;ro[1]=ro.i;function xl(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+=Ci[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?Ci[r>>3]:"")}function bl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=ro[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 Rf=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 wl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Rf[o]^t>>>8}return(t^-1)>>>0}import*as fr from"node:crypto";var Pn=fr&&typeof fr=="object"&&"webcrypto"in fr?fr.webcrypto:fr&&typeof fr=="object"&&"randomBytes"in fr?fr:void 0;function Mt(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function va(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!Mt(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 Ia(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 Nl(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 Fn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Pi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rt(e,t){return e<<32-t|e>>>t}var Ol=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",vf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(fe(e),Ol)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=vf[e[r]];return t}var hr={_0:48,_9:57,A:65,F:70,a:97,f:102};function Tl(e){if(e>=hr._0&&e<=hr._9)return e-hr._0;if(e>=hr.A&&e<=hr.F)return e-(hr.A-10);if(e>=hr.a&&e<=hr.f)return e-(hr.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Ol)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=Tl(e.charCodeAt(i)),a=Tl(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 G(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Aa(e){return typeof e=="string"&&(e=G(e)),fe(e),e}function $(...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 Vi=class{};function Fi(e){let t=n=>e().update(Aa(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function no(e=32){if(Pn&&typeof Pn.getRandomValues=="function")return Pn.getRandomValues(new Uint8Array(e));if(Pn&&typeof Pn.randomBytes=="function")return Uint8Array.from(Pn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function If(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,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}function El(e,t,r){return e&t^~e&r}function Rl(e,t,r){return e&t^e&r^t&r}var Do=class extends Vi{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=Pi(this.buffer)}update(t){Ia(this),t=Aa(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=Pi(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){Ia(this),Nl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,Fn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;If(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=Pi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,p=this.get();if(l>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;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()}},mr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),_r=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ae=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Bi=BigInt(4294967295),vl=BigInt(32);function Af(e,t=!1){return t?{h:Number(e&Bi),l:Number(e>>vl&Bi)}:{h:Number(e>>vl&Bi)|0,l:Number(e&Bi)|0}}function Il(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}=Af(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Sa=(e,t,r)=>e>>>r,Ca=(e,t,r)=>e<<32-r|t>>>r,Bn=(e,t,r)=>e>>>r|t<<32-r,Dn=(e,t,r)=>e<<32-r|t>>>r,Uo=(e,t,r)=>e<<64-r|t>>>r-32,ko=(e,t,r)=>e>>>r-32|t<<64-r;function jt(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Al=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Sl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Cl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Vl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,Pl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Fl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Cf=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]),Lr=new Uint32Array(64),Di=class extends Do{constructor(t=32){super(64,t,8,!1),this.A=mr[0]|0,this.B=mr[1]|0,this.C=mr[2]|0,this.D=mr[3]|0,this.E=mr[4]|0,this.F=mr[5]|0,this.G=mr[6]|0,this.H=mr[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)Lr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let u=Lr[d-15],f=Lr[d-2],h=Rt(u,7)^Rt(u,18)^u>>>3,_=Rt(f,17)^Rt(f,19)^f>>>10;Lr[d]=_+Lr[d-7]+h+Lr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:l,H:p}=this;for(let d=0;d<64;d++){let u=Rt(a,6)^Rt(a,11)^Rt(a,25),f=p+u+El(a,c,l)+Cf[d]+Lr[d]|0,_=(Rt(n,2)^Rt(n,13)^Rt(n,22))+Rl(n,o,i)|0;p=l,l=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|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,l=l+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,l,p)}roundClean(){Fn(Lr)}destroy(){this.set(0,0,0,0,0,0,0,0),Fn(this.buffer)}},Va=class extends Di{constructor(){super(28),this.A=_r[0]|0,this.B=_r[1]|0,this.C=_r[2]|0,this.D=_r[3]|0,this.E=_r[4]|0,this.F=_r[5]|0,this.G=_r[6]|0,this.H=_r[7]|0}},Bl=Il(["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))),Vf=Bl[0],Pf=Bl[1],qr=new Uint32Array(80),Mr=new Uint32Array(80),Pa=class extends Do{constructor(t=64){super(128,t,16,!1),this.Ah=Ae[0]|0,this.Al=Ae[1]|0,this.Bh=Ae[2]|0,this.Bl=Ae[3]|0,this.Ch=Ae[4]|0,this.Cl=Ae[5]|0,this.Dh=Ae[6]|0,this.Dl=Ae[7]|0,this.Eh=Ae[8]|0,this.El=Ae[9]|0,this.Fh=Ae[10]|0,this.Fl=Ae[11]|0,this.Gh=Ae[12]|0,this.Gl=Ae[13]|0,this.Hh=Ae[14]|0,this.Hl=Ae[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:l,El:p,Fh:d,Fl:u,Gh:f,Gl:h,Hh:_,Hl:y}=this;return[t,r,n,o,i,s,a,c,l,p,d,u,f,h,_,y]}set(t,r,n,o,i,s,a,c,l,p,d,u,f,h,_,y){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=l|0,this.El=p|0,this.Fh=d|0,this.Fl=u|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=y|0}process(t,r){for(let g=0;g<16;g++,r+=4)qr[g]=t.getUint32(r),Mr[g]=t.getUint32(r+=4);for(let g=16;g<80;g++){let T=qr[g-15]|0,O=Mr[g-15]|0,v=Bn(T,O,1)^Bn(T,O,8)^Sa(T,O,7),E=Dn(T,O,1)^Dn(T,O,8)^Ca(T,O,7),C=qr[g-2]|0,w=Mr[g-2]|0,I=Bn(C,w,19)^Uo(C,w,61)^Sa(C,w,6),P=Dn(C,w,19)^ko(C,w,61)^Ca(C,w,6),A=Cl(E,P,Mr[g-7],Mr[g-16]),x=Vl(A,v,I,qr[g-7],qr[g-16]);qr[g]=x|0,Mr[g]=A|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:l,Dl:p,Eh:d,El:u,Fh:f,Fl:h,Gh:_,Gl:y,Hh:m,Hl:b}=this;for(let g=0;g<80;g++){let T=Bn(d,u,14)^Bn(d,u,18)^Uo(d,u,41),O=Dn(d,u,14)^Dn(d,u,18)^ko(d,u,41),v=d&f^~d&_,E=u&h^~u&y,C=Pl(b,O,E,Pf[g],Mr[g]),w=Fl(C,m,T,v,Vf[g],qr[g]),I=C|0,P=Bn(n,o,28)^Uo(n,o,34)^Uo(n,o,39),A=Dn(n,o,28)^ko(n,o,34)^ko(n,o,39),x=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,b=y|0,_=f|0,y=h|0,f=d|0,h=u|0,{h:d,l:u}=jt(l|0,p|0,w|0,I|0),l=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let S=Al(I,A,N);n=Sl(S,w,P,x),o=S|0}({h:n,l:o}=jt(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=jt(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=jt(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:p}=jt(this.Dh|0,this.Dl|0,l|0,p|0),{h:d,l:u}=jt(this.Eh|0,this.El|0,d|0,u|0),{h:f,l:h}=jt(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:y}=jt(this.Gh|0,this.Gl|0,_|0,y|0),{h:m,l:b}=jt(this.Hh|0,this.Hl|0,m|0,b|0),this.set(n,o,i,s,a,c,l,p,d,u,f,h,_,y,m,b)}roundClean(){Fn(qr,Mr)}destroy(){Fn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ve=Fi(()=>new Di),Dl=Fi(()=>new Va),Ul=Fi(()=>new Pa);var Ui="__principal__",Ff=2,kl=4,Bf="aaaaa-aa",U=class e{static anonymous(){return new this(new Uint8Array([kl]))}static managementCanister(){return this.fromText(Bf)}static selfAuthenticating(t){let r=Dl(t);return new this(new Uint8Array([...r,Ff]))}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(Ee(t))}static fromText(t){let r=t;if(t.includes(Ui)){let s=JSON.parse(t);Ui in s&&(r=s[Ui])}let n=r.toLowerCase().replace(/-/g,""),o=bl(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]===kl}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,wl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=xl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Ui]: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 Df=class extends Error{},Lo=(e,t)=>{if(e==null)throw new Df(t)};var yr=e=>new Uint8Array(e),ki=e=>Array.from(e);var Ll=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var jr=e=>{let t=[];for(let r=0;r<e.length;r+=32768)t.push(String.fromCharCode(...e.subarray(r,r+32768)));return btoa(t.join(""))},ql=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0));var k=e=>e==null,J=e=>!k(e),gr=e=>J(e)&&e!=="",pt=e=>!gr(e),se=e=>J(e)?[e]:[],me=e=>e?.[0];var Fa="__bigint__",Ba="__principal__",Da="__uint8array__",Uf=(e,t)=>typeof t=="bigint"?{[Fa]:`${t}`}:J(t)&&U.isPrincipal(t)?{[Ba]:U.from(t).toText()}:J(t)&&t instanceof Uint8Array?{[Da]:Array.from(t)}:t,kf=(e,t)=>{let r=n=>t[n];return J(t)&&typeof t=="object"&&Fa in t?BigInt(r(Fa)):J(t)&&typeof t=="object"&&Ba in t?U.fromText(r(Ba)):J(t)&&typeof t=="object"&&Da in t?Uint8Array.from(r(Da)):t},Ml=async e=>{let t=new Blob([JSON.stringify(e,Uf)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Li=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(),kf)},qi=()=>typeof window<"u";var jl;(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"})(jl||(jl={}));var Kr;(function(e){e.Replied="replied",e.Rejected="rejected"})(Kr||(Kr={}));function Kl(e){return e!=null&&"reject_code"in e}function $l(e){return e!=null&&"certificate"in e}var xr;(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"})(xr||(xr={}));var Mi;(function(e){e.Normal="normal",e.Verbose="verbose"})(Mi||(Mi={}));var Lf=new Set(["arg","certificate","nonce"]);function Ua(e){return(t,r)=>r instanceof Uint8Array?e===Mi.Normal&&Lf.has(t)?`<${r.length} bytes, set ErrorCode.verbosity = ErrorVerbosity.Verbose to display>`:`hex(${r.length}):${j(r)}`:r}var K=class e{static{this.verbosity=Mi.Normal}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?j(this.requestContext.requestId):"undefined"}
6
6
  Sender pubkey (hex): ${j(this.requestContext.senderPubKey)}
@@ -9,58 +9,53 @@ Request context:
9
9
  Call context:
10
10
  Canister ID: ${this.callContext.canisterId.toText()}
11
11
  Method name: ${this.callContext.methodName}`,"httpDetails"in this.callContext&&(t+=`
12
- HTTP details: ${JSON.stringify(this.callContext.httpDetails,Ya(e.verbosity),2)}`)),t}},st=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}`}},Tr=class extends st{static fromCode(t){return new this(t)}},Ye=class e extends Tr{constructor(t){super(t,wr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},re=class e extends Tr{constructor(t){super(t,wr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},vt=class e extends Tr{constructor(t){super(t,wr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Jo=class e extends Tr{constructor(t){super(t,wr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Pe=class e extends Tr{constructor(t){super(t,wr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends Tr{constructor(t){super(t,wr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ae=class e extends Tr{constructor(t){super(t,wr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},It=class e extends K{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+=`: ${ei(this.error)}`),`Certificate verification error: "${t}"`}},Nr=class e extends K{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`}},Xi=class e extends K{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},jn=class e extends K{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()}`}},Qi=class e extends K{constructor(t){super(),this.subnetId=t,this.name="CertificateNotAuthorizedForSubnetErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate is not authorized for subnet ${this.subnetId.toText()}`}},At=class e extends K{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}`}},es=class e extends K{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},ts=class e extends K{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},po=class e extends K{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`}},rs=class e extends K{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: ${j(this.expectedPrefix)}, but got ${j(this.actualPrefix)}`}},ns=class e extends K{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}`}},St=class e extends K{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Wo=class e extends K{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},os=class e extends K{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${ei(this.error)}, input: ${j(this.input)}`}},is=class e extends K{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${ei(this.error)}, input: ${this.value}`}};var Kn=class e extends K{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}
12
+ HTTP details: ${JSON.stringify(this.callContext.httpDetails,Ua(e.verbosity),2)}`)),t}},st=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}`}},br=class extends st{static fromCode(t){return new this(t)}},Ye=class e extends br{constructor(t){super(t,xr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},re=class e extends br{constructor(t){super(t,xr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},vt=class e extends br{constructor(t){super(t,xr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},qo=class e extends br{constructor(t){super(t,xr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Pe=class e extends br{constructor(t){super(t,xr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends br{constructor(t){super(t,xr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ae=class e extends br{constructor(t){super(t,xr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},It=class e extends K{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+=`: ${Jo(this.error)}`),`Certificate verification error: "${t}"`}},wr=class e extends K{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`}},ji=class e extends K{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Un=class e extends K{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()}`}},Ki=class e extends K{constructor(t){super(),this.subnetId=t,this.name="CertificateNotAuthorizedForSubnetErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate is not authorized for subnet ${this.subnetId.toText()}`}},At=class e extends K{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}`}},$i=class e extends K{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Hi=class e extends K{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},oo=class e extends K{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 K{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: ${j(this.expectedPrefix)}, but got ${j(this.actualPrefix)}`}},Ji=class e extends K{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}`}},St=class e extends K{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Mo=class e extends K{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Wi=class e extends K{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Jo(this.error)}, input: ${j(this.input)}`}},zi=class e extends K{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Jo(this.error)}, input: ${this.value}`}};var kn=class e extends K{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: ${j(this.requestId)}
14
14
  `),this.status&&(t+=` Request status: ${this.status}
15
- `),t}},ss=class e extends K{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?
15
+ `),t}},Yi=class e extends K{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?
16
16
  Request ID: ${j(this.requestId)}
17
- `;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},as=class e extends K{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
17
+ `;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},Zi=class e extends K{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
18
18
  Request ID: ${j(this.requestId)}
19
19
  Reject code: ${this.rejectCode}
20
20
  Reject text: ${this.rejectMessage}
21
21
  Error code: ${this.rejectErrorCode}
22
- `}},cs=class e extends K{constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
22
+ `}},Xi=class e extends K{constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
23
23
  Request ID: ${j(this.requestId)}
24
24
  Reject code: ${this.rejectCode}
25
25
  Reject text: ${this.rejectMessage}
26
26
  Error code: ${this.rejectErrorCode}
27
- `}},ls=class e extends K{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
27
+ `}},Qi=class e extends K{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
28
28
  Request ID: ${j(this.requestId)}
29
29
  Reject code: ${this.rejectCode}
30
30
  Reject text: ${this.rejectMessage}
31
31
  Error code: ${this.rejectErrorCode}
32
- `}},us=class e extends K{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
32
+ `}},es=class e extends K{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
33
33
  Request ID: ${j(this.requestId)}
34
- `}},Ct=class e extends K{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},ds=class e extends K{constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},zr=class e extends K{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},$t=class e extends K{constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},ps=class e extends K{constructor(){super(),this.name="MissingFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"No fetch implementation available. Provide a `fetch` function in HttpAgentOptions or ensure `globalThis.fetch` is defined."}},fs=class e extends K{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},hs=class e extends K{constructor(t,r){super(),this.signatureCount=t,this.maxExpected=r,this.name="ExcessiveSignaturesErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contains ${this.signatureCount} signatures, which exceeds the subnet size of ${this.maxExpected}. This suggests a malformed or malicious response.`}},ms=class e extends K{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}};var _s=class e extends K{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},ys=class e extends K{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Se=class e extends K{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${ei(this.error)}`}},gs=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.requestId=r,this.response=n,this.rawCertificate=o,this.name="UnexpectedV4StatusErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=(r,n)=>n instanceof Uint8Array?`hex(${n.length}):${j(n)}`:n;return`Unexpected request status in v4 sync response: "${this.status}"
34
+ `}},Ct=class e extends K{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},ts=class e extends K{constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},$r=class e extends K{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},Kt=class e extends K{constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},rs=class e extends K{constructor(){super(),this.name="MissingFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"No fetch implementation available. Provide a `fetch` function in HttpAgentOptions or ensure `globalThis.fetch` is defined."}},ns=class e extends K{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},os=class e extends K{constructor(t,r){super(),this.signatureCount=t,this.maxExpected=r,this.name="ExcessiveSignaturesErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contains ${this.signatureCount} signatures, which exceeds the subnet size of ${this.maxExpected}. This suggests a malformed or malicious response.`}},is=class e extends K{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}};var ss=class e extends K{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},as=class e extends K{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Se=class e extends K{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Jo(this.error)}`}},cs=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.requestId=r,this.response=n,this.rawCertificate=o,this.name="UnexpectedV4StatusErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=(r,n)=>n instanceof Uint8Array?`hex(${n.length}):${j(n)}`:n;return`Unexpected request status in v4 sync response: "${this.status}"
35
35
  Request ID (hex): ${j(this.requestId)}
36
- Response: ${JSON.stringify(this.response,t,2)}`}},Yr=class e extends K{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},zo=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
36
+ Response: ${JSON.stringify(this.response,t,2)}`}},Hr=class e extends K{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},jo=class e extends K{constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
37
37
  Status: ${this.status} (${this.statusText})
38
- Headers: ${JSON.stringify(this.headers,Ya(K.verbosity))}
38
+ Headers: ${JSON.stringify(this.headers,Ua(K.verbosity))}
39
39
  `;return this.bodyText&&(t+=` Body: ${this.bodyText}
40
- `),t}},Yo=class e extends K{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Zo=class e extends K{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${ei(this.error)}`}},Xo=class e extends K{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.`}},xs=class e extends K{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Qo=class e extends K{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function ei(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e,Ya(K.verbosity))}catch{return String(e)}}var ft=new Error("unreachable");var Jn={};Kf(Jn,{Bool:()=>yu,BoolClass:()=>Os,CandidDecodeError:()=>Ze,ConstructType:()=>Jt,Empty:()=>mu,EmptyClass:()=>ri,FixedIntClass:()=>Rr,FixedNatClass:()=>Gt,Float32:()=>Tu,Float64:()=>Nu,FloatClass:()=>ii,Func:()=>Lu,FuncClass:()=>Gn,Int:()=>bu,Int16:()=>Eu,Int32:()=>Ru,Int64:()=>vu,Int8:()=>Ou,IntClass:()=>ni,Nat:()=>wu,Nat16:()=>Au,Nat32:()=>Su,Nat64:()=>Cu,Nat8:()=>Iu,NatClass:()=>oi,Null:()=>gu,NullClass:()=>$n,Opt:()=>Bu,OptClass:()=>Qr,PrimitiveType:()=>Xe,Principal:()=>Vu,PrincipalClass:()=>vs,Rec:()=>ku,RecClass:()=>ht,Record:()=>Du,RecordClass:()=>Hn,Reserved:()=>_u,ReservedClass:()=>Wt,Service:()=>qu,ServiceClass:()=>yo,Text:()=>xu,TextClass:()=>Es,Tuple:()=>Pu,TupleClass:()=>Rs,Type:()=>ho,Unknown:()=>Sh,UnknownClass:()=>Ns,Variant:()=>Uu,VariantClass:()=>_o,Vec:()=>Fu,VecClass:()=>mo,Visitor:()=>rc,decode:()=>Ah,encode:()=>Ih,resetSubtypeCache:()=>nc,subtype:()=>ic});function X(...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 Vt=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=Ht(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 Ht(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?Ht(e.buffer):new Uint8Array(e)}function fo(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 lu(e,t){return fo(e,t)===0}function uu(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rh(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Me(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 Rh(e)}function Za(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function bs(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function du(){throw new Error("unexpected end of buffer")}function Xr(e,t){return e.byteLength<t&&du(),e.read(t)}function Zr(e){let t=e.readUint8();return t===void 0&&du(),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:Za(e))+1,r=new Vt(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 _e(e){let t=BigInt(1),r=BigInt(0),n;do n=Zr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function ye(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:Za(e))+1,n=new Vt(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 Or(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return _e(e);break}let n=new Uint8Array(Xr(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 pu(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return Xa(e,t)}function Xa(e,t){e=BigInt(e);let r=new Vt(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 Qa(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Zr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Zr(e));r=r+n*i}return r}function fu(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Qa(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Ze=class e extends Error{constructor(t){super(t),this.name="CandidDecodeError",Object.setPrototypeOf(this,e.prototype)}},ee;(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"})(ee||(ee={}));var ws="DIDL",vh=new TextEncoder().encode(ws),hu=400;function ti(e,t,r){return e.map((n,o)=>r(n,t[o]))}var tc=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=X(...this._typs);return X(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error(`Missing type index for ${t}`);return ye(this._idx.get(t)||0)}},rc=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)}},H;(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__"})(H||(H={}));var ho=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Xe=class extends ho{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){}},Jt=class extends ho{checkType(t){if(t instanceof ht){let r=t.getType();if(typeof r>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive 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)}},ri=class extends Xe{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(ee.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Ns=class extends ho{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ht?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"}},Os=class extends Xe{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(ee.Bool)}decodeValue(t,r){switch(this.checkType(r),Zr(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 Xe{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(ee.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Wt=class extends Xe{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return ye(ee.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Es=class extends Xe{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.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 X(n,r)}encodeType(){return ye(ee.Text)}decodeValue(t,r){this.checkType(r);let n=_e(t),o=Xr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return`"${t}"`}},ni=class extends Xe{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(t)}encodeType(){return ye(ee.Int)}decodeValue(t,r){return this.checkType(r),Or(t)}get name(){return"int"}valueToString(t){return t.toString()}},oi=class extends Xe{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(ee.Nat)}decodeValue(t,r){return this.checkType(r),_e(t)}get name(){return"nat"}valueToString(t){return t.toString()}},ii=class extends Xe{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.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?ee.Float32:ee.Float64;return ye(t)}decodeValue(t,r){this.checkType(r);let n=Xr(t,this._bits/8),o=uu(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return`float${this._bits}`}valueToString(t){return t.toString()}},Rr=class extends Xe{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=bs(this._bits-1)*BigInt(-1),n=bs(this._bits-1)-BigInt(1);if(typeof t=="bigint"){if(t>=r&&t<=n)return!0}else if(Number.isInteger(t)){let o=BigInt(t);if(o>=r&&o<=n)return!0}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return Xa(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-9-t)}decodeValue(t,r){this.checkType(r);let n=fu(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Gt=class extends Xe{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=bs(this._bits);if(typeof t=="bigint"&&t>=BigInt(0)){if(t<r)return!0}else if(Number.isInteger(t)&&t>=0&&BigInt(t)<r)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return pu(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-5-t)}decodeValue(t,r){this.checkType(r);let n=Qa(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},mo=class e extends Jt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Gt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Gt?this._type._bits:this._type instanceof Rr?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:
40
+ `),t}},Ko=class e extends K{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},$o=class e extends K{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Jo(this.error)}`}},Ho=class e extends K{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.`}},ls=class e extends K{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Go=class e extends K{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Jo(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e,Ua(K.verbosity))}catch{return String(e)}}var ft=new Error("unreachable");var jn={};Ef(jn,{Bool:()=>Ql,BoolClass:()=>hs,CandidDecodeError:()=>Ze,ConstructType:()=>Gt,Empty:()=>Zl,EmptyClass:()=>zo,FixedIntClass:()=>Or,FixedNatClass:()=>Ht,Float32:()=>ou,Float64:()=>iu,FloatClass:()=>Xo,Func:()=>wu,FuncClass:()=>Mn,Int:()=>ru,Int16:()=>au,Int32:()=>cu,Int64:()=>lu,Int8:()=>su,IntClass:()=>Yo,Nat:()=>nu,Nat16:()=>du,Nat32:()=>pu,Nat64:()=>fu,Nat8:()=>uu,NatClass:()=>Zo,Null:()=>eu,NullClass:()=>Ln,Opt:()=>yu,OptClass:()=>Wr,PrimitiveType:()=>Xe,Principal:()=>hu,PrincipalClass:()=>ys,Rec:()=>bu,RecClass:()=>ht,Record:()=>gu,RecordClass:()=>qn,Reserved:()=>Xl,ReservedClass:()=>Jt,Service:()=>Tu,ServiceClass:()=>lo,Text:()=>tu,TextClass:()=>ms,Tuple:()=>mu,TupleClass:()=>_s,Type:()=>so,Unknown:()=>$f,UnknownClass:()=>fs,Variant:()=>xu,VariantClass:()=>co,Vec:()=>_u,VecClass:()=>ao,Visitor:()=>Ka,decode:()=>Kf,encode:()=>jf,resetSubtypeCache:()=>$a,subtype:()=>Ga});function X(...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 Vt=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=$t(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function $t(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?$t(e.buffer):new Uint8Array(e)}function io(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 Hl(e,t){return io(e,t)===0}function Gl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function qf(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Me(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 qf(e)}function ka(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function us(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Jl(){throw new Error("unexpected end of buffer")}function Jr(e,t){return e.byteLength<t&&Jl(),e.read(t)}function Gr(e){let t=e.readUint8();return t===void 0&&Jl(),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:ka(e))+1,r=new Vt(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 _e(e){let t=BigInt(1),r=BigInt(0),n;do n=Gr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function ye(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:ka(e))+1,n=new Vt(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 Tr(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return _e(e);break}let n=new Uint8Array(Jr(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 Wl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return La(e,t)}function La(e,t){e=BigInt(e);let r=new Vt(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 qa(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Gr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Gr(e));r=r+n*i}return r}function zl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=qa(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Ze=class e extends Error{constructor(t){super(t),this.name="CandidDecodeError",Object.setPrototypeOf(this,e.prototype)}},ee;(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"})(ee||(ee={}));var ds="DIDL",Mf=new TextEncoder().encode(ds),Yl=400;function Wo(e,t,r){return e.map((n,o)=>r(n,t[o]))}var ja=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=X(...this._typs);return X(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error(`Missing type index for ${t}`);return ye(this._idx.get(t)||0)}},Ka=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)}},H;(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__"})(H||(H={}));var so=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Xe=class extends so{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Gt=class extends so{checkType(t){if(t instanceof ht){let r=t.getType();if(typeof r>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive 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)}},zo=class extends Xe{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(ee.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},fs=class extends so{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ht?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"}},hs=class extends Xe{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(ee.Bool)}decodeValue(t,r){switch(this.checkType(r),Gr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},Ln=class extends Xe{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(ee.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Jt=class extends Xe{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return ye(ee.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},ms=class extends Xe{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.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 X(n,r)}encodeType(){return ye(ee.Text)}decodeValue(t,r){this.checkType(r);let n=_e(t),o=Jr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return`"${t}"`}},Yo=class extends Xe{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(t)}encodeType(){return ye(ee.Int)}decodeValue(t,r){return this.checkType(r),Tr(t)}get name(){return"int"}valueToString(t){return t.toString()}},Zo=class extends Xe{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.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 ye(ee.Nat)}decodeValue(t,r){return this.checkType(r),_e(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Xo=class extends Xe{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.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?ee.Float32:ee.Float64;return ye(t)}decodeValue(t,r){this.checkType(r);let n=Jr(t,this._bits/8),o=Gl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return`float${this._bits}`}valueToString(t){return t.toString()}},Or=class extends Xe{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=us(this._bits-1)*BigInt(-1),n=us(this._bits-1)-BigInt(1);if(typeof t=="bigint"){if(t>=r&&t<=n)return!0}else if(Number.isInteger(t)){let o=BigInt(t);if(o>=r&&o<=n)return!0}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return La(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-9-t)}decodeValue(t,r){this.checkType(r);let n=zl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Ht=class extends Xe{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=us(this._bits);if(typeof t=="bigint"&&t>=BigInt(0)){if(t<r)return!0}else if(Number.isInteger(t)&&t>=0&&BigInt(t)<r)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return Wl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return ye(-5-t)}decodeValue(t,r){this.checkType(r);let n=qa(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},ao=class e extends Gt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Ht&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Ht?this._type._bits:this._type instanceof Or?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:
41
41
 
42
- index ${o} -> ${i.message}`,{cause:i})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return X(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 X(r,new Uint8Array(o.buffer))}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 X(r,new Uint8Array(o.buffer))}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 X(r,new Uint8Array(o.buffer))}return X(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}let n=new Vt(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=ye(ee.Vector),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-vector type '${n.display()}'`);let o=Number(_e(t));if(this._type instanceof Gt){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 Rr){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 l=0;l<o;l++)c[l]=a.getInt16(l*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 l=0;l<o;l++)c[l]=a.getInt32(l*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 l=0;l<o;l++)c[l]=a.getBigInt64(l*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("; ")}}`}},Qr=class e extends Jt{get typeName(){return H.OptClass}static[Symbol.hasInstance](t){return t.typeName===H.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)}
42
+ index ${o} -> ${i.message}`,{cause:i})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return X(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 X(r,new Uint8Array(o.buffer))}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 X(r,new Uint8Array(o.buffer))}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 X(r,new Uint8Array(o.buffer))}return X(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}let n=new Vt(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=ye(ee.Vector),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-vector type '${n.display()}'`);let o=Number(_e(t));if(this._type instanceof Ht){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 Or){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 l=0;l<o;l++)c[l]=a.getInt16(l*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 l=0;l<o;l++)c[l]=a.getInt32(l*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 l=0;l<o;l++)c[l]=a.getBigInt64(l*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("; ")}}`}},Wr=class e extends Gt{get typeName(){return H.OptClass}static[Symbol.hasInstance](t){return t.typeName===H.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)}
43
43
 
44
- -> ${r.message}`,{cause:r})}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):X(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ye(ee.Opt),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){if(r instanceof $n)return[];if(r instanceof Wt)return[];let n=r;if(r instanceof ht){let o=r.getType();if(typeof o>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive type");n=o}if(n instanceof e)switch(Zr(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 Ze(`Invalid option value: expected 0 (None) or 1 (Some) for type '${this.display()}'`)}else{if(this._type instanceof $n||this._type instanceof e||this._type instanceof Wt)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])}`}},Hn=class e extends Jt{get typeName(){return H.RecordClass}static[Symbol.hasInstance](t){return t.typeName===H.RecordClass||t.typeName===H.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Me(r[0])-Me(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:
44
+ -> ${r.message}`,{cause:r})}throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):X(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=ye(ee.Opt),n=this._type.encodeType(t);t.add(this,X(r,n))}decodeValue(t,r){if(r instanceof Ln)return[];if(r instanceof Jt)return[];let n=r;if(r instanceof ht){let o=r.getType();if(typeof o>"u")throw new Ze("Type mismatch: cannot decode from uninitialized recursive type");n=o}if(n instanceof e)switch(Gr(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 Ze(`Invalid option value: expected 0 (None) or 1 (Some) for type '${this.display()}'`)}else{if(this._type instanceof Ln||this._type instanceof e||this._type instanceof Jt)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])}`}},qn=class e extends Gt{get typeName(){return H.RecordClass}static[Symbol.hasInstance](t){return t.typeName===H.RecordClass||t.typeName===H.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Me(r[0])-Me(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:
45
45
 
46
- field ${r} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=ti(this._fields,r,([,o],i)=>o.encodeValue(i));return X(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Record),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,X(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-record type '${n.display()}'`);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[l,d]=this._fields[i],p=Me(this._fields[i][0]),u=Me(a);if(p===u)o[l]=d.decodeValue(t,c),i++,s++;else if(u>p)if(d instanceof Qr||d instanceof Wt)o[l]=[],i++;else{let f=this._fields.map(([_])=>_).join(", "),h=n._fields.map(([_])=>_).join(", ");throw new Ze(`Cannot find required field '${l}' in record, expected fields: [${f}], received fields: [${h}]`)}else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Qr||c instanceof Wt)o[a]=[];else{let l=this._fields.map(([p])=>p).join(", "),d=n._fields.map(([p])=>p).join(", ");throw new Ze(`Cannot find required field '${a}' in record, expected fields: [${l}], received fields: [${d}]`)}return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[Me(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 {${ti(this._fields,r,([o,i],s)=>`${o}=${i.valueToString(s)}`).join("; ")}}`}},Rs=class e extends Hn{get typeName(){return H.TupleClass}static[Symbol.hasInstance](t){return t.typeName===H.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:
46
+ field ${r} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Wo(this._fields,r,([,o],i)=>o.encodeValue(i));return X(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Record),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,X(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-record type '${n.display()}'`);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[l,p]=this._fields[i],d=Me(this._fields[i][0]),u=Me(a);if(d===u)o[l]=p.decodeValue(t,c),i++,s++;else if(u>d)if(p instanceof Wr||p instanceof Jt)o[l]=[],i++;else{let f=this._fields.map(([_])=>_).join(", "),h=n._fields.map(([_])=>_).join(", ");throw new Ze(`Cannot find required field '${l}' in record, expected fields: [${f}], received fields: [${h}]`)}else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Wr||c instanceof Jt)o[a]=[];else{let l=this._fields.map(([d])=>d).join(", "),p=n._fields.map(([d])=>d).join(", ");throw new Ze(`Cannot find required field '${a}' in record, expected fields: [${l}], received fields: [${p}]`)}return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[Me(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 {${Wo(this._fields,r,([o,i],s)=>`${o}=${i.valueToString(s)}`).join("; ")}}`}},_s=class e extends qn{get typeName(){return H.TupleClass}static[Symbol.hasInstance](t){return t.typeName===H.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:
47
47
 
48
- index ${n} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=ti(this._components,t,(n,o)=>n.encodeValue(o));return X(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-tuple type '${n.display()}'`);if(n._components.length<this._components.length)throw new Ze(`Tuple mismatch: expected ${this._components.length} components, but received ${n._components.length}`);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 {${ti(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},_o=class e extends Jt{get typeName(){return H.VariantClass}static[Symbol.hasInstance](t){return t.typeName===H.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Me(r[0])-Me(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:
48
+ index ${n} -> ${o.message}`,{cause:o})}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=Wo(this._components,t,(n,o)=>n.encodeValue(o));return X(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-tuple type '${n.display()}'`);if(n._components.length<this._components.length)throw new Ze(`Tuple mismatch: expected ${this._components.length} components, but received ${n._components.length}`);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 {${Wo(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},co=class e extends Gt{get typeName(){return H.VariantClass}static[Symbol.hasInstance](t){return t.typeName===H.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>Me(r[0])-Me(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:
49
49
 
50
- variant ${r} -> ${o.message}`,{cause:o})}}))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 X(i,s)}}throw Error(`Variant has no data: ${t}`)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=ye(ee.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-variant type '${n.display()}'`);let o=Number(_e(t));if(o>=n._fields.length)throw Error(`Invalid variant index: ${o}`);let[i,s]=n._fields[o];for(let[c,l]of this._fields)if(Me(i)===Me(c)){let d=l.decodeValue(t,s);return{[c]:d}}let a=this._fields.map(([c])=>c).join(", ");throw new Ze(`Cannot find field hash ${i} in variant, expected fields: [${a}]`)}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[Me(r)]=n;return t}},ht=class e extends Jt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return H.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===H.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 oc(e){if(Zr(e)!==1)throw new Error("Cannot decode principal");let r=Number(_e(e));return q.fromUint8Array(new Uint8Array(Xr(e,r)))}var vs=class extends Xe{get typeName(){return H.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===H.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 X(new Uint8Array([1]),n,r)}encodeType(){return ye(ee.Principal)}decodeValue(t,r){return this.checkType(r),oc(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Gn=class extends Jt{get typeName(){return H.FuncClass}static[Symbol.hasInstance](t){return t.typeName===H.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=X(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return X(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(l=>l.buildTypeTable(t)),this.retTypes.forEach(l=>l.buildTypeTable(t));let r=ye(ee.Func),n=oe(this.argTypes.length),o=X(...this.argTypes.map(l=>l.encodeType(t))),i=oe(this.retTypes.length),s=X(...this.retTypes.map(l=>l.encodeType(t))),a=oe(this.annotations.length),c=X(...this.annotations.map(l=>this.encodeAnnotation(l)));t.add(this,X(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!ic(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Zr(t)!==1)throw new Error("Cannot decode function reference");let i=oc(t),s=Number(_e(t)),a=Xr(t,s),l=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,l]}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")}},yo=class extends Jt{get typeName(){return H.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===H.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 X(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return X(c,a,s.encodeType(t))});t.add(this,X(r,n,...o))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!ic(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return oc(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>hu?`${t.substring(0,hu-3)}...`:t}function Ih(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new tc;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=oe(t.length),i=X(...e.map(a=>a.encodeType(r))),s=X(...ti(e,t,(a,c)=>{try{a.covariant(c)}catch(l){throw new Error(`${l.message}
50
+ variant ${r} -> ${o.message}`,{cause:o})}}))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 X(i,s)}}throw Error(`Variant has no data: ${t}`)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=ye(ee.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>X(oe(Me(i)),s.encodeType(t)));t.add(this,X(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Ze(`Expected type '${this.display()}', but received non-variant type '${n.display()}'`);let o=Number(_e(t));if(o>=n._fields.length)throw Error(`Invalid variant index: ${o}`);let[i,s]=n._fields[o];for(let[c,l]of this._fields)if(Me(i)===Me(c)){let p=l.decodeValue(t,s);return{[c]:p}}let a=this._fields.map(([c])=>c).join(", ");throw new Ze(`Cannot find field hash ${i} in variant, expected fields: [${a}]`)}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[Me(r)]=n;return t}},ht=class e extends Gt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return H.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===H.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 Ha(e){if(Gr(e)!==1)throw new Error("Cannot decode principal");let r=Number(_e(e));return U.fromUint8Array(new Uint8Array(Jr(e,r)))}var ys=class extends Xe{get typeName(){return H.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===H.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 X(new Uint8Array([1]),n,r)}encodeType(){return ye(ee.Principal)}decodeValue(t,r){return this.checkType(r),Ha(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},Mn=class extends Gt{get typeName(){return H.FuncClass}static[Symbol.hasInstance](t){return t.typeName===H.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=X(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return X(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(l=>l.buildTypeTable(t)),this.retTypes.forEach(l=>l.buildTypeTable(t));let r=ye(ee.Func),n=oe(this.argTypes.length),o=X(...this.argTypes.map(l=>l.encodeType(t))),i=oe(this.retTypes.length),s=X(...this.retTypes.map(l=>l.encodeType(t))),a=oe(this.annotations.length),c=X(...this.annotations.map(l=>this.encodeAnnotation(l)));t.add(this,X(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!Ga(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Gr(t)!==1)throw new Error("Cannot decode function reference");let i=Ha(t),s=Number(_e(t)),a=Jr(t,s),l=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,l]}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")}},lo=class extends Gt{get typeName(){return H.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===H.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 X(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=ye(ee.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return X(c,a,s.encodeType(t))});t.add(this,X(r,n,...o))}decodeValue(t,r){let n=r instanceof ht?r.getType()??r:r;if(!Ga(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return Ha(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>Yl?`${t.substring(0,Yl-3)}...`:t}function jf(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new ja;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=oe(t.length),i=X(...e.map(a=>a.encodeType(r))),s=X(...Wo(e,t,(a,c)=>{try{a.covariant(c)}catch(l){throw new Error(`${l.message}
51
51
 
52
- `)}return a.encodeValue(c)}));return X(vh,n,o,i,s)}function Ah(e,t){let r=new Vt(t);if(t.byteLength<ws.length)throw new Error("Message length smaller than magic number");let n=Xr(r,ws.length),o=new TextDecoder().decode(n);if(o!==ws)throw new Error(`Wrong magic number: ${JSON.stringify(o)}`);function i(u){let f=[],h=Number(_e(u));for(let m=0;m<h;m++){let b=Number(Or(u));switch(b){case ee.Opt:case ee.Vector:{let g=Number(Or(u));f.push([b,g]);break}case ee.Record:case ee.Variant:{let g=[],T=Number(_e(u)),O;for(;T--;){let v=Number(_e(u));if(v>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=v)throw new Error("field id collision or not sorted");O=v;let E=Number(Or(u));g.push([v,E])}f.push([b,g]);break}case ee.Func:{let g=[],T=Number(_e(u));for(;T--;)g.push(Number(Or(u)));let O=[],v=Number(_e(u));for(;v--;)O.push(Number(Or(u)));let E=[],C=Number(_e(u));for(;C--;)switch(Number(_e(u))){case 1:{E.push("query");break}case 2:{E.push("oneway");break}case 3:{E.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([b,[g,O,E]]);break}case ee.Service:{let g=Number(_e(u)),T=[];for(;g--;){let O=Number(_e(u)),v=new TextDecoder().decode(Xr(u,O)),E=Or(u);T.push([v,E])}f.push([b,T]);break}default:throw new Error(`Illegal op_code: ${b}`)}}let _=[],y=Number(_e(u));for(let m=0;m<y;m++)_.push(Number(Or(u)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(u=>ku());function l(u){if(u<-24)throw new Error("future value not supported");if(u<0)switch(u){case-1:return gu;case-2:return yu;case-3:return wu;case-4:return bu;case-5:return Iu;case-6:return Au;case-7:return Su;case-8:return Cu;case-9:return Ou;case-10:return Eu;case-11:return Ru;case-12:return vu;case-13:return Tu;case-14:return Nu;case-15:return xu;case-16:return _u;case-17:return mu;case-24:return Vu;default:throw new Error(`Illegal op_code: ${u}`)}if(u>=s.length)throw new Error("type index out of range");return c[u]}function d(u){switch(u[0]){case ee.Vector:{let f=l(u[1]);return Fu(f)}case ee.Opt:{let f=l(u[1]);return Bu(f)}case ee.Record:{let f={};for(let[y,m]of u[1]){let b=`_${y}_`;f[b]=l(m)}let h=Du(f),_=h.tryAsTuple();return Array.isArray(_)?Pu(..._):h}case ee.Variant:{let f={};for(let[h,_]of u[1]){let y=`_${h}_`;f[y]=l(_)}return Uu(f)}case ee.Func:{let[f,h,_]=u[1];return Lu(f.map(y=>l(y)),h.map(y=>l(y)),_)}case ee.Service:{let f={},h=u[1];for(let[_,y]of h){let m=l(y);if(m instanceof ht&&(m=m.getType()),!(m instanceof Gn))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return qu(f)}default:throw new Error(`Illegal op_code: ${u[0]}`)}}s.forEach((u,f)=>{if(u[0]===ee.Func){let h=d(u);c[f].fill(h)}}),s.forEach((u,f)=>{if(u[0]!==ee.Func){let h=d(u);c[f].fill(h)}}),nc();let p=a.map(u=>l(u));try{let u=e.map((f,h)=>f.decodeValue(r,p[h]));for(let f=e.length;f<p.length;f++)p[f].decodeValue(r,p[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return u}finally{nc()}}var mu=new ri,_u=new Wt,Sh=new Ns,yu=new Os,gu=new $n,xu=new Es,bu=new ni,wu=new oi,Tu=new ii(32),Nu=new ii(64),Ou=new Rr(8),Eu=new Rr(16),Ru=new Rr(32),vu=new Rr(64),Iu=new Gt(8),Au=new Gt(16),Su=new Gt(32),Cu=new Gt(64),Vu=new vs;function Pu(...e){return new Rs(e)}function Fu(e){return new mo(e)}function Bu(e){return new Qr(e)}function Du(e){return new Hn(e)}function Uu(e){return new _o(e)}function ku(){return new ht}function Lu(e,t,r=[]){return new Gn(e,t,r)}function qu(e){return new yo(e)}var Is=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}
53
- `;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)}},Ts=new Is;function nc(){Ts=new Is}function Ch(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 ec(e){return e instanceof Qr||e instanceof $n||e instanceof Wt}function ic(e,t){let r=Ts.copy(),n=Er(r,e,t);return n?Ts.add(e,t):Ts.addNegative(e,t),n}function Er(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 Wt||t instanceof ri||t instanceof oi&&r instanceof ni)return!0;if(t instanceof mo&&r instanceof mo)return Er(e,t._type,r._type);if(r instanceof Qr)return!0;if(t instanceof Hn&&r instanceof Hn){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[Me(i)];if(a){if(!Er(e,a,s))return!1}else if(!ec(s))return!1}return!0}if(t instanceof Gn&&r instanceof Gn){if(!Ch(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!Er(e,r.argTypes[o],i))return!1}else if(!ec(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!Er(e,t.retTypes[o],i))return!1}else if(!ec(i))return!1}return!0}if(t instanceof _o&&r instanceof _o){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[Me(i)];if(!a||!Er(e,s,a))return!1}return!0}if(t instanceof yo&&r instanceof yo){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!Er(e,a,s))return!1}return!0}return t instanceof ht?Er(e,t.getType(),r):r instanceof ht?Er(e,t,r.getType()):!1}function go(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?go(e.buffer):new Uint8Array(e)}function Wn(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 sc(e){if(typeof e=="string")return Mu(e);if(typeof e=="number")return Ve(oe(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Ve(go(e));if(Array.isArray(e)){let t=e.map(sc);return Ve($(...t))}if(e&&typeof e=="object"&&e._isPrincipal)return Ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return sc(e.toHash());if(typeof e=="object")return si(e);if(typeof e=="bigint")return Ve(oe(e));throw z.fromCode(new ds(e))}var Mu=e=>{let t=new TextEncoder().encode(e);return Ve(t)};function vr(e){return si(e)}function si(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=Mu(s),l=sc(a);return[c,l]}).sort(([s],[a])=>fo(s,a)),o=$(...n.map(s=>$(...s)));return Ve(o)}var ac=new TextEncoder().encode("\ric-state-root"),ai=new TextEncoder().encode(`
54
- ic-request`),cc=new TextEncoder().encode("\vic-response"),lc=new TextEncoder().encode("ic-request-auth-delegation");var zt=class{getPrincipal(){return this._principal||(this._principal=q.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=vr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign($(ai,o))}}}},at=class{getPrincipal(){return q.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Ir=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Ku=55799,$u=Symbol("CBOR_STOP_CODE"),Bt=(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))(Bt||{}),Ne=(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))(Ne||{}),Vh=23,Ph=255,Fh=65535,Bh=4294967295,Dh=BigInt("0xffffffffffffffff"),Ft=(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))(Ft||{}),xo=!1;function Uh(e){return e==null}function Hu(e,t){let r=new Uint8Array(t);return r.set(e),r}var kh=new TextDecoder;function Lh(e){return(e&224)>>5}function qh(e){return e&31}var ui=new Uint8Array,ci,Dt=0;function Gu(e,t){ui=e,Dt=0;let r=zn(t);return t?.(r)??r}function zn(e){let[t,r]=As();switch(t){case Ne.UnsignedInteger:return bo(r);case Ne.NegativeInteger:return $h(r);case Ne.ByteString:return Ju(r);case Ne.TextString:return dc(r);case Ne.Array:return Mh(r,e);case Ne.Map:return Kh(r,e);case Ne.Tag:return Hh(r,e);case Ne.Simple:return jh(r)}throw new Ir(`Unsupported major type: ${t}`)}function As(){let e=ui.at(Dt);if(Uh(e))throw new Ir("Provided CBOR data is empty");let t=Lh(e),r=qh(e);return Dt++,[t,r]}function Mh(e,t){let r=bo(e);if(r===1/0){let o=[],i=zn(t);for(;i!==$u;)o.push(t?.(i)??i),i=zn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=zn(t);n[o]=t?.(i)??i}return n}function jh(e){switch(e){case Bt.False:return!1;case Bt.True:return!0;case Bt.Null:return null;case Bt.Undefined:return;case Bt.Break:return $u}throw new Ir(`Unrecognized simple type: ${e.toString(2)}`)}function Kh(e,t){let r=bo(e),n={};if(r===1/0){let[o,i]=As();for(;o!==Ne.Simple&&i!==Bt.Break;){let s=dc(i),a=zn(t);n[s]=t?.(a,s)??a,[o,i]=As()}return n}for(let o=0;o<r;o++){let[i,s]=As();if(i!==Ne.TextString)throw new Ir("Map keys must be text strings");let a=dc(s),c=zn(t);n[a]=t?.(c,a)??c}return n}function bo(e){if(e<=Ft.Value)return e;switch(ci=new DataView(ui.buffer,ui.byteOffset+Dt),e){case Ft.OneByte:return Dt++,ci.getUint8(0);case Ft.TwoBytes:return Dt+=2,ci.getUint16(0,xo);case Ft.FourBytes:return Dt+=4,ci.getUint32(0,xo);case Ft.EightBytes:return Dt+=8,ci.getBigUint64(0,xo);case Ft.Indefinite:return 1/0;default:throw new Ir(`Unsupported integer info: ${e.toString(2)}`)}}function $h(e){let t=bo(e);return typeof t=="number"?-1-t:-1n-t}function Ju(e){let t=bo(e);if(t>Number.MAX_SAFE_INTEGER)throw new Ir("Byte length is too large");let r=Number(t);return Dt+=r,ui.slice(Dt-r,Dt)}function dc(e){let t=Ju(e);return kh.decode(t)}function Hh(e,t){let r=bo(e);if(r===Ku)return zn(t);throw new Ir(`Unsupported tag: ${r}.`)}var di=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Gh=2*1024,Jh=100,Wh=new TextEncoder;function li(e){return e<<5}var ct=new Uint8Array(Gh),Pt=new DataView(ct.buffer),Te=0,uc=[];function Wu(e,t){Te=0;let r=t?.(e)??e;return rm(Ku,r,t),ct.slice(0,Te)}function pc(e,t){if(Te>ct.length-Jh&&(ct=Hu(ct,ct.length*2),Pt=new DataView(ct.buffer)),e===!1||e===!0||e===null||e===void 0){Zh(e);return}if(typeof e=="number"||typeof e=="bigint"){tm(e);return}if(typeof e=="string"){Zu(e);return}if(e instanceof Uint8Array){ju(e);return}if(e instanceof ArrayBuffer){ju(new Uint8Array(e));return}if(Array.isArray(e)){zh(e,t);return}if(typeof e=="object"){Yh(e,t);return}throw new di(`Unsupported type: ${typeof e}`)}function zh(e,t){wo(Ne.Array,e.length),e.forEach((r,n)=>{pc(t?.(r,n.toString())??r,t)})}function Yh(e,t){uc=Object.entries(e),wo(Ne.Map,uc.length),uc.forEach(([r,n])=>{Zu(r),pc(t?.(n,r)??n,t)})}function wo(e,t){if(t<=Vh){Pt.setUint8(Te++,li(e)|Number(t));return}if(t<=Ph){Pt.setUint8(Te++,li(e)|Ft.OneByte),Pt.setUint8(Te,Number(t)),Te+=1;return}if(t<=Fh){Pt.setUint8(Te++,li(e)|Ft.TwoBytes),Pt.setUint16(Te,Number(t),xo),Te+=2;return}if(t<=Bh){Pt.setUint8(Te++,li(e)|Ft.FourBytes),Pt.setUint32(Te,Number(t),xo),Te+=4;return}if(t<=Dh){Pt.setUint8(Te++,li(e)|Ft.EightBytes),Pt.setBigUint64(Te,BigInt(t),xo),Te+=8;return}throw new di(`Value too large to encode: ${t}`)}function Zh(e){wo(Ne.Simple,Xh(e))}function Xh(e){if(e===!1)return Bt.False;if(e===!0)return Bt.True;if(e===null)return Bt.Null;if(e===void 0)return Bt.Undefined;throw new di(`Unrecognized simple value: ${e.toString()}`)}function zu(e,t){wo(e,t.length),Te>ct.length-t.length&&(ct=Hu(ct,ct.length+t.length),Pt=new DataView(ct.buffer)),ct.set(t,Te),Te+=t.length}function Yu(e,t){wo(e,t)}function Qh(e){Yu(Ne.UnsignedInteger,e)}function em(e){Yu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function tm(e){e>=0?Qh(e):em(e)}function Zu(e){zu(Ne.TextString,Wh.encode(e))}function ju(e){zu(Ne.ByteString,e)}function rm(e,t,r){wo(Ne.Tag,e),pc(t,r)}var pi="__expiry__",fc=BigInt(1e3),om=BigInt(1e6),im=BigInt(60),hc=im*fc,sm=BigInt(1)*hc;function am(e){return e/fc*fc}function cm(e){return e/hc*hc}var Yn=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=cm(o),s;return i>=n+sm?s=i:s=am(o),new e(s*om)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[pi]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[pi])try{let n=BigInt(r[pi]);return new e(n)}catch(n){throw new z(new Qo(`Not a valid BigInt: ${n}`))}throw new z(new Qo(`The input does not contain the key ${pi}`))}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 lm(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function fi(e){try{return Wu(e,t=>q.isPrincipal(t)?t.toUint8Array():Yn.isExpiry(t)?t.toBigInt():lm(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new is(t,e))}}function je(e){try{return Gu(e)}catch(t){throw z.fromCode(new os(t,e))}}var Ss={encode:fi,decode:je};var hi=()=>{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 Ar;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Ar||(Ar={}));var Vs;(function(e){e.Call="call"})(Vs||(Vs={}));var Zn;(function(e){e.Query="query",e.ReadState="read_state"})(Zn||(Zn={}));var lt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(lt||(lt={}));function mi(){let e=new ArrayBuffer(16),t=new DataView(e),r=hi(),n=hi(),o=hi(),i=hi();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})}function mc(e=mi){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Ar.Call&&(t.body.nonce=e())}}function _c(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var gc=BigInt(0),Ps=BigInt(1);function Xn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function en(e,t,r=""){let n=jt(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 Xu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?gc:BigInt("0x"+e)}function Qe(e){return Xu(j(e))}function Sr(e){return fe(e),Xu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function xc(e,t){return Oe(e,t).reverse()}function de(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(jt(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 Qu(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 bc(e){return Uint8Array.from(e)}var yc=e=>typeof e=="bigint"&&gc<=e;function wc(e,t,r){return yc(e)&&yc(t)&&yc(r)&&t<=e&&e<r}function Fs(e,t,r,n){if(!wc(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Cr(e){let t;for(t=0;e>gc;e>>=Ps,t+=1);return t}function ed(e,t){return e>>BigInt(t)&Ps}var Ut=e=>(Ps<<BigInt(e))-Ps;function td(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Vr(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 To=()=>{throw new Error("not implemented")};function tn(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 Ke=BigInt(0),Re=BigInt(1),Qn=BigInt(2),nd=BigInt(3),od=BigInt(4),id=BigInt(5),um=BigInt(7),sd=BigInt(8),dm=BigInt(9),ad=BigInt(16);function ce(e,t){let r=e%t;return r>=Ke?r:t+r}function kt(e,t,r){let n=e;for(;t-- >Ke;)n*=n,n%=r;return n}function rd(e,t){if(e===Ke)throw new Error("invert: expected non-zero number");if(t<=Ke)throw new Error("invert: expected positive modulus, got "+t);let r=ce(e,t),n=t,o=Ke,i=Re,s=Re,a=Ke;for(;r!==Ke;){let l=n/r,d=n%r,p=o-s*l,u=i-a*l;n=r,r=d,o=s,i=a,s=p,a=u}if(n!==Re)throw new Error("invert: does not exist");return ce(o,t)}function Tc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function cd(e,t){let r=(e.ORDER+Re)/od,n=e.pow(t,r);return Tc(e,n,t),n}function pm(e,t){let r=(e.ORDER-id)/sd,n=e.mul(t,Qn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Qn),o),a=e.mul(i,e.sub(s,e.ONE));return Tc(e,a,t),a}function fm(e){let t=$e(e),r=ld(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+um)/ad;return(a,c)=>{let l=a.pow(c,s),d=a.mul(l,n),p=a.mul(l,o),u=a.mul(l,i),f=a.eql(a.sqr(d),c),h=a.eql(a.sqr(p),c);l=a.cmov(l,d,f),d=a.cmov(u,p,h);let _=a.eql(a.sqr(d),c),y=a.cmov(l,d,_);return Tc(a,y,c),y}}function ld(e){if(e<nd)throw new Error("sqrt is not defined for small field");let t=e-Re,r=0;for(;t%Qn===Ke;)t/=Qn,r++;let n=Qn,o=$e(e);for(;_i(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return cd;let i=o.pow(n,t),s=(t+Re)/Qn;return function(c,l){if(c.is0(l))return l;if(_i(c,l)!==1)throw new Error("Cannot find square root");let d=r,p=c.mul(c.ONE,i),u=c.pow(l,t),f=c.pow(l,s);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,_=c.sqr(u);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===d)throw new Error("Cannot find square root");let y=Re<<BigInt(d-h-1),m=c.pow(p,y);d=h,p=c.sqr(m),u=c.mul(u,p),f=c.mul(f,m)}return f}}function hm(e){return e%od===nd?cd:e%sd===id?pm:e%ad===dm?fm(e):ld(e)}var Pr=(e,t)=>(ce(e,t)&Re)===Re,mm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Bs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=mm.reduce((n,o)=>(n[o]="function",n),t);return Vr(e,r),e}function yi(e,t,r){if(r<Ke)throw new Error("invalid exponent, negatives unsupported");if(r===Ke)return e.ONE;if(r===Re)return t;let n=e.ONE,o=t;for(;r>Ke;)r&Re&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Re;return n}function mt(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 _i(e,t){let r=(e.ORDER-Re)/Qn,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 Nc(e,t){t!==void 0&&Ka(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function $e(e,t,r=!1,n={}){if(e<=Ke)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 u=t;u.BITS&&(o=u.BITS),u.sqrt&&(i=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(s=u.modFromBytes),a=u.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:l}=Nc(e,o);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let d,p=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:Ut(c),ZERO:Ke,ONE:Re,allowedLengths:a,create:u=>ce(u,e),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Ke<=u&&u<e},is0:u=>u===Ke,isValidNot0:u=>!p.is0(u)&&p.isValid(u),isOdd:u=>(u&Re)===Re,neg:u=>ce(-u,e),eql:(u,f)=>u===f,sqr:u=>ce(u*u,e),add:(u,f)=>ce(u+f,e),sub:(u,f)=>ce(u-f,e),mul:(u,f)=>ce(u*f,e),pow:(u,f)=>yi(p,u,f),div:(u,f)=>ce(u*rd(f,e),e),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>rd(u,e),sqrt:i||(u=>(d||(d=hm(e)),d(p,u))),toBytes:u=>r?xc(u,l):Oe(u,l),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let _=new Uint8Array(l);_.set(u,r?0:_.length-u.length),u=_}if(u.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+u.length);let h=r?Sr(u):Qe(u);if(s&&(h=ce(h,e)),!f&&!p.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>mt(p,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(p)}function ud(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Ds(e){let t=ud(e);return t+Math.ceil(t/2)}function Oc(e,t,r=!1){let n=e.length,o=ud(t),i=Ds(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Sr(e):Qe(e),a=ce(s,t-Re)+Re;return r?xc(a,o):Oe(a,o)}var No=BigInt(0),eo=BigInt(1);function gi(e,t){let r=t.negate();return e?r:t}function _t(e,t){let r=mt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function hd(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function Ec(e,t){hd(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Ut(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function dd(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+=eo);let l=t*n,d=l+Math.abs(a)-1,p=a===0,u=a<0,f=t%2!==0;return{nextN:c,offset:d,isZero:p,isNeg:u,isNegF:f,offsetF:l}}function ym(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 gm(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 Rc=new WeakMap,md=new WeakMap;function vc(e){return md.get(e)||1}function pd(e){if(e!==No)throw new Error("invalid wNAF")}var Oo=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>No;)r&eo&&(n=n.add(o)),o=o.double(),r>>=eo;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=Ec(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let l=1;l<o;l++)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=Ec(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:l,isZero:d,isNeg:p,isNegF:u,offsetF:f}=dd(n,a,s);n=c,d?i=i.add(gi(u,r[f])):o=o.add(gi(p,r[l]))}return pd(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=Ec(t,this.bits);for(let s=0;s<i.windows&&n!==No;s++){let{nextN:a,offset:c,isZero:l,isNeg:d}=dd(n,s,i);if(n=a,!l){let p=r[c];o=o.add(d?p.negate():p)}}return pd(n),o}getPrecomputes(t,r,n){let o=Rc.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Rc.set(r,o))),o}cached(t,r,n){let o=vc(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=vc(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){hd(r,this.bits),md.set(t,r),Rc.delete(t)}hasCache(t){return vc(t)!==1}};function _d(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>No||n>No;)r&eo&&(i=i.add(o)),n&eo&&(s=s.add(o)),o=o.double(),r>>=eo,n>>=eo;return{p1:i,p2:s}}function Eo(e,t,r,n){ym(r,e),gm(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=Cr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let l=Ut(c),d=new Array(Number(l)+1).fill(s),p=Math.floor((t.BITS-1)/c)*c,u=s;for(let f=p;f>=0;f-=c){d.fill(s);for(let _=0;_<i;_++){let y=n[_],m=Number(y>>BigInt(f)&l);d[m]=d[m].add(r[_])}let h=s;for(let _=d.length-1,y=s;_>0;_--)y=y.add(d[_]),h=h.add(y);if(u=u.add(h),f!==0)for(let _=0;_<c;_++)u=u.double()}return u}function fd(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Bs(t),t}else return $e(e,{isLE:r})}function Us(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l=="bigint"&&l>No))throw new Error(`CURVE.${c} must be positive bigint`)}let o=fd(t.p,r.Fp,n),i=fd(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 xm=Qe;function rn(e,t){if(xi(e),xi(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 bm(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 xi(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function yd(e){if(!jt(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?G(e):e}function wm(e,t,r,n){fe(e),xi(r),t=yd(t),t.length>255&&(t=n($(G("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=$(t,rn(t.length,1)),c=rn(0,i),l=rn(r,2),d=new Array(s),p=n($(c,e,l,rn(0,1),a));d[0]=n($(p,rn(1,1),a));for(let f=1;f<=s;f++){let h=[bm(p,d[f-1]),rn(f+1,1),a];d[f]=n($(...h))}return $(...d).slice(0,r)}function Tm(e,t,r,n,o){if(fe(e),xi(r),t=yd(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(G("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(rn(r,2)).update(t).update(rn(t.length,1)).digest()}function Ic(e,t,r){Vr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!td(r.hash))throw new Error("expected valid hash");fe(e),xi(t);let l=n.toString(2).length,d=Math.ceil((l+o)/8),p=t*i*d,u;if(a==="xmd")u=wm(e,c,p,s);else if(a==="xof")u=Tm(e,c,p,o,s);else if(a==="_internal_pass")u=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let y=0;y<i;y++){let m=d*(y+h*i),b=u.subarray(m,m+d);_[y]=ce(xm(b),n)}f[h]=_}return f}function Ac(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(p=>p.reduce((u,f)=>e.add(e.mul(u,n),f))),[l,d]=mt(e,[s,c],!0);return n=e.mul(i,l),o=e.mul(o,e.mul(a,d)),{x:n,y:o}}}var Nm=G("HashToScalar-");function Sc(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=Ic(i,2,a),l=n(c[0]),d=n(c[1]);return o(l.add(d))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),l=Ic(i,1,c),d=n(l[0]);return o(d)},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:Nm},s);return Ic(i,1,c)[0][0]}}}var gd=(e,t)=>(e+(e>=0?t:-t)/Fr)/t;function Om(e,t,r){let[[n,o],[i,s]]=t,a=gd(s*e,r),c=gd(-o*e,r),l=e-a*n-c*i,d=-a*o-c*s,p=l<to,u=d<to;p&&(l=-l),u&&(d=-d);let f=Ut(Math.ceil(Cr(r)/2))+He;if(l<to||l>=f||d<to||d>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:p,k1:l,k2neg:u,k2:d}}var to=BigInt(0),He=BigInt(1),Fr=BigInt(2),Ro=BigInt(3),Cc=BigInt(4);function bi(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=de("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 Em(e,t={}){let r=Us("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;Vr(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 l=Im(n,o);function d(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function p(A,x,N){let{x:S,y:B}=x.toAffine(),M=n.toBytes(S);if(Xn(N,"isCompressed"),N){d();let R=!n.isOdd(B);return $(Rm(R),M)}else return $(Uint8Array.of(4),M,n.toBytes(B))}function u(A){en(A,void 0,"Point");let{publicKey:x,publicKeyUncompressed:N}=l,S=A.length,B=A[0],M=A.subarray(1);if(S===x&&(B===2||B===3)){let R=n.fromBytes(M);if(!n.isValid(R))throw new Error("bad point: is not on curve, wrong x");let V=_(R),F;try{F=n.sqrt(V)}catch(te){let Z=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Z)}d();let D=n.isOdd(F);return(B&1)===1!==D&&(F=n.neg(F)),{x:R,y:F}}else if(S===N&&B===4){let R=n.BYTES,V=n.fromBytes(M.subarray(0,R)),F=n.fromBytes(M.subarray(R,R*2));if(!y(V,F))throw new Error("bad point: is not on curve");return{x:V,y:F}}else throw new Error(`bad point: got length ${S}, expected compressed=${x} or uncompressed=${N}`)}let f=t.toBytes||p,h=t.fromBytes||u;function _(A){let x=n.sqr(A),N=n.mul(x,A);return n.add(n.add(N,n.mul(A,i.a)),i.b)}function y(A,x){let N=n.sqr(x),S=_(A);return n.eql(N,S)}if(!y(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,Ro),Cc),b=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,b)))throw new Error("bad curve params: a or b");function g(A,x,N=!1){if(!n.isValid(x)||N&&n.is0(x))throw new Error(`bad point coordinate ${A}`);return x}function T(A){if(!(A instanceof w))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return Om(A,c.basises,o.ORDER)}let v=tn((A,x)=>{let{X:N,Y:S,Z:B}=A;if(n.eql(B,n.ONE))return{x:N,y:S};let M=A.is0();x==null&&(x=M?n.ONE:n.inv(B));let R=n.mul(N,x),V=n.mul(S,x),F=n.mul(B,x);if(M)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:R,y:V}}),E=tn(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x,y:N}=A.toAffine();if(!n.isValid(x)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!y(x,N))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function C(A,x,N,S,B){return N=new w(n.mul(N.X,A),N.Y,N.Z),x=gi(S,x),N=gi(B,N),x.add(N)}class w{constructor(x,N,S){this.X=g("x",x),this.Y=g("y",N,!0),this.Z=g("z",S),Object.freeze(this)}static CURVE(){return i}static fromAffine(x){let{x:N,y:S}=x||{};if(!x||!n.isValid(N)||!n.isValid(S))throw new Error("invalid affine point");if(x instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(S)?w.ZERO:new w(N,S,n.ONE)}static fromBytes(x){let N=w.fromAffine(h(en(x,void 0,"point")));return N.assertValidity(),N}static fromHex(x){return w.fromBytes(de("pointHex",x))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(x=8,N=!0){return P.createCache(this,x),N||this.multiply(Ro),this}assertValidity(){E(this)}hasEvenY(){let{y:x}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(x)}equals(x){T(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.eql(n.mul(N,V),n.mul(M,B)),D=n.eql(n.mul(S,V),n.mul(R,B));return F&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:x,b:N}=i,S=n.mul(N,Ro),{X:B,Y:M,Z:R}=this,V=n.ZERO,F=n.ZERO,D=n.ZERO,k=n.mul(B,B),te=n.mul(M,M),Z=n.mul(R,R),Y=n.mul(B,M);return Y=n.add(Y,Y),D=n.mul(B,R),D=n.add(D,D),V=n.mul(x,D),F=n.mul(S,Z),F=n.add(V,F),V=n.sub(te,F),F=n.add(te,F),F=n.mul(V,F),V=n.mul(Y,V),D=n.mul(S,D),Z=n.mul(x,Z),Y=n.sub(k,Z),Y=n.mul(x,Y),Y=n.add(Y,D),D=n.add(k,k),k=n.add(D,k),k=n.add(k,Z),k=n.mul(k,Y),F=n.add(F,k),Z=n.mul(M,R),Z=n.add(Z,Z),k=n.mul(Z,Y),V=n.sub(V,k),D=n.mul(Z,te),D=n.add(D,D),D=n.add(D,D),new w(V,F,D)}add(x){T(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.ZERO,D=n.ZERO,k=n.ZERO,te=i.a,Z=n.mul(i.b,Ro),Y=n.mul(N,M),xe=n.mul(S,R),be=n.mul(B,V),ze=n.add(N,S),ne=n.add(M,R);ze=n.mul(ze,ne),ne=n.add(Y,xe),ze=n.sub(ze,ne),ne=n.add(N,B);let ie=n.add(M,V);return ne=n.mul(ne,ie),ie=n.add(Y,be),ne=n.sub(ne,ie),ie=n.add(S,B),F=n.add(R,V),ie=n.mul(ie,F),F=n.add(xe,be),ie=n.sub(ie,F),k=n.mul(te,ne),F=n.mul(Z,be),k=n.add(F,k),F=n.sub(xe,k),k=n.add(xe,k),D=n.mul(F,k),xe=n.add(Y,Y),xe=n.add(xe,Y),be=n.mul(te,be),ne=n.mul(Z,ne),xe=n.add(xe,be),be=n.sub(Y,be),be=n.mul(te,be),ne=n.add(ne,be),Y=n.mul(xe,ne),D=n.add(D,Y),Y=n.mul(ie,ne),F=n.mul(ze,F),F=n.sub(F,Y),Y=n.mul(ze,xe),k=n.mul(ie,k),k=n.add(k,Y),new w(F,D,k)}subtract(x){return this.add(x.negate())}is0(){return this.equals(w.ZERO)}multiply(x){let{endo:N}=t;if(!o.isValidNot0(x))throw new Error("invalid scalar: out of range");let S,B,M=R=>P.cached(this,R,V=>_t(w,V));if(N){let{k1neg:R,k1:V,k2neg:F,k2:D}=O(x),{p:k,f:te}=M(V),{p:Z,f:Y}=M(D);B=te.add(Y),S=C(N.beta,k,Z,R,F)}else{let{p:R,f:V}=M(x);S=R,B=V}return _t(w,[S,B])[0]}multiplyUnsafe(x){let{endo:N}=t,S=this;if(!o.isValid(x))throw new Error("invalid scalar: out of range");if(x===to||S.is0())return w.ZERO;if(x===He)return S;if(P.hasCache(this))return this.multiply(x);if(N){let{k1neg:B,k1:M,k2neg:R,k2:V}=O(x),{p1:F,p2:D}=_d(w,S,M,V);return C(N.beta,F,D,B,R)}else return P.unsafe(S,x)}multiplyAndAddUnsafe(x,N,S){let B=this.multiplyUnsafe(N).add(x.multiplyUnsafe(S));return B.is0()?void 0:B}toAffine(x){return v(this,x)}isTorsionFree(){let{isTorsionFree:x}=t;return s===He?!0:x?x(w,this):P.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:x}=t;return s===He?this:x?x(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(x=!0){return Xn(x,"isCompressed"),this.assertValidity(),f(w,this,x)}toHex(x=!0){return j(this.toBytes(x))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(x=!0){return this.toBytes(x)}_setWindowSize(x){this.precompute(x)}static normalizeZ(x){return _t(w,x)}static msm(x,N){return Eo(w,o,x,N)}static fromPrivateKey(x){return w.BASE.multiply(bi(o,x))}}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 I=o.BITS,P=new Oo(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Rm(e){return Uint8Array.of(e?2:3)}function vm(e,t){let r=e.ORDER,n=to;for(let h=r-He;h%Fr===to;h/=Fr)n+=He;let o=n,i=Fr<<o-He-He,s=i*Fr,a=(r-He)/s,c=(a-He)/Fr,l=s-He,d=i,p=e.pow(t,a),u=e.pow(t,(a+He)/Fr),f=(h,_)=>{let y=p,m=e.pow(_,l),b=e.sqr(m);b=e.mul(b,_);let g=e.mul(h,b);g=e.pow(g,c),g=e.mul(g,m),m=e.mul(g,_),b=e.mul(g,h);let T=e.mul(b,m);g=e.pow(T,d);let O=e.eql(g,e.ONE);m=e.mul(b,u),g=e.mul(T,y),b=e.cmov(m,b,O),T=e.cmov(g,T,O);for(let v=o;v>He;v--){let E=v-Fr;E=Fr<<E-He;let C=e.pow(T,E),w=e.eql(C,e.ONE);m=e.mul(b,y),y=e.mul(y,y),C=e.mul(T,y),b=e.cmov(m,b,w),T=e.cmov(C,T,w)}return{isValid:O,value:b}};if(e.ORDER%Cc===Ro){let h=(e.ORDER-Ro)/Cc,_=e.sqrt(e.neg(t));f=(y,m)=>{let b=e.sqr(m),g=e.mul(y,m);b=e.mul(b,g);let T=e.pow(b,h);T=e.mul(T,g);let O=e.mul(T,_),v=e.mul(e.sqr(T),m),E=e.eql(v,y),C=e.cmov(O,T,E);return{isValid:E,value:C}}}return f}function Vc(e,t){Bs(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=vm(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,l,d,p,u,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),l=e.add(c,e.ONE),l=e.mul(l,n),d=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),d=e.mul(d,r),c=e.sqr(l),u=e.sqr(d),p=e.mul(u,r),c=e.add(c,p),c=e.mul(c,l),u=e.mul(u,d),p=e.mul(u,n),c=e.add(c,p),f=e.mul(a,l);let{isValid:_,value:y}=i(c,u);h=e.mul(a,s),h=e.mul(h,y),f=e.cmov(f,l,_),h=e.cmov(h,y,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let b=mt(e,[d],!0)[0];return f=e.mul(f,b),{x:f,y:h}}}function Im(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Pc(e){let{CURVE:t,curveOpts:r}=Am(e),n=Em(t,r);return Cm(e,n)}function Am(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=$e(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 Sm(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 Cm(e,t){let{Fp:r,Fn:n}=t;function o(s){return wc(s,He,n.ORDER)}let i=Sm(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>bi(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Vm=BigInt(0),ks=BigInt(1),xd=BigInt(2),vo=BigInt(3);function Pm(e){let t=[];for(;e>ks;e>>=ks)(e&ks)===Vm?t.unshift(0):(e&vo)===vo?(t.unshift(-1),e+=ks):t.unshift(1);return t}function Fc(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Fm(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:l}=n,d;if(s==="multiplicative")d=(g,T,O,v,E,C)=>i.mul014(v,g,o.mul(T,E),o.mul(O,C));else if(s==="divisive")d=(g,T,O,v,E,C)=>i.mul034(v,o.mul(O,C),o.mul(T,E),g);else throw new Error("bls: unknown twist type");let p=o.div(o.ONE,o.mul(o.ONE,xd));function u(g,T,O,v){let E=o.sqr(O),C=o.sqr(v),w=o.mulByB(o.mul(C,vo)),I=o.mul(w,vo),P=o.sub(o.sub(o.sqr(o.add(O,v)),C),E),A=o.sub(w,E),x=o.mul(o.sqr(T),vo),N=o.neg(P);return g.push([A,x,N]),T=o.mul(o.mul(o.mul(o.sub(E,I),T),O),p),O=o.sub(o.sqr(o.mul(o.add(E,I),p)),o.mul(o.sqr(w),vo)),v=o.mul(E,P),{Rx:T,Ry:O,Rz:v}}function f(g,T,O,v,E,C){let w=o.sub(O,o.mul(C,v)),I=o.sub(T,o.mul(E,v)),P=o.sub(o.mul(w,E),o.mul(I,C)),A=o.neg(w),x=I;g.push([P,A,x]);let N=o.sqr(I),S=o.mul(N,I),B=o.mul(N,T),M=o.add(o.sub(S,o.mul(B,xd)),o.mul(o.sqr(w),v));return T=o.mul(I,M),O=o.sub(o.mul(o.sub(B,M),w),o.mul(S,O)),v=o.mul(v,S),{Rx:T,Ry:O,Rz:v}}let h=Pm(a),_=tn(g=>{let T=g,{x:O,y:v}=T.toAffine(),E=O,C=v,w=o.neg(v),I=E,P=C,A=o.ONE,x=[];for(let N of h){let S=[];({Rx:I,Ry:P,Rz:A}=u(S,I,P,A)),N&&({Rx:I,Ry:P,Rz:A}=f(S,I,P,A,E,N===-1?w:C)),x.push(S)}if(l){let N=x[x.length-1];l(I,P,A,E,C,f.bind(null,N))}return x});function y(g,T=!1){let O=i.ONE;if(g.length){let v=g[0][0].length;for(let E=0;E<v;E++){O=i.sqr(O);for(let[C,w,I]of g)for(let[P,A,x]of C[E])O=d(P,A,x,O,w,I)}}return c&&(O=i.conjugate(O)),T?i.finalExponentiate(O):O}function m(g,T=!0){let O=[];_t(t,g.map(({g1:v})=>v)),_t(r,g.map(({g2:v})=>v));for(let{g1:v,g2:E}of g){if(v.is0()||E.is0())throw new Error("pairing is not available for ZERO point");v.assertValidity(),E.assertValidity();let C=v.toAffine();O.push([_(E),C.x,C.y])}return y(O,T)}function b(g,T,O=!0){return m([{g1:g,g2:T}],O)}return{Fp12:i,millerLoopBatch:y,pairing:b,pairingBatch:m,calcPairingPrecomputes:_}}function bd(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(p){return p instanceof t.Point?p:t.Point.fromHex(p)}function c(p){return p instanceof r.Point?p:r.Point.fromHex(p)}function l(p){if(!(p instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return p}let d=o?(p,u)=>({g1:u,g2:p}):(p,u)=>({g1:p,g2:u});return{getPublicKey(p){let u=bi(t.Point.Fn,p);return t.Point.BASE.multiply(u)},sign(p,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=bi(t.Point.Fn,u);return l(p).assertValidity(),p.multiply(h)},verify(p,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");p=c(p),f=a(f);let _=f.negate(),y=t.Point.BASE,m=l(u),b=p,g=s([d(_,m),d(y,b)]);return i.eql(g,i.ONE)},verifyBatch(p,u,f){if(Fc(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(p),_=u,y=f.map(a),m=new Map;for(let T=0;T<y.length;T++){let O=y[T],v=_[T],E=m.get(v);E===void 0&&(E=[],m.set(v,E)),E.push(O)}let b=[],g=t.Point.BASE;try{for(let[T,O]of m){let v=O.reduce((E,C)=>E.add(C));b.push(d(v,T))}return b.push(d(g.negate(),h)),i.eql(s(b),i.ONE)}catch{return!1}},aggregatePublicKeys(p){Fc(p),p=p.map(f=>a(f));let u=p.reduce((f,h)=>f.add(h),t.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(p){Fc(p),p=p.map(f=>c(f));let u=p.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(p,u){fe(p);let f=u?{DST:u}:void 0;return r.hashToCurve(p,f)},Signature:n}}function wd(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Pc(e.G1),a=Object.assign(s,Sc(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Pc(e.G2),l=Object.assign(c,Sc(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),d=Fm(e.fields,a.Point,l.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:p,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=d,_=bd(d,a,l,e.G2.Signature,!1),y=bd(d,l,a,e.G1.ShortSignature,!0),m=e.randomBytes||uo,b=()=>{let R=Ds(r.ORDER);return Oc(m(R),r.ORDER)},g={randomSecretKey:b,randomPrivateKey:b,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function v(R,V){return R instanceof a.Point?R:y.hash(de("point",R),V?.DST)}function E(R,V){return R instanceof l.Point?R:_.hash(de("point",R),V?.DST)}function C(R){return _.getPublicKey(R).toBytes(!0)}function w(R){return y.getPublicKey(R).toBytes(!0)}function I(R,V,F){let D=E(R,F),k=_.sign(D,V);return R instanceof l.Point?k:O.toBytes(k)}function P(R,V,F){let D=v(R,F),k=y.sign(D,V);return R instanceof a.Point?k:T.toBytes(k)}function A(R,V,F,D){let k=E(V,D);return _.verify(R,k,F)}function x(R,V,F,D){let k=v(V,D);return y.verify(R,k,F)}function N(R){let V=_.aggregatePublicKeys(R);return R[0]instanceof a.Point?V:V.toBytes(!0)}function S(R){let V=_.aggregateSignatures(R);return R[0]instanceof l.Point?V:O.toBytes(V)}function B(R){let V=y.aggregateSignatures(R);return R[0]instanceof a.Point?V:T.toBytes(V)}function M(R,V,F,D){let k=V.map(te=>E(te,D));return _.verifyBatch(R,k,F)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:y,millerLoopBatch:p,pairing:u,pairingBatch:f,verifyBatch:M,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:g,getPublicKey:C,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:P,verify:A,verifyShortSignature:x,aggregatePublicKeys:N,aggregateSignatures:S,aggregateShortSignatures:B,G1:a,G2:l,Signature:O,ShortSignature:T}}var Td=BigInt(0),Br=BigInt(1),Ge=BigInt(2),Nd=BigInt(3);function kc(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let l=0;l<o;l++){let d=BigInt(l+1),p=[];for(let u=0,f=Br;u<n;u++){let h=(d*f-d)/s%a;p.push(e.pow(t,h)),f*=r}c.push(p)}return c}function Ed(e,t,r){let n=t.pow(r,(e.ORDER-Br)/Nd),o=t.pow(r,(e.ORDER-Br)/Ge);function i(u,f){let h=t.mul(t.frobeniusMap(u,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**Ge-Br)/Nd),a=t.pow(r,(e.ORDER**Ge-Br)/Ge);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[t.mul(u,s),t.neg(f)]}let l=u=>(f,h)=>{let _=h.toAffine(),y=u(_.x,_.y);return f.fromAffine({x:y[0],y:y[1]})},d=l(i),p=l(c);return{psi:i,psi2:c,G2psi:d,G2psi2:p,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Od=(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]}},Bc=class{constructor(t,r={}){this.MASK=Br;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=Cr(o),this.BYTES=Math.ceil(Cr(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,Ge),this.NONRESIDUE=Od(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=kc(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Od(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Td<=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 yi(this,t,r)}invertBatch(t){return mt(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),l=o.sub(a,c),d=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:l,c1:d}}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 _i(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);_i(r,a)===-1&&(a=r.sub(a,s));let l=r.sqrt(a),d=n.create({c0:l,c1:r.div(r.mul(i,this.Fp_div2),l)});if(!n.eql(n.sqr(d),t))throw new Error("Cannot find square root");let p=d,u=n.neg(p),{re:f,im:h}=n.reim(p),{re:_,im:y}=n.reim(u);return h>y||h===y&&f>_?p:u}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%Ge,i=r===Td,s=n%Ge;return BigInt(o||i&&s)==Br}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 $(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])}}},Dc=class{constructor(t){this.MASK=Br,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=kc(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,l=i.mul(t,s),d=i.mul(r,a),p=i.mul(n,c);return{c0:i.add(l,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(d,p)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(l,d)),i.mulByNonresidue(p)),c2:i.sub(i.add(d,i.mul(i.add(t,n),i.add(s,c))),i.add(l,p))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),Ge),a=o.mul(o.mul(r,n),Ge),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 To()}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 yi(this,t,r)}invertBatch(t){return mt(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 $(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)}}},Uc=class{constructor(t,r){this.MASK=Br;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=kc(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){To()}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 yi(this,t,r)}invertBatch(t){return mt(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 $(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),l=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),l)}}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)}),l=s.mul01(r,o,i),d=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(d,s.add(c,l))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:l,c2:d}=r,{first:p,second:u}=o.Fp4Square(i,l),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:y}=o.Fp4Square(s,d),m=o.mulByNonresidue(y);return{c0:n.create({c0:o.add(o.mul(o.sub(p,i),Ge),p),c1:o.add(o.mul(o.sub(f,s),Ge),f),c2:o.add(o.mul(o.sub(_,a),Ge),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),Ge),m),c1:o.add(o.mul(o.add(u,l),Ge),u),c2:o.add(o.mul(o.add(h,d),Ge),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),ed(r,o)&&(n=this.mul(n,t));return n}};function Rd(e){let t=$e(e.ORDER),r=new Bc(t,e),n=new Dc(r),o=new Uc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Fe=BigInt(0),Ls=BigInt(1),yt=BigInt(2),qs=BigInt(3),wi=BigInt(4),nn=BigInt("0xd201000000010000"),Bm=Cr(nn),ro={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Fe,b:wi,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Dm=$e(ro.n,{modFromBytes:!0,isLE:!0}),{Fp:L,Fp2:W,Fp6:Um,Fp12:Q}=Rd({ORDER:ro.p,X_LEN:Bm,FP2_NONRESIDUE:[Ls,Ls],Fp2mulByB:({c0:e,c1:t})=>{let r=L.mul(e,wi),n=L.mul(t,wi);return{c0:L.sub(r,n),c1:L.add(r,n)}},Fp12finalExponentiate:e=>{let t=nn,r=Q.div(Q.frobeniusMap(e,6),e),n=Q.mul(Q.frobeniusMap(r,2),r),o=Q.conjugate(Q._cyclotomicExp(n,t)),i=Q.mul(Q.conjugate(Q._cyclotomicSquare(n)),o),s=Q.conjugate(Q._cyclotomicExp(i,t)),a=Q.conjugate(Q._cyclotomicExp(s,t)),c=Q.mul(Q.conjugate(Q._cyclotomicExp(a,t)),Q._cyclotomicSquare(o)),l=Q.conjugate(Q._cyclotomicExp(c,t)),d=Q.frobeniusMap(Q.mul(o,a),2),p=Q.frobeniusMap(Q.mul(s,n),3),u=Q.frobeniusMap(Q.mul(c,Q.conjugate(n)),1),f=Q.mul(Q.mul(l,Q.conjugate(i)),n);return Q.mul(Q.mul(Q.mul(d,p),u),f)}}),{G2psi:vd,G2psi2:km}=Ed(L,W,W.div(W.ONE,W.NONRESIDUE)),Lc=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:Ve}),jc={p:W.ORDER,n:ro.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([wi,wi]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},Ms=Ti(L.toBytes(Fe),{infinity:!0,compressed:!0});function js(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 Ti(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 Lm(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return Ms.slice();let c=!!(a*yt/o);return Ti(Oe(s,n),{compressed:!0,sort:c})}else return i?$(Uint8Array.of(64),new Uint8Array(2*n-1)):$(Oe(s,n),Oe(a,n))}function qc(e){e.assertValidity();let{BYTES:t,ORDER:r}=L,{x:n,y:o}=e.toAffine();if(e.is0())return Ms.slice();let i=!!(o*yt/r);return Ti(Oe(n,t),{compressed:!0,sort:i})}function qm(e){let{compressed:t,infinity:r,sort:n,value:o}=js(e),{BYTES:i,ORDER:s}=L;if(o.length===48&&t){let a=Qe(o),c=L.create(a&Ut(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 l=L.add(L.pow(c,qs),L.create(ro.b)),d=L.sqrt(l);if(!d)throw new Error("invalid G1 point: compressed point");return d*yt/s!==BigInt(n)&&(d=L.neg(d)),{x:L.create(c),y:L.create(d)}}else if(o.length===96&&!t){let a=Qe(o.subarray(0,i)),c=Qe(o.subarray(i));if(r){if(a!==Fe||c!==Fe)throw new Error("G1: non-empty point at infinity");return Ni.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 Id(e){let{infinity:t,sort:r,value:n}=js(de("signatureHex",e,48)),o=L.ORDER,i=Ni.G1.Point,s=Qe(n);if(t)return i.ZERO;let a=L.create(s&Ut(L.BITS)),c=L.add(L.pow(a,qs),L.create(ro.b)),l=L.sqrt(c);if(!l)throw new Error("invalid G1 point: compressed");let d=BigInt(r);l*yt/o!==d&&(l=L.neg(l));let p=i.fromAffine({x:a,y:l});return p.assertValidity(),p}function Mm(e,t,r){let{BYTES:n,ORDER:o}=L,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return $(Ms,Oe(Fe,n));let c=!!(a.c1===Fe?a.c0*yt/o:a.c1*yt/o);return $(Ti(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return $(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:l}=W.reim(s),{re:d,im:p}=W.reim(a);return $(Oe(l,n),Oe(c,n),Oe(p,n),Oe(d,n))}}function Mc(e){e.assertValidity();let{BYTES:t}=L;if(e.is0())return $(Ms,Oe(Fe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),l=!!((a>Fe?a*yt:s*yt)/L.ORDER&Ls),d=o;return $(Ti(Oe(i,t),{sort:l,compressed:!0}),Oe(d,t))}function jm(e){let{BYTES:t,ORDER:r}=L,{compressed:n,infinity:o,sort:i,value:s}=js(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,l,d)=>Qe(c.slice(l,d));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),l=a(s,t,2*t),d=W.create({c0:L.create(l),c1:L.create(c)}),p=W.add(W.pow(d,qs),jc.b),u=W.sqrt(p),f=u.c1===Fe?u.c0*yt/r:u.c1*yt/r?Ls:Fe;return u=i&&f>0?u:W.neg(u),{x:d,y:u}}else if(s.length===192&&!n){if(o){if(s.reduce((u,f)=>u!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),l=a(s,1*t,2*t),d=a(s,2*t,3*t),p=a(s,3*t,4*t);return{x:W.fromBigTuple([l,c]),y:W.fromBigTuple([p,d])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Ad(e){let{ORDER:t}=L,{infinity:r,sort:n,value:o}=js(de("signatureHex",e)),i=Ni.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Qe(o.slice(0,s)),c=Qe(o.slice(s));if(r)return i.ZERO;let l=L.create(a&Ut(L.BITS)),d=L.create(c),p=W.create({c0:d,c1:l}),u=W.add(W.pow(p,qs),jc.b),f=W.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),y=BigInt(n),m=_>Fe&&_*yt/t!==y,b=_===Fe&&h*yt/t!==y;(m||b)&&(f=W.neg(f));let g=i.fromAffine({x:p,y:f});return g.assertValidity(),g}var Ni=wd({fields:{Fp:L,Fp2:W,Fp6:Um,Fp12:Q,Fr:Dm},G1:{...ro,Fp:L,htfDefaults:{...Lc,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(nn).negate().multiplyUnsafe(nn).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(nn).add(t),mapToCurve:Jm,fromBytes:qm,toBytes:Lm,ShortSignature:{fromBytes(e){return fe(e),Id(e)},fromHex(e){return Id(e)},toBytes(e){return qc(e)},toRawBytes(e){return qc(e)},toHex(e){return j(qc(e))}}},G2:{...jc,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Lc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:Wm,isTorsionFree:(e,t)=>t.multiplyUnsafe(nn).negate().equals(vd(e,t)),clearCofactor:(e,t)=>{let r=nn,n=t.multiplyUnsafe(r).negate(),o=vd(e,t),i=t.double();return i=km(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:jm,toBytes:Mm,Signature:{fromBytes(e){return fe(e),Ad(e)},fromHex(e){return Ad(e)},toBytes(e){return Mc(e)},toRawBytes(e){return Mc(e)},toHex(e){return j(Mc(e))}}},params:{ateLoopSize:nn,r:ro.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Lc,hash:Ve}),Km=Ac(W,[[["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=>W.fromBigTuple(t.map(BigInt))))),$m=Ac(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)))),Hm=Vc(L,{A:L.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:L.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:L.create(BigInt(11))}),Gm=Vc(W,{A:W.create({c0:L.create(Fe),c1:L.create(BigInt(240))}),B:W.create({c0:L.create(BigInt(1012)),c1:L.create(BigInt(1012))}),Z:W.create({c0:L.create(BigInt(-2)),c1:L.create(BigInt(-1))})});function Jm(e){let{x:t,y:r}=Hm(L.create(e[0]));return $m(t,r)}function Wm(e){let{x:t,y:r}=Gm(W.fromBigTuple(e));return Km(t,r)}function Sd(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return Ni.verifyShortSignature(o,i,n)}var Ym=BigInt(1e6),Kc=e=>_e(new Vt(e)),on=e=>{let r=Kc(e)/Ym;return new Date(Number(r))};var Cd=60*1e3,Zm=60,Xm=24,Qm=Xm*Zm,e_=5,t_=5,r_=30*Qm,pe;(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"})(pe||(pe={}));function n_(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var gt=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.principal,t.blsVerify??Sd,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=e_,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return Dr(t,this.cert.tree)}lookup_subtree(t){return Ri(t,this.cert.tree)}async verify(){let t=await $s(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=i_(r),i=$(ac,t),s=De(this.lookup_path(["time"]));if(!s)throw re.fromCode(new It("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Cd,l=new Date,d=l.getTime()+a,p=d-c,u=d+t_*Cd,f=on(s),h=f.getTime()<p,_=f.getTime()>u;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Ye.fromCode(new Nr(this._maxAgeInMinutes,f,l,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ae.fromCode(new Se("System time has been synced with the IC network, but certificate is still too far in the future.")):Ye.fromCode(new Nr(5,f,l,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Ye.fromCode(new It("Invalid signature"))}catch(a){throw Ye.fromCode(new It("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:r_,agent:this.#t});if(r.cert.delegation)throw re.fromCode(new Xi);await r.verify();let n;if(Pd(this._principal)){let i=this._principal.canisterId;if(n=q.fromUint8Array(t.subnet_id),!$c({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Ye.fromCode(new jn(i,n))}else if(Vd(this._principal))n=this._principal.subnetId;else throw ft;let o=De(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw Vd(this._principal)?Ye.fromCode(new Qi(n)):Ye.fromCode(new ts(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(Pd(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function Vd(e){return"subnetId"in e}function Pd(e){return"canisterId"in e}var Oi=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),o_=96;function i_(e){let t=Oi.byteLength+o_;if(e.byteLength!==t)throw re.fromCode(new po(t,e.byteLength));let r=e.slice(0,Oi.byteLength);if(!Wn(r,Oi))throw re.fromCode(new rs(Oi,r));return e.slice(Oi.byteLength)}function De(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function $s(e){switch(e[0]){case pe.Empty:return Ve(Ks("ic-hashtree-empty"));case pe.Pruned:return e[1];case pe.Leaf:return Ve($(Ks("ic-hashtree-leaf"),e[1]));case pe.Labeled:return Ve($(Ks("ic-hashtree-labeled"),e[1],await $s(e[2])));case pe.Fork:return Ve($(Ks("ic-hashtree-fork"),await $s(e[1]),await $s(e[2])));default:throw ft}}function Ks(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return $(t,r)}function Fd(e){return typeof e[0]=="string"?G(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var sn;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(sn||(sn={}));var le;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(le||(le={}));function Dr(e,t){if(e.length===0)switch(t[0]){case pe.Empty:return{status:Be.Absent};case pe.Leaf:{if(!t[1])throw ae.fromCode(new Yr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ft}case pe.Pruned:return{status:Be.Unknown};case pe.Labeled:case pe.Fork:return{status:Be.Error};default:throw ft}let r=Fd(e),n=Ei(r,t);switch(n.status){case le.Found:return Dr(e.slice(1),n.value);case le.Absent:case le.Greater:case le.Less:return{status:Be.Absent};case le.Unknown:return{status:Be.Unknown};default:throw ft}}function Ri(e,t){if(e.length===0)return{status:sn.Found,value:t};let r=Fd(e),n=Ei(r,t);switch(n.status){case le.Found:return Ri(e.slice(1),n.value);case le.Unknown:return{status:sn.Unknown};case le.Absent:case le.Greater:case le.Less:return{status:sn.Absent};default:throw ft}}function Gs(e){switch(e[0]){case pe.Empty:return[];case pe.Fork:return Gs(e[1]).concat(Gs(e[2]));default:return[e]}}function Ei(e,t){switch(t[0]){case pe.Labeled:return n_(e,t[1])?{status:le.Greater}:Wn(e,t[1])?{status:le.Found,value:t[2]}:{status:le.Less};case pe.Fork:{let r=Ei(e,t[1]);switch(r.status){case le.Greater:{let n=Ei(e,t[2]);return n.status===le.Less?{status:le.Absent}:n}case le.Unknown:{let n=Ei(e,t[2]);return n.status===le.Less?{status:le.Unknown}:n}default:return r}}case pe.Pruned:return{status:le.Unknown};default:return{status:le.Absent}}}function Hs(e,t){switch(t[0]){case pe.Empty|pe.Pruned:return[];case pe.Leaf:return[e];case pe.Fork:return Hs(e,t[1]).concat(Hs(e,t[2]));case pe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return Hs(o,n)}default:throw ft}}function $c(e){let t=s_(e),r=Hc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function s_(e){let{subnetId:t,tree:r,canisterId:n}=e,o=Ri(["canister_ranges",t.toUint8Array()],r);if(o.status!==sn.Found)return a_(t,r);let i=o.value,s=c_(i);if(s.length===0)throw re.fromCode(new jn(n,t));s.sort(fo);let a=l_(s,n),c=s[a];return u_(c,i)}function a_(e,t){let r=Dr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function Hc(e){return je(e).map(n=>[q.fromUint8Array(n[0]),q.fromUint8Array(n[1])])}function c_(e){let t=[];for(let r of Hs([],e)){let n=r[0];if(!n)throw re.fromCode(new It("Path is invalid"));t.push(n)}return t}function l_(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);fo(e[i],r)<=0?o=i:n=i+1}return n}function u_(e,t){let r=Dr([e],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function Gc(e,t){return e.delegation?q.fromUint8Array(e.delegation.subnet_id):q.selfAuthenticating(t)}var Bd=q.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function Js(e,t){switch(t){case"raw":return e;case"leb128":return Kc(e);case"cbor":return je(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function Dd(e){return je(e).map(r=>q.fromUint8Array(r))}function Ud(e,t){let r=typeof e=="string"?G(e):e;return[G("canister"),t,G("metadata"),r]}function an(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function Io(e,t){let r=Ri(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==sn.Found)throw re.fromCode(new At("Node not found",r.status));if(r.value instanceof Uint8Array)throw ae.fromCode(new Yr("Invalid node tree"));let n=Gs(r.value),o=new Map;return n.forEach(i=>{let s=q.from(i[1]).toText(),a=Dr(["public_key"],i[2]);if(a.status!==Be.Found)throw re.fromCode(new At("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw re.fromCode(new po(44,c.byteLength));o.set(s,c)}),o}var kd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=q.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let d=p_(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let p=t.rootKey,u=await t.readState(o,{paths:[d]}),f=await gt.create({certificate:u.certificate,rootKey:p,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="subnet"){let g=d_(u.certificate,o,p);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(d))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,on(y));break}case"controllers":{s.set(_,Dd(y));break}case"module_hash":{s.set(_,j(y));break}case"subnet":{s.set(_,y);break}case"candid":{s.set(_,new TextDecoder().decode(y));break}default:an(_)&&s.set(_.key,Js(y,_.decodeStrategy))}}catch(p){if(p instanceof st&&(p.hasCode(It)||p.hasCode(Nr)))throw p;an(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},d_=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Se("Invalid canisterId"));let n=je(e),{delegation:o}=n,i;o&&o.subnet_id?i=q.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=q.selfAuthenticating(new Uint8Array(r)):i=Bd;let s=Io(n,i);return{subnetId:i.toText(),nodeKeys:s}},p_=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"controllers":return[G("canister"),r,G("controllers")];case"module_hash":return[G("canister"),r,G("module_hash")];case"subnet":return[G("subnet")];case"candid":return[G("canister"),r,G("metadata"),G("candid:service")];default:if(an(e))return typeof e.path=="string"||e.path instanceof Uint8Array?Ud(e.path,r):e.path}throw ae.fromCode(new Se(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function Ld(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=q.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let d=f_(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let p=t.rootKey,u=await t.readSubnetState(o,{paths:[d]}),f=await gt.create({certificate:u.certificate,rootKey:p,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="nodeKeys"){let g=Io(m.cert,o);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(d))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,on(y));break}case"canisterRanges":{s.set(_,Hc(y));break}case"publicKey":{s.set(_,y);break}case"nodeKeys":{s.set(_,y);break}default:an(_)&&s.set(_.key,Js(y,_.decodeStrategy))}}catch(p){if(p instanceof st&&(p.hasCode(It)||p.hasCode(Nr)))throw p;an(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function f_(e,t){let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"canisterRanges":return[G("canister_ranges"),r];case"publicKey":return[G("subnet"),r,G("public_key")];case"nodeKeys":return[G("subnet"),r,G("node")];default:if(an(e)){if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?G(e.path):e.path;return[G("subnet"),r,n]}return e.path}}throw ae.fromCode(new Se(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}function Ws(e,t,r){let n=new Uint8Array(De(e.lookup_path([...t,"reject_code"])))[0],o=new TextDecoder().decode(De(e.lookup_path([...t,"reject_message"]))),i=De(e.lookup_path([...t,"error_code"])),s=i?new TextDecoder().decode(i):void 0;return new as(r,n,o,s)}var cn=BigInt(0),ve=BigInt(1),Jc=BigInt(2),h_=BigInt(8);function m_(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 __(e,t={}){let r=Us("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;Vr(t,{},{uvRatio:"function"});let a=Jc<<BigInt(o.BYTES*8)-ve,c=y=>n.create(y),l=t.uvRatio||((y,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(y,m))}}catch{return{isValid:!1,value:cn}}});if(!m_(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function d(y,m,b=!1){let g=b?ve:cn;return Fs("coordinate "+y,m,g,a),m}function p(y){if(!(y instanceof h))throw new Error("ExtendedPoint expected")}let u=tn((y,m)=>{let{X:b,Y:g,Z:T}=y,O=y.is0();m==null&&(m=O?h_:n.inv(T));let v=c(b*m),E=c(g*m),C=n.mul(T,m);if(O)return{x:cn,y:ve};if(C!==ve)throw new Error("invZ was invalid");return{x:v,y:E}}),f=tn(y=>{let{a:m,d:b}=i;if(y.is0())throw new Error("bad point: ZERO");let{X:g,Y:T,Z:O,T:v}=y,E=c(g*g),C=c(T*T),w=c(O*O),I=c(w*w),P=c(E*m),A=c(w*c(P+C)),x=c(I+c(b*c(E*C)));if(A!==x)throw new Error("bad point: equation left != right (1)");let N=c(g*T),S=c(O*v);if(N!==S)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,b,g,T){this.X=d("x",m),this.Y=d("y",b),this.Z=d("z",g,!0),this.T=d("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x:b,y:g}=m||{};return d("x",b),d("y",g),new h(b,g,ve,c(b*g))}static fromBytes(m,b=!1){let g=n.BYTES,{a:T,d:O}=i;m=bc(en(m,g,"point")),Xn(b,"zip215");let v=bc(m),E=m[g-1];v[g-1]=E&-129;let C=Sr(v),w=b?a:n.ORDER;Fs("point.y",C,cn,w);let I=c(C*C),P=c(I-ve),A=c(O*I-T),{isValid:x,value:N}=l(P,A);if(!x)throw new Error("bad point: invalid y coordinate");let S=(N&ve)===ve,B=(E&128)!==0;if(!b&&N===cn&&B)throw new Error("bad point: x=0 and x_0=1");return B!==S&&(N=c(-N)),h.fromAffine({x:N,y:C})}static fromHex(m,b=!1){return h.fromBytes(de("point",m),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,b=!0){return _.createCache(this,m),b||this.multiply(Jc),this}assertValidity(){f(this)}equals(m){p(m);let{X:b,Y:g,Z:T}=this,{X:O,Y:v,Z:E}=m,C=c(b*E),w=c(O*T),I=c(g*E),P=c(v*T);return C===w&&I===P}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:b,Y:g,Z:T}=this,O=c(b*b),v=c(g*g),E=c(Jc*c(T*T)),C=c(m*O),w=b+g,I=c(c(w*w)-O-v),P=C+v,A=P-E,x=C-v,N=c(I*A),S=c(P*x),B=c(I*x),M=c(A*P);return new h(N,S,M,B)}add(m){p(m);let{a:b,d:g}=i,{X:T,Y:O,Z:v,T:E}=this,{X:C,Y:w,Z:I,T:P}=m,A=c(T*C),x=c(O*w),N=c(E*g*P),S=c(v*I),B=c((T+O)*(C+w)-A-x),M=S-N,R=S+N,V=c(x-b*A),F=c(B*M),D=c(R*V),k=c(B*V),te=c(M*R);return new h(F,D,te,k)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:b,f:g}=_.cached(this,m,T=>_t(h,T));return _t(h,[b,g])[0]}multiplyUnsafe(m,b=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===cn?h.ZERO:this.is0()||m===ve?this:_.unsafe(this,m,g=>_t(h,g),b)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return u(this,m)}clearCofactor(){return s===ve?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:b}=this.toAffine(),g=n.toBytes(b);return g[g.length-1]|=m&ve?128:0,g}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return _t(h,m)}static msm(m,b){return Eo(h,o,m,b)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,ve,c(i.Gx*i.Gy)),h.ZERO=new h(cn,ve,ve,cn),h.Fp=n,h.Fn=o;let _=new Oo(h,o.BITS);return h.BASE.precompute(8),h}var zs=class{constructor(t){this.ep=t}static fromBytes(t){To()}static fromHex(t){To()}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 j(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 y_(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Vr(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||uo,c=r.adjustScalarBytes||(w=>w),l=r.domain||((w,I,P)=>{if(Xn(P,"phflag"),I.length||P)throw new Error("Contexts/pre-hash are not supported");return w});function d(w){return s.create(Sr(w))}function p(w){let I=g.secretKey;w=de("private key",w,I);let P=de("hashed private key",t(w),2*I),A=c(P.slice(0,I)),x=P.slice(I,2*I),N=d(A);return{head:A,prefix:x,scalar:N}}function u(w){let{head:I,prefix:P,scalar:A}=p(w),x=o.multiply(A),N=x.toBytes();return{head:I,prefix:P,scalar:A,point:x,pointBytes:N}}function f(w){return u(w).pointBytes}function h(w=Uint8Array.of(),...I){let P=$(...I);return d(t(l(P,de("context",w),!!n)))}function _(w,I,P={}){w=de("message",w),n&&(w=n(w));let{prefix:A,scalar:x,pointBytes:N}=u(I),S=h(P.context,A,w),B=o.multiply(S).toBytes(),M=h(P.context,B,N,w),R=s.create(S+M*x);if(!s.isValid(R))throw new Error("sign failed: invalid s");let V=$(B,s.toBytes(R));return en(V,g.signature,"result")}let y={zip215:!0};function m(w,I,P,A=y){let{context:x,zip215:N}=A,S=g.signature;w=de("signature",w,S),I=de("message",I),P=de("publicKey",P,g.publicKey),N!==void 0&&Xn(N,"zip215"),n&&(I=n(I));let B=S/2,M=w.subarray(0,B),R=Sr(w.subarray(B,S)),V,F,D;try{V=e.fromBytes(P,N),F=e.fromBytes(M,N),D=o.multiplyUnsafe(R)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let k=h(x,F.toBytes(),V.toBytes(),I);return F.add(V.multiplyUnsafe(k)).subtract(D).clearCofactor().is0()}let b=i.BYTES,g={secretKey:b,publicKey:b,signature:2*b,seed:b};function T(w=a(g.seed)){return en(w,g.seed,"seed")}function O(w){let I=C.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function v(w){return jt(w)&&w.length===s.BYTES}function E(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let C={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:v,isValidPublicKey:E,toMontgomery(w){let{y:I}=e.fromBytes(w),P=g.publicKey,A=P===32;if(!A&&P!==57)throw new Error("only defined for 25519 and 448");let x=A?i.div(ve+I,ve-I):i.div(I-ve,I+ve);return i.toBytes(x)},toMontgomerySecret(w){let I=g.secretKey;en(w,I);let P=t(w.subarray(0,I));return c(P).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:C,Point:e,lengths:g})}function g_(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=$e(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 x_(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function qd(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=g_(e),i=__(t,r),s=y_(i,n,o);return x_(e,s)}var b_=BigInt(0),Ur=BigInt(1),Md=BigInt(2),Gb=BigInt(3),w_=BigInt(5),T_=BigInt(8),Ao=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),vi={p:Ao,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:T_,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function N_(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=Ao,a=e*e%i*e%i,c=kt(a,Md,i)*a%i,l=kt(c,Ur,i)*e%i,d=kt(l,w_,i)*l%i,p=kt(d,t,i)*d%i,u=kt(p,r,i)*p%i,f=kt(u,n,i)*u%i,h=kt(f,o,i)*f%i,_=kt(h,o,i)*f%i,y=kt(_,t,i)*d%i;return{pow_p_5_8:kt(y,Md,i)*e%i,b2:a}}function O_(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Wc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Zc(e,t){let r=Ao,n=ce(t*t*t,r),o=ce(n*n*t,r),i=N_(e*o).pow_p_5_8,s=ce(e*n*i,r),a=ce(t*s*s,r),c=s,l=ce(s*Wc,r),d=a===e,p=a===ce(-e,r),u=a===ce(-e*Wc,r);return d&&(s=c),(p||u)&&(s=l),Pr(s,r)&&(s=ce(-s,r)),{isValid:d||p,value:s}}var ln=$e(vi.p,{isLE:!0}),E_=$e(vi.n,{isLE:!0}),R_={...vi,Fp:ln,hash:au,adjustScalarBytes:O_,uvRatio:Zc},Je=qd(R_);var zc=Wc,v_=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),I_=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),A_=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),S_=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),jd=e=>Zc(Ur,e),C_=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Yc=e=>Je.Point.Fp.create(Sr(e)&C_);function Kd(e){let{d:t}=vi,r=Ao,n=m=>ln.create(m),o=n(zc*e*e),i=n((o+Ur)*A_),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:l}=Zc(i,a),d=n(l*e);Pr(d,r)||(d=n(-d)),c||(l=d),c||(s=o);let p=n(s*(o-Ur)*S_-a),u=l*l,f=n((l+l)*a),h=n(p*v_),_=n(Ur-u),y=n(Ur+u);return new Je.Point(n(f*y),n(_*h),n(h*y),n(f*_))}function V_(e){fe(e,64);let t=Yc(e.subarray(0,32)),r=Kd(t),n=Yc(e.subarray(32,64)),o=Kd(n);return new kr(r.add(o))}var kr=class e extends zs{constructor(t){super(t)}static fromAffine(t){return new e(Je.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return V_(de("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=vi,o=Ao,i=T=>ln.create(T),s=Yc(t);if(!Qu(ln.toBytes(s),t)||Pr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(Ur+r*a),l=i(Ur-r*a),d=i(c*c),p=i(l*l),u=i(r*n*d-p),{isValid:f,value:h}=jd(i(u*p)),_=i(h*l),y=i(h*_*u),m=i((s+s)*_);Pr(m,o)&&(m=i(-m));let b=i(c*y),g=i(m*b);if(!f||Pr(g,o)||b===b_)throw new Error("invalid ristretto255 encoding 2");return new e(new Je.Point(m,b,Ur,g))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return Eo(e,Je.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=Ao,s=y=>ln.create(y),a=s(s(n+r)*s(n-r)),c=s(t*r),l=s(c*c),{value:d}=jd(s(a*l)),p=s(d*a),u=s(d*c),f=s(p*u*o),h;if(Pr(o*f,i)){let y=s(r*zc),m=s(t*zc);t=y,r=m,h=s(p*I_)}else h=u;Pr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return Pr(_,i)&&(_=s(-_)),ln.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=l=>ln.create(l),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};kr.BASE=new kr(Je.Point.BASE);kr.ZERO=new kr(Je.Point.ZERO);kr.Fp=ln;kr.Fn=E_;function Ys(e){if(!Number.isFinite(e)||e<=0)throw new Error(`expirationTime must be a positive finite number, got ${e}`)}var Zs=class{#e;#t;#r=null;constructor(t){if(typeof globalThis.indexedDB>"u")throw new Error("IndexedDBExpirableStore requires IndexedDB, which is not available in this environment");Ys(t.expirationTime),this.#e=t.dbName,this.#t=t.storeName,this.expirationTime=t.expirationTime}#o(){return this.#r||(this.#r=this.#s().catch(t=>{throw this.#r=null,t})),this.#r}async#s(){let t=await this.#a();if(t.objectStoreNames.contains(this.#t))return t;let r=t.version+1;return t.close(),this.#a(r)}#a(t){let r=this.#t;return new Promise((n,o)=>{let i=globalThis.indexedDB.open(this.#e,t);i.onupgradeneeded=()=>{let s=i.result;s.objectStoreNames.contains(r)||s.createObjectStore(r,{keyPath:"key"})},i.onsuccess=()=>{let s=i.result;s.onversionchange=()=>{s.close(),this.#r=null},n(s)},i.onerror=()=>o(i.error)})}async get(t){let r=await this.#o();return new Promise((n,o)=>{let a=r.transaction(this.#t,"readonly").objectStore(this.#t).get(t);a.onsuccess=()=>{let c=a.result;if(!c){n(void 0);return}if(Date.now()-c.timestamp>this.expirationTime){this.delete(t).then(()=>n(void 0),()=>n(void 0));return}n(c.value)},a.onerror=()=>o(a.error)})}async set(t,r){await this.#n();let n=await this.#o();return new Promise((o,i)=>{let s=n.transaction(this.#t,"readwrite"),a=s.objectStore(this.#t),c={key:t,value:r,timestamp:Date.now()};a.put(c),s.oncomplete=()=>o(),s.onerror=()=>i(s.error)})}async delete(t){let r=await this.#o();return new Promise((n,o)=>{let i=r.transaction(this.#t,"readwrite");i.objectStore(this.#t).delete(t),i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}async#n(){let t=await this.#o(),r=Date.now();return new Promise((n,o)=>{let i=t.transaction(this.#t,"readwrite"),a=i.objectStore(this.#t).openCursor();a.onsuccess=()=>{let c=a.result;if(!c)return;let l=c.value;r-l.timestamp>this.expirationTime&&c.delete(),c.continue()},i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}};var Xs=class{#e;constructor(t){Ys(t.expirationTime),this.expirationTime=t.expirationTime,this.#e=new Map}get(t){let r=this.#e.get(t);return r?Date.now()-r.timestamp>this.expirationTime?(this.#e.delete(t),Promise.resolve(void 0)):Promise.resolve(r.value):Promise.resolve(void 0)}set(t,r){return this.#t(),this.#e.set(t,{value:r,timestamp:Date.now()}),Promise.resolve()}delete(t){return this.#e.delete(t),Promise.resolve()}#t(){let t=Date.now();for(let[r,n]of this.#e)t-n.timestamp>this.expirationTime&&this.#e.delete(r)}};function $d(e){return typeof globalThis.indexedDB<"u"?new Zs(e):new Xs({expirationTime:e.expirationTime})}var Hd=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 Wo("Length too long (> 4 bytes)"))},Gd=(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 Wo("Length too long (> 4 bytes)"))},Xc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new St("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 St("Length too long (> 4 bytes)"))},P_=(e,t)=>{let r=Xc(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 St("Length too long (> 4 bytes)"))},Ii=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),no=Uint8Array.from([48,5,6,3,43,101,112]),ow=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),iw=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 oo(e,t){let r=2+Hd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Hd(n)+n);return i[o++]=48,o+=Gd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=Gd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var io=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new St(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Xc(o,r),!Wn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new St("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=P_(o,r)-1;r+=Xc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new ns(i,s.length));return s};var Qs=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 oo(t,no)}static derDecode(t){let r=io(t,no);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new St("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 St("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 Qc=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))}},ea=class extends Qc{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 ta=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l=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.#o=i,this.#i=c,this.#s=c.now(),this.#a=s,this.#n=a}get ellapsedTimeInMsec(){return this.#i.now()-this.#s}get currentInterval(){return this.#e}get count(){return this.#l}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.#o),this.#l++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#a||this.#l>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var F_=300*1e3;function Jd(){return L_(D_(B_(),1e3),k_(1e3,1.2),U_(F_))}function B_(){let e=!0;return async()=>e?(e=!1,!0):!1}function D_(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function U_(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw re.fromCode(new Kn(`Request timed out after ${e} msec`,n,o))}}function k_(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function L_(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var zd={preSignReadStateRequest:!1};function Yd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function el(e,t){return e!==null&&typeof e=="object"&&Yd(e,t)}function M_(e,t){return Yd(e,t)&&typeof e[t]=="function"}function Wd(e){return el(e,"body")&&el(e.body,"content")&&e.body.content.request_type===Zn.ReadState&&el(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&M_(e.body.content.ingress_expiry,"toHash")}async function ra(e,t,r,n={}){let o=[G("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await j_({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 Pe.fromCode(new Ct);let c=await gt.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),l=De(c.lookup_path([...o,G("status")])),d;switch(typeof l>"u"?d=lt.Unknown:d=new TextDecoder().decode(l),d){case lt.Replied:return{reply:De(c.lookup_path([...o,"reply"])),certificate:c,rawCertificate:i.certificate};case lt.Received:case lt.Unknown:case lt.Processing:{let p=n.strategy??Jd();return await p(t,r,d),ra(e,t,r,{...n,strategy:p,request:s})}case lt.Rejected:throw vt.fromCode(Ws(c,o,r));case lt.Done:throw ae.fromCode(new us(r))}throw ft}async function j_(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Wd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Wd(o))throw z.fromCode(new xs(o));return o}var nl=60*1e3,$_=1e6,H_=0,G_="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var J_="ic0.app",W_=".ic0.app",z_="icp0.io",Y_=".icp0.io",Z_="icp-api.io",X_=".icp-api.io",tl=200,Zd=202,Q_=404;function ey(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;#o;#s;#a;#n;#i;#l;#T;#c;#d;#f;#u;#x;get#R(){return this.#u*nl}#h;#m;#b;#_;constructor(t={}){if(this.#e=null,this.#t=!1,this.#r=H_,this.#o=!1,this.#s=null,this.#a=!1,this._isAgent=!0,this.config={},this.log=new ea,this.#h=[],this.#m=[],this.#b=new Map,this.#_=!0,this.#N=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o,l=i.size;if(a.length>l)throw re.fromCode(new hs(a.length,l));for(let d of a){let{timestamp:p,identity:u}=d,f=q.fromUint8Array(u).toText(),h;if(s===Hr.Replied){let{reply:g}=o;h=si({status:s,reply:g,timestamp:BigInt(p),request_id:c})}else if(s===Hr.Rejected){let{reject_code:g,reject_message:T,error_code:O}=o;h=si({status:s,reject_code:g,reject_message:T,error_code:O,timestamp:BigInt(p),request_id:c})}else throw ae.fromCode(new Se(`Unknown status: ${s}`));let _=$(cc,h),y=i.get(f);if(!y)throw re.fromCode(new _s);let m=Qs.fromDer(y).rawKey;if(!Je.verify(d.signature,_,m))throw Ye.fromCode(new ys(f))}return o},this.config=t,t.fetch)this.#i=t.fetch;else{let o=globalThis.fetch;if(typeof o!="function")throw z.fromCode(new ps);this.#i=o.bind(globalThis)}this.#l=t.fetchOptions,this.#T=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#a=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(G_);let r=ey(t.host);this.host=new URL(r),this.host.hostname.endsWith(W_)?this.host.hostname=J_:this.host.hostname.endsWith(Y_)?this.host.hostname=z_:this.host.hostname.endsWith(X_)&&(this.host.hostname=Z_),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#x=t.subnetNodeKeyExpirableStore??$d({dbName:`icp-sdk-${this.host.host}`,storeName:"subnetNodeKeys",expirationTime:5*nl}),this.#d=t.retryTimes??3;let n=()=>new ta({maxIterations:this.#d});if(this.#f=t.backoffStrategy||n,t.credentials){let{name:o,password:i}=t.credentials;this.#c=`${o}${i?`:${i}`:""}`}if(this.#n=Promise.resolve(t.identity||new at),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new $t("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new $t("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#u=t.ingressExpiryInMinutes||5,this.addTransform("update",mc(mi)),t.useQueryNonces&&this.addTransform("query",mc(mi)),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.#p(),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 fs)}}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.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){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}))}}async getPrincipal(){if(!this.#n)throw Pe.fromCode(new zr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Pe.fromCode(new zr);let s=q.from(t),a=r.effectiveCanisterId?q.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),l=rl(this.#u,this.#r),d={request_type:Vs.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:l},p=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ar.Call,body:d}),u;r?.nonce?u=f(r.nonce):p.body.nonce?u=f(p.body.nonce):u=void 0,d.nonce=u;function f(m){return Object.assign(m,{__nonce__:void 0})}p=await i.transformRequest(p);let h=fi(p.body),_=this.#f(),y=vr(d);try{let g=o?()=>{let E=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,p),this.#i(E,{...this.#T,...p.request,body:h})}:()=>{let E=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,p),this.#i(E,{...this.#T,...p.request,body:h})},{responseBodyBytes:T,...O}=await this.#y({requestFn:g,backoff:_,tries:0}),v=T.byteLength>0?je(T):null;return{requestId:y,response:{...O,body:v},requestDetails:d}}catch(m){let b;if(m instanceof st){if(m.hasCode(Yo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode($t)&&!this.#o)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:y,senderPubKey:p.body.sender_pubkey,senderSignature:p.body.sender_sig,ingressExpiry:p.body.content.ingress_expiry},b=m}else b=ae.fromCode(new Se(m));throw this.log.error(`Error while making call: ${b.message}`,b),b}}async update(t,r,n={}){let o=q.from(r.effectiveCanisterId),{requestId:i,response:s,requestDetails:a}=await this.call(t,r),{body:c,...l}=s;if(jl(c))return this.#v(c,s,i,o,r.methodName,l,a,n);if(Ml(c)&&this.#I(c,i,o,r.methodName,l),s.status===Zd)return{...await ra(this,o,i,n),requestDetails:a,callResponse:s};let d=new Se(`Unexpected response from call: status ${s.status} with unrecognized body`);throw d.callContext={canisterId:o,methodName:r.methodName,httpDetails:l},ae.fromCode(d)}async#v(t,r,n,o,i,s,a,c){if(this.rootKey==null)throw Pe.fromCode(new Ct);let l=t.certificate,d=await gt.create({certificate:l,rootKey:this.rootKey,principal:{canisterId:o},blsVerify:c.blsVerify,agent:this}),p=[G("request_status"),n],u=De(d.lookup_path([...p,G("status")])),f=u?new TextDecoder().decode(u):void 0;switch(f){case lt.Replied:return{reply:De(d.lookup_path([...p,"reply"])),certificate:d,rawCertificate:l,requestDetails:a,callResponse:r};case lt.Rejected:{let h=Ws(d,p,n);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},vt.fromCode(h)}case void 0:return this.log.warn(`v4 sync response certificate does not contain request ID ${j(n)} status. Falling back to polling.`),{...await ra(this,o,n,c),requestDetails:a,callResponse:r};default:{let h=new gs(f,n,r,l);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},ae.fromCode(h)}}}#I(t,r,n,o,i){let{reject_code:s,reject_message:a,error_code:c}=t,l=new ls(r,s,a,c);throw l.callContext={canisterId:n,methodName:o,httpDetails:i},vt.fromCode(l)}async#w(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),l=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${l.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ae.fromCode(new Kn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let d;try{this.log.print(`fetching "${l.pathname}" with request:`,n),d=await this.#i(l,{...this.#l,...n.request,body:o})}catch(m){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
52
+ `)}return a.encodeValue(c)}));return X(Mf,n,o,i,s)}function Kf(e,t){let r=new Vt(t);if(t.byteLength<ds.length)throw new Error("Message length smaller than magic number");let n=Jr(r,ds.length),o=new TextDecoder().decode(n);if(o!==ds)throw new Error(`Wrong magic number: ${JSON.stringify(o)}`);function i(u){let f=[],h=Number(_e(u));for(let m=0;m<h;m++){let b=Number(Tr(u));switch(b){case ee.Opt:case ee.Vector:{let g=Number(Tr(u));f.push([b,g]);break}case ee.Record:case ee.Variant:{let g=[],T=Number(_e(u)),O;for(;T--;){let v=Number(_e(u));if(v>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof O=="number"&&O>=v)throw new Error("field id collision or not sorted");O=v;let E=Number(Tr(u));g.push([v,E])}f.push([b,g]);break}case ee.Func:{let g=[],T=Number(_e(u));for(;T--;)g.push(Number(Tr(u)));let O=[],v=Number(_e(u));for(;v--;)O.push(Number(Tr(u)));let E=[],C=Number(_e(u));for(;C--;)switch(Number(_e(u))){case 1:{E.push("query");break}case 2:{E.push("oneway");break}case 3:{E.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([b,[g,O,E]]);break}case ee.Service:{let g=Number(_e(u)),T=[];for(;g--;){let O=Number(_e(u)),v=new TextDecoder().decode(Jr(u,O)),E=Tr(u);T.push([v,E])}f.push([b,T]);break}default:throw new Error(`Illegal op_code: ${b}`)}}let _=[],y=Number(_e(u));for(let m=0;m<y;m++)_.push(Number(Tr(u)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(u=>bu());function l(u){if(u<-24)throw new Error("future value not supported");if(u<0)switch(u){case-1:return eu;case-2:return Ql;case-3:return nu;case-4:return ru;case-5:return uu;case-6:return du;case-7:return pu;case-8:return fu;case-9:return su;case-10:return au;case-11:return cu;case-12:return lu;case-13:return ou;case-14:return iu;case-15:return tu;case-16:return Xl;case-17:return Zl;case-24:return hu;default:throw new Error(`Illegal op_code: ${u}`)}if(u>=s.length)throw new Error("type index out of range");return c[u]}function p(u){switch(u[0]){case ee.Vector:{let f=l(u[1]);return _u(f)}case ee.Opt:{let f=l(u[1]);return yu(f)}case ee.Record:{let f={};for(let[y,m]of u[1]){let b=`_${y}_`;f[b]=l(m)}let h=gu(f),_=h.tryAsTuple();return Array.isArray(_)?mu(..._):h}case ee.Variant:{let f={};for(let[h,_]of u[1]){let y=`_${h}_`;f[y]=l(_)}return xu(f)}case ee.Func:{let[f,h,_]=u[1];return wu(f.map(y=>l(y)),h.map(y=>l(y)),_)}case ee.Service:{let f={},h=u[1];for(let[_,y]of h){let m=l(y);if(m instanceof ht&&(m=m.getType()),!(m instanceof Mn))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return Tu(f)}default:throw new Error(`Illegal op_code: ${u[0]}`)}}s.forEach((u,f)=>{if(u[0]===ee.Func){let h=p(u);c[f].fill(h)}}),s.forEach((u,f)=>{if(u[0]!==ee.Func){let h=p(u);c[f].fill(h)}}),$a();let d=a.map(u=>l(u));try{let u=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 u}finally{$a()}}var Zl=new zo,Xl=new Jt,$f=new fs,Ql=new hs,eu=new Ln,tu=new ms,ru=new Yo,nu=new Zo,ou=new Xo(32),iu=new Xo(64),su=new Or(8),au=new Or(16),cu=new Or(32),lu=new Or(64),uu=new Ht(8),du=new Ht(16),pu=new Ht(32),fu=new Ht(64),hu=new ys;function mu(...e){return new _s(e)}function _u(e){return new ao(e)}function yu(e){return new Wr(e)}function gu(e){return new qn(e)}function xu(e){return new co(e)}function bu(){return new ht}function wu(e,t,r=[]){return new Mn(e,t,r)}function Tu(e){return new lo(e)}var gs=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}
53
+ `;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)}},ps=new gs;function $a(){ps=new gs}function Hf(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 Ma(e){return e instanceof Wr||e instanceof Ln||e instanceof Jt}function Ga(e,t){let r=ps.copy(),n=Nr(r,e,t);return n?ps.add(e,t):ps.addNegative(e,t),n}function Nr(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 Jt||t instanceof zo||t instanceof Zo&&r instanceof Yo)return!0;if(t instanceof ao&&r instanceof ao)return Nr(e,t._type,r._type);if(r instanceof Wr)return!0;if(t instanceof qn&&r instanceof qn){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[Me(i)];if(a){if(!Nr(e,a,s))return!1}else if(!Ma(s))return!1}return!0}if(t instanceof Mn&&r instanceof Mn){if(!Hf(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!Nr(e,r.argTypes[o],i))return!1}else if(!Ma(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!Nr(e,t.retTypes[o],i))return!1}else if(!Ma(i))return!1}return!0}if(t instanceof co&&r instanceof co){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[Me(i)];if(!a||!Nr(e,s,a))return!1}return!0}if(t instanceof lo&&r instanceof lo){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!Nr(e,a,s))return!1}return!0}return t instanceof ht?Nr(e,t.getType(),r):r instanceof ht?Nr(e,t,r.getType()):!1}function uo(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?uo(e.buffer):new Uint8Array(e)}function Kn(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 Ja(e){if(typeof e=="string")return Nu(e);if(typeof e=="number")return Ve(oe(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Ve(uo(e));if(Array.isArray(e)){let t=e.map(Ja);return Ve($(...t))}if(e&&typeof e=="object"&&e._isPrincipal)return Ve(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Ja(e.toHash());if(typeof e=="object")return Qo(e);if(typeof e=="bigint")return Ve(oe(e));throw z.fromCode(new ts(e))}var Nu=e=>{let t=new TextEncoder().encode(e);return Ve(t)};function Er(e){return Qo(e)}function Qo(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=Nu(s),l=Ja(a);return[c,l]}).sort(([s],[a])=>io(s,a)),o=$(...n.map(s=>$(...s)));return Ve(o)}var Wa=new TextEncoder().encode("\ric-state-root"),ei=new TextEncoder().encode(`
54
+ ic-request`),za=new TextEncoder().encode("\vic-response"),Ya=new TextEncoder().encode("ic-request-auth-delegation");var Wt=class{getPrincipal(){return this._principal||(this._principal=U.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Er(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign($(ei,o))}}}},at=class{getPrincipal(){return U.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Rr=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Eu=55799,Ru=Symbol("CBOR_STOP_CODE"),Bt=(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))(Bt||{}),Ne=(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))(Ne||{}),Gf=23,Jf=255,Wf=65535,zf=4294967295,Yf=BigInt("0xffffffffffffffff"),Ft=(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))(Ft||{}),po=!1;function Zf(e){return e==null}function vu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Xf=new TextDecoder;function Qf(e){return(e&224)>>5}function eh(e){return e&31}var ni=new Uint8Array,ti,Dt=0;function Iu(e,t){ni=e,Dt=0;let r=$n(t);return t?.(r)??r}function $n(e){let[t,r]=xs();switch(t){case Ne.UnsignedInteger:return fo(r);case Ne.NegativeInteger:return oh(r);case Ne.ByteString:return Au(r);case Ne.TextString:return Xa(r);case Ne.Array:return th(r,e);case Ne.Map:return nh(r,e);case Ne.Tag:return ih(r,e);case Ne.Simple:return rh(r)}throw new Rr(`Unsupported major type: ${t}`)}function xs(){let e=ni.at(Dt);if(Zf(e))throw new Rr("Provided CBOR data is empty");let t=Qf(e),r=eh(e);return Dt++,[t,r]}function th(e,t){let r=fo(e);if(r===1/0){let o=[],i=$n(t);for(;i!==Ru;)o.push(t?.(i)??i),i=$n(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=$n(t);n[o]=t?.(i)??i}return n}function rh(e){switch(e){case Bt.False:return!1;case Bt.True:return!0;case Bt.Null:return null;case Bt.Undefined:return;case Bt.Break:return Ru}throw new Rr(`Unrecognized simple type: ${e.toString(2)}`)}function nh(e,t){let r=fo(e),n={};if(r===1/0){let[o,i]=xs();for(;o!==Ne.Simple&&i!==Bt.Break;){let s=Xa(i),a=$n(t);n[s]=t?.(a,s)??a,[o,i]=xs()}return n}for(let o=0;o<r;o++){let[i,s]=xs();if(i!==Ne.TextString)throw new Rr("Map keys must be text strings");let a=Xa(s),c=$n(t);n[a]=t?.(c,a)??c}return n}function fo(e){if(e<=Ft.Value)return e;switch(ti=new DataView(ni.buffer,ni.byteOffset+Dt),e){case Ft.OneByte:return Dt++,ti.getUint8(0);case Ft.TwoBytes:return Dt+=2,ti.getUint16(0,po);case Ft.FourBytes:return Dt+=4,ti.getUint32(0,po);case Ft.EightBytes:return Dt+=8,ti.getBigUint64(0,po);case Ft.Indefinite:return 1/0;default:throw new Rr(`Unsupported integer info: ${e.toString(2)}`)}}function oh(e){let t=fo(e);return typeof t=="number"?-1-t:-1n-t}function Au(e){let t=fo(e);if(t>Number.MAX_SAFE_INTEGER)throw new Rr("Byte length is too large");let r=Number(t);return Dt+=r,ni.slice(Dt-r,Dt)}function Xa(e){let t=Au(e);return Xf.decode(t)}function ih(e,t){let r=fo(e);if(r===Eu)return $n(t);throw new Rr(`Unsupported tag: ${r}.`)}var oi=class extends Error{constructor(t){super(t),this.name="SerializationError"}},sh=2*1024,ah=100,ch=new TextEncoder;function ri(e){return e<<5}var ct=new Uint8Array(sh),Pt=new DataView(ct.buffer),Te=0,Za=[];function Su(e,t){Te=0;let r=t?.(e)??e;return _h(Eu,r,t),ct.slice(0,Te)}function Qa(e,t){if(Te>ct.length-ah&&(ct=vu(ct,ct.length*2),Pt=new DataView(ct.buffer)),e===!1||e===!0||e===null||e===void 0){dh(e);return}if(typeof e=="number"||typeof e=="bigint"){mh(e);return}if(typeof e=="string"){Pu(e);return}if(e instanceof Uint8Array){Ou(e);return}if(e instanceof ArrayBuffer){Ou(new Uint8Array(e));return}if(Array.isArray(e)){lh(e,t);return}if(typeof e=="object"){uh(e,t);return}throw new oi(`Unsupported type: ${typeof e}`)}function lh(e,t){ho(Ne.Array,e.length),e.forEach((r,n)=>{Qa(t?.(r,n.toString())??r,t)})}function uh(e,t){Za=Object.entries(e),ho(Ne.Map,Za.length),Za.forEach(([r,n])=>{Pu(r),Qa(t?.(n,r)??n,t)})}function ho(e,t){if(t<=Gf){Pt.setUint8(Te++,ri(e)|Number(t));return}if(t<=Jf){Pt.setUint8(Te++,ri(e)|Ft.OneByte),Pt.setUint8(Te,Number(t)),Te+=1;return}if(t<=Wf){Pt.setUint8(Te++,ri(e)|Ft.TwoBytes),Pt.setUint16(Te,Number(t),po),Te+=2;return}if(t<=zf){Pt.setUint8(Te++,ri(e)|Ft.FourBytes),Pt.setUint32(Te,Number(t),po),Te+=4;return}if(t<=Yf){Pt.setUint8(Te++,ri(e)|Ft.EightBytes),Pt.setBigUint64(Te,BigInt(t),po),Te+=8;return}throw new oi(`Value too large to encode: ${t}`)}function dh(e){ho(Ne.Simple,ph(e))}function ph(e){if(e===!1)return Bt.False;if(e===!0)return Bt.True;if(e===null)return Bt.Null;if(e===void 0)return Bt.Undefined;throw new oi(`Unrecognized simple value: ${e.toString()}`)}function Cu(e,t){ho(e,t.length),Te>ct.length-t.length&&(ct=vu(ct,ct.length+t.length),Pt=new DataView(ct.buffer)),ct.set(t,Te),Te+=t.length}function Vu(e,t){ho(e,t)}function fh(e){Vu(Ne.UnsignedInteger,e)}function hh(e){Vu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function mh(e){e>=0?fh(e):hh(e)}function Pu(e){Cu(Ne.TextString,ch.encode(e))}function Ou(e){Cu(Ne.ByteString,e)}function _h(e,t,r){ho(Ne.Tag,e),Qa(t,r)}var ii="__expiry__",ec=BigInt(1e3),gh=BigInt(1e6),xh=BigInt(60),tc=xh*ec,bh=BigInt(1)*tc;function wh(e){return e/ec*ec}function Th(e){return e/tc*tc}var Hn=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=Th(o),s;return i>=n+bh?s=i:s=wh(o),new e(s*gh)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[ii]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[ii])try{let n=BigInt(r[ii]);return new e(n)}catch(n){throw new z(new Go(`Not a valid BigInt: ${n}`))}throw new z(new Go(`The input does not contain the key ${ii}`))}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 Nh(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function si(e){try{return Su(e,t=>U.isPrincipal(t)?t.toUint8Array():Hn.isExpiry(t)?t.toBigInt():Nh(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new zi(t,e))}}function je(e){try{return Iu(e)}catch(t){throw z.fromCode(new Wi(t,e))}}var bs={encode:si,decode:je};var ai=()=>{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 vr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(vr||(vr={}));var Ts;(function(e){e.Call="call"})(Ts||(Ts={}));var Gn;(function(e){e.Query="query",e.ReadState="read_state"})(Gn||(Gn={}));var lt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(lt||(lt={}));function ci(){let e=new ArrayBuffer(16),t=new DataView(e),r=ai(),n=ai(),o=ai(),i=ai();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})}function rc(e=ci){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===vr.Call&&(t.body.nonce=e())}}function nc(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var ic=BigInt(0),Ns=BigInt(1);function Jn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function zr(e,t,r=""){let n=Mt(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 Fu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?ic:BigInt("0x"+e)}function Qe(e){return Fu(j(e))}function Ir(e){return fe(e),Fu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function sc(e,t){return Oe(e,t).reverse()}function de(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(Mt(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 Bu(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 ac(e){return Uint8Array.from(e)}var oc=e=>typeof e=="bigint"&&ic<=e;function cc(e,t,r){return oc(e)&&oc(t)&&oc(r)&&t<=e&&e<r}function Os(e,t,r,n){if(!cc(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function Ar(e){let t;for(t=0;e>ic;e>>=Ns,t+=1);return t}function Du(e,t){return e>>BigInt(t)&Ns}var Ut=e=>(Ns<<BigInt(e))-Ns;function Uu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function Sr(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 mo=()=>{throw new Error("not implemented")};function Yr(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 Ke=BigInt(0),Re=BigInt(1),Wn=BigInt(2),Lu=BigInt(3),qu=BigInt(4),Mu=BigInt(5),Oh=BigInt(7),ju=BigInt(8),Eh=BigInt(9),Ku=BigInt(16);function ce(e,t){let r=e%t;return r>=Ke?r:t+r}function kt(e,t,r){let n=e;for(;t-- >Ke;)n*=n,n%=r;return n}function ku(e,t){if(e===Ke)throw new Error("invert: expected non-zero number");if(t<=Ke)throw new Error("invert: expected positive modulus, got "+t);let r=ce(e,t),n=t,o=Ke,i=Re,s=Re,a=Ke;for(;r!==Ke;){let l=n/r,p=n%r,d=o-s*l,u=i-a*l;n=r,r=p,o=s,i=a,s=d,a=u}if(n!==Re)throw new Error("invert: does not exist");return ce(o,t)}function lc(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function $u(e,t){let r=(e.ORDER+Re)/qu,n=e.pow(t,r);return lc(e,n,t),n}function Rh(e,t){let r=(e.ORDER-Mu)/ju,n=e.mul(t,Wn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Wn),o),a=e.mul(i,e.sub(s,e.ONE));return lc(e,a,t),a}function vh(e){let t=$e(e),r=Hu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Oh)/Ku;return(a,c)=>{let l=a.pow(c,s),p=a.mul(l,n),d=a.mul(l,o),u=a.mul(l,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);l=a.cmov(l,p,f),p=a.cmov(u,d,h);let _=a.eql(a.sqr(p),c),y=a.cmov(l,p,_);return lc(a,y,c),y}}function Hu(e){if(e<Lu)throw new Error("sqrt is not defined for small field");let t=e-Re,r=0;for(;t%Wn===Ke;)t/=Wn,r++;let n=Wn,o=$e(e);for(;li(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return $u;let i=o.pow(n,t),s=(t+Re)/Wn;return function(c,l){if(c.is0(l))return l;if(li(c,l)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),u=c.pow(l,t),f=c.pow(l,s);for(;!c.eql(u,c.ONE);){if(c.is0(u))return c.ZERO;let h=1,_=c.sqr(u);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let y=Re<<BigInt(p-h-1),m=c.pow(d,y);p=h,d=c.sqr(m),u=c.mul(u,d),f=c.mul(f,m)}return f}}function Ih(e){return e%qu===Lu?$u:e%ju===Mu?Rh:e%Ku===Eh?vh(e):Hu(e)}var Cr=(e,t)=>(ce(e,t)&Re)===Re,Ah=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Es(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Ah.reduce((n,o)=>(n[o]="function",n),t);return Sr(e,r),e}function ui(e,t,r){if(r<Ke)throw new Error("invalid exponent, negatives unsupported");if(r===Ke)return e.ONE;if(r===Re)return t;let n=e.ONE,o=t;for(;r>Ke;)r&Re&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Re;return n}function mt(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 li(e,t){let r=(e.ORDER-Re)/Wn,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 uc(e,t){t!==void 0&&va(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function $e(e,t,r=!1,n={}){if(e<=Ke)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 u=t;u.BITS&&(o=u.BITS),u.sqrt&&(i=u.sqrt),typeof u.isLE=="boolean"&&(r=u.isLE),typeof u.modFromBytes=="boolean"&&(s=u.modFromBytes),a=u.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:l}=uc(e,o);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:l,MASK:Ut(c),ZERO:Ke,ONE:Re,allowedLengths:a,create:u=>ce(u,e),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return Ke<=u&&u<e},is0:u=>u===Ke,isValidNot0:u=>!d.is0(u)&&d.isValid(u),isOdd:u=>(u&Re)===Re,neg:u=>ce(-u,e),eql:(u,f)=>u===f,sqr:u=>ce(u*u,e),add:(u,f)=>ce(u+f,e),sub:(u,f)=>ce(u-f,e),mul:(u,f)=>ce(u*f,e),pow:(u,f)=>ui(d,u,f),div:(u,f)=>ce(u*ku(f,e),e),sqrN:u=>u*u,addN:(u,f)=>u+f,subN:(u,f)=>u-f,mulN:(u,f)=>u*f,inv:u=>ku(u,e),sqrt:i||(u=>(p||(p=Ih(e)),p(d,u))),toBytes:u=>r?sc(u,l):Oe(u,l),fromBytes:(u,f=!0)=>{if(a){if(!a.includes(u.length)||u.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);let _=new Uint8Array(l);_.set(u,r?0:_.length-u.length),u=_}if(u.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+u.length);let h=r?Ir(u):Qe(u);if(s&&(h=ce(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:u=>mt(d,u),cmov:(u,f,h)=>h?f:u});return Object.freeze(d)}function Gu(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 Rs(e){let t=Gu(e);return t+Math.ceil(t/2)}function dc(e,t,r=!1){let n=e.length,o=Gu(t),i=Rs(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?Ir(e):Qe(e),a=ce(s,t-Re)+Re;return r?sc(a,o):Oe(a,o)}var _o=BigInt(0),zn=BigInt(1);function di(e,t){let r=t.negate();return e?r:t}function _t(e,t){let r=mt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Yu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function pc(e,t){Yu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Ut(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Ju(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+=zn);let l=t*n,p=l+Math.abs(a)-1,d=a===0,u=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:u,isNegF:f,offsetF:l}}function Ch(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 Vh(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 fc=new WeakMap,Zu=new WeakMap;function hc(e){return Zu.get(e)||1}function Wu(e){if(e!==_o)throw new Error("invalid wNAF")}var yo=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>_o;)r&zn&&(n=n.add(o)),o=o.double(),r>>=zn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=pc(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let l=1;l<o;l++)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=pc(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:l,isZero:p,isNeg:d,isNegF:u,offsetF:f}=Ju(n,a,s);n=c,p?i=i.add(di(u,r[f])):o=o.add(di(d,r[l]))}return Wu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=pc(t,this.bits);for(let s=0;s<i.windows&&n!==_o;s++){let{nextN:a,offset:c,isZero:l,isNeg:p}=Ju(n,s,i);if(n=a,!l){let d=r[c];o=o.add(p?d.negate():d)}}return Wu(n),o}getPrecomputes(t,r,n){let o=fc.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),fc.set(r,o))),o}cached(t,r,n){let o=hc(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=hc(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Yu(r,this.bits),Zu.set(t,r),fc.delete(t)}hasCache(t){return hc(t)!==1}};function Xu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>_o||n>_o;)r&zn&&(i=i.add(o)),n&zn&&(s=s.add(o)),o=o.double(),r>>=zn,n>>=zn;return{p1:i,p2:s}}function go(e,t,r,n){Ch(r,e),Vh(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=Ar(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let l=Ut(c),p=new Array(Number(l)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,u=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let y=n[_],m=Number(y>>BigInt(f)&l);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,y=s;_>0;_--)y=y.add(p[_]),h=h.add(y);if(u=u.add(h),f!==0)for(let _=0;_<c;_++)u=u.double()}return u}function zu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Es(t),t}else return $e(e,{isLE:r})}function vs(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 l=t[c];if(!(typeof l=="bigint"&&l>_o))throw new Error(`CURVE.${c} must be positive bigint`)}let o=zu(t.p,r.Fp,n),i=zu(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 Ph=Qe;function Zr(e,t){if(pi(e),pi(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 Fh(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 pi(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Qu(e){if(!Mt(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?G(e):e}function Bh(e,t,r,n){fe(e),pi(r),t=Qu(t),t.length>255&&(t=n($(G("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=$(t,Zr(t.length,1)),c=Zr(0,i),l=Zr(r,2),p=new Array(s),d=n($(c,e,l,Zr(0,1),a));p[0]=n($(d,Zr(1,1),a));for(let f=1;f<=s;f++){let h=[Fh(d,p[f-1]),Zr(f+1,1),a];p[f]=n($(...h))}return $(...p).slice(0,r)}function Dh(e,t,r,n,o){if(fe(e),pi(r),t=Qu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(G("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(Zr(r,2)).update(t).update(Zr(t.length,1)).digest()}function mc(e,t,r){Sr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!Uu(r.hash))throw new Error("expected valid hash");fe(e),pi(t);let l=n.toString(2).length,p=Math.ceil((l+o)/8),d=t*i*p,u;if(a==="xmd")u=Bh(e,c,d,s);else if(a==="xof")u=Dh(e,c,d,o,s);else if(a==="_internal_pass")u=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let y=0;y<i;y++){let m=p*(y+h*i),b=u.subarray(m,m+p);_[y]=ce(Ph(b),n)}f[h]=_}return f}function _c(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((u,f)=>e.add(e.mul(u,n),f))),[l,p]=mt(e,[s,c],!0);return n=e.mul(i,l),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var Uh=G("HashToScalar-");function yc(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=mc(i,2,a),l=n(c[0]),p=n(c[1]);return o(l.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),l=mc(i,1,c),p=n(l[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:Uh},s);return mc(i,1,c)[0][0]}}}var ed=(e,t)=>(e+(e>=0?t:-t)/Vr)/t;function kh(e,t,r){let[[n,o],[i,s]]=t,a=ed(s*e,r),c=ed(-o*e,r),l=e-a*n-c*i,p=-a*o-c*s,d=l<Yn,u=p<Yn;d&&(l=-l),u&&(p=-p);let f=Ut(Math.ceil(Ar(r)/2))+He;if(l<Yn||l>=f||p<Yn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:l,k2neg:u,k2:p}}var Yn=BigInt(0),He=BigInt(1),Vr=BigInt(2),xo=BigInt(3),gc=BigInt(4);function fi(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=de("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 Lh(e,t={}){let r=vs("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;Sr(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 l=jh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(A,x,N){let{x:S,y:B}=x.toAffine(),M=n.toBytes(S);if(Jn(N,"isCompressed"),N){p();let R=!n.isOdd(B);return $(qh(R),M)}else return $(Uint8Array.of(4),M,n.toBytes(B))}function u(A){zr(A,void 0,"Point");let{publicKey:x,publicKeyUncompressed:N}=l,S=A.length,B=A[0],M=A.subarray(1);if(S===x&&(B===2||B===3)){let R=n.fromBytes(M);if(!n.isValid(R))throw new Error("bad point: is not on curve, wrong x");let V=_(R),F;try{F=n.sqrt(V)}catch(te){let Z=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Z)}p();let D=n.isOdd(F);return(B&1)===1!==D&&(F=n.neg(F)),{x:R,y:F}}else if(S===N&&B===4){let R=n.BYTES,V=n.fromBytes(M.subarray(0,R)),F=n.fromBytes(M.subarray(R,R*2));if(!y(V,F))throw new Error("bad point: is not on curve");return{x:V,y:F}}else throw new Error(`bad point: got length ${S}, expected compressed=${x} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||u;function _(A){let x=n.sqr(A),N=n.mul(x,A);return n.add(n.add(N,n.mul(A,i.a)),i.b)}function y(A,x){let N=n.sqr(x),S=_(A);return n.eql(N,S)}if(!y(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,xo),gc),b=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,b)))throw new Error("bad curve params: a or b");function g(A,x,N=!1){if(!n.isValid(x)||N&&n.is0(x))throw new Error(`bad point coordinate ${A}`);return x}function T(A){if(!(A instanceof w))throw new Error("ProjectivePoint expected")}function O(A){if(!c||!c.basises)throw new Error("no endo");return kh(A,c.basises,o.ORDER)}let v=Yr((A,x)=>{let{X:N,Y:S,Z:B}=A;if(n.eql(B,n.ONE))return{x:N,y:S};let M=A.is0();x==null&&(x=M?n.ONE:n.inv(B));let R=n.mul(N,x),V=n.mul(S,x),F=n.mul(B,x);if(M)return{x:n.ZERO,y:n.ZERO};if(!n.eql(F,n.ONE))throw new Error("invZ was invalid");return{x:R,y:V}}),E=Yr(A=>{if(A.is0()){if(t.allowInfinityPoint&&!n.is0(A.Y))return;throw new Error("bad point: ZERO")}let{x,y:N}=A.toAffine();if(!n.isValid(x)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!y(x,N))throw new Error("bad point: equation left != right");if(!A.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function C(A,x,N,S,B){return N=new w(n.mul(N.X,A),N.Y,N.Z),x=di(S,x),N=di(B,N),x.add(N)}class w{constructor(x,N,S){this.X=g("x",x),this.Y=g("y",N,!0),this.Z=g("z",S),Object.freeze(this)}static CURVE(){return i}static fromAffine(x){let{x:N,y:S}=x||{};if(!x||!n.isValid(N)||!n.isValid(S))throw new Error("invalid affine point");if(x instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(S)?w.ZERO:new w(N,S,n.ONE)}static fromBytes(x){let N=w.fromAffine(h(zr(x,void 0,"point")));return N.assertValidity(),N}static fromHex(x){return w.fromBytes(de("pointHex",x))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(x=8,N=!0){return P.createCache(this,x),N||this.multiply(xo),this}assertValidity(){E(this)}hasEvenY(){let{y:x}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(x)}equals(x){T(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.eql(n.mul(N,V),n.mul(M,B)),D=n.eql(n.mul(S,V),n.mul(R,B));return F&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:x,b:N}=i,S=n.mul(N,xo),{X:B,Y:M,Z:R}=this,V=n.ZERO,F=n.ZERO,D=n.ZERO,L=n.mul(B,B),te=n.mul(M,M),Z=n.mul(R,R),Y=n.mul(B,M);return Y=n.add(Y,Y),D=n.mul(B,R),D=n.add(D,D),V=n.mul(x,D),F=n.mul(S,Z),F=n.add(V,F),V=n.sub(te,F),F=n.add(te,F),F=n.mul(V,F),V=n.mul(Y,V),D=n.mul(S,D),Z=n.mul(x,Z),Y=n.sub(L,Z),Y=n.mul(x,Y),Y=n.add(Y,D),D=n.add(L,L),L=n.add(D,L),L=n.add(L,Z),L=n.mul(L,Y),F=n.add(F,L),Z=n.mul(M,R),Z=n.add(Z,Z),L=n.mul(Z,Y),V=n.sub(V,L),D=n.mul(Z,te),D=n.add(D,D),D=n.add(D,D),new w(V,F,D)}add(x){T(x);let{X:N,Y:S,Z:B}=this,{X:M,Y:R,Z:V}=x,F=n.ZERO,D=n.ZERO,L=n.ZERO,te=i.a,Z=n.mul(i.b,xo),Y=n.mul(N,M),xe=n.mul(S,R),be=n.mul(B,V),ze=n.add(N,S),ne=n.add(M,R);ze=n.mul(ze,ne),ne=n.add(Y,xe),ze=n.sub(ze,ne),ne=n.add(N,B);let ie=n.add(M,V);return ne=n.mul(ne,ie),ie=n.add(Y,be),ne=n.sub(ne,ie),ie=n.add(S,B),F=n.add(R,V),ie=n.mul(ie,F),F=n.add(xe,be),ie=n.sub(ie,F),L=n.mul(te,ne),F=n.mul(Z,be),L=n.add(F,L),F=n.sub(xe,L),L=n.add(xe,L),D=n.mul(F,L),xe=n.add(Y,Y),xe=n.add(xe,Y),be=n.mul(te,be),ne=n.mul(Z,ne),xe=n.add(xe,be),be=n.sub(Y,be),be=n.mul(te,be),ne=n.add(ne,be),Y=n.mul(xe,ne),D=n.add(D,Y),Y=n.mul(ie,ne),F=n.mul(ze,F),F=n.sub(F,Y),Y=n.mul(ze,xe),L=n.mul(ie,L),L=n.add(L,Y),new w(F,D,L)}subtract(x){return this.add(x.negate())}is0(){return this.equals(w.ZERO)}multiply(x){let{endo:N}=t;if(!o.isValidNot0(x))throw new Error("invalid scalar: out of range");let S,B,M=R=>P.cached(this,R,V=>_t(w,V));if(N){let{k1neg:R,k1:V,k2neg:F,k2:D}=O(x),{p:L,f:te}=M(V),{p:Z,f:Y}=M(D);B=te.add(Y),S=C(N.beta,L,Z,R,F)}else{let{p:R,f:V}=M(x);S=R,B=V}return _t(w,[S,B])[0]}multiplyUnsafe(x){let{endo:N}=t,S=this;if(!o.isValid(x))throw new Error("invalid scalar: out of range");if(x===Yn||S.is0())return w.ZERO;if(x===He)return S;if(P.hasCache(this))return this.multiply(x);if(N){let{k1neg:B,k1:M,k2neg:R,k2:V}=O(x),{p1:F,p2:D}=Xu(w,S,M,V);return C(N.beta,F,D,B,R)}else return P.unsafe(S,x)}multiplyAndAddUnsafe(x,N,S){let B=this.multiplyUnsafe(N).add(x.multiplyUnsafe(S));return B.is0()?void 0:B}toAffine(x){return v(this,x)}isTorsionFree(){let{isTorsionFree:x}=t;return s===He?!0:x?x(w,this):P.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:x}=t;return s===He?this:x?x(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(x=!0){return Jn(x,"isCompressed"),this.assertValidity(),f(w,this,x)}toHex(x=!0){return j(this.toBytes(x))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(x=!0){return this.toBytes(x)}_setWindowSize(x){this.precompute(x)}static normalizeZ(x){return _t(w,x)}static msm(x,N){return go(w,o,x,N)}static fromPrivateKey(x){return w.BASE.multiply(fi(o,x))}}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 I=o.BITS,P=new yo(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function qh(e){return Uint8Array.of(e?2:3)}function Mh(e,t){let r=e.ORDER,n=Yn;for(let h=r-He;h%Vr===Yn;h/=Vr)n+=He;let o=n,i=Vr<<o-He-He,s=i*Vr,a=(r-He)/s,c=(a-He)/Vr,l=s-He,p=i,d=e.pow(t,a),u=e.pow(t,(a+He)/Vr),f=(h,_)=>{let y=d,m=e.pow(_,l),b=e.sqr(m);b=e.mul(b,_);let g=e.mul(h,b);g=e.pow(g,c),g=e.mul(g,m),m=e.mul(g,_),b=e.mul(g,h);let T=e.mul(b,m);g=e.pow(T,p);let O=e.eql(g,e.ONE);m=e.mul(b,u),g=e.mul(T,y),b=e.cmov(m,b,O),T=e.cmov(g,T,O);for(let v=o;v>He;v--){let E=v-Vr;E=Vr<<E-He;let C=e.pow(T,E),w=e.eql(C,e.ONE);m=e.mul(b,y),y=e.mul(y,y),C=e.mul(T,y),b=e.cmov(m,b,w),T=e.cmov(C,T,w)}return{isValid:O,value:b}};if(e.ORDER%gc===xo){let h=(e.ORDER-xo)/gc,_=e.sqrt(e.neg(t));f=(y,m)=>{let b=e.sqr(m),g=e.mul(y,m);b=e.mul(b,g);let T=e.pow(b,h);T=e.mul(T,g);let O=e.mul(T,_),v=e.mul(e.sqr(T),m),E=e.eql(v,y),C=e.cmov(O,T,E);return{isValid:E,value:C}}}return f}function xc(e,t){Es(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=Mh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,l,p,d,u,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),l=e.add(c,e.ONE),l=e.mul(l,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(l),u=e.sqr(p),d=e.mul(u,r),c=e.add(c,d),c=e.mul(c,l),u=e.mul(u,p),d=e.mul(u,n),c=e.add(c,d),f=e.mul(a,l);let{isValid:_,value:y}=i(c,u);h=e.mul(a,s),h=e.mul(h,y),f=e.cmov(f,l,_),h=e.cmov(h,y,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let b=mt(e,[p],!0)[0];return f=e.mul(f,b),{x:f,y:h}}}function jh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function bc(e){let{CURVE:t,curveOpts:r}=Kh(e),n=Lh(t,r);return Hh(e,n)}function Kh(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=$e(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 $h(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 Hh(e,t){let{Fp:r,Fn:n}=t;function o(s){return cc(s,He,n.ORDER)}let i=$h(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>fi(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Gh=BigInt(0),Is=BigInt(1),td=BigInt(2),bo=BigInt(3);function Jh(e){let t=[];for(;e>Is;e>>=Is)(e&Is)===Gh?t.unshift(0):(e&bo)===bo?(t.unshift(-1),e+=Is):t.unshift(1);return t}function wc(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Wh(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:l}=n,p;if(s==="multiplicative")p=(g,T,O,v,E,C)=>i.mul014(v,g,o.mul(T,E),o.mul(O,C));else if(s==="divisive")p=(g,T,O,v,E,C)=>i.mul034(v,o.mul(O,C),o.mul(T,E),g);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,td));function u(g,T,O,v){let E=o.sqr(O),C=o.sqr(v),w=o.mulByB(o.mul(C,bo)),I=o.mul(w,bo),P=o.sub(o.sub(o.sqr(o.add(O,v)),C),E),A=o.sub(w,E),x=o.mul(o.sqr(T),bo),N=o.neg(P);return g.push([A,x,N]),T=o.mul(o.mul(o.mul(o.sub(E,I),T),O),d),O=o.sub(o.sqr(o.mul(o.add(E,I),d)),o.mul(o.sqr(w),bo)),v=o.mul(E,P),{Rx:T,Ry:O,Rz:v}}function f(g,T,O,v,E,C){let w=o.sub(O,o.mul(C,v)),I=o.sub(T,o.mul(E,v)),P=o.sub(o.mul(w,E),o.mul(I,C)),A=o.neg(w),x=I;g.push([P,A,x]);let N=o.sqr(I),S=o.mul(N,I),B=o.mul(N,T),M=o.add(o.sub(S,o.mul(B,td)),o.mul(o.sqr(w),v));return T=o.mul(I,M),O=o.sub(o.mul(o.sub(B,M),w),o.mul(S,O)),v=o.mul(v,S),{Rx:T,Ry:O,Rz:v}}let h=Jh(a),_=Yr(g=>{let T=g,{x:O,y:v}=T.toAffine(),E=O,C=v,w=o.neg(v),I=E,P=C,A=o.ONE,x=[];for(let N of h){let S=[];({Rx:I,Ry:P,Rz:A}=u(S,I,P,A)),N&&({Rx:I,Ry:P,Rz:A}=f(S,I,P,A,E,N===-1?w:C)),x.push(S)}if(l){let N=x[x.length-1];l(I,P,A,E,C,f.bind(null,N))}return x});function y(g,T=!1){let O=i.ONE;if(g.length){let v=g[0][0].length;for(let E=0;E<v;E++){O=i.sqr(O);for(let[C,w,I]of g)for(let[P,A,x]of C[E])O=p(P,A,x,O,w,I)}}return c&&(O=i.conjugate(O)),T?i.finalExponentiate(O):O}function m(g,T=!0){let O=[];_t(t,g.map(({g1:v})=>v)),_t(r,g.map(({g2:v})=>v));for(let{g1:v,g2:E}of g){if(v.is0()||E.is0())throw new Error("pairing is not available for ZERO point");v.assertValidity(),E.assertValidity();let C=v.toAffine();O.push([_(E),C.x,C.y])}return y(O,T)}function b(g,T,O=!0){return m([{g1:g,g2:T}],O)}return{Fp12:i,millerLoopBatch:y,pairing:b,pairingBatch:m,calcPairingPrecomputes:_}}function rd(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 l(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,u)=>({g1:u,g2:d}):(d,u)=>({g1:d,g2:u});return{getPublicKey(d){let u=fi(t.Point.Fn,d);return t.Point.BASE.multiply(u)},sign(d,u,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=fi(t.Point.Fn,u);return l(d).assertValidity(),d.multiply(h)},verify(d,u,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),y=t.Point.BASE,m=l(u),b=d,g=s([p(_,m),p(y,b)]);return i.eql(g,i.ONE)},verifyBatch(d,u,f){if(wc(u),f.length!==u.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=u,y=f.map(a),m=new Map;for(let T=0;T<y.length;T++){let O=y[T],v=_[T],E=m.get(v);E===void 0&&(E=[],m.set(v,E)),E.push(O)}let b=[],g=t.Point.BASE;try{for(let[T,O]of m){let v=O.reduce((E,C)=>E.add(C));b.push(p(v,T))}return b.push(p(g.negate(),h)),i.eql(s(b),i.ONE)}catch{return!1}},aggregatePublicKeys(d){wc(d),d=d.map(f=>a(f));let u=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return u.assertValidity(),u},aggregateSignatures(d){wc(d),d=d.map(f=>c(f));let u=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return u.assertValidity(),u},hash(d,u){fe(d);let f=u?{DST:u}:void 0;return r.hashToCurve(d,f)},Signature:n}}function nd(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=bc(e.G1),a=Object.assign(s,yc(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=bc(e.G2),l=Object.assign(c,yc(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Wh(e.fields,a.Point,l.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:u,pairingBatch:f,calcPairingPrecomputes:h}=p,_=rd(p,a,l,e.G2.Signature,!1),y=rd(p,l,a,e.G1.ShortSignature,!0),m=e.randomBytes||no,b=()=>{let R=Rs(r.ORDER);return dc(m(R),r.ORDER)},g={randomSecretKey:b,randomPrivateKey:b,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:O}=e.G2;function v(R,V){return R instanceof a.Point?R:y.hash(de("point",R),V?.DST)}function E(R,V){return R instanceof l.Point?R:_.hash(de("point",R),V?.DST)}function C(R){return _.getPublicKey(R).toBytes(!0)}function w(R){return y.getPublicKey(R).toBytes(!0)}function I(R,V,F){let D=E(R,F),L=_.sign(D,V);return R instanceof l.Point?L:O.toBytes(L)}function P(R,V,F){let D=v(R,F),L=y.sign(D,V);return R instanceof a.Point?L:T.toBytes(L)}function A(R,V,F,D){let L=E(V,D);return _.verify(R,L,F)}function x(R,V,F,D){let L=v(V,D);return y.verify(R,L,F)}function N(R){let V=_.aggregatePublicKeys(R);return R[0]instanceof a.Point?V:V.toBytes(!0)}function S(R){let V=_.aggregateSignatures(R);return R[0]instanceof l.Point?V:O.toBytes(V)}function B(R){let V=y.aggregateSignatures(R);return R[0]instanceof a.Point?V:T.toBytes(V)}function M(R,V,F,D){let L=V.map(te=>E(te,D));return _.verifyBatch(R,L,F)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:y,millerLoopBatch:d,pairing:u,pairingBatch:f,verifyBatch:M,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:g,getPublicKey:C,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:P,verify:A,verifyShortSignature:x,aggregatePublicKeys:N,aggregateSignatures:S,aggregateShortSignatures:B,G1:a,G2:l,Signature:O,ShortSignature:T}}var od=BigInt(0),Pr=BigInt(1),Ge=BigInt(2),id=BigInt(3);function Ec(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let l=0;l<o;l++){let p=BigInt(l+1),d=[];for(let u=0,f=Pr;u<n;u++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function ad(e,t,r){let n=t.pow(r,(e.ORDER-Pr)/id),o=t.pow(r,(e.ORDER-Pr)/Ge);function i(u,f){let h=t.mul(t.frobeniusMap(u,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**Ge-Pr)/id),a=t.pow(r,(e.ORDER**Ge-Pr)/Ge);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(u,f){return[t.mul(u,s),t.neg(f)]}let l=u=>(f,h)=>{let _=h.toAffine(),y=u(_.x,_.y);return f.fromAffine({x:y[0],y:y[1]})},p=l(i),d=l(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var sd=(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]}},Tc=class{constructor(t,r={}){this.MASK=Pr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=Ar(o),this.BYTES=Math.ceil(Ar(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,Ge),this.NONRESIDUE=sd(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Ec(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return sd(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&od<=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 ui(this,t,r)}invertBatch(t){return mt(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),l=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:l,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 li(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);li(r,a)===-1&&(a=r.sub(a,s));let l=r.sqrt(a),p=n.create({c0:l,c1:r.div(r.mul(i,this.Fp_div2),l)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,u=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:y}=n.reim(u);return h>y||h===y&&f>_?d:u}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%Ge,i=r===od,s=n%Ge;return BigInt(o||i&&s)==Pr}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 $(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])}}},Nc=class{constructor(t){this.MASK=Pr,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=Ec(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,l=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(l,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(l,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(l,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),Ge),a=o.mul(o.mul(r,n),Ge),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 mo()}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 ui(this,t,r)}invertBatch(t){return mt(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 $(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)}}},Oc=class{constructor(t,r){this.MASK=Pr;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=Ec(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){mo()}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 ui(this,t,r)}invertBatch(t){return mt(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 $(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),l=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),l)}}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)}),l=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(l),c),c1:s.sub(p,s.add(c,l))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:l,c2:p}=r,{first:d,second:u}=o.Fp4Square(i,l),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:y}=o.Fp4Square(s,p),m=o.mulByNonresidue(y);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),Ge),d),c1:o.add(o.mul(o.sub(f,s),Ge),f),c2:o.add(o.mul(o.sub(_,a),Ge),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),Ge),m),c1:o.add(o.mul(o.add(u,l),Ge),u),c2:o.add(o.mul(o.add(h,p),Ge),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),Du(r,o)&&(n=this.mul(n,t));return n}};function cd(e){let t=$e(e.ORDER),r=new Tc(t,e),n=new Nc(r),o=new Oc(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Fe=BigInt(0),As=BigInt(1),yt=BigInt(2),Ss=BigInt(3),hi=BigInt(4),Xr=BigInt("0xd201000000010000"),zh=Ar(Xr),Zn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Fe,b:hi,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Yh=$e(Zn.n,{modFromBytes:!0,isLE:!0}),{Fp:q,Fp2:W,Fp6:Zh,Fp12:Q}=cd({ORDER:Zn.p,X_LEN:zh,FP2_NONRESIDUE:[As,As],Fp2mulByB:({c0:e,c1:t})=>{let r=q.mul(e,hi),n=q.mul(t,hi);return{c0:q.sub(r,n),c1:q.add(r,n)}},Fp12finalExponentiate:e=>{let t=Xr,r=Q.div(Q.frobeniusMap(e,6),e),n=Q.mul(Q.frobeniusMap(r,2),r),o=Q.conjugate(Q._cyclotomicExp(n,t)),i=Q.mul(Q.conjugate(Q._cyclotomicSquare(n)),o),s=Q.conjugate(Q._cyclotomicExp(i,t)),a=Q.conjugate(Q._cyclotomicExp(s,t)),c=Q.mul(Q.conjugate(Q._cyclotomicExp(a,t)),Q._cyclotomicSquare(o)),l=Q.conjugate(Q._cyclotomicExp(c,t)),p=Q.frobeniusMap(Q.mul(o,a),2),d=Q.frobeniusMap(Q.mul(s,n),3),u=Q.frobeniusMap(Q.mul(c,Q.conjugate(n)),1),f=Q.mul(Q.mul(l,Q.conjugate(i)),n);return Q.mul(Q.mul(Q.mul(p,d),u),f)}}),{G2psi:ld,G2psi2:Xh}=ad(q,W,W.div(W.ONE,W.NONRESIDUE)),Rc=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:q.ORDER,m:2,k:128,expand:"xmd",hash:Ve}),Ac={p:W.ORDER,n:Zn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([hi,hi]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},Cs=mi(q.toBytes(Fe),{infinity:!0,compressed:!0});function Vs(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 mi(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 Qh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return Cs.slice();let c=!!(a*yt/o);return mi(Oe(s,n),{compressed:!0,sort:c})}else return i?$(Uint8Array.of(64),new Uint8Array(2*n-1)):$(Oe(s,n),Oe(a,n))}function vc(e){e.assertValidity();let{BYTES:t,ORDER:r}=q,{x:n,y:o}=e.toAffine();if(e.is0())return Cs.slice();let i=!!(o*yt/r);return mi(Oe(n,t),{compressed:!0,sort:i})}function em(e){let{compressed:t,infinity:r,sort:n,value:o}=Vs(e),{BYTES:i,ORDER:s}=q;if(o.length===48&&t){let a=Qe(o),c=q.create(a&Ut(q.BITS));if(r){if(c!==Fe)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Fe,y:Fe}}let l=q.add(q.pow(c,Ss),q.create(Zn.b)),p=q.sqrt(l);if(!p)throw new Error("invalid G1 point: compressed point");return p*yt/s!==BigInt(n)&&(p=q.neg(p)),{x:q.create(c),y:q.create(p)}}else if(o.length===96&&!t){let a=Qe(o.subarray(0,i)),c=Qe(o.subarray(i));if(r){if(a!==Fe||c!==Fe)throw new Error("G1: non-empty point at infinity");return _i.G1.Point.ZERO.toAffine()}return{x:q.create(a),y:q.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function ud(e){let{infinity:t,sort:r,value:n}=Vs(de("signatureHex",e,48)),o=q.ORDER,i=_i.G1.Point,s=Qe(n);if(t)return i.ZERO;let a=q.create(s&Ut(q.BITS)),c=q.add(q.pow(a,Ss),q.create(Zn.b)),l=q.sqrt(c);if(!l)throw new Error("invalid G1 point: compressed");let p=BigInt(r);l*yt/o!==p&&(l=q.neg(l));let d=i.fromAffine({x:a,y:l});return d.assertValidity(),d}function tm(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return $(Cs,Oe(Fe,n));let c=!!(a.c1===Fe?a.c0*yt/o:a.c1*yt/o);return $(mi(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return $(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:l}=W.reim(s),{re:p,im:d}=W.reim(a);return $(Oe(l,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function Ic(e){e.assertValidity();let{BYTES:t}=q;if(e.is0())return $(Cs,Oe(Fe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),l=!!((a>Fe?a*yt:s*yt)/q.ORDER&As),p=o;return $(mi(Oe(i,t),{sort:l,compressed:!0}),Oe(p,t))}function rm(e){let{BYTES:t,ORDER:r}=q,{compressed:n,infinity:o,sort:i,value:s}=Vs(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,l,p)=>Qe(c.slice(l,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),l=a(s,t,2*t),p=W.create({c0:q.create(l),c1:q.create(c)}),d=W.add(W.pow(p,Ss),Ac.b),u=W.sqrt(d),f=u.c1===Fe?u.c0*yt/r:u.c1*yt/r?As:Fe;return u=i&&f>0?u:W.neg(u),{x:p,y:u}}else if(s.length===192&&!n){if(o){if(s.reduce((u,f)=>u!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),l=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:W.fromBigTuple([l,c]),y:W.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function dd(e){let{ORDER:t}=q,{infinity:r,sort:n,value:o}=Vs(de("signatureHex",e)),i=_i.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Qe(o.slice(0,s)),c=Qe(o.slice(s));if(r)return i.ZERO;let l=q.create(a&Ut(q.BITS)),p=q.create(c),d=W.create({c0:p,c1:l}),u=W.add(W.pow(d,Ss),Ac.b),f=W.sqrt(u);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),y=BigInt(n),m=_>Fe&&_*yt/t!==y,b=_===Fe&&h*yt/t!==y;(m||b)&&(f=W.neg(f));let g=i.fromAffine({x:d,y:f});return g.assertValidity(),g}var _i=nd({fields:{Fp:q,Fp2:W,Fp6:Zh,Fp12:Q,Fr:Yh},G1:{...Zn,Fp:q,htfDefaults:{...Rc,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(q.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(Xr).negate().multiplyUnsafe(Xr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Xr).add(t),mapToCurve:am,fromBytes:em,toBytes:Qh,ShortSignature:{fromBytes(e){return fe(e),ud(e)},fromHex(e){return ud(e)},toBytes(e){return vc(e)},toRawBytes(e){return vc(e)},toHex(e){return j(vc(e))}}},G2:{...Ac,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Rc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:cm,isTorsionFree:(e,t)=>t.multiplyUnsafe(Xr).negate().equals(ld(e,t)),clearCofactor:(e,t)=>{let r=Xr,n=t.multiplyUnsafe(r).negate(),o=ld(e,t),i=t.double();return i=Xh(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:rm,toBytes:tm,Signature:{fromBytes(e){return fe(e),dd(e)},fromHex(e){return dd(e)},toBytes(e){return Ic(e)},toRawBytes(e){return Ic(e)},toHex(e){return j(Ic(e))}}},params:{ateLoopSize:Xr,r:Zn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Rc,hash:Ve}),nm=_c(W,[[["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=>W.fromBigTuple(t.map(BigInt))))),om=_c(q,[["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)))),im=xc(q,{A:q.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:q.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:q.create(BigInt(11))}),sm=xc(W,{A:W.create({c0:q.create(Fe),c1:q.create(BigInt(240))}),B:W.create({c0:q.create(BigInt(1012)),c1:q.create(BigInt(1012))}),Z:W.create({c0:q.create(BigInt(-2)),c1:q.create(BigInt(-1))})});function am(e){let{x:t,y:r}=im(q.create(e[0]));return om(t,r)}function cm(e){let{x:t,y:r}=sm(W.fromBigTuple(e));return nm(t,r)}function pd(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return _i.verifyShortSignature(o,i,n)}var um=BigInt(1e6),Sc=e=>_e(new Vt(e)),Qr=e=>{let r=Sc(e)/um;return new Date(Number(r))};var fd=60*1e3,dm=60,pm=24,fm=pm*dm,hm=5,mm=5,_m=30*fm,pe;(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"})(pe||(pe={}));function ym(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var gt=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.principal,t.blsVerify??pd,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=hm,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return Fr(t,this.cert.tree)}lookup_subtree(t){return xi(t,this.cert.tree)}async verify(){let t=await Fs(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=xm(r),i=$(Wa,t),s=De(this.lookup_path(["time"]));if(!s)throw re.fromCode(new It("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*fd,l=new Date,p=l.getTime()+a,d=p-c,u=p+mm*fd,f=Qr(s),h=f.getTime()<d,_=f.getTime()>u;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Ye.fromCode(new wr(this._maxAgeInMinutes,f,l,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ae.fromCode(new Se("System time has been synced with the IC network, but certificate is still too far in the future.")):Ye.fromCode(new wr(5,f,l,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Ye.fromCode(new It("Invalid signature"))}catch(a){throw Ye.fromCode(new It("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:_m,agent:this.#t});if(r.cert.delegation)throw re.fromCode(new ji);await r.verify();let n;if(md(this._principal)){let i=this._principal.canisterId;if(n=U.fromUint8Array(t.subnet_id),!Cc({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Ye.fromCode(new Un(i,n))}else if(hd(this._principal))n=this._principal.subnetId;else throw ft;let o=De(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw hd(this._principal)?Ye.fromCode(new Ki(n)):Ye.fromCode(new Hi(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(md(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function hd(e){return"subnetId"in e}function md(e){return"canisterId"in e}var yi=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),gm=96;function xm(e){let t=yi.byteLength+gm;if(e.byteLength!==t)throw re.fromCode(new oo(t,e.byteLength));let r=e.slice(0,yi.byteLength);if(!Kn(r,yi))throw re.fromCode(new Gi(yi,r));return e.slice(yi.byteLength)}function De(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function Fs(e){switch(e[0]){case pe.Empty:return Ve(Ps("ic-hashtree-empty"));case pe.Pruned:return e[1];case pe.Leaf:return Ve($(Ps("ic-hashtree-leaf"),e[1]));case pe.Labeled:return Ve($(Ps("ic-hashtree-labeled"),e[1],await Fs(e[2])));case pe.Fork:return Ve($(Ps("ic-hashtree-fork"),await Fs(e[1]),await Fs(e[2])));default:throw ft}}function Ps(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return $(t,r)}function _d(e){return typeof e[0]=="string"?G(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var en;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(en||(en={}));var le;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(le||(le={}));function Fr(e,t){if(e.length===0)switch(t[0]){case pe.Empty:return{status:Be.Absent};case pe.Leaf:{if(!t[1])throw ae.fromCode(new Hr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ft}case pe.Pruned:return{status:Be.Unknown};case pe.Labeled:case pe.Fork:return{status:Be.Error};default:throw ft}let r=_d(e),n=gi(r,t);switch(n.status){case le.Found:return Fr(e.slice(1),n.value);case le.Absent:case le.Greater:case le.Less:return{status:Be.Absent};case le.Unknown:return{status:Be.Unknown};default:throw ft}}function xi(e,t){if(e.length===0)return{status:en.Found,value:t};let r=_d(e),n=gi(r,t);switch(n.status){case le.Found:return xi(e.slice(1),n.value);case le.Unknown:return{status:en.Unknown};case le.Absent:case le.Greater:case le.Less:return{status:en.Absent};default:throw ft}}function Ds(e){switch(e[0]){case pe.Empty:return[];case pe.Fork:return Ds(e[1]).concat(Ds(e[2]));default:return[e]}}function gi(e,t){switch(t[0]){case pe.Labeled:return ym(e,t[1])?{status:le.Greater}:Kn(e,t[1])?{status:le.Found,value:t[2]}:{status:le.Less};case pe.Fork:{let r=gi(e,t[1]);switch(r.status){case le.Greater:{let n=gi(e,t[2]);return n.status===le.Less?{status:le.Absent}:n}case le.Unknown:{let n=gi(e,t[2]);return n.status===le.Less?{status:le.Unknown}:n}default:return r}}case pe.Pruned:return{status:le.Unknown};default:return{status:le.Absent}}}function Bs(e,t){switch(t[0]){case pe.Empty|pe.Pruned:return[];case pe.Leaf:return[e];case pe.Fork:return Bs(e,t[1]).concat(Bs(e,t[2]));case pe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return Bs(o,n)}default:throw ft}}function Cc(e){let t=bm(e),r=Vc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function bm(e){let{subnetId:t,tree:r,canisterId:n}=e,o=xi(["canister_ranges",t.toUint8Array()],r);if(o.status!==en.Found)return wm(t,r);let i=o.value,s=Tm(i);if(s.length===0)throw re.fromCode(new Un(n,t));s.sort(io);let a=Nm(s,n),c=s[a];return Om(c,i)}function wm(e,t){let r=Fr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function Vc(e){return je(e).map(n=>[U.fromUint8Array(n[0]),U.fromUint8Array(n[1])])}function Tm(e){let t=[];for(let r of Bs([],e)){let n=r[0];if(!n)throw re.fromCode(new It("Path is invalid"));t.push(n)}return t}function Nm(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);io(e[i],r)<=0?o=i:n=i+1}return n}function Om(e,t){let r=Fr([e],t);if(r.status!==Be.Found)throw re.fromCode(new At(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function Pc(e,t){return e.delegation?U.fromUint8Array(e.delegation.subnet_id):U.selfAuthenticating(t)}var yd=U.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function Us(e,t){switch(t){case"raw":return e;case"leb128":return Sc(e);case"cbor":return je(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function gd(e){return je(e).map(r=>U.fromUint8Array(r))}function xd(e,t){let r=typeof e=="string"?G(e):e;return[G("canister"),t,G("metadata"),r]}function tn(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function wo(e,t){let r=xi(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==en.Found)throw re.fromCode(new At("Node not found",r.status));if(r.value instanceof Uint8Array)throw ae.fromCode(new Hr("Invalid node tree"));let n=Ds(r.value),o=new Map;return n.forEach(i=>{let s=U.from(i[1]).toText(),a=Fr(["public_key"],i[2]);if(a.status!==Be.Found)throw re.fromCode(new At("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw re.fromCode(new oo(44,c.byteLength));o.set(s,c)}),o}var bd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let p=Rm(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let d=t.rootKey,u=await t.readState(o,{paths:[p]}),f=await gt.create({certificate:u.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="subnet"){let g=Em(u.certificate,o,d);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(p))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Qr(y));break}case"controllers":{s.set(_,gd(y));break}case"module_hash":{s.set(_,j(y));break}case"subnet":{s.set(_,y);break}case"candid":{s.set(_,new TextDecoder().decode(y));break}default:tn(_)&&s.set(_.key,Us(y,_.decodeStrategy))}}catch(d){if(d instanceof st&&(d.hasCode(It)||d.hasCode(wr)))throw d;tn(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},Em=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Se("Invalid canisterId"));let n=je(e),{delegation:o}=n,i;o&&o.subnet_id?i=U.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=U.selfAuthenticating(new Uint8Array(r)):i=yd;let s=wo(n,i);return{subnetId:i.toText(),nodeKeys:s}},Rm=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"controllers":return[G("canister"),r,G("controllers")];case"module_hash":return[G("canister"),r,G("module_hash")];case"subnet":return[G("subnet")];case"candid":return[G("canister"),r,G("metadata"),G("candid:service")];default:if(tn(e))return typeof e.path=="string"||e.path instanceof Uint8Array?xd(e.path,r):e.path}throw ae.fromCode(new Se(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function wd(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,l)=>{let p=vm(c,o);return(async()=>{try{if(t.rootKey===null)throw Pe.fromCode(new Ct);let d=t.rootKey,u=await t.readSubnetState(o,{paths:[p]}),f=await gt.create({certificate:u.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,b)=>{if(b==="nodeKeys"){let g=wo(m.cert,o);return{path:b,data:g}}return{path:b,data:De(m.lookup_path(p))}},{path:_,data:y}=h(f,i[l]);if(!y)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Qr(y));break}case"canisterRanges":{s.set(_,Vc(y));break}case"publicKey":{s.set(_,y);break}case"nodeKeys":{s.set(_,y);break}default:tn(_)&&s.set(_.key,Us(y,_.decodeStrategy))}}catch(d){if(d instanceof st&&(d.hasCode(It)||d.hasCode(wr)))throw d;tn(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function vm(e,t){let r=t.toUint8Array();switch(e){case"time":return[G("time")];case"canisterRanges":return[G("canister_ranges"),r];case"publicKey":return[G("subnet"),r,G("public_key")];case"nodeKeys":return[G("subnet"),r,G("node")];default:if(tn(e)){if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?G(e.path):e.path;return[G("subnet"),r,n]}return e.path}}throw ae.fromCode(new Se(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}function ks(e,t,r){let n=new Uint8Array(De(e.lookup_path([...t,"reject_code"])))[0],o=new TextDecoder().decode(De(e.lookup_path([...t,"reject_message"]))),i=De(e.lookup_path([...t,"error_code"])),s=i?new TextDecoder().decode(i):void 0;return new Zi(r,n,o,s)}var rn=BigInt(0),ve=BigInt(1),Fc=BigInt(2),Im=BigInt(8);function Am(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 Sm(e,t={}){let r=vs("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;Sr(t,{},{uvRatio:"function"});let a=Fc<<BigInt(o.BYTES*8)-ve,c=y=>n.create(y),l=t.uvRatio||((y,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(y,m))}}catch{return{isValid:!1,value:rn}}});if(!Am(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(y,m,b=!1){let g=b?ve:rn;return Os("coordinate "+y,m,g,a),m}function d(y){if(!(y instanceof h))throw new Error("ExtendedPoint expected")}let u=Yr((y,m)=>{let{X:b,Y:g,Z:T}=y,O=y.is0();m==null&&(m=O?Im:n.inv(T));let v=c(b*m),E=c(g*m),C=n.mul(T,m);if(O)return{x:rn,y:ve};if(C!==ve)throw new Error("invZ was invalid");return{x:v,y:E}}),f=Yr(y=>{let{a:m,d:b}=i;if(y.is0())throw new Error("bad point: ZERO");let{X:g,Y:T,Z:O,T:v}=y,E=c(g*g),C=c(T*T),w=c(O*O),I=c(w*w),P=c(E*m),A=c(w*c(P+C)),x=c(I+c(b*c(E*C)));if(A!==x)throw new Error("bad point: equation left != right (1)");let N=c(g*T),S=c(O*v);if(N!==S)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,b,g,T){this.X=p("x",m),this.Y=p("y",b),this.Z=p("z",g,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x:b,y:g}=m||{};return p("x",b),p("y",g),new h(b,g,ve,c(b*g))}static fromBytes(m,b=!1){let g=n.BYTES,{a:T,d:O}=i;m=ac(zr(m,g,"point")),Jn(b,"zip215");let v=ac(m),E=m[g-1];v[g-1]=E&-129;let C=Ir(v),w=b?a:n.ORDER;Os("point.y",C,rn,w);let I=c(C*C),P=c(I-ve),A=c(O*I-T),{isValid:x,value:N}=l(P,A);if(!x)throw new Error("bad point: invalid y coordinate");let S=(N&ve)===ve,B=(E&128)!==0;if(!b&&N===rn&&B)throw new Error("bad point: x=0 and x_0=1");return B!==S&&(N=c(-N)),h.fromAffine({x:N,y:C})}static fromHex(m,b=!1){return h.fromBytes(de("point",m),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,b=!0){return _.createCache(this,m),b||this.multiply(Fc),this}assertValidity(){f(this)}equals(m){d(m);let{X:b,Y:g,Z:T}=this,{X:O,Y:v,Z:E}=m,C=c(b*E),w=c(O*T),I=c(g*E),P=c(v*T);return C===w&&I===P}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:b,Y:g,Z:T}=this,O=c(b*b),v=c(g*g),E=c(Fc*c(T*T)),C=c(m*O),w=b+g,I=c(c(w*w)-O-v),P=C+v,A=P-E,x=C-v,N=c(I*A),S=c(P*x),B=c(I*x),M=c(A*P);return new h(N,S,M,B)}add(m){d(m);let{a:b,d:g}=i,{X:T,Y:O,Z:v,T:E}=this,{X:C,Y:w,Z:I,T:P}=m,A=c(T*C),x=c(O*w),N=c(E*g*P),S=c(v*I),B=c((T+O)*(C+w)-A-x),M=S-N,R=S+N,V=c(x-b*A),F=c(B*M),D=c(R*V),L=c(B*V),te=c(M*R);return new h(F,D,te,L)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:b,f:g}=_.cached(this,m,T=>_t(h,T));return _t(h,[b,g])[0]}multiplyUnsafe(m,b=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===rn?h.ZERO:this.is0()||m===ve?this:_.unsafe(this,m,g=>_t(h,g),b)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return u(this,m)}clearCofactor(){return s===ve?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:b}=this.toAffine(),g=n.toBytes(b);return g[g.length-1]|=m&ve?128:0,g}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return _t(h,m)}static msm(m,b){return go(h,o,m,b)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,ve,c(i.Gx*i.Gy)),h.ZERO=new h(rn,ve,ve,rn),h.Fp=n,h.Fn=o;let _=new yo(h,o.BITS);return h.BASE.precompute(8),h}var Ls=class{constructor(t){this.ep=t}static fromBytes(t){mo()}static fromHex(t){mo()}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 j(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 Cm(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');Sr(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||no,c=r.adjustScalarBytes||(w=>w),l=r.domain||((w,I,P)=>{if(Jn(P,"phflag"),I.length||P)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(Ir(w))}function d(w){let I=g.secretKey;w=de("private key",w,I);let P=de("hashed private key",t(w),2*I),A=c(P.slice(0,I)),x=P.slice(I,2*I),N=p(A);return{head:A,prefix:x,scalar:N}}function u(w){let{head:I,prefix:P,scalar:A}=d(w),x=o.multiply(A),N=x.toBytes();return{head:I,prefix:P,scalar:A,point:x,pointBytes:N}}function f(w){return u(w).pointBytes}function h(w=Uint8Array.of(),...I){let P=$(...I);return p(t(l(P,de("context",w),!!n)))}function _(w,I,P={}){w=de("message",w),n&&(w=n(w));let{prefix:A,scalar:x,pointBytes:N}=u(I),S=h(P.context,A,w),B=o.multiply(S).toBytes(),M=h(P.context,B,N,w),R=s.create(S+M*x);if(!s.isValid(R))throw new Error("sign failed: invalid s");let V=$(B,s.toBytes(R));return zr(V,g.signature,"result")}let y={zip215:!0};function m(w,I,P,A=y){let{context:x,zip215:N}=A,S=g.signature;w=de("signature",w,S),I=de("message",I),P=de("publicKey",P,g.publicKey),N!==void 0&&Jn(N,"zip215"),n&&(I=n(I));let B=S/2,M=w.subarray(0,B),R=Ir(w.subarray(B,S)),V,F,D;try{V=e.fromBytes(P,N),F=e.fromBytes(M,N),D=o.multiplyUnsafe(R)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let L=h(x,F.toBytes(),V.toBytes(),I);return F.add(V.multiplyUnsafe(L)).subtract(D).clearCofactor().is0()}let b=i.BYTES,g={secretKey:b,publicKey:b,signature:2*b,seed:b};function T(w=a(g.seed)){return zr(w,g.seed,"seed")}function O(w){let I=C.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function v(w){return Mt(w)&&w.length===s.BYTES}function E(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let C={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:v,isValidPublicKey:E,toMontgomery(w){let{y:I}=e.fromBytes(w),P=g.publicKey,A=P===32;if(!A&&P!==57)throw new Error("only defined for 25519 and 448");let x=A?i.div(ve+I,ve-I):i.div(I-ve,I+ve);return i.toBytes(x)},toMontgomerySecret(w){let I=g.secretKey;zr(w,I);let P=t(w.subarray(0,I));return c(P).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:O,getPublicKey:f,sign:_,verify:m,utils:C,Point:e,lengths:g})}function Vm(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=$e(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 Pm(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Td(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Vm(e),i=Sm(t,r),s=Cm(i,n,o);return Pm(e,s)}var Fm=BigInt(0),Br=BigInt(1),Nd=BigInt(2),nb=BigInt(3),Bm=BigInt(5),Dm=BigInt(8),To=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),bi={p:To,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Dm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Um(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=To,a=e*e%i*e%i,c=kt(a,Nd,i)*a%i,l=kt(c,Br,i)*e%i,p=kt(l,Bm,i)*l%i,d=kt(p,t,i)*p%i,u=kt(d,r,i)*d%i,f=kt(u,n,i)*u%i,h=kt(f,o,i)*f%i,_=kt(h,o,i)*f%i,y=kt(_,t,i)*p%i;return{pow_p_5_8:kt(y,Nd,i)*e%i,b2:a}}function km(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Bc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function kc(e,t){let r=To,n=ce(t*t*t,r),o=ce(n*n*t,r),i=Um(e*o).pow_p_5_8,s=ce(e*n*i,r),a=ce(t*s*s,r),c=s,l=ce(s*Bc,r),p=a===e,d=a===ce(-e,r),u=a===ce(-e*Bc,r);return p&&(s=c),(d||u)&&(s=l),Cr(s,r)&&(s=ce(-s,r)),{isValid:p||d,value:s}}var nn=$e(bi.p,{isLE:!0}),Lm=$e(bi.n,{isLE:!0}),qm={...bi,Fp:nn,hash:Ul,adjustScalarBytes:km,uvRatio:kc},Je=Td(qm);var Dc=Bc,Mm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),jm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Km=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),$m=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Od=e=>kc(Br,e),Hm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Uc=e=>Je.Point.Fp.create(Ir(e)&Hm);function Ed(e){let{d:t}=bi,r=To,n=m=>nn.create(m),o=n(Dc*e*e),i=n((o+Br)*Km),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:l}=kc(i,a),p=n(l*e);Cr(p,r)||(p=n(-p)),c||(l=p),c||(s=o);let d=n(s*(o-Br)*$m-a),u=l*l,f=n((l+l)*a),h=n(d*Mm),_=n(Br-u),y=n(Br+u);return new Je.Point(n(f*y),n(_*h),n(h*y),n(f*_))}function Gm(e){fe(e,64);let t=Uc(e.subarray(0,32)),r=Ed(t),n=Uc(e.subarray(32,64)),o=Ed(n);return new Dr(r.add(o))}var Dr=class e extends Ls{constructor(t){super(t)}static fromAffine(t){return new e(Je.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Gm(de("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=bi,o=To,i=T=>nn.create(T),s=Uc(t);if(!Bu(nn.toBytes(s),t)||Cr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(Br+r*a),l=i(Br-r*a),p=i(c*c),d=i(l*l),u=i(r*n*p-d),{isValid:f,value:h}=Od(i(u*d)),_=i(h*l),y=i(h*_*u),m=i((s+s)*_);Cr(m,o)&&(m=i(-m));let b=i(c*y),g=i(m*b);if(!f||Cr(g,o)||b===Fm)throw new Error("invalid ristretto255 encoding 2");return new e(new Je.Point(m,b,Br,g))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return go(e,Je.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=To,s=y=>nn.create(y),a=s(s(n+r)*s(n-r)),c=s(t*r),l=s(c*c),{value:p}=Od(s(a*l)),d=s(p*a),u=s(p*c),f=s(d*u*o),h;if(Cr(o*f,i)){let y=s(r*Dc),m=s(t*Dc);t=y,r=m,h=s(d*jm)}else h=u;Cr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return Cr(_,i)&&(_=s(-_)),nn.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=l=>nn.create(l),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};Dr.BASE=new Dr(Je.Point.BASE);Dr.ZERO=new Dr(Je.Point.ZERO);Dr.Fp=nn;Dr.Fn=Lm;function qs(e){if(!Number.isFinite(e)||e<=0)throw new Error(`expirationTime must be a positive finite number, got ${e}`)}var Ms=class{#e;#t;#r=null;constructor(t){if(typeof globalThis.indexedDB>"u")throw new Error("IndexedDBExpirableStore requires IndexedDB, which is not available in this environment");qs(t.expirationTime),this.#e=t.dbName,this.#t=t.storeName,this.expirationTime=t.expirationTime}#o(){return this.#r||(this.#r=this.#s().catch(t=>{throw this.#r=null,t})),this.#r}async#s(){let t=await this.#a();if(t.objectStoreNames.contains(this.#t))return t;let r=t.version+1;return t.close(),this.#a(r)}#a(t){let r=this.#t;return new Promise((n,o)=>{let i=globalThis.indexedDB.open(this.#e,t);i.onupgradeneeded=()=>{let s=i.result;s.objectStoreNames.contains(r)||s.createObjectStore(r,{keyPath:"key"})},i.onsuccess=()=>{let s=i.result;s.onversionchange=()=>{s.close(),this.#r=null},n(s)},i.onerror=()=>o(i.error)})}async get(t){let r=await this.#o();return new Promise((n,o)=>{let a=r.transaction(this.#t,"readonly").objectStore(this.#t).get(t);a.onsuccess=()=>{let c=a.result;if(!c){n(void 0);return}if(Date.now()-c.timestamp>this.expirationTime){this.delete(t).then(()=>n(void 0),()=>n(void 0));return}n(c.value)},a.onerror=()=>o(a.error)})}async set(t,r){await this.#n();let n=await this.#o();return new Promise((o,i)=>{let s=n.transaction(this.#t,"readwrite"),a=s.objectStore(this.#t),c={key:t,value:r,timestamp:Date.now()};a.put(c),s.oncomplete=()=>o(),s.onerror=()=>i(s.error)})}async delete(t){let r=await this.#o();return new Promise((n,o)=>{let i=r.transaction(this.#t,"readwrite");i.objectStore(this.#t).delete(t),i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}async#n(){let t=await this.#o(),r=Date.now();return new Promise((n,o)=>{let i=t.transaction(this.#t,"readwrite"),a=i.objectStore(this.#t).openCursor();a.onsuccess=()=>{let c=a.result;if(!c)return;let l=c.value;r-l.timestamp>this.expirationTime&&c.delete(),c.continue()},i.oncomplete=()=>n(),i.onerror=()=>o(i.error)})}};var js=class{#e;constructor(t){qs(t.expirationTime),this.expirationTime=t.expirationTime,this.#e=new Map}get(t){let r=this.#e.get(t);return r?Date.now()-r.timestamp>this.expirationTime?(this.#e.delete(t),Promise.resolve(void 0)):Promise.resolve(r.value):Promise.resolve(void 0)}set(t,r){return this.#t(),this.#e.set(t,{value:r,timestamp:Date.now()}),Promise.resolve()}delete(t){return this.#e.delete(t),Promise.resolve()}#t(){let t=Date.now();for(let[r,n]of this.#e)t-n.timestamp>this.expirationTime&&this.#e.delete(r)}};function Rd(e){return typeof globalThis.indexedDB<"u"?new Ms(e):new js({expirationTime:e.expirationTime})}var vd=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 Mo("Length too long (> 4 bytes)"))},Id=(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 Mo("Length too long (> 4 bytes)"))},Lc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new St("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 St("Length too long (> 4 bytes)"))},Jm=(e,t)=>{let r=Lc(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 St("Length too long (> 4 bytes)"))},wi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Xn=Uint8Array.from([48,5,6,3,43,101,112]),mb=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),_b=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 Qn(e,t){let r=2+vd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+vd(n)+n);return i[o++]=48,o+=Id(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=Id(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var eo=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new St(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Lc(o,r),!Kn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new St("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Jm(o,r)-1;r+=Lc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new Ji(i,s.length));return s};var Ks=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 Qn(t,Xn)}static derDecode(t){let r=eo(t,Xn);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new St("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 St("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 qc=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))}},$s=class extends qc{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 Hs=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l=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.#o=i,this.#i=c,this.#s=c.now(),this.#a=s,this.#n=a}get ellapsedTimeInMsec(){return this.#i.now()-this.#s}get currentInterval(){return this.#e}get count(){return this.#l}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.#o),this.#l++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#a||this.#l>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Wm=300*1e3;function Ad(){return Qm(Ym(zm(),1e3),Xm(1e3,1.2),Zm(Wm))}function zm(){let e=!0;return async()=>e?(e=!1,!0):!1}function Ym(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function Zm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw re.fromCode(new kn(`Request timed out after ${e} msec`,n,o))}}function Xm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function Qm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var Cd={preSignReadStateRequest:!1};function Vd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Mc(e,t){return e!==null&&typeof e=="object"&&Vd(e,t)}function t_(e,t){return Vd(e,t)&&typeof e[t]=="function"}function Sd(e){return Mc(e,"body")&&Mc(e.body,"content")&&e.body.content.request_type===Gn.ReadState&&Mc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&t_(e.body.content.ingress_expiry,"toHash")}async function Gs(e,t,r,n={}){let o=[G("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await r_({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 Pe.fromCode(new Ct);let c=await gt.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),l=De(c.lookup_path([...o,G("status")])),p;switch(typeof l>"u"?p=lt.Unknown:p=new TextDecoder().decode(l),p){case lt.Replied:return{reply:De(c.lookup_path([...o,"reply"])),certificate:c,rawCertificate:i.certificate};case lt.Received:case lt.Unknown:case lt.Processing:{let d=n.strategy??Ad();return await d(t,r,p),Gs(e,t,r,{...n,strategy:d,request:s})}case lt.Rejected:throw vt.fromCode(ks(c,o,r));case lt.Done:throw ae.fromCode(new es(r))}throw ft}async function r_(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Sd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Sd(o))throw z.fromCode(new ls(o));return o}var $c=60*1e3,o_=1e6,i_=0,s_="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var a_="ic0.app",c_=".ic0.app",l_="icp0.io",u_=".icp0.io",d_="icp-api.io",p_=".icp-api.io",jc=200,Pd=202,f_=404;function h_(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 Ur=class e{#e;#t;#r;#o;#s;#a;#n;#i;#l;#T;#c;#d;#f;#u;#x;get#R(){return this.#u*$c}#h;#m;#b;#_;constructor(t={}){if(this.#e=null,this.#t=!1,this.#r=i_,this.#o=!1,this.#s=null,this.#a=!1,this._isAgent=!0,this.config={},this.log=new $s,this.#h=[],this.#m=[],this.#b=new Map,this.#_=!0,this.#N=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o,l=i.size;if(a.length>l)throw re.fromCode(new os(a.length,l));for(let p of a){let{timestamp:d,identity:u}=p,f=U.fromUint8Array(u).toText(),h;if(s===Kr.Replied){let{reply:g}=o;h=Qo({status:s,reply:g,timestamp:BigInt(d),request_id:c})}else if(s===Kr.Rejected){let{reject_code:g,reject_message:T,error_code:O}=o;h=Qo({status:s,reject_code:g,reject_message:T,error_code:O,timestamp:BigInt(d),request_id:c})}else throw ae.fromCode(new Se(`Unknown status: ${s}`));let _=$(za,h),y=i.get(f);if(!y)throw re.fromCode(new ss);let m=Ks.fromDer(y).rawKey;if(!Je.verify(p.signature,_,m))throw Ye.fromCode(new as(f))}return o},this.config=t,t.fetch)this.#i=t.fetch;else{let o=globalThis.fetch;if(typeof o!="function")throw z.fromCode(new rs);this.#i=o.bind(globalThis)}this.#l=t.fetchOptions,this.#T=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#a=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(s_);let r=h_(t.host);this.host=new URL(r),this.host.hostname.endsWith(c_)?this.host.hostname=a_:this.host.hostname.endsWith(u_)?this.host.hostname=l_:this.host.hostname.endsWith(p_)&&(this.host.hostname=d_),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#x=t.subnetNodeKeyExpirableStore??Rd({dbName:`icp-sdk-${this.host.host}`,storeName:"subnetNodeKeys",expirationTime:5*$c}),this.#d=t.retryTimes??3;let n=()=>new Hs({maxIterations:this.#d});if(this.#f=t.backoffStrategy||n,t.credentials){let{name:o,password:i}=t.credentials;this.#c=`${o}${i?`:${i}`:""}`}if(this.#n=Promise.resolve(t.identity||new at),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new Kt("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new Kt("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#u=t.ingressExpiryInMinutes||5,this.addTransform("update",rc(ci)),t.useQueryNonces&&this.addTransform("query",rc(ci)),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.#p(),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 ns)}}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.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){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}))}}async getPrincipal(){if(!this.#n)throw Pe.fromCode(new $r);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Pe.fromCode(new $r);let s=U.from(t),a=r.effectiveCanisterId?U.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),l=Kc(this.#u,this.#r),p={request_type:Ts.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:l},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:vr.Call,body:p}),u;r?.nonce?u=f(r.nonce):d.body.nonce?u=f(d.body.nonce):u=void 0,p.nonce=u;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=si(d.body),_=this.#f(),y=Er(p);try{let g=o?()=>{let E=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,d),this.#i(E,{...this.#T,...d.request,body:h})}:()=>{let E=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${E.pathname}" with request:`,d),this.#i(E,{...this.#T,...d.request,body:h})},{responseBodyBytes:T,...O}=await this.#y({requestFn:g,backoff:_,tries:0}),v=T.byteLength>0?je(T):null;return{requestId:y,response:{...O,body:v},requestDetails:p}}catch(m){let b;if(m instanceof st){if(m.hasCode(Ko))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Kt)&&!this.#o)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:y,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},b=m}else b=ae.fromCode(new Se(m));throw this.log.error(`Error while making call: ${b.message}`,b),b}}async update(t,r,n={}){let o=U.from(r.effectiveCanisterId),{requestId:i,response:s,requestDetails:a}=await this.call(t,r),{body:c,...l}=s;if($l(c))return this.#v(c,s,i,o,r.methodName,l,a,n);if(Kl(c)&&this.#I(c,i,o,r.methodName,l),s.status===Pd)return{...await Gs(this,o,i,n),requestDetails:a,callResponse:s};let p=new Se(`Unexpected response from call: status ${s.status} with unrecognized body`);throw p.callContext={canisterId:o,methodName:r.methodName,httpDetails:l},ae.fromCode(p)}async#v(t,r,n,o,i,s,a,c){if(this.rootKey==null)throw Pe.fromCode(new Ct);let l=t.certificate,p=await gt.create({certificate:l,rootKey:this.rootKey,principal:{canisterId:o},blsVerify:c.blsVerify,agent:this}),d=[G("request_status"),n],u=De(p.lookup_path([...d,G("status")])),f=u?new TextDecoder().decode(u):void 0;switch(f){case lt.Replied:return{reply:De(p.lookup_path([...d,"reply"])),certificate:p,rawCertificate:l,requestDetails:a,callResponse:r};case lt.Rejected:{let h=ks(p,d,n);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},vt.fromCode(h)}case void 0:return this.log.warn(`v4 sync response certificate does not contain request ID ${j(n)} status. Falling back to polling.`),{...await Gs(this,o,n,c),requestDetails:a,callResponse:r};default:{let h=new cs(f,n,r,l);throw h.callContext={canisterId:o,methodName:i,httpDetails:s},ae.fromCode(h)}}}#I(t,r,n,o,i){let{reject_code:s,reject_message:a,error_code:c}=t,l=new Qi(r,s,a,c);throw l.callContext={canisterId:n,methodName:o,httpDetails:i},vt.fromCode(l)}async#w(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),l=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${l.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ae.fromCode(new kn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${l.pathname}" with request:`,n),p=await this.#i(l,{...this.#l,...n.request,body:o})}catch(m){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
55
55
  ${m}
56
- Retrying query.`),await this.#w({...t,tries:a+1});throw Jo.fromCode(new Zo(m))}let p=_c(d.headers);if(d.status!==tl){let m=await d.text();if(Xd(m))throw z.fromCode(new $t(m,this.#u));if(a<this.#d)return await this.#w({...t,tries:a+1});throw re.fromCode(new zo(d.status,d.statusText,p,m))}let f={...je(go(await d.arrayBuffer())),httpDetails:{ok:d.ok,status:d.status,statusText:d.statusText,headers:p},requestId:i};if(!this.#_)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw re.fromCode(new ms("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt($_));if(Date.now()+this.#r-_>this.#R){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#w({...t,tries:a+1});throw Ye.fromCode(new ss(this.#u,i,a))}return f}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw re.fromCode(new Kn(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(d=>setTimeout(d,i));let s,a=new Uint8Array;try{s=await r(),s.status===tl&&(a=go(await s.clone().arrayBuffer()))}catch(d){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
57
- ${d}
58
- Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw Jo.fromCode(new Zo(d))}let c=_c(s.headers);if(s.status===tl||s.status===Zd)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let l=await s.text();if(s.status===Q_&&s.url.includes("api/v4"))throw re.fromCode(new Yo);if(Xd(l))throw z.fromCode(new $t(l,this.#u));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw re.fromCode(new zo(s.status,s.statusText,c,l))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?q.from(r.effectiveCanisterId):q.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Pe.fromCode(new zr);let c=q.from(t),l=a.getPrincipal(),d=rl(this.#u,this.#r),p={request_type:Zn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:l,ingress_expiry:d},u=vr(p);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ar.Query,body:p}),s=await a.transformRequest(s);let f=fi(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:u,backoff:o,tries:0},_=async()=>{let y=await this.#w(h);return{requestDetails:p,...y}};try{if(!this.#_)return await _();let[y,m]=await Promise.all([_(),this.fetchSubnetKeys(i)]);try{return this.#N(y,m)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),await this.#x.delete(i.toString());let b=await this.fetchSubnetKeys(i);return this.#N(y,b)}}catch(y){let m;if(y instanceof st){if(y.hasCode($t)&&!this.#o)return await this.syncTime(i),this.query(t,r,n);y.code.requestContext={requestId:u,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},m=y}else m=ae.fromCode(new Se(y));throw this.log.error(`Error while making query: ${m.message}`,m),m}}#N;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw Pe.fromCode(new zr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:Ar.ReadState,body:{request_type:Zn.ReadState,paths:t.paths,sender:o,ingress_expiry:rl(this.#u,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#g();let i=q.from(t);function s(d){for(let p of d.paths){let[u,f]=p,h=new TextEncoder().encode("request_status");if(Wn(u,h))return f}}let a,c;if(o)a=o;else{c=s(r);let d=await this.#n;if(!d)throw Pe.fromCode(new zr);a=await this.createReadStateRequest(r,d)}let l=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#O(l,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#g();let n=q.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#O(o,{subnetId:n},i)}async#O(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#y({requestFn:()=>this.#i(t,{...this.#l,...n.request,body:fi(n.body)}),backoff:i,tries:0});return je(s)}catch(s){let a;if(s instanceof st){if(s.hasCode($t)&&!this.#o){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ft;return await this.#O(t,r,n,o)}s.code.requestContext={requestId:o??vr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ae.fromCode(new Se(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw re.fromCode(new Yr("Could not decode time from response"));let o=Dr(["time"],r);if(o.status!==Be.Found)throw re.fromCode(new At("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw re.fromCode(new es("Time was not in its expected format."));let i=on(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}return this.log.warn("No certificate found in response"),0}async syncTime(t){this.#s=this.#s??(async()=>{await this.#g();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??q.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await kd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#E(r,i)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async syncTimeWithSubnet(t){await this.#g();let r=Date.now();try{let n=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await Ld({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#E(r,o)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#E(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#o=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#y({backoff:n,requestFn:()=>this.#i(r,{headers:t,...this.#l}),tries:0});return je(o)}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#p(t){await Promise.all([this.#g(),this.#A(t)])}async#g(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Pe.fromCode(new Ct(this.#t))}async#A(t){this.#a&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=q.from(t),n=await this.#x.get(r.toText());if(n)return n;let o=this.#b.get(r.toText());if(o)return o;let i=this.#S(r).finally(()=>{this.#b.delete(r.toText())});return this.#b.set(r.toText(),i),i}async#S(t){await this.#p(t);let r=this.rootKey,n=await this.readState(t,{paths:[[G("subnet")]]}),o=await gt.create({certificate:n.certificate,rootKey:r,principal:{canisterId:t},agent:this});if(!o.cert.delegation){let a=q.selfAuthenticating(r);if(!$c({canisterId:t,subnetId:a,tree:o.cert.tree}))throw Ye.fromCode(new jn(t,a))}let i=Gc(o.cert,r),s=Io(o.cert,i);return await this.#x.set(t.toText(),s),s}async getSubnetIdFromCanister(t){let r=q.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[G("time")]]}),o=await gt.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return Gc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Ar.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#o}};function rl(e,t){let r=e*nl;return Yn.fromDeltaInMilliseconds(r,t)}function Xd(e){return e.includes("Invalid request expiry: ")}var ut=Symbol.for("ic-agent-metadata"),Co=class e{static agentOf(t){return t[ut].config.agent}static interfaceOf(t){return t[ut].service}static canisterIdOf(t){return q.from(t[ut].config.canisterId)}static createActorClass(t,r){let n=t({IDL:Jn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new Xo(s.canisterId));let a=typeof s.canisterId=="string"?q.fromText(s.canisterId):s.canisterId;super({config:{...Qd,...s,canisterId:a},service:n});for(let[c,l]of n._fields)r?.httpDetails&&l.annotations.push(ol),r?.certificate&&l.annotations.push(ep),this[c]=ty(this,c,l,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new Xo(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[ut]=Object.freeze(t)}};function So(e,t){let r=Jn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Qd={pollingOptions:zd,queryStrategy:"query"},ol="http-details",ep="certificate";function ty(e,t,r,n){let o,i=r.annotations.includes("query")||r.annotations.includes("composite_query"),s=e[ut].config.queryStrategy;i&&s==="query"?o=async(c,...l)=>{c={...c,...e[ut].config.queryTransform?.(t,l,{...e[ut].config,...c})};let d=c.agent||e[ut].config.agent||new Lr,p=q.from(c.canisterId||e[ut].config.canisterId),u=Jn.encode(r.argTypes,l),f=await d.query(p,{methodName:t,arg:u,effectiveCanisterId:c.effectiveCanisterId}),h={...f.httpDetails,requestDetails:f.requestDetails};switch(f.status){case Hr.Rejected:{let _=new cs(f.requestId,f.reject_code,f.reject_message,f.error_code,f.signatures);throw _.callContext={canisterId:p,methodName:t,httpDetails:h},vt.fromCode(_)}case Hr.Replied:return r.annotations.includes(ol)?{httpDetails:h,result:So(r.retTypes,f.reply.arg)}:So(r.retTypes,f.reply.arg)}}:o=async(c,...l)=>{c={...c,...e[ut].config.callTransform?.(t,l,{...e[ut].config,...c})};let d=c.agent||e[ut].config.agent||Lr.createSync(),{canisterId:p,effectiveCanisterId:u,pollingOptions:f}={...Qd,...e[ut].config,...c},h=q.from(p),_=u!==void 0?q.from(u):h,y=Jn.encode(r.argTypes,l),m,b,g,T;try{({reply:m,certificate:b,callResponse:g,requestDetails:T}=await d.update(h,{methodName:t,arg:y,effectiveCanisterId:_,nonce:c.nonce},{...f,blsVerify:n}))}catch(C){if(C instanceof vt){let w=Object.create(Object.getPrototypeOf(C.code),Object.getOwnPropertyDescriptors(C.code));throw w.callContext={...C.code.callContext,canisterId:h,methodName:t},vt.fromCode(w)}throw C}let O=r.annotations.includes(ol),v=r.annotations.includes(ep),E={...g,requestDetails:T};return O&&v?{httpDetails:E,certificate:b,result:So(r.retTypes,m)}:v?{certificate:b,result:So(r.retTypes,m)}:O?{httpDetails:E,result:So(r.retTypes,m)}:So(r.retTypes,m)};let a=(...c)=>o({},...c);return a.withOptions=c=>(...l)=>o(c,...l),a}var ry=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=ny({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},ny=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?qi(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 oy(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 iy(e){return oo(e,Ii)}var sy=class{constructor(e){this._cose=e,this.#e=iy(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},ip=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new sy(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return $r(this.#e)}},ay=class extends ip{#e;#t;constructor({authData:e,...t}){super(t);let r=ry({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}},cy=class extends ip{},ly=class extends Error{},uy=class extends Error{},dy=class extends Error{},py=class extends Error{},fy=class extends Error{},hy=class extends Error{},my=class extends Error{},tp=class extends Error{};var _y={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},yy=6e4,sp=()=>window.crypto.getRandomValues(new Uint8Array(16)),gy=()=>sp(),xy=()=>sp(),by=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new ly}},ap=({appId:e})=>e?.id??by(),wy=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:ap({appId:e})}}),o=()=>({user:{id:xy(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:gy(),...n(),...o(),pubKeyCredParams:Object.values(_y).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Ty=(e={})=>({rpId:ap(e),allowCredentials:[],userVerification:"required"}),il=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}},un=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(un||{}),cp=({timeout:e})=>AbortSignal.timeout(e??yy),Ny=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...Ty(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:cp({timeout:n})}),rp=e=>{if(e.status!=="initialized")throw new uy},np=e=>{if(U(e))throw new dy},op=({type:e})=>{if(e!=="public-key")throw new py},sl=class Ai extends zt{#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=Ai.#r({credential:new ay(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:wy(t),signal:cp({timeout:r})});np(o),op(o);let{response:{attestationObject:i},rawId:s}=o;if(U(i))throw new fy;let{authData:a}=Ss.decode(mr(i)),c=oy(a);return new Ai({...n,rawId:mr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new Ai(t)}getPublicKey(){rp(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){rp(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await il({fn:async()=>{let n=await Ny({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return np(n),op(n),n},step:0,onProgress:this.#e});return await il({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Bl({a:this.#t.credential.getCredentialId(),b:mr(n)}))throw new hy;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:mr(n)});this.#t=Ai.#r({credential:new cy({rawId:mr(n),cose:i})})},step:1,onProgress:this.#e}),await il({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(U(i))throw new tp;if(U(s))throw new tp;let a=Ss.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:mr(s)});if(U(a))throw new my;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},Oy=async()=>J(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var Vo=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 Ue=class e extends Vo{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 Si=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var Po="http://127.0.0.1:5987",lp="rdmx6-jaaaa-aaaaa-aaadq-cai";var up=async({identity:e,container:t})=>{let n=J(t)&&t!==!1?t===!0?Po:t:"https://icp-api.io",o=J(t);return await Lr.create({identity:e,shouldFetchRootKey:o,host:n})};var Fo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(U(this.#e)||U(this.#e[n])){let o=await up({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var Bo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return U(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(U(this.#e)||U(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 Fo.getInstance().getAgent(n);return Co.createActor(t,{agent:o,canisterId:r})}};function dp(e){return e!==null&&typeof e=="object"}var Ci=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}if(dp(t)){let r=t;if(dp(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Ht(n.buffer))}if(r instanceof ArrayBuffer)return this.fromRaw(Ht(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=oo(t,no);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=io(t,no);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}},dt=class e extends zt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Je.utils.randomPrivateKey()),lu(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=Je.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(Ci.fromDer(Ee(r)),Ee(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(Ci.fromRaw(t),r)}static fromSecretKey(t){let r=Je.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=Ci.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Je.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=Ee(a)),Ht(a)));return Je.verify(o,i,s)}};var al=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function pp(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 al("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 xt=class e extends zt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=pp(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Ht(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=pp(r),o=Ht(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=Ht(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var na=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return q.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function oa(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function cl(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var dn=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:oa(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Ey(e,t,r,n){let o=new dn(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...lc,...new Uint8Array(vr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Lt=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await Ey(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:l,targets:d}=s;if(d!==void 0&&!Array.isArray(d))throw new Error("Invalid targets.");return{delegation:new dn(cl(c),BigInt(`0x${l}`),d&&d.map(p=>{if(typeof p!="string")throw new Error("Invalid target.");return q.fromHex(p)})),signature:cl(a)}});return new this(o,cl(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:oa(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:oa(n)}}),publicKey:oa(this.publicKey)}}},qt=class extends zt{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 vr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...ai,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Vi=class e extends na{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function ll(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?q.fromText(o):o)):r.push(typeof n=="string"?q.fromText(n):n));for(let o of r){let 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 fp=["mousedown","mousemove","keydown","touchstart","wheel"],Pi=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),fp.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...l)=>{let d=this,p=()=>{c=void 0,s.apply(d,l)};clearTimeout(c),c=window.setTimeout(p,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);fp.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 Ry=(e,t)=>t.some(r=>e instanceof r),hp,mp;function vy(){return hp||(hp=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Iy(){return mp||(mp=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var _p=new WeakMap,dl=new WeakMap,yp=new WeakMap,ul=new WeakMap,fl=new WeakMap;function Ay(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Yt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&_p.set(r,e)}).catch(()=>{}),fl.set(t,e),t}function Sy(e){if(dl.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)});dl.set(e,t)}var pl={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return dl.get(e);if(t==="objectStoreNames")return e.objectStoreNames||yp.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Yt(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 gp(e){pl=e(pl)}function Cy(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(ia(this),t,...r);return yp.set(n,t.sort?t.sort():[t]),Yt(n)}:Iy().includes(e)?function(...t){return e.apply(ia(this),t),Yt(_p.get(this))}:function(...t){return Yt(e.apply(ia(this),t))}}function Vy(e){return typeof e=="function"?Cy(e):(e instanceof IDBTransaction&&Sy(e),Ry(e,vy())?new Proxy(e,pl):e)}function Yt(e){if(e instanceof IDBRequest)return Ay(e);if(ul.has(e))return ul.get(e);let t=Vy(e);return t!==e&&(ul.set(e,t),fl.set(t,e)),t}var ia=e=>fl.get(e);function bp(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Yt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Yt(s.result),c.oldVersion,c.newVersion,Yt(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",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}var Py=["get","getKey","getAll","getAllKeys","count"],Fy=["put","add","delete","clear"],hl=new Map;function xp(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(hl.get(t))return hl.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Fy.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Py.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return hl.set(t,i),i}gp(e=>({...e,get:(t,r,n)=>xp(t,r)||e.get(t,r,n),has:(t,r)=>!!xp(t,r)||e.has(t,r)}));var wp="auth-client-db",Tp="ic-keyval",By=async(e=wp,t=Tp,r)=>(globalThis.localStorage?.getItem(ke)&&(globalThis.localStorage.removeItem(ke),globalThis.localStorage.removeItem(We)),await bp(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function Dy(e,t,r){return await e.get(t,r)}async function Uy(e,t,r,n){return await e.put(t,n,r)}async function ky(e,t,r){return await e.delete(t,r)}var sa=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=wp,storeName:n=Tp,version:o=Np}=t??{},i=await By(r,n,o);return new e(i,n)}async set(t,r){return await Uy(this._db,this._storeName,t,r)}async get(t){return await Dy(this._db,this._storeName,t)??null}async remove(t){return await ky(this._db,this._storeName,t)}};var We="identity",ke="delegation",Op="iv",Np=1,Fi=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}},Zt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}sa.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 Ly=BigInt(1e9),qy=BigInt(3600),My=Ly*qy,jy="https://identity.internetcomputer.org",Ky="#authorize",$y=BigInt(8)*My,ml="ECDSA",_l="Ed25519",Hy=500,aa="UserInterrupt",Bi=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 Zt,n=t.keyType??ml,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let l=new Fi,d=await l.get(ke),p=await l.get(We);d&&p&&n===ml&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ke,d),await r.set(We,p),c=d,await l.remove(ke),await l.remove(We))}catch(l){console.error(`error while attempting to recover localstorage: ${l}`)}if(c)try{typeof c=="object"?n===_l&&typeof c=="string"?o=dt.fromJSON(c):o=await xt.fromKeyPair(c):typeof c=="string"&&(o=dt.fromJSON(c))}catch{}}let i=new at,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=Lt.fromJSON(c),ll(s)?"toDer"in o?i=Vi.fromDelegation(o,s):i=qt.fromDelegation(o,s):(await yl(r),o=null))}catch(c){console.error(c),await yl(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=Pi.create(t.idleOptions)),o||(n===_l?o=dt.generate():(t.storage&&n===ml&&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 '${_l}' as the key type, as it can serialize to a string`),o=await xt.generate()),await Ep(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 dn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Lt.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=Vi.fromDelegation(i,this._chain):this._identity=qt.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=Pi.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ke,JSON.stringify(this._chain.toJSON())),await Ep(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&ll(this._chain)}async login(t){let r=Gy(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??$y,o=new URL(r?.identityProvider?.toString()||jy);o.hash=Ky,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(aa,r?.onError):setTimeout(i,Hy))};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 yl(this._storage),this._identity=new at,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function yl(e){await e.remove(We),await e.remove(ke),await e.remove(Op)}function Gy(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function Jy(e){if(e instanceof xt)return e.getKeyPair();if(e instanceof dt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Ep(e,t){let r=Jy(t);await e.set(We,r)}var Ce=class e{static#e;#t;constructor(){}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await Bi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>{let t=new Zt;return await Promise.all([t.remove(We),t.remove(ke)]),await this.createAuthClient()};getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Zt;await Promise.all([n.set(We,r.getKeyPair()),n.set(ke,JSON.stringify(t.toJSON()))])}};var gl=async e=>{await Wy(),await Ce.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Wy=async()=>{await Ce.getInstance().logout(),Ue.getInstance().reset(),Bo.getInstance().reset(),Fo.getInstance().reset()};var Rp=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Si({message:"junoSignOutAuthTimer"}),await gl()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Si({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Ue.getInstance().subscribe(o=>{if(U(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Do=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return U(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&J(o)&&o.msg==="authClientLoginSuccess"&&_r(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Ie=class e extends Vo{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 Di=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await zy({fn:e});!r||!t||Ie.getInstance().get()?.syncTabs===!1||Yy()},vp=async({fn:e})=>{let{createAuthClient:t}=Ce.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},zy=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ce.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},Yy=()=>{try{Do.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var xl=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var Ip="juno.datastore.error.user.cannot_update";var Xt={certified:!1};var ca=()=>Ce.getInstance().getAuthClient()?.getIdentity(),Zy=async()=>{let{getAuthClient:e,createAuthClient:t}=Ce.getInstance();return(e()??await t()).getIdentity()},Xy=async()=>{let e=Ue.getInstance().get();if(U(e))return null;let t=Ce.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var ue=e=>J(e)?e:ca()??new at;var bl=({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}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),p=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}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),v=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}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),w=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),k=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),er=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),fn=e.Record({delegation:e.Opt(er),client_id:e.Text}),tr=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,fn))}),rr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),nr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(tr),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),tt=e.Variant({GitHub:e.Null}),or=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),hn=e.Record({owner:e.Text,name:e.Text}),mn=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(or),repositories:e.Vec(e.Tuple(hn,mn))}),ir=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ir),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Tt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),sr=e.Variant({Deny:e.Null,Allow:e.Null}),ar=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),_n=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(wt)}),yn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),gn=e.Variant({OpenId:yn}),xn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),bn=e.Record({signature:e.Vec(e.Nat8),delegation:xn}),wn=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),Tn=e.Variant({Ok:bn,Err:wn}),cr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),lr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Nn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ur=e.Variant({AssetsUpgrade:lr,SegmentsDeployment:Nn}),qe=e.Record({status:cr,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:ur}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),dr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),On=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)}),Ot=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}),En=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],["query"])})}),Rn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(En),status_code:e.Nat16}),vn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=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}),we=e.Record({batch_id:e.Nat}),In=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,ne)),items_length:e.Nat64}),An=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),it=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}),Sn=e.Record({desc:e.Bool}),Cn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Vn=e.Record({order:e.Opt(Sn),paginate:e.Opt(Cn)}),Pn=e.Record({proposal_id:e.Nat}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Pn,qe)),items_length:e.Nat64}),Fn=e.Record({include_system:e.Bool}),Bn=e.Record({matcher:e.Opt(Fn)}),fr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Dn=e.Record({stable:e.Nat64,heap:e.Nat64}),Un=e.Record({openid:e.Opt(tr),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),Sa=e.Record({openid:e.Opt(ir),version:e.Opt(e.Nat64)}),Ca=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Va=e.Record({controller:Ca,controllers:e.Vec(e.Principal)}),Pa=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Lo=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Fa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),qo=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),Ba=e.Record({skip_certification:e.Opt(e.Bool)}),Da=e.Record({config:qo,options:Ba}),Mo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),jo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([w],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[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,R],[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_controller_self:e.Func([],[],[]),del_controllers:e.Func([V],[e.Vec(e.Tuple(e.Principal,k))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),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,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],["query"]),get_auth_config:e.Func([],[e.Opt(et)],["query"]),get_automation_config:e.Func([],[e.Opt(wt)],["query"]),get_config:e.Func([],[_n],[]),get_db_config:e.Func([],[e.Opt(nt)],["query"]),get_delegation:e.Func([gn],[Tn],["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(ne)))],["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(qe)],["query"]),get_rule:e.Func([Z,e.Text],[e.Opt(Nt)],["query"]),get_storage_config:e.Func([],[Le],["query"]),http_request:e.Func([On],[Rn],["query"]),http_request_streaming_callback:e.Func([Ot],[vn],["query"]),init_asset_upload:e.Func([Et],[we],[]),init_proposal:e.Func([ur],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[we],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,we))],[]),list_assets:e.Func([e.Text,R],[In],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,k))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,An))],["query"]),list_docs:e.Func([e.Text,R],[it],["query"]),list_proposals:e.Func([Vn],[pr],["query"]),list_rules:e.Func([Z,Bn],[fr],["query"]),memory_size:e.Func([],[Dn],["query"]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Un],[et],[]),set_automation_config:e.Func([Sa],[wt],[]),set_controllers:e.Func([Va],[e.Vec(e.Tuple(e.Principal,k))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Pa],[nt],[]),set_doc:e.Func([e.Text,e.Text,Lo],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Lo))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Fa],[Nt],[]),set_storage_config:e.Func([qo],[Le],[]),set_storage_config_with_options:e.Func([Da],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Mo],[jo],[]),upload_proposal_asset_chunk:e.Func([Mo],[jo],[])})},wl=({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}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),d=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),p=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}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:d,GetOrFetchJwks:p,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),v=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}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),w=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),k=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),er=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),fn=e.Record({delegation:e.Opt(er),client_id:e.Text}),tr=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,fn))}),rr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),nr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(tr),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),tt=e.Variant({GitHub:e.Null}),or=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),hn=e.Record({owner:e.Text,name:e.Text}),mn=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(or),repositories:e.Vec(e.Tuple(hn,mn))}),ir=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(ir),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Tt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),sr=e.Variant({Deny:e.Null,Allow:e.Null}),ar=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),_n=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(wt)}),yn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),gn=e.Variant({OpenId:yn}),xn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),bn=e.Record({signature:e.Vec(e.Nat8),delegation:xn}),wn=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:d,GetOrFetchJwks:p,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),Tn=e.Variant({Ok:bn,Err:wn}),cr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),lr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Nn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ur=e.Variant({AssetsUpgrade:lr,SegmentsDeployment:Nn}),qe=e.Record({status:cr,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:ur}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),dr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),On=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)}),Ot=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}),En=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],[])})}),Rn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(En),status_code:e.Nat16}),vn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=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}),we=e.Record({batch_id:e.Nat}),In=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,ne)),items_length:e.Nat64}),An=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),it=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}),Sn=e.Record({desc:e.Bool}),Cn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Vn=e.Record({order:e.Opt(Sn),paginate:e.Opt(Cn)}),Pn=e.Record({proposal_id:e.Nat}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Pn,qe)),items_length:e.Nat64}),Fn=e.Record({include_system:e.Bool}),Bn=e.Record({matcher:e.Opt(Fn)}),fr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Dn=e.Record({stable:e.Nat64,heap:e.Nat64}),Un=e.Record({openid:e.Opt(tr),version:e.Opt(e.Nat64),internet_identity:e.Opt(rr),rules:e.Opt(nr)}),Sa=e.Record({openid:e.Opt(ir),version:e.Opt(e.Nat64)}),Ca=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Va=e.Record({controller:Ca,controllers:e.Vec(e.Principal)}),Pa=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Lo=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Fa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(dr),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),qo=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(sr),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ar)))}),Ba=e.Record({skip_certification:e.Opt(e.Bool)}),Da=e.Record({config:qo,options:Ba}),Mo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),jo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([w],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[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,R],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controller_self:e.Func([],[],[]),del_controllers:e.Func([V],[e.Vec(e.Tuple(e.Principal,k))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),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,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],[]),get_auth_config:e.Func([],[e.Opt(et)],[]),get_automation_config:e.Func([],[e.Opt(wt)],[]),get_config:e.Func([],[_n],[]),get_db_config:e.Func([],[e.Opt(nt)],[]),get_delegation:e.Func([gn],[Tn],[]),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(ne)))],[]),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(qe)],[]),get_rule:e.Func([Z,e.Text],[e.Opt(Nt)],[]),get_storage_config:e.Func([],[Le],[]),http_request:e.Func([On],[Rn],[]),http_request_streaming_callback:e.Func([Ot],[vn],[]),init_asset_upload:e.Func([Et],[we],[]),init_proposal:e.Func([ur],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[we],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,we))],[]),list_assets:e.Func([e.Text,R],[In],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,k))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,An))],[]),list_docs:e.Func([e.Text,R],[it],[]),list_proposals:e.Func([Vn],[pr],[]),list_rules:e.Func([Z,Bn],[fr],[]),memory_size:e.Func([],[Dn],[]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Un],[et],[]),set_automation_config:e.Func([Sa],[wt],[]),set_controllers:e.Func([Va],[e.Vec(e.Tuple(e.Principal,k))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Pa],[nt],[]),set_doc:e.Func([e.Text,e.Text,Lo],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Lo))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Fa],[Nt],[]),set_storage_config:e.Func([qo],[Le],[]),set_storage_config_with_options:e.Func([Da],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Mo],[jo],[]),upload_proposal_asset_chunk:e.Func([Mo],[jo],[])})},Qy=({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({GitHub:e.Null,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),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),p=e.Record({delegation:i,account:d}),u=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}),_=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:p,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),k=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),er=e.Record({e12s:e.Nat64}),fn=e.Record({updated_at:e.Nat64,fee_cycles:er,fee_icp:e.Opt(t)}),tr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),rr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),nr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:rr,SegmentsDeployment:nr}),tt=e.Record({status:tr,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:et}),or=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),hn=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)}),mn=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:mn,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}),ir=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],["query"])})}),wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ir),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=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}),Tt=e.Record({batch_id:e.Nat}),sr=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ar=e.Record({field:sr,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),_n=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),yn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),gn=e.Record({order:e.Opt(ar),owner:e.Opt(e.Principal),matcher:e.Opt(_n),paginate:e.Opt(yn)}),xn=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}),bn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),wn=e.Record({key:xn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,bn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Tn=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,wn)),items_length:e.Nat64}),cr=e.Variant({Emulator:e.Null,Automation:e.Null}),lr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Nn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),created_at:e.Nat64,scope:lr,expires_at:e.Opt(e.Nat64)}),ur=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,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)}),dr=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),On=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),En=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Rn=e.Record({order:e.Opt(Ot),paginate:e.Opt(En)}),vn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(vn,tt)),items_length:e.Nat64}),we=e.Variant({Orbiter:e.Null,Satellite:e.Null}),In=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(we)}),An=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:we}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Sn=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),Cn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),scope:lr,expires_at:e.Opt(e.Nat64)}),Vn=e.Record({controller:Cn,controllers:e.Vec(e.Principal)}),Pn=e.Record({fee_cycles:er,fee_icp:e.Opt(t)}),pr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:we}),Fn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:we}),Bn=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),fr=e.Record({segment_id:e.Principal,segment_kind:we}),Dn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Un=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],[m],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([C],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(d)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[k],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([Y],[ne],["query"]),get_fee:e.Func([ie],[fn],["query"]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],["query"]),get_rate_config:e.Func([ie],[or],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([hn],[wt],["query"]),http_request_streaming_callback:e.Func([bt],[rt],["query"]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[Tt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],["query"]),list_assets:e.Func([e.Text,gn],[Tn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Nn))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ur))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dr,On))],["query"]),list_proposals:e.Func([Rn],[Et],["query"]),list_segments:e.Func([In],[e.Vec(e.Tuple(An,it))],["query"]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([Sn],[B],[]),set_controllers:e.Func([Vn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,Pn],[],[]),set_many_segments:e.Func([e.Vec(pr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,or],[],[]),set_segment:e.Func([pr],[it],[]),set_segment_metadata:e.Func([Fn],[it],[]),set_storage_config:e.Func([Bn],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(fr)],[],[]),unset_segment:e.Func([fr],[],[]),upload_proposal_asset_chunk:e.Func([Dn],[Un],[])})},e0=({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({GitHub:e.Null,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),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),l=e.Variant({InternetIdentity:e.Null,OpenId:c}),d=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(l),owner:e.Principal,created_at:e.Nat64}),p=e.Record({delegation:i,account:d}),u=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}),_=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:p,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),k=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),er=e.Record({e12s:e.Nat64}),fn=e.Record({updated_at:e.Nat64,fee_cycles:er,fee_icp:e.Opt(t)}),tr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),rr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),nr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:rr,SegmentsDeployment:nr}),tt=e.Record({status:tr,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:et}),or=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),hn=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)}),mn=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:mn,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}),ir=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],[])})}),wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(ir),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=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}),Tt=e.Record({batch_id:e.Nat}),sr=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),ar=e.Record({field:sr,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),_n=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),yn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),gn=e.Record({order:e.Opt(ar),owner:e.Opt(e.Principal),matcher:e.Opt(_n),paginate:e.Opt(yn)}),xn=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}),bn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),wn=e.Record({key:xn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,bn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),Tn=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,wn)),items_length:e.Nat64}),cr=e.Variant({Emulator:e.Null,Automation:e.Null}),lr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Nn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),created_at:e.Nat64,scope:lr,expires_at:e.Opt(e.Nat64)}),ur=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,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)}),dr=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),On=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),En=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Rn=e.Record({order:e.Opt(Ot),paginate:e.Opt(En)}),vn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(vn,tt)),items_length:e.Nat64}),we=e.Variant({Orbiter:e.Null,Satellite:e.Null}),In=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(we)}),An=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:we}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Sn=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),Cn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(cr),scope:lr,expires_at:e.Opt(e.Nat64)}),Vn=e.Record({controller:Cn,controllers:e.Vec(e.Principal)}),Pn=e.Record({fee_cycles:er,fee_icp:e.Opt(t)}),pr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:we}),Fn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:we}),Bn=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),fr=e.Record({segment_id:e.Principal,segment_kind:we}),Dn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Un=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],[m],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([C],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(d)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[k],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([Y],[ne],[]),get_fee:e.Func([ie],[fn],[]),get_or_init_account:e.Func([],[d],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],[]),get_rate_config:e.Func([ie],[or],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([hn],[wt],[]),http_request_streaming_callback:e.Func([bt],[rt],[]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[Tt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,d))],[]),list_assets:e.Func([e.Text,gn],[Tn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Nn))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ur))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dr,On))],[]),list_proposals:e.Func([Rn],[Et],[]),list_segments:e.Func([In],[e.Vec(e.Tuple(An,it))],[]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([Sn],[B],[]),set_controllers:e.Func([Vn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,Pn],[],[]),set_many_segments:e.Func([e.Vec(pr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,or],[],[]),set_segment:e.Func([pr],[it],[]),set_segment_metadata:e.Func([Fn],[it],[]),set_storage_config:e.Func([Bn],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(fr)],[],[]),unset_segment:e.Func([fr],[],[]),upload_proposal_asset_chunk:e.Func([Dn],[Un],[])})};var t0=async({identity:e,host:t,localActor:r})=>await Lr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),r0=async({agent:e,...t})=>e??await n0(t),n0=async({identity:e,container:t})=>{let r=J(t)&&t!==!1;return await t0({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Ap=({satelliteId:e,certified:t=!1,...r})=>Cp({canisterId:e,...r,idlFactory:t?wl:bl});var Sp=({consoleId:e,certified:t=!1,...r})=>Cp({canisterId:e,...r,idlFactory:t?e0:Qy}),Cp=({canisterId:e,idlFactory:t,...r})=>{if(U(e))throw new Error("No canister ID provided.");return o0({canisterId:e,idlFactory:t,...r})},o0=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await r0(n);return Co.createActor(t,{agent:o,canisterId:e,...r??{}})};var Vp=({satelliteId:e,container:t})=>{let{satelliteId:r}=Tl({satelliteId:e}),{container:n}=Nl({container:t});if(J(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?Po:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Tl=({satelliteId:e})=>J(e)?{satelliteId:e}:Ie.getInstance().get()??{satelliteId:void 0},Nl=({container:e})=>J(e)?{container:e}:Ie.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Fp({idlFactory:t?wl:bl,actorKey:`stock#${t?"update":"query"}`,...e}),Pp=({idlFactory:e,...t})=>Fp({idlFactory:e,actorKey:"extended#query",...t}),Fp=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Tl({satelliteId:e});Ko(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Nl({container:t});return await Bo.getInstance().getActor({satelliteId:n,container:o,...r})};var la=class extends Error{},qr=class extends Error{},ua=class extends Error{},da=class extends Error{},Uo=class extends Error{},pa=class extends Error{},fa=class extends Error{},ha=class extends Error{},ma=class extends Error{};var Bp=e=>{if(U(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new ma("Invalid list matcher for timestamp",e)}},pn=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:U(e)?[]:[{key:se(e.key),description:se(e.description),created_at:Bp(e.createdAt),updated_at:Bp(e.updatedAt)}],paginate:se(U(t)?void 0:{start_after:se(t.startAfter),limit:se(U(t.limit)?void 0:BigInt(t.limit))}),order:se(U(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(U(n)?void 0:typeof n=="string"?q.fromText(n):n)});var Dp=async({data:e})=>{try{return await ji(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Ol=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await Ll(t),version:se(r)}},El=e=>{let{version:t}=e;return{version:se(t)}},so=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:me(o),owner:r.toText(),data:await ji(i),version:me(n),...s}};var Up=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=me(await n(e,t));if(!U(o))return so({doc:o,key:t})},kp=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=me(a);i.push(J(c)?await so({key:s,doc:c}):void 0)}return i},Lp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,i=await Ol(t),s=await n(e,o,i);return await so({key:o,doc:s})},qp=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Ol(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await so({key:s,doc:a}));return i},Mp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,El(t))},jp=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:i})=>[o,i.key,El(i)]);await r(n)},Kp=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,pn(t))},$p=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,pn(t)),l=[];for(let[d,p]of o){let{data:u,owner:f,description:h,version:_,...y}=p;l.push({key:d,description:me(h),owner:f.toText(),data:await Dp({data:u}),version:me(_),...y})}return{items:l,items_length:s,items_page:me(i),matches_length:a,matches_pages:me(c)}},Hp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,pn(t))};var _a=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Up({...r,satellite:{...e,identity:n},options:t??Xt})},GO=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await kp({...r,satellite:{...e,identity:n},options:t??Xt})},Gp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Lp({...t,satellite:{...e,identity:r},options:{certified:!0}})},Jp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await qp({...t,satellite:{...e,identity:r},options:{certified:!0}})},JO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Mp({...t,satellite:{...e,identity:r},options:{certified:!0}})},WO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await jp({...t,satellite:{...e,identity:r},options:{certified:!0}})},zO=async({satellite:e,filter:t,...r})=>{let n=ue(e?.identity);return await Kp({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},YO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await $p({...n,filter:r??{},satellite:{...e,identity:o},options:t??Xt})},ZO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await Hp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Xt})};var Wp=async({provider:e})=>{let{user:t,userId:r}=await ya();if(J(t))return t;try{return await i0({userId:r,provider:e})}catch(n){if(xl({error:n,type:Ip})){let o=await zp({userId:r});if(J(o))return o}throw n}},ya=async()=>{let e=ca();if(U(e))throw new ha("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await zp({userId:t});return{userId:t,user:r}},zp=({userId:e})=>_a({collection:"#user",key:e}),i0=({userId:e,...t})=>Gp({collection:"#user",doc:{key:e,data:t}});var ga=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await Di({fn:async()=>{let{user:r}=await ya();Ue.getInstance().set(r??null)},syncTabsOnSuccess:e})},Yp=async()=>{await vp({fn:async({authenticated:t})=>{let n=t?ya:()=>Promise.resolve({user:null}),{user:o}=await n();Ue.getInstance().set(o??null)}})},xa=async({user:e})=>{await Di({fn:async()=>{Ue.getInstance().set(e)},syncTabsOnSuccess:!0})};var Zp=()=>{try{let e=Do.getInstance(),t=async()=>{await Yp(),Si({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Xp=()=>{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()},Qp=()=>{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()},ef=()=>{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()},tf=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},ba=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var rf=BigInt(144e11),nf=!1,of={width:576,height:576},sf={width:424,height:576},Rl="internetcomputer.org",af="ic0.app",wa="id.ai";var cf=({width:e,height:t})=>{if(!Ki()||U(window)||U(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 Qt=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 lf=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(lf||{});var Ta=class{async signIn({options:t,authClient:r,initAuth:n}){await Qt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Qt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(U(r)){o(new qr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===aa){o(new ua(i));return}o(new la(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??rf,allowPinAuthentication:t?.allowPin??nf,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Na=class extends Ta{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Ie.getInstance().get()?.container;if(U(i)||i===!1){let d=[Rl,af].includes(this.#e??wa);return pt(this.#e)?`https://${wa}`:d?`https://identity.${this.#e??Rl}`:`https://${this.#e}`}let s=Ie.getInstance().get(),a=J(s)&&J(s?.internetIdentityId)?s.internetIdentityId:lp,{host:c,protocol:l}=new URL(i===!0?Po:i);return/apple/i.test(navigator?.vendor)?`${l}//${c}?canisterId=${a}`:`${l}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:cf((()=>{try{let{hostname:i}=new URL(n);return i.includes(wa)}catch{return!1}})()?sf:of)},identityProvider:n}}};var vl=e=>$r(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),s0=()=>crypto.getRandomValues(new Uint8Array(32)),a0=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 crypto.subtle.digest("SHA-256",n);return vl(mr(o))},uf=async({caller:e})=>{let t=s0();return{nonce:await a0({salt:t,caller:e}),salt:t}};var ff="juno:auth:openid",df={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},hf={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"},c0=class extends Error{},l0=class extends Error{},u0=class extends Error{},d0=class extends Error{},p0=class extends Error{},f0=class extends Error{},h0=class extends Error{},mf=class extends Error{},m0=class extends Error{},_0=class extends Error{},y0=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},g0=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}},_f="__caller__",yf="__salt__",gf="__state__",x0=({caller:e,state:t,salt:r})=>{let n={[_f]:e.toJSON(),[yf]:$r(r),[gf]:t};return JSON.stringify(n)},b0=e=>{let{[_f]:t,[yf]:r,[gf]:n}=JSON.parse(e);return{caller:dt.fromParsedJson(t),salt:Dl(r),state:n}},pf=async({generateState:e})=>{let t=dt.generate(),{nonce:r,salt:n}=await uf({caller:t}),o=await e({nonce:r}),i=x0({caller:t,salt:n,state:o});return sessionStorage.setItem(ff,i),{nonce:r,state:o}},w0=()=>{let e=sessionStorage.getItem(ff);if(U(e))throw new l0;return b0(e)},xf=({auth:e,identity:t})=>"satellite"in e?Ap({...e.satellite,identity:t}):Sp({...e.console,identity:t}),T0=async({actorParams:e,args:t})=>{let{authenticate:r}=await xf(e);return await r(t)},N0=async({actorParams:e,args:t})=>{let{get_delegation:r}=await xf(e);return await r(t)},O0=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Lt.fromDelegations(n,Uint8Array.from(r));return{identity:qt.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Il=async({jwt:e,context:t,auth:r})=>{let n=await xt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await E0({jwt:e,publicKey:o,context:t,auth:r});return{identity:O0({sessionKey:n,delegations:i}),data:s}},E0=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await T0({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new p0("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,l=await R0({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:d,signature:p}=l,{pubkey:u,expiration:f,targets:h}=d;return{delegations:[s,[{delegation:new dn(Uint8Array.from(u),f,me(h)),signature:Uint8Array.from(p)}]],data:c}},R0=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(l=>{setInterval(l,1e3*a)});let c=await N0({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:l}=c;if("NoSuchDelegation"in l||"GetCachedJwks"in l)continue;throw new m0("Getting delegation failed",{cause:c})}return c.Ok}throw new _0},v0=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?{success:await t.json()}:{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new y0({cause:t})}}},I0=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?{success:await r.json()}:{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new g0({cause:r})}}},A0=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await I0({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(pt(c))throw new mf;return await Il({jwt:c,auth:e,context:t})},S0=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(pt(r)||!r.startsWith("#"))throw new f0("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(pt(s)||o!==s)throw new h0("The provided state is invalid",{cause:o});if(pt(i))throw new mf;return await Il({jwt:i,auth:e,context:t})},bf=async e=>{let t=w0();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=hf;return await A0({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await Il({jwt:n,context:t,auth:o})}return await S0({...r,context:t})},Al=({url:e})=>{try{return new URL(e)}catch{throw new c0("Cannot parse authURL",{cause:e})}},C0=({initUrl:e})=>async({nonce:t})=>{let r=Al({url:e});r.searchParams.set("nonce",t);let n=await v0({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},V0=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=Al({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},P0=()=>vl(crypto.getRandomValues(new Uint8Array(12))),F0=async e=>P0(),B0=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=Al({url: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),_r(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},D0=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(U(i))throw new u0;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new d0("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function Oa(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...l}=a,{authUrl:d,authScopes:p,initUrl:u}=hf,f=await pf({generateState:C0({initUrl:c??u})});V0({...l,...f,authUrl:d,authScopes:p});return}let t=await pf({generateState:F0}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=df;return await D0({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=df;B0({...n,...t,authUrl:o,authScopes:i})}var Ea=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var U0=async e=>{let{satelliteId:t}=Ie.getInstance().get()??{satelliteId:void 0};if(U(t))throw new qr("Satellite ID not set. Have you initialized the Satellite?");let r=Ie.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let p="github"in e?e?.github?.options?.finalizeUrl:void 0;if(_r(p))return p;let u=ba();return pt(u)?null:Ea({url:`${u}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:l}}=await bf("github"in e?{github:{redirect:J(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Ce.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let d=await so({doc:l,key:c.getPrincipal().toText()});await xa({user:d})};var wf=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),k0=()=>{window.addEventListener("beforeunload",wf,{capture:!0})},L0=()=>{window.removeEventListener("beforeunload",wf,{capture:!0})},Ra=async({fn:e})=>{try{return k0(),await e()}finally{L0()}};function Tf(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function Cl(e,t){let r,n=()=>{if(r)return r;let o=indexedDB.open(e);return o.onupgradeneeded=()=>o.result.createObjectStore(t),r=Tf(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(t,o).objectStore(t)))}var Sl;function q0(){return Sl||(Sl=Cl("keyval-store","keyval")),Sl}function Nf(e,t,r=q0()){return r("readwrite",n=>new Promise((o,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),o(Tf(n.transaction))}catch(s){i(s)}}}))}var M0=class extends Error{constructor(){super("A dev identity can only be used in browser environments")}},j0=class extends Error{constructor(){super("A dev identity must only be used on localhost (127.0.0.1 or localhost)")}},K0=class extends Error{constructor(e){super(`Identifier must be 32 characters or less, got ${e}`)}},$0=Cl("juno-dev-identifiers","juno-dev-identifiers-store");var Of=async({identifier:e="dev",maxTimeToLiveInMilliseconds:t}={})=>{if(!(typeof window<"u"))throw new M0;let{location:{hostname:r}}=window;if(!["127.0.0.1","localhost"].includes(r))throw new j0;let n=()=>{if(e.length>32)throw new K0(e.length);return new TextEncoder().encode(e.padEnd(32,"0"))},o=async()=>{let a=n(),c=dt.generate(a),l=await xt.generate({extractable:!1}),d=t??6048e5,p=await Lt.create(c,l.getPublicKey(),new Date(Date.now()+d));return{identity:qt.fromDelegation(l,p),sessionKey:l,delegationChain:p}},i=async()=>{await Nf(e,a=>{let c=Date.now();return{createdAt:a?.createdAt??c,updatedAt:c}},$0)},s=await o();return await i(),s};var va=class{async signIn({options:t,initAuth:r,setStorage:n}){let{sessionKey:o,delegationChain:i}=await Of(t);await n({sessionKey:o,delegationChain:i}),await r({provider:void 0})}};var Ia=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??tf();if(U(r))throw new Uo;let{redirect:n}=t;await Oa({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(_r(i))return i;let s=ba();if(!pt(s))return Ea({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var Aa=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??ef();if(U(r))throw new Uo;let{redirect:n}=t;await Oa({google:{redirect:{...n??{},clientId:r}}})}};var Ef=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Jp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...J(n)&&{aaguid:qi(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Rf=(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))(Rf||{}),vf=(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))(vf||{});var ko=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Ie.getInstance().get()??{satelliteId:void 0};if(U(i))throw new qr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:y})=>{switch(_){case un.RequestingUserCredential:t?.({step:1,state:y});break;case un.FinalizingCredential:t?.({step:2,state:y});break;case un.Signing:t?.({step:3,state:y});break}},c=await Qt({fn:async()=>await sl.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:l,sessionKey:d}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),u=await Qt({fn:async()=>await Ef({delegationIdentity:l,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Qt({fn:async()=>await this.#t({delegationIdentity:l,sessionKey:d}),step:4,onProgress:t}),await Qt({fn:async()=>await o({user:u}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ie.getInstance().get()??{satelliteId:void 0};if(U(o))throw new qr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:p})=>{let u=await _a({collection:"#user-webauthn",key:$r(p),options:{certified:!0},satellite:{identity:new at,satelliteId:o}});if(U(u))throw new pa("No public key found for the selected passkey.");let{data:f}=u,{publicKey:h}=f;return io(h,Ii)},s=({step:p,state:u})=>{switch(p){case un.RequestingUserCredential:t?.({step:0,state:u});break;case un.FinalizingCredential:t?.({step:1,state:u});break;case un.Signing:t?.({step:2,state:u});break}},a=await sl.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:l}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Qt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:l}),step:3,onProgress:t}),await Qt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await xt.generate({extractable:!1}),o=r??144e5,i=await Lt.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:qt.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Zt;await Promise.all([n.set(We,t.getKeyPair()),n.set(ke,JSON.stringify(r.getDelegation().toJSON()))])}};var If=async({provider:e})=>{await Di({fn:async()=>{let r=await Wp({provider:e});Ue.getInstance().set(r)},syncTabsOnSuccess:!0})},G0=async e=>{if("google"in e){let{google:{options:t}}=e;await Ui({fn:()=>new Aa().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await Ui({fn:()=>new Ia().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Ui({fn:()=>new ko().signIn({options:t,loadAuth:()=>ga({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Ui({fn:()=>new Na({domain:n}).signIn({options:o,authClient:Ce.getInstance().getAuthClient(),initAuth:If}),context:r});return}if("dev"in e){let{dev:{options:t}}=e,{setAuthClientStorage:r}=Ce.getInstance();await Ui({fn:()=>new va().signIn({options:t,initAuth:If,setStorage:r}),context:{windowGuard:!1}});return}throw new da("An unknown or unsupported provider was provided for sign-in.")},Ui=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Ra({fn:e})};var J0=async e=>{let t=async()=>await W0(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Ra({fn:t})},W0=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new ko().signUp({options:t,loadAuthWithUser:xa});return}throw new fa("An unknown or unsupported provider was provided for sign-up.")};var T2=e=>e?.data?.provider==="webauthn",N2=e=>e?.data?.provider==="google",O2=e=>e?.data?.provider==="github";var I2=async({idlFactory:e,satellite:t})=>{let r=ue(t?.identity);return await Pp({idlFactory:e,...t,identity:r})};var Af=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(z0(r));o?.onInitiatedBatch();let{chunkIds:l}=await X0({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Z0({commitFn:a,batchId:c,data:e,headers:t,chunkIds:l}),o?.onCommittedBatch()};var z0=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),Y0=({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??[]]}},Z0=async({commitFn:e,...t})=>{let r=Y0(t);await e(r)},X0=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Ki()?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 Q0({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*Q0({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=>eg(o)))}}var eg=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var Sf=async({asset:e,...t})=>{let r=await ge(t);await Af({actor:r,asset:e})},Cf=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,pn(t));return{items:o.map(([l,d])=>d),items_length:i,items_page:me(s),matches_length:a,matches_pages:me(c)}},Vf=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,pn(t))},Pf=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),Ff=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Bf=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,pn(t))},Df=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await ge(n);return o(e,t,se(r))},Uf=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return me(await n(e,t))},kf=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>me(s))};var Lf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var $2=e=>qf(e),H2=e=>qf({filename:e.data.name,...e}),qf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let l=ue(s?.identity),d=decodeURI(e),p=o??`/${r}/${d}`,u={...s,identity:l};return await Sf({asset:{data:t,filename:d,collection:r,token:i,headers:n,fullPath:p,encoding:a,description:c},satellite:u,options:{certified:!0}}),{downloadUrl:Mf({satellite:u,assetKey:{fullPath:p,token:i}}),fullPath:p,...J(i)&&{token:i},name:d}},G2=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)},{items:i,...s}=await Cf({collection:e,filter:t??{},satellite:o,options:n??Xt}),a=i.map(({key:{full_path:c,token:l,name:d,owner:p,description:u},headers:f,encodings:h,created_at:_,updated_at:y})=>{let m=me(l);return{fullPath:c,description:me(u),name:d,downloadUrl:Mf({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((b,[g,{modified:T,sha256:O,total_length:v}])=>({...b,[g]:{modified:T,sha256:Lf(O),total_length:v}}),{}),owner:p.toText(),created_at:_,updated_at:y}});return{items:a,assets:a,...s}},J2=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)};return await Vf({collection:e,satellite:o,filter:t??{},options:n??Xt})},W2=({collection:e,fullPath:t,satellite:r})=>Pf({collection:e,fullPath:t,satellite:{...r,identity:ue(r?.identity)},options:{certified:!0}}),z2=({collection:e,fullPath:t,token:r,satellite:n})=>Df({collection:e,fullPath:t,token:r,satellite:{...n,identity:ue(n?.identity)},options:{certified:!0}}),Y2=({assets:e,satellite:t})=>Ff({assets:e,satellite:{...t,identity:ue(t?.identity)},options:{certified:!0}}),Z2=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ue(t?.identity)};return await Bf({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},X2=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Uf({...r,satellite:{...e,identity:n},options:t??Xt})},Q2=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await kf({...r,satellite:{...e,identity:n},options:t??Xt})},Mf=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ue(r?.identity)};return`${Vp(n)}${e}${J(t)?`?token=${t}`:""}`};var tg=e=>{let t=e?.satelliteId??Xp();Ko(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Qp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},lE=e=>rg(e),rg=async e=>{let t=tg(e);Ie.getInstance().set(t),await ga();let r=t.workers?.auth!==void 0?Rp(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Zp();return[...J(r)?[r]:[],...J(n)?[n]:[]]},ng=e=>Ue.getInstance().subscribe(e),uE=ng;export{lf as AuthClientSignInProgressStep,ha as InitError,Na as InternetIdentityProvider,ma as ListError,la as SignInError,qr as SignInInitError,Uo as SignInMissingClientIdError,da as SignInProviderNotSupportedError,ua as SignInUserInterruptError,fa as SignUpProviderNotSupportedError,Rf as WebAuthnSignInProgressStep,pa as WebAuthnSignInRetrievePublicKeyError,vf as WebAuthnSignUpProgressStep,uE as authSubscribe,J2 as countAssets,ZO as countDocs,W2 as deleteAsset,JO as deleteDoc,Z2 as deleteFilteredAssets,zO as deleteFilteredDocs,Y2 as deleteManyAssets,WO as deleteManyDocs,Mf as downloadUrl,X2 as getAsset,_a as getDoc,Xy as getIdentityOnce,Q2 as getManyAssets,GO as getManyDocs,I2 as getSatelliteExtendedActor,U0 as handleRedirectCallback,lE as initJuno,rg as initSatellite,O2 as isGitHubUser,N2 as isGoogleUser,Oy as isWebAuthnAvailable,T2 as isWebAuthnUser,G2 as listAssets,YO as listDocs,ng as onAuthStateChange,z2 as setAssetToken,Gp as setDoc,Jp as setManyDocs,G0 as signIn,gl as signOut,J0 as signUp,Zy as unsafeIdentity,$2 as uploadBlob,H2 as uploadFile};
59
- /*! Bundled license information:
60
-
61
- @noble/hashes/esm/utils.js:
62
- (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
63
- */
56
+ Retrying query.`),await this.#w({...t,tries:a+1});throw qo.fromCode(new $o(m))}let d=nc(p.headers);if(p.status!==jc){let m=await p.text();if(Fd(m))throw z.fromCode(new Kt(m,this.#u));if(a<this.#d)return await this.#w({...t,tries:a+1});throw re.fromCode(new jo(p.status,p.statusText,d,m))}let f={...je(uo(await p.arrayBuffer())),httpDetails:{ok:p.ok,status:p.status,statusText:p.statusText,headers:d},requestId:i};if(!this.#_)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw re.fromCode(new is("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt(o_));if(Date.now()+this.#r-_>this.#R){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#w({...t,tries:a+1});throw Ye.fromCode(new Yi(this.#u,i,a))}return f}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw re.fromCode(new kn(`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===jc&&(a=uo(await s.clone().arrayBuffer()))}catch(p){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
57
+ ${p}
58
+ Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw qo.fromCode(new $o(p))}let c=nc(s.headers);if(s.status===jc||s.status===Pd)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let l=await s.text();if(s.status===f_&&s.url.includes("api/v4"))throw re.fromCode(new Ko);if(Fd(l))throw z.fromCode(new Kt(l,this.#u));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw re.fromCode(new jo(s.status,s.statusText,c,l))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?U.from(r.effectiveCanisterId):U.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Pe.fromCode(new $r);let c=U.from(t),l=a.getPrincipal(),p=Kc(this.#u,this.#r),d={request_type:Gn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:l,ingress_expiry:p},u=Er(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:vr.Query,body:d}),s=await a.transformRequest(s);let f=si(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:u,backoff:o,tries:0},_=async()=>{let y=await this.#w(h);return{requestDetails:d,...y}};try{if(!this.#_)return await _();let[y,m]=await Promise.all([_(),this.fetchSubnetKeys(i)]);try{return this.#N(y,m)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),await this.#x.delete(i.toString());let b=await this.fetchSubnetKeys(i);return this.#N(y,b)}}catch(y){let m;if(y instanceof st){if(y.hasCode(Kt)&&!this.#o)return await this.syncTime(i),this.query(t,r,n);y.code.requestContext={requestId:u,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},m=y}else m=ae.fromCode(new Se(y));throw this.log.error(`Error while making query: ${m.message}`,m),m}}#N;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw Pe.fromCode(new $r);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{}}},endpoint:vr.ReadState,body:{request_type:Gn.ReadState,paths:t.paths,sender:o,ingress_expiry:Kc(this.#u,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#g();let i=U.from(t);function s(p){for(let d of p.paths){let[u,f]=d,h=new TextEncoder().encode("request_status");if(Kn(u,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw Pe.fromCode(new $r);a=await this.createReadStateRequest(r,p)}let l=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#O(l,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#g();let n=U.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#O(o,{subnetId:n},i)}async#O(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#y({requestFn:()=>this.#i(t,{...this.#l,...n.request,body:si(n.body)}),backoff:i,tries:0});return je(s)}catch(s){let a;if(s instanceof st){if(s.hasCode(Kt)&&!this.#o){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ft;return await this.#O(t,r,n,o)}s.code.requestContext={requestId:o??Er(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ae.fromCode(new Se(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw re.fromCode(new Hr("Could not decode time from response"));let o=Fr(["time"],r);if(o.status!==Be.Found)throw re.fromCode(new At("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw re.fromCode(new $i("Time was not in its expected format."));let i=Qr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}return this.log.warn("No certificate found in response"),0}async syncTime(t){this.#s=this.#s??(async()=>{await this.#g();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??U.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await bd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#E(r,i)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async syncTimeWithSubnet(t){await this.#g();let r=Date.now();try{let n=e.createSync({identity:new at,host:this.host.toString(),fetch:this.#i,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await wd({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#E(r,o)}catch(n){let o=n instanceof st?n:ae.fromCode(new Se(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#E(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#o=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#c?{Authorization:`Basic ${btoa(this.#c)}`}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#y({backoff:n,requestFn:()=>this.#i(r,{headers:t,...this.#l}),tries:0});return je(o)}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#p(t){await Promise.all([this.#g(),this.#A(t)])}async#g(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Pe.fromCode(new Ct(this.#t))}async#A(t){this.#a&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=U.from(t),n=await this.#x.get(r.toText());if(n)return n;let o=this.#b.get(r.toText());if(o)return o;let i=this.#S(r).finally(()=>{this.#b.delete(r.toText())});return this.#b.set(r.toText(),i),i}async#S(t){await this.#p(t);let r=this.rootKey,n=await this.readState(t,{paths:[[G("subnet")]]}),o=await gt.create({certificate:n.certificate,rootKey:r,principal:{canisterId:t},agent:this});if(!o.cert.delegation){let a=U.selfAuthenticating(r);if(!Cc({canisterId:t,subnetId:a,tree:o.cert.tree}))throw Ye.fromCode(new Un(t,a))}let i=Pc(o.cert,r),s=wo(o.cert,i);return await this.#x.set(t.toText(),s),s}async getSubnetIdFromCanister(t){let r=U.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[G("time")]]}),o=await gt.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return Pc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===vr.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#o}};function Kc(e,t){let r=e*$c;return Hn.fromDeltaInMilliseconds(r,t)}function Fd(e){return e.includes("Invalid request expiry: ")}var ut=Symbol.for("ic-agent-metadata"),Oo=class e{static agentOf(t){return t[ut].config.agent}static interfaceOf(t){return t[ut].service}static canisterIdOf(t){return U.from(t[ut].config.canisterId)}static createActorClass(t,r){let n=t({IDL:jn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new Ho(s.canisterId));let a=typeof s.canisterId=="string"?U.fromText(s.canisterId):s.canisterId;super({config:{...Bd,...s,canisterId:a},service:n});for(let[c,l]of n._fields)r?.httpDetails&&l.annotations.push(Hc),r?.certificate&&l.annotations.push(Dd),this[c]=m_(this,c,l,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new Ho(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[ut]=Object.freeze(t)}};function No(e,t){let r=jn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Bd={pollingOptions:Cd,queryStrategy:"query"},Hc="http-details",Dd="certificate";function m_(e,t,r,n){let o,i=r.annotations.includes("query")||r.annotations.includes("composite_query"),s=e[ut].config.queryStrategy;i&&s==="query"?o=async(c,...l)=>{c={...c,...e[ut].config.queryTransform?.(t,l,{...e[ut].config,...c})};let p=c.agent||e[ut].config.agent||new Ur,d=U.from(c.canisterId||e[ut].config.canisterId),u=jn.encode(r.argTypes,l),f=await p.query(d,{methodName:t,arg:u,effectiveCanisterId:c.effectiveCanisterId}),h={...f.httpDetails,requestDetails:f.requestDetails};switch(f.status){case Kr.Rejected:{let _=new Xi(f.requestId,f.reject_code,f.reject_message,f.error_code,f.signatures);throw _.callContext={canisterId:d,methodName:t,httpDetails:h},vt.fromCode(_)}case Kr.Replied:return r.annotations.includes(Hc)?{httpDetails:h,result:No(r.retTypes,f.reply.arg)}:No(r.retTypes,f.reply.arg)}}:o=async(c,...l)=>{c={...c,...e[ut].config.callTransform?.(t,l,{...e[ut].config,...c})};let p=c.agent||e[ut].config.agent||Ur.createSync(),{canisterId:d,effectiveCanisterId:u,pollingOptions:f}={...Bd,...e[ut].config,...c},h=U.from(d),_=u!==void 0?U.from(u):h,y=jn.encode(r.argTypes,l),m,b,g,T;try{({reply:m,certificate:b,callResponse:g,requestDetails:T}=await p.update(h,{methodName:t,arg:y,effectiveCanisterId:_,nonce:c.nonce},{...f,blsVerify:n}))}catch(C){if(C instanceof vt){let w=Object.create(Object.getPrototypeOf(C.code),Object.getOwnPropertyDescriptors(C.code));throw w.callContext={...C.code.callContext,canisterId:h,methodName:t},vt.fromCode(w)}throw C}let O=r.annotations.includes(Hc),v=r.annotations.includes(Dd),E={...g,requestDetails:T};return O&&v?{httpDetails:E,certificate:b,result:No(r.retTypes,m)}:v?{certificate:b,result:No(r.retTypes,m)}:O?{httpDetails:E,result:No(r.retTypes,m)}:No(r.retTypes,m)};let a=(...c)=>o({},...c);return a.withOptions=c=>(...l)=>o(c,...l),a}var __=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=y_({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},y_=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?ki(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 g_(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 x_(e){return Qn(e,wi)}var b_=class{constructor(e){this._cose=e,this.#e=x_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Md=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new b_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return jr(this.#e)}},w_=class extends Md{#e;#t;constructor({authData:e,...t}){super(t);let r=__({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}},T_=class extends Md{},N_=class extends Error{},O_=class extends Error{},E_=class extends Error{},R_=class extends Error{},v_=class extends Error{},I_=class extends Error{},A_=class extends Error{},Ud=class extends Error{};var S_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},C_=6e4,jd=()=>window.crypto.getRandomValues(new Uint8Array(16)),V_=()=>jd(),P_=()=>jd(),F_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new N_}},Kd=({appId:e})=>e?.id??F_(),B_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:Kd({appId:e})}}),o=()=>({user:{id:P_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:V_(),...n(),...o(),pubKeyCredParams:Object.values(S_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},D_=(e={})=>({rpId:Kd(e),allowCredentials:[],userVerification:"required"}),Gc=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}},on=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(on||{}),$d=({timeout:e})=>AbortSignal.timeout(e??C_),U_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...D_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:$d({timeout:n})}),kd=e=>{if(e.status!=="initialized")throw new O_},Ld=e=>{if(k(e))throw new E_},qd=({type:e})=>{if(e!=="public-key")throw new R_},Jc=class Ti extends Wt{#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 w_(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:B_(t),signal:$d({timeout:r})});Ld(o),qd(o);let{response:{attestationObject:i},rawId:s}=o;if(k(i))throw new v_;let{authData:a}=bs.decode(yr(i)),c=g_(a);return new Ti({...n,rawId:yr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new Ti(t)}getPublicKey(){kd(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){kd(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Gc({fn:async()=>{let n=await U_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return Ld(n),qd(n),n},step:0,onProgress:this.#e});return await Gc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Ll({a:this.#t.credential.getCredentialId(),b:yr(n)}))throw new I_;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:yr(n)});this.#t=Ti.#r({credential:new T_({rawId:yr(n),cose:i})})},step:1,onProgress:this.#e}),await Gc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(k(i))throw new Ud;if(k(s))throw new Ud;let a=bs.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:yr(s)});if(k(a))throw new A_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},k_=async()=>J(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var Eo=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 Ue=class e extends Eo{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 Ni=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var Ro="http://127.0.0.1:5987",Hd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Gd=async({identity:e,container:t})=>{let n=J(t)&&t!==!1?t===!0?Ro:t:"https://icp-api.io",o=J(t);return await Ur.create({identity:e,shouldFetchRootKey:o,host:n})};var vo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(k(this.#e)||k(this.#e[n])){let o=await Gd({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var Io=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(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(k(this.#e)||k(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 vo.getInstance().getAgent(n);return Oo.createActor(t,{agent:o,canisterId:r})}};function Jd(e){return e!==null&&typeof e=="object"}var Oi=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}if(Jd(t)){let r=t;if(Jd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw($t(n.buffer))}if(r instanceof ArrayBuffer)return this.fromRaw($t(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Qn(t,Xn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=eo(t,Xn);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}},dt=class e extends Wt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Je.utils.randomPrivateKey()),Hl(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=Je.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(Oi.fromDer(Ee(r)),Ee(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(Oi.fromRaw(t),r)}static fromSecretKey(t){let r=Je.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=Oi.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Je.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=Ee(a)),$t(a)));return Je.verify(o,i,s)}};var Wc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Wd(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 Wc("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 xt=class e extends Wt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=Wd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=$t(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=Wd(r),o=$t(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=$t(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Js=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 U.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 Ws(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function zc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var sn=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:Ws(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function L_(e,t,r,n){let o=new sn(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...Ya,...new Uint8Array(Er({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Lt=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await L_(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:l,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new sn(zc(c),BigInt(`0x${l}`),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return U.fromHex(d)})),signature:zc(a)}});return new this(o,zc(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:Ws(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Ws(n)}}),publicKey:Ws(this.publicKey)}}},qt=class extends Wt{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 Er(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...ei,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},Ei=class e extends Js{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Yc(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"?U.fromText(o):o)):r.push(typeof n=="string"?U.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 zd=["mousedown","mousemove","keydown","touchstart","wheel"],Ri=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),zd.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...l)=>{let p=this,d=()=>{c=void 0,s.apply(p,l)};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);zd.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 q_=(e,t)=>t.some(r=>e instanceof r),Yd,Zd;function M_(){return Yd||(Yd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function j_(){return Zd||(Zd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Xd=new WeakMap,Xc=new WeakMap,Qd=new WeakMap,Zc=new WeakMap,el=new WeakMap;function K_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(zt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&Xd.set(r,e)}).catch(()=>{}),el.set(t,e),t}function $_(e){if(Xc.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)});Xc.set(e,t)}var Qc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Xc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Qd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return zt(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 ep(e){Qc=e(Qc)}function H_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(zs(this),t,...r);return Qd.set(n,t.sort?t.sort():[t]),zt(n)}:j_().includes(e)?function(...t){return e.apply(zs(this),t),zt(Xd.get(this))}:function(...t){return zt(e.apply(zs(this),t))}}function G_(e){return typeof e=="function"?H_(e):(e instanceof IDBTransaction&&$_(e),q_(e,M_())?new Proxy(e,Qc):e)}function zt(e){if(e instanceof IDBRequest)return K_(e);if(Zc.has(e))return Zc.get(e);let t=G_(e);return t!==e&&(Zc.set(e,t),el.set(t,e)),t}var zs=e=>el.get(e);function rp(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=zt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(zt(s.result),c.oldVersion,c.newVersion,zt(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",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}var J_=["get","getKey","getAll","getAllKeys","count"],W_=["put","add","delete","clear"],tl=new Map;function tp(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(tl.get(t))return tl.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=W_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||J_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return tl.set(t,i),i}ep(e=>({...e,get:(t,r,n)=>tp(t,r)||e.get(t,r,n),has:(t,r)=>!!tp(t,r)||e.has(t,r)}));var np="auth-client-db",op="ic-keyval",z_=async(e=np,t=op,r)=>(globalThis.localStorage?.getItem(ke)&&(globalThis.localStorage.removeItem(ke),globalThis.localStorage.removeItem(We)),await rp(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function Y_(e,t,r){return await e.get(t,r)}async function Z_(e,t,r,n){return await e.put(t,n,r)}async function X_(e,t,r){return await e.delete(t,r)}var Ys=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=np,storeName:n=op,version:o=ip}=t??{},i=await z_(r,n,o);return new e(i,n)}async set(t,r){return await Z_(this._db,this._storeName,t,r)}async get(t){return await Y_(this._db,this._storeName,t)??null}async remove(t){return await X_(this._db,this._storeName,t)}};var We="identity",ke="delegation",sp="iv",ip=1,vi=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}},Yt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}Ys.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 Q_=BigInt(1e9),ey=BigInt(3600),ty=Q_*ey,ry="https://identity.internetcomputer.org",ny="#authorize",oy=BigInt(8)*ty,rl="ECDSA",nl="Ed25519",iy=500,Zs="UserInterrupt",Ii=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 Yt,n=t.keyType??rl,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let l=new vi,p=await l.get(ke),d=await l.get(We);p&&d&&n===rl&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(ke,p),await r.set(We,d),c=p,await l.remove(ke),await l.remove(We))}catch(l){console.error(`error while attempting to recover localstorage: ${l}`)}if(c)try{typeof c=="object"?n===nl&&typeof c=="string"?o=dt.fromJSON(c):o=await xt.fromKeyPair(c):typeof c=="string"&&(o=dt.fromJSON(c))}catch{}}let i=new at,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=Lt.fromJSON(c),Yc(s)?"toDer"in o?i=Ei.fromDelegation(o,s):i=qt.fromDelegation(o,s):(await ol(r),o=null))}catch(c){console.error(c),await ol(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=Ri.create(t.idleOptions)),o||(n===nl?o=dt.generate():(t.storage&&n===rl&&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 '${nl}' as the key type, as it can serialize to a string`),o=await xt.generate()),await ap(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 sn(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Lt.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=Ei.fromDelegation(i,this._chain):this._identity=qt.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=Ri.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(ke,JSON.stringify(this._chain.toJSON())),await ap(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Yc(this._chain)}async login(t){let r=sy(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??oy,o=new URL(r?.identityProvider?.toString()||ry);o.hash=ny,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(Zs,r?.onError):setTimeout(i,iy))};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 ol(this._storage),this._identity=new at,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function ol(e){await e.remove(We),await e.remove(ke),await e.remove(sp)}function sy(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function ay(e){if(e instanceof xt)return e.getKeyPair();if(e instanceof dt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function ap(e,t){let r=ay(t);await e.set(We,r)}var Ce=class e{static#e;#t;constructor(){}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await Ii.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>{let t=new Yt;return await Promise.all([t.remove(We),t.remove(ke)]),await this.createAuthClient()};getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Yt;await Promise.all([n.set(We,r.getKeyPair()),n.set(ke,JSON.stringify(t.toJSON()))])}};var il=async e=>{await cy(),await Ce.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},cy=async()=>{await Ce.getInstance().logout(),Ue.getInstance().reset(),Io.getInstance().reset(),vo.getInstance().reset()};var cp=e=>{let t=e===!0?"/workers/auth.worker.js":e,r=new Worker(t),n=async()=>{Ni({message:"junoSignOutAuthTimer"}),await il()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":Ni({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Ue.getInstance().subscribe(o=>{if(k(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var Ao=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&J(o)&&o.msg==="authClientLoginSuccess"&&gr(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Ie=class e extends Eo{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 Ai=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await ly({fn:e});!r||!t||Ie.getInstance().get()?.syncTabs===!1||uy()},lp=async({fn:e})=>{let{createAuthClient:t}=Ce.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},ly=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ce.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},uy=()=>{try{Ao.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var sl=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var up="juno.datastore.error.user.cannot_update";var Zt={certified:!1};var Xs=()=>Ce.getInstance().getAuthClient()?.getIdentity(),dy=async()=>{let{getAuthClient:e,createAuthClient:t}=Ce.getInstance();return(e()??await t()).getIdentity()},py=async()=>{let e=Ue.getInstance().get();if(k(e))return null;let t=Ce.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var ue=e=>J(e)?e:Xs()??new at;var al=({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}),l=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}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),v=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}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),w=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),Qt=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),cn=e.Record({delegation:e.Opt(Qt),client_id:e.Text}),er=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,cn))}),tr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),rr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(er),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(tr),rules:e.Opt(rr)}),tt=e.Variant({GitHub:e.Null}),nr=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),ln=e.Record({owner:e.Text,name:e.Text}),un=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(nr),repositories:e.Vec(e.Tuple(ln,un))}),or=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(or),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Tt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),ir=e.Variant({Deny:e.Null,Allow:e.Null}),sr=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(ir),redirects:e.Opt(e.Vec(e.Tuple(e.Text,sr)))}),dn=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(wt)}),pn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),fn=e.Variant({OpenId:pn}),hn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),mn=e.Record({signature:e.Vec(e.Nat8),delegation:hn}),_n=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),yn=e.Variant({Ok:mn,Err:_n}),ar=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),cr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),gn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),lr=e.Variant({AssetsUpgrade:cr,SegmentsDeployment:gn}),qe=e.Record({status:ar,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:lr}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ur=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ur),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),xn=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)}),Ot=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}),bn=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],["query"])})}),wn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(bn),status_code:e.Nat16}),Tn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=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}),we=e.Record({batch_id:e.Nat}),Nn=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,ne)),items_length:e.Nat64}),On=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),it=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}),En=e.Record({desc:e.Bool}),Rn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),vn=e.Record({order:e.Opt(En),paginate:e.Opt(Rn)}),In=e.Record({proposal_id:e.Nat}),dr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(In,qe)),items_length:e.Nat64}),An=e.Record({include_system:e.Bool}),Sn=e.Record({matcher:e.Opt(An)}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Cn=e.Record({stable:e.Nat64,heap:e.Nat64}),Vn=e.Record({openid:e.Opt(er),version:e.Opt(e.Nat64),internet_identity:e.Opt(tr),rules:e.Opt(rr)}),ba=e.Record({openid:e.Opt(or),version:e.Opt(e.Nat64)}),wa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Ta=e.Record({controller:wa,controllers:e.Vec(e.Principal)}),Na=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Vo=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Oa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ur),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),Po=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(ir),redirects:e.Opt(e.Vec(e.Tuple(e.Text,sr)))}),Ea=e.Record({skip_certification:e.Opt(e.Bool)}),Ra=e.Record({config:Po,options:Ea}),Fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Bo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([w],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[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,R],[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_controller_self:e.Func([],[],[]),del_controllers:e.Func([V],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),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,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],["query"]),get_auth_config:e.Func([],[e.Opt(et)],["query"]),get_automation_config:e.Func([],[e.Opt(wt)],["query"]),get_config:e.Func([],[dn],[]),get_db_config:e.Func([],[e.Opt(nt)],["query"]),get_delegation:e.Func([fn],[yn],["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(ne)))],["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(qe)],["query"]),get_rule:e.Func([Z,e.Text],[e.Opt(Nt)],["query"]),get_storage_config:e.Func([],[Le],["query"]),http_request:e.Func([xn],[wn],["query"]),http_request_streaming_callback:e.Func([Ot],[Tn],["query"]),init_asset_upload:e.Func([Et],[we],[]),init_proposal:e.Func([lr],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[we],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,we))],[]),list_assets:e.Func([e.Text,R],[Nn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,On))],["query"]),list_docs:e.Func([e.Text,R],[it],["query"]),list_proposals:e.Func([vn],[dr],["query"]),list_rules:e.Func([Z,Sn],[pr],["query"]),memory_size:e.Func([],[Cn],["query"]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Vn],[et],[]),set_automation_config:e.Func([ba],[wt],[]),set_controllers:e.Func([Ta],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Na],[nt],[]),set_doc:e.Func([e.Text,e.Text,Vo],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Vo))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Oa],[Nt],[]),set_storage_config:e.Func([Po],[Le],[]),set_storage_config_with_options:e.Func([Ra],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Fo],[Bo],[]),upload_proposal_asset_chunk:e.Func([Fo],[Bo],[])})},cl=({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}),l=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}),u=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),f=e.Variant({PrepareDelegation:u,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({jwt:e.Text,salt:e.Vec(e.Nat8)}),y=e.Variant({OpenId:_}),m=e.Variant({Write:e.Null,Submit:e.Null}),b=e.Record({scope:m,expires_at:e.Nat64}),g=e.Variant({JwtFindProvider:l,InvalidController:e.Text,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,ControllerAlreadyExists:e.Null,InvalidObservatoryId:e.Text,TooManyControllers:e.Text}),T=e.Variant({PrepareAutomation:g,RegisterController:e.Text,SaveWorkflowMetadata:e.Text,SaveUniqueJtiToken:e.Text}),O=e.Variant({Ok:e.Tuple(e.Principal,b),Err:T}),v=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}),E=e.Variant({Heap:e.Record({offset:e.Nat64}),Stable:e.Record({key:e.Opt(v)})}),C=e.Variant({Append:e.Null,Clear:e.Null,AppendWithRouting:e.Null}),w=e.Record({cursor:E,strategy:C,chunk_size:e.Opt(e.Nat32)}),I=e.Record({next_cursor:e.Opt(E)}),P=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),A=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),x=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),N=e.Record({field:x,desc:e.Bool}),S=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),B=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(S),description:e.Opt(e.Text),created_at:e.Opt(S)}),M=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),R=e.Record({order:e.Opt(N),owner:e.Opt(e.Principal),matcher:e.Opt(B),paginate:e.Opt(M)}),V=e.Record({controllers:e.Vec(e.Principal)}),F=e.Variant({Emulator:e.Null,Automation:e.Null}),D=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),L=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),created_at:e.Nat64,scope:D,expires_at:e.Opt(e.Nat64)}),te=e.Record({version:e.Opt(e.Nat64)}),Z=e.Variant({Db:e.Null,Storage:e.Null}),Y=e.Record({version:e.Opt(e.Nat64)}),xe=e.Record({proposal_ids:e.Vec(e.Nat)}),be=e.Record({cycles:e.Nat,destination_id:e.Principal}),ze=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),ne=e.Record({key:v,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,ze)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),ie=e.Variant({GitHub:e.Null,Google:e.Null}),Qt=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),cn=e.Record({delegation:e.Opt(Qt),client_id:e.Text}),er=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(ie,cn))}),tr=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),rr=e.Record({allowed_callers:e.Vec(e.Principal)}),et=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(er),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(tr),rules:e.Opt(rr)}),tt=e.Variant({GitHub:e.Null}),nr=e.Record({scope:e.Opt(m),max_time_to_live:e.Opt(e.Nat64)}),ln=e.Record({owner:e.Text,name:e.Text}),un=e.Record({refs:e.Opt(e.Vec(e.Text))}),bt=e.Record({controller:e.Opt(nr),repositories:e.Vec(e.Tuple(ln,un))}),or=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(tt,bt))}),wt=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(or),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64)}),rt=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),nt=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Tt=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),ir=e.Variant({Deny:e.Null,Allow:e.Null}),sr=e.Record({status_code:e.Nat16,location:e.Text}),Le=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(ir),redirects:e.Opt(e.Vec(e.Tuple(e.Text,sr)))}),dn=e.Record({db:e.Opt(nt),authentication:e.Opt(et),storage:Le,automation:e.Opt(wt)}),pn=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),fn=e.Variant({OpenId:pn}),hn=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),mn=e.Record({signature:e.Vec(e.Nat8),delegation:hn}),_n=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),yn=e.Variant({Ok:mn,Err:_n}),ar=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),cr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),gn=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),lr=e.Variant({AssetsUpgrade:cr,SegmentsDeployment:gn}),qe=e.Record({status:ar,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:lr}),ot=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ur=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Nt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:ot,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ur),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),xn=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)}),Ot=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}),bn=e.Variant({Callback:e.Record({token:Ot,callback:e.Func([],[],[])})}),wn=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(bn),status_code:e.Nat16}),Tn=e.Record({token:e.Opt(Ot),body:e.Vec(e.Nat8)}),Et=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}),we=e.Record({batch_id:e.Nat}),Nn=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,ne)),items_length:e.Nat64}),On=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),it=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}),En=e.Record({desc:e.Bool}),Rn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),vn=e.Record({order:e.Opt(En),paginate:e.Opt(Rn)}),In=e.Record({proposal_id:e.Nat}),dr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(In,qe)),items_length:e.Nat64}),An=e.Record({include_system:e.Bool}),Sn=e.Record({matcher:e.Opt(An)}),pr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,Nt)),items_length:e.Nat64}),Cn=e.Record({stable:e.Nat64,heap:e.Nat64}),Vn=e.Record({openid:e.Opt(er),version:e.Opt(e.Nat64),internet_identity:e.Opt(tr),rules:e.Opt(rr)}),ba=e.Record({openid:e.Opt(or),version:e.Opt(e.Nat64)}),wa=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(F),scope:D,expires_at:e.Opt(e.Nat64)}),Ta=e.Record({controller:wa,controllers:e.Vec(e.Principal)}),Na=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(rt)}),Vo=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),Oa=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:ot,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ur),write:ot,max_changes_per_user:e.Opt(e.Nat32)}),Po=e.Record({iframe:e.Opt(Tt),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(rt),raw_access:e.Opt(ir),redirects:e.Opt(e.Vec(e.Tuple(e.Text,sr)))}),Ea=e.Record({skip_certification:e.Opt(e.Bool)}),Ra=e.Record({config:Po,options:Ea}),Fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Bo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),authenticate_automation:e.Func([y],[O],[]),certify_assets_chunk:e.Func([w],[I],[]),commit_asset_upload:e.Func([P],[],[]),commit_proposal:e.Func([A],[e.Null],[]),commit_proposal_asset_upload:e.Func([P],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(P)],[],[]),count_assets:e.Func([e.Text,R],[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,R],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controller_self:e.Func([],[],[]),del_controllers:e.Func([V],[e.Vec(e.Tuple(e.Principal,L))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,te],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,R],[],[]),del_filtered_docs:e.Func([e.Text,R],[],[]),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,te))],[],[]),del_rule:e.Func([Z,e.Text,Y],[],[]),delete_proposal_assets:e.Func([xe],[],[]),deposit_cycles:e.Func([be],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(ne)],[]),get_auth_config:e.Func([],[e.Opt(et)],[]),get_automation_config:e.Func([],[e.Opt(wt)],[]),get_config:e.Func([],[dn],[]),get_db_config:e.Func([],[e.Opt(nt)],[]),get_delegation:e.Func([fn],[yn],[]),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(ne)))],[]),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(qe)],[]),get_rule:e.Func([Z,e.Text],[e.Opt(Nt)],[]),get_storage_config:e.Func([],[Le],[]),http_request:e.Func([xn],[wn],[]),http_request_streaming_callback:e.Func([Ot],[Tn],[]),init_asset_upload:e.Func([Et],[we],[]),init_proposal:e.Func([lr],[e.Nat,qe],[]),init_proposal_asset_upload:e.Func([Et,e.Nat],[we],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Et),e.Nat],[e.Vec(e.Tuple(e.Text,we))],[]),list_assets:e.Func([e.Text,R],[Nn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,L))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,On))],[]),list_docs:e.Func([e.Text,R],[it],[]),list_proposals:e.Func([vn],[dr],[]),list_rules:e.Func([Z,Sn],[pr],[]),memory_size:e.Func([],[Cn],[]),reject_proposal:e.Func([A],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([Vn],[et],[]),set_automation_config:e.Func([ba],[wt],[]),set_controllers:e.Func([Ta],[e.Vec(e.Tuple(e.Principal,L))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([Na],[nt],[]),set_doc:e.Func([e.Text,e.Text,Vo],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Vo))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([Z,e.Text,Oa],[Nt],[]),set_storage_config:e.Func([Po],[Le],[]),set_storage_config_with_options:e.Func([Ra],[Le],[]),submit_proposal:e.Func([e.Nat],[e.Nat,qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Fo],[Bo],[]),upload_proposal_asset_chunk:e.Func([Fo],[Bo],[])})},fy=({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({GitHub:e.Null,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),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),l=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(l),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),u=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}),_=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),L=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Qt=e.Record({e12s:e.Nat64}),cn=e.Record({updated_at:e.Nat64,fee_cycles:Qt,fee_icp:e.Opt(t)}),er=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),tr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),rr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:tr,SegmentsDeployment:rr}),tt=e.Record({status:er,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:et}),nr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ln=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)}),un=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:un,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}),or=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],["query"])})}),wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(or),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=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}),Tt=e.Record({batch_id:e.Nat}),ir=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),sr=e.Record({field:ir,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),dn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),pn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),fn=e.Record({order:e.Opt(sr),owner:e.Opt(e.Principal),matcher:e.Opt(dn),paginate:e.Opt(pn)}),hn=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}),mn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),_n=e.Record({key:hn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,mn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),yn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,_n)),items_length:e.Nat64}),ar=e.Variant({Emulator:e.Null,Automation:e.Null}),cr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),gn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ar),created_at:e.Nat64,scope:cr,expires_at:e.Opt(e.Nat64)}),lr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,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)}),ur=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),xn=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),bn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),wn=e.Record({order:e.Opt(Ot),paginate:e.Opt(bn)}),Tn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Tn,tt)),items_length:e.Nat64}),we=e.Variant({Orbiter:e.Null,Satellite:e.Null}),Nn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(we)}),On=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:we}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),En=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),Rn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ar),scope:cr,expires_at:e.Opt(e.Nat64)}),vn=e.Record({controller:Rn,controllers:e.Vec(e.Principal)}),In=e.Record({fee_cycles:Qt,fee_icp:e.Opt(t)}),dr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:we}),An=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:we}),Sn=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),pr=e.Record({segment_id:e.Principal,segment_kind:we}),Cn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Vn=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],[m],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([C],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[L],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([Y],[ne],["query"]),get_fee:e.Func([ie],[cn],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],["query"]),get_rate_config:e.Func([ie],[nr],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([ln],[wt],["query"]),http_request_streaming_callback:e.Func([bt],[rt],["query"]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[Tt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,fn],[yn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,gn))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,lr))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(ur,xn))],["query"]),list_proposals:e.Func([wn],[Et],["query"]),list_segments:e.Func([Nn],[e.Vec(e.Tuple(On,it))],["query"]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([En],[B],[]),set_controllers:e.Func([vn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,In],[],[]),set_many_segments:e.Func([e.Vec(dr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,nr],[],[]),set_segment:e.Func([dr],[it],[]),set_segment_metadata:e.Func([An],[it],[]),set_storage_config:e.Func([Sn],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(pr)],[],[]),unset_segment:e.Func([pr],[],[]),upload_proposal_asset_chunk:e.Func([Cn],[Vn],[])})},hy=({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({GitHub:e.Null,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),preferred_username:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),l=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(l),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),u=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}),_=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),y=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:y}),b=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),g=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),O=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),v=e.Variant({Heap:e.Null,Stable:e.Null}),E=e.Record({system_memory:e.Opt(v)}),C=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(E),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),A=e.Record({delegation:e.Opt(P),client_id:e.Text}),x=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,A))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),S=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(x),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),M=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),R=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),V=e.Variant({Deny:e.Null,Allow:e.Null}),F=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),L=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),Z=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Y=e.Variant({OpenId:Z}),xe=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),be=e.Record({signature:e.Vec(e.Nat8),delegation:xe}),ze=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text,InvalidObservatoryId:e.Text}),ne=e.Variant({Ok:be,Err:ze}),ie=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Qt=e.Record({e12s:e.Nat64}),cn=e.Record({updated_at:e.Nat64,fee_cycles:Qt,fee_icp:e.Opt(t)}),er=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),tr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),rr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),et=e.Variant({AssetsUpgrade:tr,SegmentsDeployment:rr}),tt=e.Record({status:er,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:et}),nr=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ln=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)}),un=e.Variant({Heap:e.Null,Stable:e.Null}),bt=e.Record({memory:un,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}),or=e.Variant({Callback:e.Record({token:bt,callback:e.Func([],[],[])})}),wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(or),status_code:e.Nat16}),rt=e.Record({token:e.Opt(bt),body:e.Vec(e.Nat8)}),nt=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}),Tt=e.Record({batch_id:e.Nat}),ir=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),sr=e.Record({field:ir,desc:e.Bool}),Le=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),dn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Le),description:e.Opt(e.Text),created_at:e.Opt(Le)}),pn=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),fn=e.Record({order:e.Opt(sr),owner:e.Opt(e.Principal),matcher:e.Opt(dn),paginate:e.Opt(pn)}),hn=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}),mn=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),_n=e.Record({key:hn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,mn)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),yn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,_n)),items_length:e.Nat64}),ar=e.Variant({Emulator:e.Null,Automation:e.Null}),cr=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),gn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ar),created_at:e.Nat64,scope:cr,expires_at:e.Opt(e.Nat64)}),lr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),qe=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),ot=e.Record({status:qe,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)}),ur=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),Nt=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),xn=e.Record({status:qe,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:Nt}),Ot=e.Record({desc:e.Bool}),bn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),wn=e.Record({order:e.Opt(Ot),paginate:e.Opt(bn)}),Tn=e.Record({proposal_id:e.Nat}),Et=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Tn,tt)),items_length:e.Nat64}),we=e.Variant({Orbiter:e.Null,Satellite:e.Null}),Nn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(we)}),On=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:we}),it=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),En=e.Record({openid:e.Opt(x),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(S)}),Rn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),kind:e.Opt(ar),scope:cr,expires_at:e.Opt(e.Nat64)}),vn=e.Record({controller:Rn,controllers:e.Vec(e.Principal)}),In=e.Record({fee_cycles:Qt,fee_icp:e.Opt(t)}),dr=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:we}),An=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:we}),Sn=e.Record({iframe:e.Opt(M),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(R),raw_access:e.Opt(V),redirects:e.Opt(e.Vec(e.Tuple(e.Text,F)))}),pr=e.Record({segment_id:e.Principal,segment_kind:we}),Cn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Vn=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],[m],[]),commit_proposal:e.Func([b],[e.Null],[]),commit_proposal_asset_upload:e.Func([g],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(g)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([O],[e.Principal],[]),create_satellite:e.Func([C],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[L],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([Y],[ne],[]),get_fee:e.Func([ie],[cn],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(tt)],[]),get_rate_config:e.Func([ie],[nr],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([ln],[wt],[]),http_request_streaming_callback:e.Func([bt],[rt],[]),init_proposal:e.Func([et],[e.Nat,tt],[]),init_proposal_asset_upload:e.Func([nt,e.Nat],[Tt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(nt),e.Nat],[e.Vec(e.Tuple(e.Text,Tt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,fn],[yn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,gn))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,lr))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,ot))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(ur,xn))],[]),list_proposals:e.Func([wn],[Et],[]),list_segments:e.Func([Nn],[e.Vec(e.Tuple(On,it))],[]),reject_proposal:e.Func([b],[e.Null],[]),set_auth_config:e.Func([En],[B],[]),set_controllers:e.Func([vn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([ie,In],[],[]),set_many_segments:e.Func([e.Vec(dr)],[e.Vec(it)],[]),set_rate_config:e.Func([ie,nr],[],[]),set_segment:e.Func([dr],[it],[]),set_segment_metadata:e.Func([An],[it],[]),set_storage_config:e.Func([Sn],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,tt],[]),unset_many_segments:e.Func([e.Vec(pr)],[],[]),unset_segment:e.Func([pr],[],[]),upload_proposal_asset_chunk:e.Func([Cn],[Vn],[])})};var my=async({identity:e,host:t,localActor:r})=>await Ur.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),_y=async({agent:e,...t})=>e??await yy(t),yy=async({identity:e,container:t})=>{let r=J(t)&&t!==!1;return await my({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var dp=({satelliteId:e,certified:t=!1,...r})=>fp({canisterId:e,...r,idlFactory:t?cl:al});var pp=({consoleId:e,certified:t=!1,...r})=>fp({canisterId:e,...r,idlFactory:t?hy:fy}),fp=({canisterId:e,idlFactory:t,...r})=>{if(k(e))throw new Error("No canister ID provided.");return gy({canisterId:e,idlFactory:t,...r})},gy=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await _y(n);return Oo.createActor(t,{agent:o,canisterId:e,...r??{}})};var hp=({satelliteId:e,container:t})=>{let{satelliteId:r}=ll({satelliteId:e}),{container:n}=ul({container:t});if(J(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?Ro:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},ll=({satelliteId:e})=>J(e)?{satelliteId:e}:Ie.getInstance().get()??{satelliteId:void 0},ul=({container:e})=>J(e)?{container:e}:Ie.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>_p({idlFactory:t?cl:al,actorKey:`stock#${t?"update":"query"}`,...e}),mp=({idlFactory:e,...t})=>_p({idlFactory:e,actorKey:"extended#query",...t}),_p=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=ll({satelliteId:e});Lo(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=ul({container:t});return await Io.getInstance().getActor({satelliteId:n,container:o,...r})};var Qs=class extends Error{},kr=class extends Error{},ea=class extends Error{},ta=class extends Error{},So=class extends Error{},ra=class extends Error{},na=class extends Error{},oa=class extends Error{},ia=class extends Error{};var yp=e=>{if(k(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new ia("Invalid list matcher for timestamp",e)}},an=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:k(e)?[]:[{key:se(e.key),description:se(e.description),created_at:yp(e.createdAt),updated_at:yp(e.updatedAt)}],paginate:se(k(t)?void 0:{start_after:se(t.startAfter),limit:se(k(t.limit)?void 0:BigInt(t.limit))}),order:se(k(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(k(n)?void 0:typeof n=="string"?U.fromText(n):n)});var gp=async({data:e})=>{try{return await Li(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var dl=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await Ml(t),version:se(r)}},pl=e=>{let{version:t}=e;return{version:se(t)}},to=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:me(o),owner:r.toText(),data:await Li(i),version:me(n),...s}};var xp=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=me(await n(e,t));if(!k(o))return to({doc:o,key:t})},bp=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=me(a);i.push(J(c)?await to({key:s,doc:c}):void 0)}return i},wp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,i=await dl(t),s=await n(e,o,i);return await to({key:o,doc:s})},Tp=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await dl(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await to({key:s,doc:a}));return i},Np=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,pl(t))},Op=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:i})=>[o,i.key,pl(i)]);await r(n)},Ep=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,an(t))},Rp=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,an(t)),l=[];for(let[p,d]of o){let{data:u,owner:f,description:h,version:_,...y}=d;l.push({key:p,description:me(h),owner:f.toText(),data:await gp({data:u}),version:me(_),...y})}return{items:l,items_length:s,items_page:me(i),matches_length:a,matches_pages:me(c)}},vp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,an(t))};var sa=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await xp({...r,satellite:{...e,identity:n},options:t??Zt})},nO=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await bp({...r,satellite:{...e,identity:n},options:t??Zt})},Ip=async({satellite:e,...t})=>{let r=ue(e?.identity);return await wp({...t,satellite:{...e,identity:r},options:{certified:!0}})},Ap=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Tp({...t,satellite:{...e,identity:r},options:{certified:!0}})},oO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Np({...t,satellite:{...e,identity:r},options:{certified:!0}})},iO=async({satellite:e,...t})=>{let r=ue(e?.identity);return await Op({...t,satellite:{...e,identity:r},options:{certified:!0}})},sO=async({satellite:e,filter:t,...r})=>{let n=ue(e?.identity);return await Ep({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},aO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await Rp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Zt})},cO=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await vp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Zt})};var Sp=async({provider:e})=>{let{user:t,userId:r}=await aa();if(J(t))return t;try{return await xy({userId:r,provider:e})}catch(n){if(sl({error:n,type:up})){let o=await Cp({userId:r});if(J(o))return o}throw n}},aa=async()=>{let e=Xs();if(k(e))throw new oa("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Cp({userId:t});return{userId:t,user:r}},Cp=({userId:e})=>sa({collection:"#user",key:e}),xy=({userId:e,...t})=>Ip({collection:"#user",doc:{key:e,data:t}});var ca=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await Ai({fn:async()=>{let{user:r}=await aa();Ue.getInstance().set(r??null)},syncTabsOnSuccess:e})},Vp=async()=>{await lp({fn:async({authenticated:t})=>{let n=t?aa:()=>Promise.resolve({user:null}),{user:o}=await n();Ue.getInstance().set(o??null)}})},la=async({user:e})=>{await Ai({fn:async()=>{Ue.getInstance().set(e)},syncTabsOnSuccess:!0})};var Pp=()=>{try{let e=Ao.getInstance(),t=async()=>{await Vp(),Ni({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Fp=()=>{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()},Bp=()=>{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()},Dp=()=>{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()},Up=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GITHUB_CLIENT_ID??import.meta.env?.PUBLIC_GITHUB_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GITHUB_CLIENT_ID??e():e()},ua=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_JUNO_API_URL??import.meta.env?.PUBLIC_JUNO_API_URL:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_JUNO_API_URL??e():e()};var kp=BigInt(144e11),Lp=!1,qp={width:576,height:576},Mp={width:424,height:576},fl="internetcomputer.org",jp="ic0.app",da="id.ai";var Kp=({width:e,height:t})=>{if(!qi()||k(window)||k(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 Xt=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 $p=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))($p||{});var pa=class{async signIn({options:t,authClient:r,initAuth:n}){await Xt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Xt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(k(r)){o(new kr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===Zs){o(new ea(i));return}o(new Qs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??kp,allowPinAuthentication:t?.allowPin??Lp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var fa=class extends pa{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Ie.getInstance().get()?.container;if(k(i)||i===!1){let p=[fl,jp].includes(this.#e??da);return pt(this.#e)?`https://${da}`:p?`https://identity.${this.#e??fl}`:`https://${this.#e}`}let s=Ie.getInstance().get(),a=J(s)&&J(s?.internetIdentityId)?s.internetIdentityId:Hd,{host:c,protocol:l}=new URL(i===!0?Ro:i);return/apple/i.test(navigator?.vendor)?`${l}//${c}?canisterId=${a}`:`${l}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Kp((()=>{try{let{hostname:i}=new URL(n);return i.includes(da)}catch{return!1}})()?Mp:qp)},identityProvider:n}}};var hl=e=>jr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),by=()=>crypto.getRandomValues(new Uint8Array(32)),wy=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 crypto.subtle.digest("SHA-256",n);return hl(yr(o))},Hp=async({caller:e})=>{let t=by();return{nonce:await wy({salt:t,caller:e}),salt:t}};var Wp="juno:auth:openid",Gp={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},zp={authUrl:"https://github.com/login/oauth/authorize",authScopes:["read:user","user:email"],initUrl:"https://api.juno.build/v1/auth/init/github",finalizeUrl:"https://api.juno.build/v1/auth/finalize/github"},Ty=class extends Error{},Ny=class extends Error{},Oy=class extends Error{},Ey=class extends Error{},Ry=class extends Error{},vy=class extends Error{},Iy=class extends Error{},Yp=class extends Error{},Ay=class extends Error{},Sy=class extends Error{},Cy=class extends Error{constructor(e){super("GitHub OAuth initialization failed",e)}},Vy=class extends Error{constructor(e){super("GitHub OAuth finalization failed",e)}},Zp="__caller__",Xp="__salt__",Qp="__state__",Py=({caller:e,state:t,salt:r})=>{let n={[Zp]:e.toJSON(),[Xp]:jr(r),[Qp]:t};return JSON.stringify(n)},Fy=e=>{let{[Zp]:t,[Xp]:r,[Qp]:n}=JSON.parse(e);return{caller:dt.fromParsedJson(t),salt:ql(r),state:n}},Jp=async({generateState:e})=>{let t=dt.generate(),{nonce:r,salt:n}=await Hp({caller:t}),o=await e({nonce:r}),i=Py({caller:t,salt:n,state:o});return sessionStorage.setItem(Wp,i),{nonce:r,state:o}},By=()=>{let e=sessionStorage.getItem(Wp);if(k(e))throw new Ny;return Fy(e)},ef=({auth:e,identity:t})=>"satellite"in e?dp({...e.satellite,identity:t}):pp({...e.console,identity:t}),Dy=async({actorParams:e,args:t})=>{let{authenticate:r}=await ef(e);return await r(t)},Uy=async({actorParams:e,args:t})=>{let{get_delegation:r}=await ef(e);return await r(t)},ky=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Lt.fromDelegations(n,Uint8Array.from(r));return{identity:qt.fromDelegation(t,o),delegationChain:o,sessionKey:t}},ml=async({jwt:e,context:t,auth:r})=>{let n=await xt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await Ly({jwt:e,publicKey:o,context:t,auth:r});return{identity:ky({sessionKey:n,delegations:i}),data:s}},Ly=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await Dy({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Ry("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,l=await qy({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=l,{pubkey:u,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new sn(Uint8Array.from(u),f,me(h)),signature:Uint8Array.from(d)}]],data:c}},qy=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(l=>{setInterval(l,1e3*a)});let c=await Uy({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:l}=c;if("NoSuchDelegation"in l||"GetCachedJwks"in l)continue;throw new Ay("Getting delegation failed",{cause:c})}return c.Ok}throw new Sy},My=async({url:e})=>{try{let t=await fetch(e,{credentials:"include"});return t.ok?{success:await t.json()}:{error:new Error(`Failed to fetch ${e} (${t.status})`)}}catch(t){return{error:new Cy({cause:t})}}},jy=async({url:e,body:t})=>{try{let r=await fetch(e,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return r.ok?{success:await r.json()}:{error:new Error(`Failed to fetch ${e} (${r.status})`)}}catch(r){return{error:new Vy({cause:r})}}},Ky=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),a=await jy({url:r,body:{code:i,state:s}});if("error"in a)throw a.error;let{success:{token:c}}=a;if(pt(c))throw new Yp;return await ml({jwt:c,auth:e,context:t})},$y=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(pt(r)||!r.startsWith("#"))throw new vy("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(pt(s)||o!==s)throw new Iy("The provided state is invalid",{cause:o});if(pt(i))throw new Yp;return await ml({jwt:i,auth:e,context:t})},tf=async e=>{let t=By();if("github"in e){let{github:{redirect:n,auth:o}}=e,{finalizeUrl:i}=zp;return await Ky({redirect:n??{finalizeUrl:i},auth:o,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await ml({jwt:n,context:t,auth:o})}return await $y({...r,context:t})},_l=({url:e})=>{try{return new URL(e)}catch{throw new Ty("Cannot parse authURL",{cause:e})}},Hy=({initUrl:e})=>async({nonce:t})=>{let r=_l({url:e});r.searchParams.set("nonce",t);let n=await My({url:r.toString()});if("error"in n)throw n.error;let{success:{state:o}}=n;return o},Gy=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=_l({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()},Jy=()=>hl(crypto.getRandomValues(new Uint8Array(12))),Wy=async e=>Jy(),zy=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=_l({url: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),gr(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},Yy=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(k(i))throw new Oy;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new Ey("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function ha(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...l}=a,{authUrl:p,authScopes:d,initUrl:u}=zp,f=await Jp({generateState:Hy({initUrl:c??u})});Gy({...l,...f,authUrl:p,authScopes:d});return}let t=await Jp({generateState:Wy}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=Gp;return await Yy({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=Gp;zy({...n,...t,authUrl:o,authScopes:i})}var ma=({url:e})=>{try{return new URL(e)}catch{return console.warn(`Cannot parse URL ${e}. Skipping option.`),null}};var Zy=async e=>{let{satelliteId:t}=Ie.getInstance().get()??{satelliteId:void 0};if(k(t))throw new kr("Satellite ID not set. Have you initialized the Satellite?");let r=Ie.getInstance().get()?.container,n={auth:{satellite:{satelliteId:t,container:r}}},i=(()=>{let d="github"in e?e?.github?.options?.finalizeUrl:void 0;if(gr(d))return d;let u=ua();return pt(u)?null:ma({url:`${u}/v1/auth/finalize/github`})?.toString()??null})(),{identity:{delegationChain:s,sessionKey:a,identity:c},data:{doc:l}}=await tf("github"in e?{github:{redirect:J(i)?{finalizeUrl:i}:null,...n}}:{google:{redirect:null,...n}});await Ce.getInstance().setAuthClientStorage({delegationChain:s,sessionKey:a});let p=await to({doc:l,key:c.getPrincipal().toText()});await la({user:p})};var rf=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Xy=()=>{window.addEventListener("beforeunload",rf,{capture:!0})},Qy=()=>{window.removeEventListener("beforeunload",rf,{capture:!0})},_a=async({fn:e})=>{try{return Xy(),await e()}finally{Qy()}};function nf(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function gl(e,t){let r,n=()=>{if(r)return r;let o=indexedDB.open(e);return o.onupgradeneeded=()=>o.result.createObjectStore(t),r=nf(o),r.then(i=>{i.onclose=()=>r=void 0},()=>{}),r};return(o,i)=>n().then(s=>i(s.transaction(t,o).objectStore(t)))}var yl;function eg(){return yl||(yl=gl("keyval-store","keyval")),yl}function of(e,t,r=eg()){return r("readwrite",n=>new Promise((o,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),o(nf(n.transaction))}catch(s){i(s)}}}))}var tg=class extends Error{constructor(){super("A dev identity can only be used in browser environments")}},rg=class extends Error{constructor(){super("A dev identity must only be used on localhost (127.0.0.1 or localhost)")}},ng=class extends Error{constructor(e){super(`Identifier must be 32 characters or less, got ${e}`)}},og=gl("juno-dev-identifiers","juno-dev-identifiers-store");var sf=async({identifier:e="dev",maxTimeToLiveInMilliseconds:t}={})=>{if(!(typeof window<"u"))throw new tg;let{location:{hostname:r}}=window;if(!["127.0.0.1","localhost"].includes(r))throw new rg;let n=()=>{if(e.length>32)throw new ng(e.length);return new TextEncoder().encode(e.padEnd(32,"0"))},o=async()=>{let a=n(),c=dt.generate(a),l=await xt.generate({extractable:!1}),p=t??6048e5,d=await Lt.create(c,l.getPublicKey(),new Date(Date.now()+p));return{identity:qt.fromDelegation(l,d),sessionKey:l,delegationChain:d}},i=async()=>{await of(e,a=>{let c=Date.now();return{createdAt:a?.createdAt??c,updatedAt:c}},og)},s=await o();return await i(),s};var ya=class{async signIn({options:t,initAuth:r,setStorage:n}){let{sessionKey:o,delegationChain:i}=await sf(t);await n({sessionKey:o,delegationChain:i}),await r({provider:void 0})}};var ga=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Up();if(k(r))throw new So;let{redirect:n}=t;await ha({github:{redirect:{...n??{},clientId:r,initUrl:(()=>{let i=t?.redirect?.initUrl;if(gr(i))return i;let s=ua();if(!pt(s))return ma({url:`${s}/v1/auth/init/github`})?.toString()})()}}})}};var xa=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??Dp();if(k(r))throw new So;let{redirect:n}=t;await ha({google:{redirect:{...n??{},clientId:r}}})}};var af=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Ap({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...J(n)&&{aaguid:ki(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var cf=(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))(cf||{}),lf=(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))(lf||{});var Co=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Ie.getInstance().get()??{satelliteId:void 0};if(k(i))throw new kr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:y})=>{switch(_){case on.RequestingUserCredential:t?.({step:1,state:y});break;case on.FinalizingCredential:t?.({step:2,state:y});break;case on.Signing:t?.({step:3,state:y});break}},c=await Xt({fn:async()=>await Jc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:l,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),u=await Xt({fn:async()=>await af({delegationIdentity:l,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Xt({fn:async()=>await this.#t({delegationIdentity:l,sessionKey:p}),step:4,onProgress:t}),await Xt({fn:async()=>await o({user:u}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Ie.getInstance().get()??{satelliteId:void 0};if(k(o))throw new kr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let u=await sa({collection:"#user-webauthn",key:jr(d),options:{certified:!0},satellite:{identity:new at,satelliteId:o}});if(k(u))throw new ra("No public key found for the selected passkey.");let{data:f}=u,{publicKey:h}=f;return eo(h,wi)},s=({step:d,state:u})=>{switch(d){case on.RequestingUserCredential:t?.({step:0,state:u});break;case on.FinalizingCredential:t?.({step:1,state:u});break;case on.Signing:t?.({step:2,state:u});break}},a=await Jc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:l}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Xt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:l}),step:3,onProgress:t}),await Xt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await xt.generate({extractable:!1}),o=r??144e5,i=await Lt.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:qt.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Yt;await Promise.all([n.set(We,t.getKeyPair()),n.set(ke,JSON.stringify(r.getDelegation().toJSON()))])}};var uf=async({provider:e})=>{await Ai({fn:async()=>{let r=await Sp({provider:e});Ue.getInstance().set(r)},syncTabsOnSuccess:!0})},sg=async e=>{if("google"in e){let{google:{options:t}}=e;await Si({fn:()=>new xa().signIn({options:t}),context:{windowGuard:!1}});return}if("github"in e){let{github:{options:t}}=e;await Si({fn:()=>new ga().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Si({fn:()=>new Co().signIn({options:t,loadAuth:()=>ca({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Si({fn:()=>new fa({domain:n}).signIn({options:o,authClient:Ce.getInstance().getAuthClient(),initAuth:uf}),context:r});return}if("dev"in e){let{dev:{options:t}}=e,{setAuthClientStorage:r}=Ce.getInstance();await Si({fn:()=>new ya().signIn({options:t,initAuth:uf,setStorage:r}),context:{windowGuard:!1}});return}throw new ta("An unknown or unsupported provider was provided for sign-in.")},Si=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await _a({fn:e})};var ag=async e=>{let t=async()=>await cg(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await _a({fn:t})},cg=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new Co().signUp({options:t,loadAuthWithUser:la});return}throw new na("An unknown or unsupported provider was provided for sign-up.")};var PR=e=>e?.data?.provider==="webauthn",FR=e=>e?.data?.provider==="google",BR=e=>e?.data?.provider==="github";var LR=async({idlFactory:e,satellite:t})=>{let r=ue(t?.identity);return await mp({idlFactory:e,...t,identity:r})};var df=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(lg(r));o?.onInitiatedBatch();let{chunkIds:l}=await pg({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await dg({commitFn:a,batchId:c,data:e,headers:t,chunkIds:l}),o?.onCommittedBatch()};var lg=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),ug=({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??[]]}},dg=async({commitFn:e,...t})=>{let r=ug(t);await e(r)},pg=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=qi()?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 fg({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*fg({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=>hg(o)))}}var hg=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var pf=async({asset:e,...t})=>{let r=await ge(t);await df({actor:r,asset:e})},ff=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,an(t));return{items:o.map(([l,p])=>p),items_length:i,items_page:me(s),matches_length:a,matches_pages:me(c)}},hf=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,an(t))},mf=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),_f=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},yf=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,an(t))},gf=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await ge(n);return o(e,t,se(r))},xf=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return me(await n(e,t))},bf=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>me(s))};var wf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var t6=e=>Tf(e),r6=e=>Tf({filename:e.data.name,...e}),Tf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let l=ue(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,u={...s,identity:l};return await pf({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:u,options:{certified:!0}}),{downloadUrl:Nf({satellite:u,assetKey:{fullPath:d,token:i}}),fullPath:d,...J(i)&&{token:i},name:p}},n6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)},{items:i,...s}=await ff({collection:e,filter:t??{},satellite:o,options:n??Zt}),a=i.map(({key:{full_path:c,token:l,name:p,owner:d,description:u},headers:f,encodings:h,created_at:_,updated_at:y})=>{let m=me(l);return{fullPath:c,description:me(u),name:p,downloadUrl:Nf({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((b,[g,{modified:T,sha256:O,total_length:v}])=>({...b,[g]:{modified:T,sha256:wf(O),total_length:v}}),{}),owner:d.toText(),created_at:_,updated_at:y}});return{items:a,assets:a,...s}},o6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)};return await hf({collection:e,satellite:o,filter:t??{},options:n??Zt})},i6=({collection:e,fullPath:t,satellite:r})=>mf({collection:e,fullPath:t,satellite:{...r,identity:ue(r?.identity)},options:{certified:!0}}),s6=({collection:e,fullPath:t,token:r,satellite:n})=>gf({collection:e,fullPath:t,token:r,satellite:{...n,identity:ue(n?.identity)},options:{certified:!0}}),a6=({assets:e,satellite:t})=>_f({assets:e,satellite:{...t,identity:ue(t?.identity)},options:{certified:!0}}),c6=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ue(t?.identity)};return await yf({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},l6=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await xf({...r,satellite:{...e,identity:n},options:t??Zt})},u6=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await bf({...r,satellite:{...e,identity:n},options:t??Zt})},Nf=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ue(r?.identity)};return`${hp(n)}${e}${J(t)?`?token=${t}`:""}`};var mg=e=>{let t=e?.satelliteId??Fp();Lo(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Bp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},b6=e=>_g(e),_g=async e=>{let t=mg(e);Ie.getInstance().set(t),await ca();let r=t.workers?.auth!==void 0?cp(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Pp();return[...J(r)?[r]:[],...J(n)?[n]:[]]},yg=e=>Ue.getInstance().subscribe(e),w6=yg;export{$p as AuthClientSignInProgressStep,oa as InitError,fa as InternetIdentityProvider,ia as ListError,Qs as SignInError,kr as SignInInitError,So as SignInMissingClientIdError,ta as SignInProviderNotSupportedError,ea as SignInUserInterruptError,na as SignUpProviderNotSupportedError,cf as WebAuthnSignInProgressStep,ra as WebAuthnSignInRetrievePublicKeyError,lf as WebAuthnSignUpProgressStep,w6 as authSubscribe,o6 as countAssets,cO as countDocs,i6 as deleteAsset,oO as deleteDoc,c6 as deleteFilteredAssets,sO as deleteFilteredDocs,a6 as deleteManyAssets,iO as deleteManyDocs,Nf as downloadUrl,l6 as getAsset,sa as getDoc,py as getIdentityOnce,u6 as getManyAssets,nO as getManyDocs,LR as getSatelliteExtendedActor,Zy as handleRedirectCallback,b6 as initJuno,_g as initSatellite,BR as isGitHubUser,FR as isGoogleUser,k_ as isWebAuthnAvailable,PR as isWebAuthnUser,n6 as listAssets,aO as listDocs,yg as onAuthStateChange,s6 as setAssetToken,Ip as setDoc,Ap as setManyDocs,sg as signIn,il as signOut,ag as signUp,dy as unsafeIdentity,t6 as uploadBlob,r6 as uploadFile};
64
59
  /*! Bundled license information:
65
60
 
66
61
  @noble/hashes/esm/utils.js: