@junobuild/core 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export * from './esm/index.js';
1
+ export * from './browser/index.js';
@@ -46,7 +46,7 @@ ${A(i)}
46
46
  Request ID: ${(0,Pc.toHex)(e)}
47
47
  `)}throw new Error("unreachable")}Ve.pollForResponse=Kc});var jc=sA(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.default=({IDL:t})=>{let A=t.Principal,e=t.Record({controllers:t.Vec(t.Principal),freezing_threshold:t.Nat,memory_allocation:t.Nat,compute_allocation:t.Nat}),r=t.Record({controllers:t.Opt(t.Vec(t.Principal)),freezing_threshold:t.Opt(t.Nat),memory_allocation:t.Opt(t.Nat),compute_allocation:t.Opt(t.Nat)}),i=t.Vec(t.Nat8);return t.Service({canister_status:t.Func([t.Record({canister_id:A})],[t.Record({status:t.Variant({stopped:t.Null,stopping:t.Null,running:t.Null}),memory_size:t.Nat,cycles:t.Nat,settings:e,module_hash:t.Opt(t.Vec(t.Nat8))})],[]),create_canister:t.Func([t.Record({settings:t.Opt(r)})],[t.Record({canister_id:A})],[]),delete_canister:t.Func([t.Record({canister_id:A})],[],[]),deposit_cycles:t.Func([t.Record({canister_id:A})],[],[]),install_code:t.Func([t.Record({arg:t.Vec(t.Nat8),wasm_module:i,mode:t.Variant({reinstall:t.Null,upgrade:t.Null,install:t.Null}),canister_id:A})],[],[]),provisional_create_canister_with_cycles:t.Func([t.Record({settings:t.Opt(r),amount:t.Opt(t.Nat)})],[t.Record({canister_id:A})],[]),provisional_top_up_canister:t.Func([t.Record({canister_id:A,amount:t.Nat})],[],[]),raw_rand:t.Func([],[t.Vec(t.Nat8)],[]),start_canister:t.Func([t.Record({canister_id:A})],[],[]),stop_canister:t.Func([t.Record({canister_id:A})],[],[]),uninstall_code:t.Func([t.Record({canister_id:A})],[],[]),update_settings:t.Func([t.Record({canister_id:t.Principal,settings:r})],[],[])})}});var Qn=sA(Me=>{"use strict";var zB=Me&&Me.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Me,"__esModule",{value:!0});Me.getManagementCanister=Me.Actor=Me.CanisterInstallMode=Me.UpdateCallRejectedError=Me.QueryCallRejectedError=Me.ActorCallError=void 0;var ZB=so(),ra=En(),$B=Kr(),In=zr(),Wc=ea(),Jt=gt(),AE=ut(),eE=zB(jc()),Bi=class extends $B.AgentError{constructor(A,e,r,i){super(["Call failed:",` Canister: ${A.toText()}`,` Method: ${e} (${r})`,...Object.getOwnPropertyNames(i).map(s=>` "${s}": ${JSON.stringify(i[s])}`)].join(`
48
48
  `)),this.canisterId=A,this.methodName=e,this.type=r,this.props=i}};Me.ActorCallError=Bi;var ln=class extends Bi{constructor(A,e,r){var i;super(A,e,"query",{Status:r.status,Code:(i=ra.ReplicaRejectCode[r.reject_code])!==null&&i!==void 0?i:`Unknown Code "${r.reject_code}"`,Message:r.reject_message}),this.result=r}};Me.QueryCallRejectedError=ln;var hn=class extends Bi{constructor(A,e,r,i){super(A,e,"update",{"Request ID":(0,AE.toHex)(r),"HTTP status code":i.status.toString(),"HTTP status text":i.statusText}),this.requestId=r,this.response=i}};Me.UpdateCallRejectedError=hn;var Xc;(function(t){t.Install="install",t.Reinstall="reinstall",t.Upgrade="upgrade"})(Xc=Me.CanisterInstallMode||(Me.CanisterInstallMode={}));var nt=Symbol.for("ic-agent-metadata"),Or=class{constructor(A){this[nt]=Object.freeze(A)}static agentOf(A){return A[nt].config.agent}static interfaceOf(A){return A[nt].service}static canisterIdOf(A){return Jt.Principal.from(A[nt].config.canisterId)}static async install(A,e){let r=A.mode===void 0?Xc.Install:A.mode,i=A.arg?[...new Uint8Array(A.arg)]:[],s=[...new Uint8Array(A.module)],o=typeof e.canisterId=="string"?Jt.Principal.fromText(e.canisterId):e.canisterId;await ia(e).install_code({mode:{[r]:null},arg:i,wasm_module:s,canister_id:o})}static async createCanister(A){let{canister_id:e}=await ia(A||{}).provisional_create_canister_with_cycles({amount:[],settings:[]});return e}static async createAndInstallCanister(A,e,r){let i=await this.createCanister(r);return await this.install(Object.assign({},e),Object.assign(Object.assign({},r),{canisterId:i})),this.createActor(A,Object.assign(Object.assign({},r),{canisterId:i}))}static createActorClass(A){let e=A({IDL:In.IDL});class r extends Or{constructor(s){let o=typeof s.canisterId=="string"?Jt.Principal.fromText(s.canisterId):s.canisterId;super({config:Object.assign(Object.assign(Object.assign({},zc),s),{canisterId:o}),service:e});for(let[u,E]of e._fields)this[u]=tE(this,u,E,s.blsVerify)}}return r}static createActor(A,e){return new(this.createActorClass(A))(e)}};Me.Actor=Or;function Vc(t,A){let e=In.IDL.decode(t,ZB.Buffer.from(A));switch(e.length){case 0:return;case 1:return e[0];default:return e}}var zc={pollingStrategyFactory:Wc.strategy.defaultStrategy};function tE(t,A,e,r){let i;e.annotations.includes("query")?i=async(o,...u)=>{var E,y;o=Object.assign(Object.assign({},o),(y=(E=t[nt].config).queryTransform)===null||y===void 0?void 0:y.call(E,A,u,Object.assign(Object.assign({},t[nt].config),o)));let T=o.agent||t[nt].config.agent||(0,ra.getDefaultAgent)(),M=Jt.Principal.from(o.canisterId||t[nt].config.canisterId),$=In.IDL.encode(e.argTypes,u),R=await T.query(M,{methodName:A,arg:$});switch(R.status){case"rejected":throw new ln(M,A,R);case"replied":return Vc(e.retTypes,R.reply.arg)}}:i=async(o,...u)=>{var E,y;o=Object.assign(Object.assign({},o),(y=(E=t[nt].config).callTransform)===null||y===void 0?void 0:y.call(E,A,u,Object.assign(Object.assign({},t[nt].config),o)));let T=o.agent||t[nt].config.agent||(0,ra.getDefaultAgent)(),{canisterId:M,effectiveCanisterId:$,pollingStrategyFactory:R}=Object.assign(Object.assign(Object.assign({},zc),t[nt].config),o),z=Jt.Principal.from(M),lA=$!==void 0?Jt.Principal.from($):z,NA=In.IDL.encode(e.argTypes,u),{requestId:hA,response:qA}=await T.call(z,{methodName:A,arg:NA,effectiveCanisterId:lA});if(!qA.ok)throw new hn(z,A,hA,qA);let KA=R(),YA=await(0,Wc.pollForResponse)(T,lA,hA,KA,r);if(YA!==void 0)return Vc(e.retTypes,YA);if(e.retTypes.length===0)return;throw new Error(`Call was returned undefined, but type [${e.retTypes.join(",")}].`)};let s=(...o)=>i({},...o);return s.withOptions=o=>(...u)=>i(o,...u),s}function ia(t){function A(e,r,i){let s=r[0],o=Jt.Principal.fromHex("");return s&&typeof s=="object"&&s.canister_id&&(o=Jt.Principal.from(s.canister_id)),{effectiveCanisterId:o}}return Or.createActor(eE.default,Object.assign(Object.assign(Object.assign({},t),{canisterId:Jt.Principal.fromHex("")}),{callTransform:A,queryTransform:A}))}Me.getManagementCanister=ia});var Zc=sA(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.default=({IDL:t})=>t.Service({retrieve:t.Func([t.Text],[t.Vec(t.Nat8)],["query"]),store:t.Func([t.Text,t.Vec(t.Nat8)],[],[])})});var $c=sA(kr=>{"use strict";var rE=kr&&kr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kr,"__esModule",{value:!0});kr.createAssetCanisterActor=void 0;var iE=Qn(),nE=rE(Zc());function sE(t){return iE.Actor.createActor(nE.default,t)}kr.createAssetCanisterActor=sE});var Ag=sA(vt=>{"use strict";var aE=vt&&vt.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),oE=vt&&vt.__setModuleDefault||(Object.create?function(t,A){Object.defineProperty(t,"default",{enumerable:!0,value:A})}:function(t,A){t.default=A}),cE=vt&&vt.__importStar||function(t){if(t&&t.__esModule)return t;var A={};if(t!=null)for(var e in t)e!=="default"&&Object.prototype.hasOwnProperty.call(t,e)&&aE(A,t,e);return oE(A,t),A};Object.defineProperty(vt,"__esModule",{value:!0});vt.fetchCandid=void 0;var gE=gt(),fE=cE(un()),uE=Xs(),BE=Qn();async function EE(t,A){A||(A=new uE.HttpAgent,A.isLocal()&&A.fetchRootKey());let r=(await fE.request({agent:A,canisterId:gE.Principal.fromText(t),paths:["candid"]})).get("candid");if(r)return r;let i=({IDL:o})=>o.Service({__get_candid_interface_tmp_hack:o.Func([],[o.Text],["query"])});return await BE.Actor.createActor(i,{agent:A,canisterId:t}).__get_candid_interface_tmp_hack()}vt.fetchCandid=EE});var gr=sA($A=>{"use strict";var eg=$A&&$A.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),IE=$A&&$A.__setModuleDefault||(Object.create?function(t,A){Object.defineProperty(t,"default",{enumerable:!0,value:A})}:function(t,A){t.default=A}),lt=$A&&$A.__exportStar||function(t,A){for(var e in t)e!=="default"&&!Object.prototype.hasOwnProperty.call(A,e)&&eg(A,t,e)},sa=$A&&$A.__importStar||function(t){if(t&&t.__esModule)return t;var A={};if(t!=null)for(var e in t)e!=="default"&&Object.prototype.hasOwnProperty.call(t,e)&&eg(A,t,e);return IE(A,t),A};Object.defineProperty($A,"__esModule",{value:!0});$A.Cbor=$A.CanisterStatus=$A.polling=void 0;lt(Qn(),$A);lt(En(),$A);lt(Ms(),$A);lt(fn(),$A);lt(sn(),$A);lt(si(),$A);lt($c(),$A);lt(Ag(),$A);lt(ti(),$A);lt(js(),$A);lt(ut(),$A);$A.polling=sa(ea());$A.CanisterStatus=sa(un());$A.Cbor=sa(ni())});var aa=sA((Gl,dn)=>{(function(t){"use strict";var A=function(a){var g,c=new Float64Array(16);if(a)for(g=0;g<a.length;g++)c[g]=a[g];return c},e=function(){throw new Error("no PRNG")},r=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var s=A(),o=A([1]),u=A([56129,1]),E=A([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),y=A([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),T=A([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),M=A([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),$=A([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function R(a,g,c,n){a[g]=c>>24&255,a[g+1]=c>>16&255,a[g+2]=c>>8&255,a[g+3]=c&255,a[g+4]=n>>24&255,a[g+5]=n>>16&255,a[g+6]=n>>8&255,a[g+7]=n&255}function z(a,g,c,n,B){var x,p=0;for(x=0;x<B;x++)p|=a[g+x]^c[n+x];return(1&p-1>>>8)-1}function lA(a,g,c,n){return z(a,g,c,n,16)}function NA(a,g,c,n){return z(a,g,c,n,32)}function hA(a,g,c,n){for(var B=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,x=c[0]&255|(c[1]&255)<<8|(c[2]&255)<<16|(c[3]&255)<<24,p=c[4]&255|(c[5]&255)<<8|(c[6]&255)<<16|(c[7]&255)<<24,O=c[8]&255|(c[9]&255)<<8|(c[10]&255)<<16|(c[11]&255)<<24,V=c[12]&255|(c[13]&255)<<8|(c[14]&255)<<16|(c[15]&255)<<24,oA=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,tA=g[0]&255|(g[1]&255)<<8|(g[2]&255)<<16|(g[3]&255)<<24,MA=g[4]&255|(g[5]&255)<<8|(g[6]&255)<<16|(g[7]&255)<<24,aA=g[8]&255|(g[9]&255)<<8|(g[10]&255)<<16|(g[11]&255)<<24,QA=g[12]&255|(g[13]&255)<<8|(g[14]&255)<<16|(g[15]&255)<<24,dA=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,iA=c[16]&255|(c[17]&255)<<8|(c[18]&255)<<16|(c[19]&255)<<24,pA=c[20]&255|(c[21]&255)<<8|(c[22]&255)<<16|(c[23]&255)<<24,CA=c[24]&255|(c[25]&255)<<8|(c[26]&255)<<16|(c[27]&255)<<24,I=c[28]&255|(c[29]&255)<<8|(c[30]&255)<<16|(c[31]&255)<<24,Z=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,J=B,j=x,eA=p,nA=O,cA=V,rA=oA,v=tA,N=MA,Y=aA,k=QA,H=dA,P=iA,IA=pA,yA=CA,xA=I,wA=Z,Q,DA=0;DA<20;DA+=2)Q=J+IA|0,cA^=Q<<7|Q>>>32-7,Q=cA+J|0,Y^=Q<<9|Q>>>32-9,Q=Y+cA|0,IA^=Q<<13|Q>>>32-13,Q=IA+Y|0,J^=Q<<18|Q>>>32-18,Q=rA+j|0,k^=Q<<7|Q>>>32-7,Q=k+rA|0,yA^=Q<<9|Q>>>32-9,Q=yA+k|0,j^=Q<<13|Q>>>32-13,Q=j+yA|0,rA^=Q<<18|Q>>>32-18,Q=H+v|0,xA^=Q<<7|Q>>>32-7,Q=xA+H|0,eA^=Q<<9|Q>>>32-9,Q=eA+xA|0,v^=Q<<13|Q>>>32-13,Q=v+eA|0,H^=Q<<18|Q>>>32-18,Q=wA+P|0,nA^=Q<<7|Q>>>32-7,Q=nA+wA|0,N^=Q<<9|Q>>>32-9,Q=N+nA|0,P^=Q<<13|Q>>>32-13,Q=P+N|0,wA^=Q<<18|Q>>>32-18,Q=J+nA|0,j^=Q<<7|Q>>>32-7,Q=j+J|0,eA^=Q<<9|Q>>>32-9,Q=eA+j|0,nA^=Q<<13|Q>>>32-13,Q=nA+eA|0,J^=Q<<18|Q>>>32-18,Q=rA+cA|0,v^=Q<<7|Q>>>32-7,Q=v+rA|0,N^=Q<<9|Q>>>32-9,Q=N+v|0,cA^=Q<<13|Q>>>32-13,Q=cA+N|0,rA^=Q<<18|Q>>>32-18,Q=H+k|0,P^=Q<<7|Q>>>32-7,Q=P+H|0,Y^=Q<<9|Q>>>32-9,Q=Y+P|0,k^=Q<<13|Q>>>32-13,Q=k+Y|0,H^=Q<<18|Q>>>32-18,Q=wA+xA|0,IA^=Q<<7|Q>>>32-7,Q=IA+wA|0,yA^=Q<<9|Q>>>32-9,Q=yA+IA|0,xA^=Q<<13|Q>>>32-13,Q=xA+yA|0,wA^=Q<<18|Q>>>32-18;J=J+B|0,j=j+x|0,eA=eA+p|0,nA=nA+O|0,cA=cA+V|0,rA=rA+oA|0,v=v+tA|0,N=N+MA|0,Y=Y+aA|0,k=k+QA|0,H=H+dA|0,P=P+iA|0,IA=IA+pA|0,yA=yA+CA|0,xA=xA+I|0,wA=wA+Z|0,a[0]=J>>>0&255,a[1]=J>>>8&255,a[2]=J>>>16&255,a[3]=J>>>24&255,a[4]=j>>>0&255,a[5]=j>>>8&255,a[6]=j>>>16&255,a[7]=j>>>24&255,a[8]=eA>>>0&255,a[9]=eA>>>8&255,a[10]=eA>>>16&255,a[11]=eA>>>24&255,a[12]=nA>>>0&255,a[13]=nA>>>8&255,a[14]=nA>>>16&255,a[15]=nA>>>24&255,a[16]=cA>>>0&255,a[17]=cA>>>8&255,a[18]=cA>>>16&255,a[19]=cA>>>24&255,a[20]=rA>>>0&255,a[21]=rA>>>8&255,a[22]=rA>>>16&255,a[23]=rA>>>24&255,a[24]=v>>>0&255,a[25]=v>>>8&255,a[26]=v>>>16&255,a[27]=v>>>24&255,a[28]=N>>>0&255,a[29]=N>>>8&255,a[30]=N>>>16&255,a[31]=N>>>24&255,a[32]=Y>>>0&255,a[33]=Y>>>8&255,a[34]=Y>>>16&255,a[35]=Y>>>24&255,a[36]=k>>>0&255,a[37]=k>>>8&255,a[38]=k>>>16&255,a[39]=k>>>24&255,a[40]=H>>>0&255,a[41]=H>>>8&255,a[42]=H>>>16&255,a[43]=H>>>24&255,a[44]=P>>>0&255,a[45]=P>>>8&255,a[46]=P>>>16&255,a[47]=P>>>24&255,a[48]=IA>>>0&255,a[49]=IA>>>8&255,a[50]=IA>>>16&255,a[51]=IA>>>24&255,a[52]=yA>>>0&255,a[53]=yA>>>8&255,a[54]=yA>>>16&255,a[55]=yA>>>24&255,a[56]=xA>>>0&255,a[57]=xA>>>8&255,a[58]=xA>>>16&255,a[59]=xA>>>24&255,a[60]=wA>>>0&255,a[61]=wA>>>8&255,a[62]=wA>>>16&255,a[63]=wA>>>24&255}function qA(a,g,c,n){for(var B=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,x=c[0]&255|(c[1]&255)<<8|(c[2]&255)<<16|(c[3]&255)<<24,p=c[4]&255|(c[5]&255)<<8|(c[6]&255)<<16|(c[7]&255)<<24,O=c[8]&255|(c[9]&255)<<8|(c[10]&255)<<16|(c[11]&255)<<24,V=c[12]&255|(c[13]&255)<<8|(c[14]&255)<<16|(c[15]&255)<<24,oA=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,tA=g[0]&255|(g[1]&255)<<8|(g[2]&255)<<16|(g[3]&255)<<24,MA=g[4]&255|(g[5]&255)<<8|(g[6]&255)<<16|(g[7]&255)<<24,aA=g[8]&255|(g[9]&255)<<8|(g[10]&255)<<16|(g[11]&255)<<24,QA=g[12]&255|(g[13]&255)<<8|(g[14]&255)<<16|(g[15]&255)<<24,dA=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,iA=c[16]&255|(c[17]&255)<<8|(c[18]&255)<<16|(c[19]&255)<<24,pA=c[20]&255|(c[21]&255)<<8|(c[22]&255)<<16|(c[23]&255)<<24,CA=c[24]&255|(c[25]&255)<<8|(c[26]&255)<<16|(c[27]&255)<<24,I=c[28]&255|(c[29]&255)<<8|(c[30]&255)<<16|(c[31]&255)<<24,Z=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,J=B,j=x,eA=p,nA=O,cA=V,rA=oA,v=tA,N=MA,Y=aA,k=QA,H=dA,P=iA,IA=pA,yA=CA,xA=I,wA=Z,Q,DA=0;DA<20;DA+=2)Q=J+IA|0,cA^=Q<<7|Q>>>32-7,Q=cA+J|0,Y^=Q<<9|Q>>>32-9,Q=Y+cA|0,IA^=Q<<13|Q>>>32-13,Q=IA+Y|0,J^=Q<<18|Q>>>32-18,Q=rA+j|0,k^=Q<<7|Q>>>32-7,Q=k+rA|0,yA^=Q<<9|Q>>>32-9,Q=yA+k|0,j^=Q<<13|Q>>>32-13,Q=j+yA|0,rA^=Q<<18|Q>>>32-18,Q=H+v|0,xA^=Q<<7|Q>>>32-7,Q=xA+H|0,eA^=Q<<9|Q>>>32-9,Q=eA+xA|0,v^=Q<<13|Q>>>32-13,Q=v+eA|0,H^=Q<<18|Q>>>32-18,Q=wA+P|0,nA^=Q<<7|Q>>>32-7,Q=nA+wA|0,N^=Q<<9|Q>>>32-9,Q=N+nA|0,P^=Q<<13|Q>>>32-13,Q=P+N|0,wA^=Q<<18|Q>>>32-18,Q=J+nA|0,j^=Q<<7|Q>>>32-7,Q=j+J|0,eA^=Q<<9|Q>>>32-9,Q=eA+j|0,nA^=Q<<13|Q>>>32-13,Q=nA+eA|0,J^=Q<<18|Q>>>32-18,Q=rA+cA|0,v^=Q<<7|Q>>>32-7,Q=v+rA|0,N^=Q<<9|Q>>>32-9,Q=N+v|0,cA^=Q<<13|Q>>>32-13,Q=cA+N|0,rA^=Q<<18|Q>>>32-18,Q=H+k|0,P^=Q<<7|Q>>>32-7,Q=P+H|0,Y^=Q<<9|Q>>>32-9,Q=Y+P|0,k^=Q<<13|Q>>>32-13,Q=k+Y|0,H^=Q<<18|Q>>>32-18,Q=wA+xA|0,IA^=Q<<7|Q>>>32-7,Q=IA+wA|0,yA^=Q<<9|Q>>>32-9,Q=yA+IA|0,xA^=Q<<13|Q>>>32-13,Q=xA+yA|0,wA^=Q<<18|Q>>>32-18;a[0]=J>>>0&255,a[1]=J>>>8&255,a[2]=J>>>16&255,a[3]=J>>>24&255,a[4]=rA>>>0&255,a[5]=rA>>>8&255,a[6]=rA>>>16&255,a[7]=rA>>>24&255,a[8]=H>>>0&255,a[9]=H>>>8&255,a[10]=H>>>16&255,a[11]=H>>>24&255,a[12]=wA>>>0&255,a[13]=wA>>>8&255,a[14]=wA>>>16&255,a[15]=wA>>>24&255,a[16]=v>>>0&255,a[17]=v>>>8&255,a[18]=v>>>16&255,a[19]=v>>>24&255,a[20]=N>>>0&255,a[21]=N>>>8&255,a[22]=N>>>16&255,a[23]=N>>>24&255,a[24]=Y>>>0&255,a[25]=Y>>>8&255,a[26]=Y>>>16&255,a[27]=Y>>>24&255,a[28]=k>>>0&255,a[29]=k>>>8&255,a[30]=k>>>16&255,a[31]=k>>>24&255}function KA(a,g,c,n){hA(a,g,c,n)}function YA(a,g,c,n){qA(a,g,c,n)}var fA=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function gA(a,g,c,n,B,x,p){var O=new Uint8Array(16),V=new Uint8Array(64),oA,tA;for(tA=0;tA<16;tA++)O[tA]=0;for(tA=0;tA<8;tA++)O[tA]=x[tA];for(;B>=64;){for(KA(V,O,p,fA),tA=0;tA<64;tA++)a[g+tA]=c[n+tA]^V[tA];for(oA=1,tA=8;tA<16;tA++)oA=oA+(O[tA]&255)|0,O[tA]=oA&255,oA>>>=8;B-=64,g+=64,n+=64}if(B>0)for(KA(V,O,p,fA),tA=0;tA<B;tA++)a[g+tA]=c[n+tA]^V[tA];return 0}function bA(a,g,c,n,B){var x=new Uint8Array(16),p=new Uint8Array(64),O,V;for(V=0;V<16;V++)x[V]=0;for(V=0;V<8;V++)x[V]=n[V];for(;c>=64;){for(KA(p,x,B,fA),V=0;V<64;V++)a[g+V]=p[V];for(O=1,V=8;V<16;V++)O=O+(x[V]&255)|0,x[V]=O&255,O>>>=8;c-=64,g+=64}if(c>0)for(KA(p,x,B,fA),V=0;V<c;V++)a[g+V]=p[V];return 0}function vA(a,g,c,n,B){var x=new Uint8Array(32);YA(x,n,B,fA);for(var p=new Uint8Array(8),O=0;O<8;O++)p[O]=n[O+16];return bA(a,g,c,p,x)}function W(a,g,c,n,B,x,p){var O=new Uint8Array(32);YA(O,x,p,fA);for(var V=new Uint8Array(8),oA=0;oA<8;oA++)V[oA]=x[oA+16];return gA(a,g,c,n,B,V,O)}var JA=function(a){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var g,c,n,B,x,p,O,V;g=a[0]&255|(a[1]&255)<<8,this.r[0]=g&8191,c=a[2]&255|(a[3]&255)<<8,this.r[1]=(g>>>13|c<<3)&8191,n=a[4]&255|(a[5]&255)<<8,this.r[2]=(c>>>10|n<<6)&7939,B=a[6]&255|(a[7]&255)<<8,this.r[3]=(n>>>7|B<<9)&8191,x=a[8]&255|(a[9]&255)<<8,this.r[4]=(B>>>4|x<<12)&255,this.r[5]=x>>>1&8190,p=a[10]&255|(a[11]&255)<<8,this.r[6]=(x>>>14|p<<2)&8191,O=a[12]&255|(a[13]&255)<<8,this.r[7]=(p>>>11|O<<5)&8065,V=a[14]&255|(a[15]&255)<<8,this.r[8]=(O>>>8|V<<8)&8191,this.r[9]=V>>>5&127,this.pad[0]=a[16]&255|(a[17]&255)<<8,this.pad[1]=a[18]&255|(a[19]&255)<<8,this.pad[2]=a[20]&255|(a[21]&255)<<8,this.pad[3]=a[22]&255|(a[23]&255)<<8,this.pad[4]=a[24]&255|(a[25]&255)<<8,this.pad[5]=a[26]&255|(a[27]&255)<<8,this.pad[6]=a[28]&255|(a[29]&255)<<8,this.pad[7]=a[30]&255|(a[31]&255)<<8};JA.prototype.blocks=function(a,g,c){for(var n=this.fin?0:2048,B,x,p,O,V,oA,tA,MA,aA,QA,dA,iA,pA,CA,I,Z,J,j,eA,nA=this.h[0],cA=this.h[1],rA=this.h[2],v=this.h[3],N=this.h[4],Y=this.h[5],k=this.h[6],H=this.h[7],P=this.h[8],IA=this.h[9],yA=this.r[0],xA=this.r[1],wA=this.r[2],Q=this.r[3],DA=this.r[4],TA=this.r[5],OA=this.r[6],_A=this.r[7],GA=this.r[8],UA=this.r[9];c>=16;)B=a[g+0]&255|(a[g+1]&255)<<8,nA+=B&8191,x=a[g+2]&255|(a[g+3]&255)<<8,cA+=(B>>>13|x<<3)&8191,p=a[g+4]&255|(a[g+5]&255)<<8,rA+=(x>>>10|p<<6)&8191,O=a[g+6]&255|(a[g+7]&255)<<8,v+=(p>>>7|O<<9)&8191,V=a[g+8]&255|(a[g+9]&255)<<8,N+=(O>>>4|V<<12)&8191,Y+=V>>>1&8191,oA=a[g+10]&255|(a[g+11]&255)<<8,k+=(V>>>14|oA<<2)&8191,tA=a[g+12]&255|(a[g+13]&255)<<8,H+=(oA>>>11|tA<<5)&8191,MA=a[g+14]&255|(a[g+15]&255)<<8,P+=(tA>>>8|MA<<8)&8191,IA+=MA>>>5|n,aA=0,QA=aA,QA+=nA*yA,QA+=cA*(5*UA),QA+=rA*(5*GA),QA+=v*(5*_A),QA+=N*(5*OA),aA=QA>>>13,QA&=8191,QA+=Y*(5*TA),QA+=k*(5*DA),QA+=H*(5*Q),QA+=P*(5*wA),QA+=IA*(5*xA),aA+=QA>>>13,QA&=8191,dA=aA,dA+=nA*xA,dA+=cA*yA,dA+=rA*(5*UA),dA+=v*(5*GA),dA+=N*(5*_A),aA=dA>>>13,dA&=8191,dA+=Y*(5*OA),dA+=k*(5*TA),dA+=H*(5*DA),dA+=P*(5*Q),dA+=IA*(5*wA),aA+=dA>>>13,dA&=8191,iA=aA,iA+=nA*wA,iA+=cA*xA,iA+=rA*yA,iA+=v*(5*UA),iA+=N*(5*GA),aA=iA>>>13,iA&=8191,iA+=Y*(5*_A),iA+=k*(5*OA),iA+=H*(5*TA),iA+=P*(5*DA),iA+=IA*(5*Q),aA+=iA>>>13,iA&=8191,pA=aA,pA+=nA*Q,pA+=cA*wA,pA+=rA*xA,pA+=v*yA,pA+=N*(5*UA),aA=pA>>>13,pA&=8191,pA+=Y*(5*GA),pA+=k*(5*_A),pA+=H*(5*OA),pA+=P*(5*TA),pA+=IA*(5*DA),aA+=pA>>>13,pA&=8191,CA=aA,CA+=nA*DA,CA+=cA*Q,CA+=rA*wA,CA+=v*xA,CA+=N*yA,aA=CA>>>13,CA&=8191,CA+=Y*(5*UA),CA+=k*(5*GA),CA+=H*(5*_A),CA+=P*(5*OA),CA+=IA*(5*TA),aA+=CA>>>13,CA&=8191,I=aA,I+=nA*TA,I+=cA*DA,I+=rA*Q,I+=v*wA,I+=N*xA,aA=I>>>13,I&=8191,I+=Y*yA,I+=k*(5*UA),I+=H*(5*GA),I+=P*(5*_A),I+=IA*(5*OA),aA+=I>>>13,I&=8191,Z=aA,Z+=nA*OA,Z+=cA*TA,Z+=rA*DA,Z+=v*Q,Z+=N*wA,aA=Z>>>13,Z&=8191,Z+=Y*xA,Z+=k*yA,Z+=H*(5*UA),Z+=P*(5*GA),Z+=IA*(5*_A),aA+=Z>>>13,Z&=8191,J=aA,J+=nA*_A,J+=cA*OA,J+=rA*TA,J+=v*DA,J+=N*Q,aA=J>>>13,J&=8191,J+=Y*wA,J+=k*xA,J+=H*yA,J+=P*(5*UA),J+=IA*(5*GA),aA+=J>>>13,J&=8191,j=aA,j+=nA*GA,j+=cA*_A,j+=rA*OA,j+=v*TA,j+=N*DA,aA=j>>>13,j&=8191,j+=Y*Q,j+=k*wA,j+=H*xA,j+=P*yA,j+=IA*(5*UA),aA+=j>>>13,j&=8191,eA=aA,eA+=nA*UA,eA+=cA*GA,eA+=rA*_A,eA+=v*OA,eA+=N*TA,aA=eA>>>13,eA&=8191,eA+=Y*DA,eA+=k*Q,eA+=H*wA,eA+=P*xA,eA+=IA*yA,aA+=eA>>>13,eA&=8191,aA=(aA<<2)+aA|0,aA=aA+QA|0,QA=aA&8191,aA=aA>>>13,dA+=aA,nA=QA,cA=dA,rA=iA,v=pA,N=CA,Y=I,k=Z,H=J,P=j,IA=eA,g+=16,c-=16;this.h[0]=nA,this.h[1]=cA,this.h[2]=rA,this.h[3]=v,this.h[4]=N,this.h[5]=Y,this.h[6]=k,this.h[7]=H,this.h[8]=P,this.h[9]=IA},JA.prototype.finish=function(a,g){var c=new Uint16Array(10),n,B,x,p;if(this.leftover){for(p=this.leftover,this.buffer[p++]=1;p<16;p++)this.buffer[p]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(n=this.h[1]>>>13,this.h[1]&=8191,p=2;p<10;p++)this.h[p]+=n,n=this.h[p]>>>13,this.h[p]&=8191;for(this.h[0]+=n*5,n=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=n,n=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=n,c[0]=this.h[0]+5,n=c[0]>>>13,c[0]&=8191,p=1;p<10;p++)c[p]=this.h[p]+n,n=c[p]>>>13,c[p]&=8191;for(c[9]-=1<<13,B=(n^1)-1,p=0;p<10;p++)c[p]&=B;for(B=~B,p=0;p<10;p++)this.h[p]=this.h[p]&B|c[p];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,x=this.h[0]+this.pad[0],this.h[0]=x&65535,p=1;p<8;p++)x=(this.h[p]+this.pad[p]|0)+(x>>>16)|0,this.h[p]=x&65535;a[g+0]=this.h[0]>>>0&255,a[g+1]=this.h[0]>>>8&255,a[g+2]=this.h[1]>>>0&255,a[g+3]=this.h[1]>>>8&255,a[g+4]=this.h[2]>>>0&255,a[g+5]=this.h[2]>>>8&255,a[g+6]=this.h[3]>>>0&255,a[g+7]=this.h[3]>>>8&255,a[g+8]=this.h[4]>>>0&255,a[g+9]=this.h[4]>>>8&255,a[g+10]=this.h[5]>>>0&255,a[g+11]=this.h[5]>>>8&255,a[g+12]=this.h[6]>>>0&255,a[g+13]=this.h[6]>>>8&255,a[g+14]=this.h[7]>>>0&255,a[g+15]=this.h[7]>>>8&255},JA.prototype.update=function(a,g,c){var n,B;if(this.leftover){for(B=16-this.leftover,B>c&&(B=c),n=0;n<B;n++)this.buffer[this.leftover+n]=a[g+n];if(c-=B,g+=B,this.leftover+=B,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(c>=16&&(B=c-c%16,this.blocks(a,g,B),g+=B,c-=B),c){for(n=0;n<c;n++)this.buffer[this.leftover+n]=a[g+n];this.leftover+=c}};function kA(a,g,c,n,B,x){var p=new JA(x);return p.update(c,n,B),p.finish(a,g),0}function jA(a,g,c,n,B,x){var p=new Uint8Array(16);return kA(p,0,c,n,B,x),lA(a,g,p,0)}function te(a,g,c,n,B){var x;if(c<32)return-1;for(W(a,0,g,0,c,n,B),kA(a,16,a,32,c-32,a),x=0;x<16;x++)a[x]=0;return 0}function Be(a,g,c,n,B){var x,p=new Uint8Array(32);if(c<32||(vA(p,0,32,n,B),jA(g,16,g,32,c-32,p)!==0))return-1;for(W(a,0,g,0,c,n,B),x=0;x<32;x++)a[x]=0;return 0}function se(a,g){var c;for(c=0;c<16;c++)a[c]=g[c]|0}function me(a){var g,c,n=1;for(g=0;g<16;g++)c=a[g]+n+65535,n=Math.floor(c/65536),a[g]=c-n*65536;a[0]+=n-1+37*(n-1)}function De(a,g,c){for(var n,B=~(c-1),x=0;x<16;x++)n=B&(a[x]^g[x]),a[x]^=n,g[x]^=n}function re(a,g){var c,n,B,x=A(),p=A();for(c=0;c<16;c++)p[c]=g[c];for(me(p),me(p),me(p),n=0;n<2;n++){for(x[0]=p[0]-65517,c=1;c<15;c++)x[c]=p[c]-65535-(x[c-1]>>16&1),x[c-1]&=65535;x[15]=p[15]-32767-(x[14]>>16&1),B=x[15]>>16&1,x[14]&=65535,De(p,x,1-B)}for(c=0;c<16;c++)a[2*c]=p[c]&255,a[2*c+1]=p[c]>>8}function ze(a,g){var c=new Uint8Array(32),n=new Uint8Array(32);return re(c,a),re(n,g),NA(c,0,n,0)}function Pt(a){var g=new Uint8Array(32);return re(g,a),g[0]&1}function et(a,g){var c;for(c=0;c<16;c++)a[c]=g[2*c]+(g[2*c+1]<<8);a[15]&=32767}function Fe(a,g,c){for(var n=0;n<16;n++)a[n]=g[n]+c[n]}function L(a,g,c){for(var n=0;n<16;n++)a[n]=g[n]-c[n]}function d(a,g,c){var n,B,x=0,p=0,O=0,V=0,oA=0,tA=0,MA=0,aA=0,QA=0,dA=0,iA=0,pA=0,CA=0,I=0,Z=0,J=0,j=0,eA=0,nA=0,cA=0,rA=0,v=0,N=0,Y=0,k=0,H=0,P=0,IA=0,yA=0,xA=0,wA=0,Q=c[0],DA=c[1],TA=c[2],OA=c[3],_A=c[4],GA=c[5],UA=c[6],le=c[7],WA=c[8],ae=c[9],oe=c[10],ce=c[11],Ce=c[12],Te=c[13],Oe=c[14],ke=c[15];n=g[0],x+=n*Q,p+=n*DA,O+=n*TA,V+=n*OA,oA+=n*_A,tA+=n*GA,MA+=n*UA,aA+=n*le,QA+=n*WA,dA+=n*ae,iA+=n*oe,pA+=n*ce,CA+=n*Ce,I+=n*Te,Z+=n*Oe,J+=n*ke,n=g[1],p+=n*Q,O+=n*DA,V+=n*TA,oA+=n*OA,tA+=n*_A,MA+=n*GA,aA+=n*UA,QA+=n*le,dA+=n*WA,iA+=n*ae,pA+=n*oe,CA+=n*ce,I+=n*Ce,Z+=n*Te,J+=n*Oe,j+=n*ke,n=g[2],O+=n*Q,V+=n*DA,oA+=n*TA,tA+=n*OA,MA+=n*_A,aA+=n*GA,QA+=n*UA,dA+=n*le,iA+=n*WA,pA+=n*ae,CA+=n*oe,I+=n*ce,Z+=n*Ce,J+=n*Te,j+=n*Oe,eA+=n*ke,n=g[3],V+=n*Q,oA+=n*DA,tA+=n*TA,MA+=n*OA,aA+=n*_A,QA+=n*GA,dA+=n*UA,iA+=n*le,pA+=n*WA,CA+=n*ae,I+=n*oe,Z+=n*ce,J+=n*Ce,j+=n*Te,eA+=n*Oe,nA+=n*ke,n=g[4],oA+=n*Q,tA+=n*DA,MA+=n*TA,aA+=n*OA,QA+=n*_A,dA+=n*GA,iA+=n*UA,pA+=n*le,CA+=n*WA,I+=n*ae,Z+=n*oe,J+=n*ce,j+=n*Ce,eA+=n*Te,nA+=n*Oe,cA+=n*ke,n=g[5],tA+=n*Q,MA+=n*DA,aA+=n*TA,QA+=n*OA,dA+=n*_A,iA+=n*GA,pA+=n*UA,CA+=n*le,I+=n*WA,Z+=n*ae,J+=n*oe,j+=n*ce,eA+=n*Ce,nA+=n*Te,cA+=n*Oe,rA+=n*ke,n=g[6],MA+=n*Q,aA+=n*DA,QA+=n*TA,dA+=n*OA,iA+=n*_A,pA+=n*GA,CA+=n*UA,I+=n*le,Z+=n*WA,J+=n*ae,j+=n*oe,eA+=n*ce,nA+=n*Ce,cA+=n*Te,rA+=n*Oe,v+=n*ke,n=g[7],aA+=n*Q,QA+=n*DA,dA+=n*TA,iA+=n*OA,pA+=n*_A,CA+=n*GA,I+=n*UA,Z+=n*le,J+=n*WA,j+=n*ae,eA+=n*oe,nA+=n*ce,cA+=n*Ce,rA+=n*Te,v+=n*Oe,N+=n*ke,n=g[8],QA+=n*Q,dA+=n*DA,iA+=n*TA,pA+=n*OA,CA+=n*_A,I+=n*GA,Z+=n*UA,J+=n*le,j+=n*WA,eA+=n*ae,nA+=n*oe,cA+=n*ce,rA+=n*Ce,v+=n*Te,N+=n*Oe,Y+=n*ke,n=g[9],dA+=n*Q,iA+=n*DA,pA+=n*TA,CA+=n*OA,I+=n*_A,Z+=n*GA,J+=n*UA,j+=n*le,eA+=n*WA,nA+=n*ae,cA+=n*oe,rA+=n*ce,v+=n*Ce,N+=n*Te,Y+=n*Oe,k+=n*ke,n=g[10],iA+=n*Q,pA+=n*DA,CA+=n*TA,I+=n*OA,Z+=n*_A,J+=n*GA,j+=n*UA,eA+=n*le,nA+=n*WA,cA+=n*ae,rA+=n*oe,v+=n*ce,N+=n*Ce,Y+=n*Te,k+=n*Oe,H+=n*ke,n=g[11],pA+=n*Q,CA+=n*DA,I+=n*TA,Z+=n*OA,J+=n*_A,j+=n*GA,eA+=n*UA,nA+=n*le,cA+=n*WA,rA+=n*ae,v+=n*oe,N+=n*ce,Y+=n*Ce,k+=n*Te,H+=n*Oe,P+=n*ke,n=g[12],CA+=n*Q,I+=n*DA,Z+=n*TA,J+=n*OA,j+=n*_A,eA+=n*GA,nA+=n*UA,cA+=n*le,rA+=n*WA,v+=n*ae,N+=n*oe,Y+=n*ce,k+=n*Ce,H+=n*Te,P+=n*Oe,IA+=n*ke,n=g[13],I+=n*Q,Z+=n*DA,J+=n*TA,j+=n*OA,eA+=n*_A,nA+=n*GA,cA+=n*UA,rA+=n*le,v+=n*WA,N+=n*ae,Y+=n*oe,k+=n*ce,H+=n*Ce,P+=n*Te,IA+=n*Oe,yA+=n*ke,n=g[14],Z+=n*Q,J+=n*DA,j+=n*TA,eA+=n*OA,nA+=n*_A,cA+=n*GA,rA+=n*UA,v+=n*le,N+=n*WA,Y+=n*ae,k+=n*oe,H+=n*ce,P+=n*Ce,IA+=n*Te,yA+=n*Oe,xA+=n*ke,n=g[15],J+=n*Q,j+=n*DA,eA+=n*TA,nA+=n*OA,cA+=n*_A,rA+=n*GA,v+=n*UA,N+=n*le,Y+=n*WA,k+=n*ae,H+=n*oe,P+=n*ce,IA+=n*Ce,yA+=n*Te,xA+=n*Oe,wA+=n*ke,x+=38*j,p+=38*eA,O+=38*nA,V+=38*cA,oA+=38*rA,tA+=38*v,MA+=38*N,aA+=38*Y,QA+=38*k,dA+=38*H,iA+=38*P,pA+=38*IA,CA+=38*yA,I+=38*xA,Z+=38*wA,B=1,n=x+B+65535,B=Math.floor(n/65536),x=n-B*65536,n=p+B+65535,B=Math.floor(n/65536),p=n-B*65536,n=O+B+65535,B=Math.floor(n/65536),O=n-B*65536,n=V+B+65535,B=Math.floor(n/65536),V=n-B*65536,n=oA+B+65535,B=Math.floor(n/65536),oA=n-B*65536,n=tA+B+65535,B=Math.floor(n/65536),tA=n-B*65536,n=MA+B+65535,B=Math.floor(n/65536),MA=n-B*65536,n=aA+B+65535,B=Math.floor(n/65536),aA=n-B*65536,n=QA+B+65535,B=Math.floor(n/65536),QA=n-B*65536,n=dA+B+65535,B=Math.floor(n/65536),dA=n-B*65536,n=iA+B+65535,B=Math.floor(n/65536),iA=n-B*65536,n=pA+B+65535,B=Math.floor(n/65536),pA=n-B*65536,n=CA+B+65535,B=Math.floor(n/65536),CA=n-B*65536,n=I+B+65535,B=Math.floor(n/65536),I=n-B*65536,n=Z+B+65535,B=Math.floor(n/65536),Z=n-B*65536,n=J+B+65535,B=Math.floor(n/65536),J=n-B*65536,x+=B-1+37*(B-1),B=1,n=x+B+65535,B=Math.floor(n/65536),x=n-B*65536,n=p+B+65535,B=Math.floor(n/65536),p=n-B*65536,n=O+B+65535,B=Math.floor(n/65536),O=n-B*65536,n=V+B+65535,B=Math.floor(n/65536),V=n-B*65536,n=oA+B+65535,B=Math.floor(n/65536),oA=n-B*65536,n=tA+B+65535,B=Math.floor(n/65536),tA=n-B*65536,n=MA+B+65535,B=Math.floor(n/65536),MA=n-B*65536,n=aA+B+65535,B=Math.floor(n/65536),aA=n-B*65536,n=QA+B+65535,B=Math.floor(n/65536),QA=n-B*65536,n=dA+B+65535,B=Math.floor(n/65536),dA=n-B*65536,n=iA+B+65535,B=Math.floor(n/65536),iA=n-B*65536,n=pA+B+65535,B=Math.floor(n/65536),pA=n-B*65536,n=CA+B+65535,B=Math.floor(n/65536),CA=n-B*65536,n=I+B+65535,B=Math.floor(n/65536),I=n-B*65536,n=Z+B+65535,B=Math.floor(n/65536),Z=n-B*65536,n=J+B+65535,B=Math.floor(n/65536),J=n-B*65536,x+=B-1+37*(B-1),a[0]=x,a[1]=p,a[2]=O,a[3]=V,a[4]=oA,a[5]=tA,a[6]=MA,a[7]=aA,a[8]=QA,a[9]=dA,a[10]=iA,a[11]=pA,a[12]=CA,a[13]=I,a[14]=Z,a[15]=J}function de(a,g){d(a,g,g)}function Qt(a,g){var c=A(),n;for(n=0;n<16;n++)c[n]=g[n];for(n=253;n>=0;n--)de(c,c),n!==2&&n!==4&&d(c,c,g);for(n=0;n<16;n++)a[n]=c[n]}function ve(a,g){var c=A(),n;for(n=0;n<16;n++)c[n]=g[n];for(n=250;n>=0;n--)de(c,c),n!==1&&d(c,c,g);for(n=0;n<16;n++)a[n]=c[n]}function EA(a,g,c){var n=new Uint8Array(32),B=new Float64Array(80),x,p,O=A(),V=A(),oA=A(),tA=A(),MA=A(),aA=A();for(p=0;p<31;p++)n[p]=g[p];for(n[31]=g[31]&127|64,n[0]&=248,et(B,c),p=0;p<16;p++)V[p]=B[p],tA[p]=O[p]=oA[p]=0;for(O[0]=tA[0]=1,p=254;p>=0;--p)x=n[p>>>3]>>>(p&7)&1,De(O,V,x),De(oA,tA,x),Fe(MA,O,oA),L(O,O,oA),Fe(oA,V,tA),L(V,V,tA),de(tA,MA),de(aA,O),d(O,oA,O),d(oA,V,MA),Fe(MA,O,oA),L(O,O,oA),de(V,O),L(oA,tA,aA),d(O,oA,u),Fe(O,O,tA),d(oA,oA,O),d(O,tA,aA),d(tA,V,B),de(V,MA),De(O,V,x),De(oA,tA,x);for(p=0;p<16;p++)B[p+16]=O[p],B[p+32]=oA[p],B[p+48]=V[p],B[p+64]=tA[p];var QA=B.subarray(32),dA=B.subarray(16);return Qt(QA,QA),d(dA,dA,QA),re(a,dA),0}function f(a,g){return EA(a,g,i)}function l(a,g){return e(g,32),f(a,g)}function h(a,g,c){var n=new Uint8Array(32);return EA(n,c,g),YA(a,r,n,fA)}var D=te,w=Be;function b(a,g,c,n,B,x){var p=new Uint8Array(32);return h(p,B,x),D(a,g,c,n,p)}function F(a,g,c,n,B,x){var p=new Uint8Array(32);return h(p,B,x),w(a,g,c,n,p)}var C=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function _(a,g,c,n){for(var B=new Int32Array(16),x=new Int32Array(16),p,O,V,oA,tA,MA,aA,QA,dA,iA,pA,CA,I,Z,J,j,eA,nA,cA,rA,v,N,Y,k,H,P,IA=a[0],yA=a[1],xA=a[2],wA=a[3],Q=a[4],DA=a[5],TA=a[6],OA=a[7],_A=g[0],GA=g[1],UA=g[2],le=g[3],WA=g[4],ae=g[5],oe=g[6],ce=g[7],Ce=0;n>=128;){for(cA=0;cA<16;cA++)rA=8*cA+Ce,B[cA]=c[rA+0]<<24|c[rA+1]<<16|c[rA+2]<<8|c[rA+3],x[cA]=c[rA+4]<<24|c[rA+5]<<16|c[rA+6]<<8|c[rA+7];for(cA=0;cA<80;cA++)if(p=IA,O=yA,V=xA,oA=wA,tA=Q,MA=DA,aA=TA,QA=OA,dA=_A,iA=GA,pA=UA,CA=le,I=WA,Z=ae,J=oe,j=ce,v=OA,N=ce,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=(Q>>>14|WA<<32-14)^(Q>>>18|WA<<32-18)^(WA>>>41-32|Q<<32-(41-32)),N=(WA>>>14|Q<<32-14)^(WA>>>18|Q<<32-18)^(Q>>>41-32|WA<<32-(41-32)),Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,v=Q&DA^~Q&TA,N=WA&ae^~WA&oe,Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,v=C[cA*2],N=C[cA*2+1],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,v=B[cA%16],N=x[cA%16],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,eA=H&65535|P<<16,nA=Y&65535|k<<16,v=eA,N=nA,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=(IA>>>28|_A<<32-28)^(_A>>>34-32|IA<<32-(34-32))^(_A>>>39-32|IA<<32-(39-32)),N=(_A>>>28|IA<<32-28)^(IA>>>34-32|_A<<32-(34-32))^(IA>>>39-32|_A<<32-(39-32)),Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,v=IA&yA^IA&xA^yA&xA,N=_A&GA^_A&UA^GA&UA,Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,QA=H&65535|P<<16,j=Y&65535|k<<16,v=oA,N=CA,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=eA,N=nA,Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,oA=H&65535|P<<16,CA=Y&65535|k<<16,yA=p,xA=O,wA=V,Q=oA,DA=tA,TA=MA,OA=aA,IA=QA,GA=dA,UA=iA,le=pA,WA=CA,ae=I,oe=Z,ce=J,_A=j,cA%16===15)for(rA=0;rA<16;rA++)v=B[rA],N=x[rA],Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=B[(rA+9)%16],N=x[(rA+9)%16],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,eA=B[(rA+1)%16],nA=x[(rA+1)%16],v=(eA>>>1|nA<<32-1)^(eA>>>8|nA<<32-8)^eA>>>7,N=(nA>>>1|eA<<32-1)^(nA>>>8|eA<<32-8)^(nA>>>7|eA<<32-7),Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,eA=B[(rA+14)%16],nA=x[(rA+14)%16],v=(eA>>>19|nA<<32-19)^(nA>>>61-32|eA<<32-(61-32))^eA>>>6,N=(nA>>>19|eA<<32-19)^(eA>>>61-32|nA<<32-(61-32))^(nA>>>6|eA<<32-6),Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,B[rA]=H&65535|P<<16,x[rA]=Y&65535|k<<16;v=IA,N=_A,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=a[0],N=g[0],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,a[0]=IA=H&65535|P<<16,g[0]=_A=Y&65535|k<<16,v=yA,N=GA,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=a[1],N=g[1],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,a[1]=yA=H&65535|P<<16,g[1]=GA=Y&65535|k<<16,v=xA,N=UA,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=a[2],N=g[2],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,a[2]=xA=H&65535|P<<16,g[2]=UA=Y&65535|k<<16,v=wA,N=le,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=a[3],N=g[3],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,a[3]=wA=H&65535|P<<16,g[3]=le=Y&65535|k<<16,v=Q,N=WA,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=a[4],N=g[4],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,a[4]=Q=H&65535|P<<16,g[4]=WA=Y&65535|k<<16,v=DA,N=ae,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=a[5],N=g[5],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,a[5]=DA=H&65535|P<<16,g[5]=ae=Y&65535|k<<16,v=TA,N=oe,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=a[6],N=g[6],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,a[6]=TA=H&65535|P<<16,g[6]=oe=Y&65535|k<<16,v=OA,N=ce,Y=N&65535,k=N>>>16,H=v&65535,P=v>>>16,v=a[7],N=g[7],Y+=N&65535,k+=N>>>16,H+=v&65535,P+=v>>>16,k+=Y>>>16,H+=k>>>16,P+=H>>>16,a[7]=OA=H&65535|P<<16,g[7]=ce=Y&65535|k<<16,Ce+=128,n-=128}return n}function m(a,g,c){var n=new Int32Array(8),B=new Int32Array(8),x=new Uint8Array(256),p,O=c;for(n[0]=1779033703,n[1]=3144134277,n[2]=1013904242,n[3]=2773480762,n[4]=1359893119,n[5]=2600822924,n[6]=528734635,n[7]=1541459225,B[0]=4089235720,B[1]=2227873595,B[2]=4271175723,B[3]=1595750129,B[4]=2917565137,B[5]=725511199,B[6]=4215389547,B[7]=327033209,_(n,B,g,c),c%=128,p=0;p<c;p++)x[p]=g[O-c+p];for(x[c]=128,c=256-128*(c<112?1:0),x[c-9]=0,R(x,c-8,O/536870912|0,O<<3),_(n,B,x,c),p=0;p<8;p++)R(a,8*p,n[p],B[p]);return 0}function S(a,g){var c=A(),n=A(),B=A(),x=A(),p=A(),O=A(),V=A(),oA=A(),tA=A();L(c,a[1],a[0]),L(tA,g[1],g[0]),d(c,c,tA),Fe(n,a[0],a[1]),Fe(tA,g[0],g[1]),d(n,n,tA),d(B,a[3],g[3]),d(B,B,y),d(x,a[2],g[2]),Fe(x,x,x),L(p,n,c),L(O,x,B),Fe(V,x,B),Fe(oA,n,c),d(a[0],p,O),d(a[1],oA,V),d(a[2],V,O),d(a[3],p,oA)}function q(a,g,c){var n;for(n=0;n<4;n++)De(a[n],g[n],c)}function X(a,g){var c=A(),n=A(),B=A();Qt(B,g[2]),d(c,g[0],B),d(n,g[1],B),re(a,n),a[31]^=Pt(c)<<7}function uA(a,g,c){var n,B;for(se(a[0],s),se(a[1],o),se(a[2],o),se(a[3],s),B=255;B>=0;--B)n=c[B/8|0]>>(B&7)&1,q(a,g,n),S(g,a),S(a,a),q(a,g,n)}function SA(a,g){var c=[A(),A(),A(),A()];se(c[0],T),se(c[1],M),se(c[2],o),d(c[3],T,M),uA(a,c,g)}function XA(a,g,c){var n=new Uint8Array(64),B=[A(),A(),A(),A()],x;for(c||e(g,32),m(n,g,32),n[0]&=248,n[31]&=127,n[31]|=64,SA(B,n),X(a,B),x=0;x<32;x++)g[x+32]=a[x];return 0}var Ae=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function mA(a,g){var c,n,B,x;for(n=63;n>=32;--n){for(c=0,B=n-32,x=n-12;B<x;++B)g[B]+=c-16*g[n]*Ae[B-(n-32)],c=Math.floor((g[B]+128)/256),g[B]-=c*256;g[B]+=c,g[n]=0}for(c=0,B=0;B<32;B++)g[B]+=c-(g[31]>>4)*Ae[B],c=g[B]>>8,g[B]&=255;for(B=0;B<32;B++)g[B]-=c*Ae[B];for(n=0;n<32;n++)g[n+1]+=g[n]>>8,a[n]=g[n]&255}function BA(a){var g=new Float64Array(64),c;for(c=0;c<64;c++)g[c]=a[c];for(c=0;c<64;c++)a[c]=0;mA(a,g)}function Ee(a,g,c,n){var B=new Uint8Array(64),x=new Uint8Array(64),p=new Uint8Array(64),O,V,oA=new Float64Array(64),tA=[A(),A(),A(),A()];m(B,n,32),B[0]&=248,B[31]&=127,B[31]|=64;var MA=c+64;for(O=0;O<c;O++)a[64+O]=g[O];for(O=0;O<32;O++)a[32+O]=B[32+O];for(m(p,a.subarray(32),c+32),BA(p),SA(tA,p),X(a,tA),O=32;O<64;O++)a[O]=n[O];for(m(x,a,c+64),BA(x),O=0;O<64;O++)oA[O]=0;for(O=0;O<32;O++)oA[O]=p[O];for(O=0;O<32;O++)for(V=0;V<32;V++)oA[O+V]+=x[O]*B[V];return mA(a.subarray(32),oA),MA}function Kt(a,g){var c=A(),n=A(),B=A(),x=A(),p=A(),O=A(),V=A();return se(a[2],o),et(a[1],g),de(B,a[1]),d(x,B,E),L(B,B,a[2]),Fe(x,a[2],x),de(p,x),de(O,p),d(V,O,p),d(c,V,B),d(c,c,x),ve(c,c),d(c,c,B),d(c,c,x),d(c,c,x),d(a[0],c,x),de(n,a[0]),d(n,n,x),ze(n,B)&&d(a[0],a[0],$),de(n,a[0]),d(n,n,x),ze(n,B)?-1:(Pt(a[0])===g[31]>>7&&L(a[0],s,a[0]),d(a[3],a[0],a[1]),0)}function Mt(a,g,c,n){var B,x=new Uint8Array(32),p=new Uint8Array(64),O=[A(),A(),A(),A()],V=[A(),A(),A(),A()];if(c<64||Kt(V,n))return-1;for(B=0;B<c;B++)a[B]=g[B];for(B=0;B<32;B++)a[B+32]=n[B];if(m(p,a,c),BA(p),uA(O,V,p),SA(V,g.subarray(32)),S(O,V),X(x,O),c-=64,NA(g,0,x,0)){for(B=0;B<c;B++)a[B]=0;return-1}for(B=0;B<c;B++)a[B]=g[B+64];return c}var Gt=32,Ne=24,RA=32,Ie=16,ne=32,VA=32,Ar=32,er=32,zA=32,Ci=Ne,On=RA,kn=Ie,ct=64,Ut=32,Ze=64,pi=32,yi=64;t.lowlevel={crypto_core_hsalsa20:YA,crypto_stream_xor:W,crypto_stream:vA,crypto_stream_salsa20_xor:gA,crypto_stream_salsa20:bA,crypto_onetimeauth:kA,crypto_onetimeauth_verify:jA,crypto_verify_16:lA,crypto_verify_32:NA,crypto_secretbox:te,crypto_secretbox_open:Be,crypto_scalarmult:EA,crypto_scalarmult_base:f,crypto_box_beforenm:h,crypto_box_afternm:D,crypto_box:b,crypto_box_open:F,crypto_box_keypair:l,crypto_hash:m,crypto_sign:Ee,crypto_sign_keypair:XA,crypto_sign_open:Mt,crypto_secretbox_KEYBYTES:Gt,crypto_secretbox_NONCEBYTES:Ne,crypto_secretbox_ZEROBYTES:RA,crypto_secretbox_BOXZEROBYTES:Ie,crypto_scalarmult_BYTES:ne,crypto_scalarmult_SCALARBYTES:VA,crypto_box_PUBLICKEYBYTES:Ar,crypto_box_SECRETKEYBYTES:er,crypto_box_BEFORENMBYTES:zA,crypto_box_NONCEBYTES:Ci,crypto_box_ZEROBYTES:On,crypto_box_BOXZEROBYTES:kn,crypto_sign_BYTES:ct,crypto_sign_PUBLICKEYBYTES:Ut,crypto_sign_SECRETKEYBYTES:Ze,crypto_sign_SEEDBYTES:pi,crypto_hash_BYTES:yi,gf:A,D:E,L:Ae,pack25519:re,unpack25519:et,M:d,A:Fe,S:de,Z:L,pow2523:ve,add:S,set25519:se,modL:mA,scalarmult:uA,scalarbase:SA};function Hn(a,g){if(a.length!==Gt)throw new Error("bad key size");if(g.length!==Ne)throw new Error("bad nonce size")}function Ta(a,g){if(a.length!==Ar)throw new Error("bad public key size");if(g.length!==er)throw new Error("bad secret key size")}function HA(){for(var a=0;a<arguments.length;a++)if(!(arguments[a]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function qn(a){for(var g=0;g<a.length;g++)a[g]=0}t.randomBytes=function(a){var g=new Uint8Array(a);return e(g,a),g},t.secretbox=function(a,g,c){HA(a,g,c),Hn(c,g);for(var n=new Uint8Array(RA+a.length),B=new Uint8Array(n.length),x=0;x<a.length;x++)n[x+RA]=a[x];return te(B,n,n.length,g,c),B.subarray(Ie)},t.secretbox.open=function(a,g,c){HA(a,g,c),Hn(c,g);for(var n=new Uint8Array(Ie+a.length),B=new Uint8Array(n.length),x=0;x<a.length;x++)n[x+Ie]=a[x];return n.length<32||Be(B,n,n.length,g,c)!==0?null:B.subarray(RA)},t.secretbox.keyLength=Gt,t.secretbox.nonceLength=Ne,t.secretbox.overheadLength=Ie,t.scalarMult=function(a,g){if(HA(a,g),a.length!==VA)throw new Error("bad n size");if(g.length!==ne)throw new Error("bad p size");var c=new Uint8Array(ne);return EA(c,a,g),c},t.scalarMult.base=function(a){if(HA(a),a.length!==VA)throw new Error("bad n size");var g=new Uint8Array(ne);return f(g,a),g},t.scalarMult.scalarLength=VA,t.scalarMult.groupElementLength=ne,t.box=function(a,g,c,n){var B=t.box.before(c,n);return t.secretbox(a,g,B)},t.box.before=function(a,g){HA(a,g),Ta(a,g);var c=new Uint8Array(zA);return h(c,a,g),c},t.box.after=t.secretbox,t.box.open=function(a,g,c,n){var B=t.box.before(c,n);return t.secretbox.open(a,g,B)},t.box.open.after=t.secretbox.open,t.box.keyPair=function(){var a=new Uint8Array(Ar),g=new Uint8Array(er);return l(a,g),{publicKey:a,secretKey:g}},t.box.keyPair.fromSecretKey=function(a){if(HA(a),a.length!==er)throw new Error("bad secret key size");var g=new Uint8Array(Ar);return f(g,a),{publicKey:g,secretKey:new Uint8Array(a)}},t.box.publicKeyLength=Ar,t.box.secretKeyLength=er,t.box.sharedKeyLength=zA,t.box.nonceLength=Ci,t.box.overheadLength=t.secretbox.overheadLength,t.sign=function(a,g){if(HA(a,g),g.length!==Ze)throw new Error("bad secret key size");var c=new Uint8Array(ct+a.length);return Ee(c,a,a.length,g),c},t.sign.open=function(a,g){if(HA(a,g),g.length!==Ut)throw new Error("bad public key size");var c=new Uint8Array(a.length),n=Mt(c,a,a.length,g);if(n<0)return null;for(var B=new Uint8Array(n),x=0;x<B.length;x++)B[x]=c[x];return B},t.sign.detached=function(a,g){for(var c=t.sign(a,g),n=new Uint8Array(ct),B=0;B<n.length;B++)n[B]=c[B];return n},t.sign.detached.verify=function(a,g,c){if(HA(a,g,c),g.length!==ct)throw new Error("bad signature size");if(c.length!==Ut)throw new Error("bad public key size");var n=new Uint8Array(ct+a.length),B=new Uint8Array(ct+a.length),x;for(x=0;x<ct;x++)n[x]=g[x];for(x=0;x<a.length;x++)n[x+ct]=a[x];return Mt(B,n,n.length,c)>=0},t.sign.keyPair=function(){var a=new Uint8Array(Ut),g=new Uint8Array(Ze);return XA(a,g),{publicKey:a,secretKey:g}},t.sign.keyPair.fromSecretKey=function(a){if(HA(a),a.length!==Ze)throw new Error("bad secret key size");for(var g=new Uint8Array(Ut),c=0;c<g.length;c++)g[c]=a[32+c];return{publicKey:g,secretKey:new Uint8Array(a)}},t.sign.keyPair.fromSeed=function(a){if(HA(a),a.length!==pi)throw new Error("bad seed size");for(var g=new Uint8Array(Ut),c=new Uint8Array(Ze),n=0;n<32;n++)c[n]=a[n];return XA(g,c,!0),{publicKey:g,secretKey:c}},t.sign.publicKeyLength=Ut,t.sign.secretKeyLength=Ze,t.sign.seedLength=pi,t.sign.signatureLength=ct,t.hash=function(a){HA(a);var g=new Uint8Array(yi);return m(g,a,a.length),g},t.hash.hashLength=yi,t.verify=function(a,g){return HA(a,g),a.length===0||g.length===0||a.length!==g.length?!1:z(a,0,g,0,a.length)===0},t.setPRNG=function(a){e=a},function(){var a=typeof self<"u"?self.crypto||self.msCrypto:null;if(a&&a.getRandomValues){var g=65536;t.setPRNG(function(c,n){var B,x=new Uint8Array(n);for(B=0;B<n;B+=g)a.getRandomValues(x.subarray(B,B+Math.min(n-B,g)));for(B=0;B<n;B++)c[B]=x[B];qn(x)})}else typeof jt<"u"&&(a=jt("crypto"),a&&a.randomBytes&&t.setPRNG(function(c,n){var B,x=a.randomBytes(n);for(B=0;B<n;B++)c[B]=x[B];qn(x)}))}()})(typeof dn<"u"&&dn.exports?dn.exports:self.nacl=self.nacl||{})});var Cn=sA(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.toHexString=Hr.fromHexString=void 0;function lE(t){var A;return new Uint8Array(((A=t.match(/.{1,2}/g))!==null&&A!==void 0?A:[]).map(e=>parseInt(e,16))).buffer}Hr.fromHexString=lE;function hE(t){return new Uint8Array(t).reduce((A,e)=>A+e.toString(16).padStart(2,"0"),"")}Hr.toHexString=hE});var pn=sA(PA=>{"use strict";Object.defineProperty(PA,"__esModule",{value:!0});PA.unwrapDER=PA.wrapDER=PA.SECP256K1_OID=PA.ED25519_OID=PA.DER_COSE_OID=PA.decodeLen=PA.decodeLenBytes=PA.encodeLen=PA.encodeLenBytes=PA.bufEquals=void 0;var QE=(t,A)=>{if(t.byteLength!==A.byteLength)return!1;let e=new Uint8Array(t),r=new Uint8Array(A);for(let i=0;i<e.length;i++)if(e[i]!==r[i])return!1;return!0};PA.bufEquals=QE;var dE=t=>{if(t<=127)return 1;if(t<=255)return 2;if(t<=65535)return 3;if(t<=16777215)return 4;throw new Error("Length too long (> 4 bytes)")};PA.encodeLenBytes=dE;var CE=(t,A,e)=>{if(e<=127)return t[A]=e,1;if(e<=255)return t[A]=129,t[A+1]=e,2;if(e<=65535)return t[A]=130,t[A+1]=e>>8,t[A+2]=e,3;if(e<=16777215)return t[A]=131,t[A+1]=e>>16,t[A+2]=e>>8,t[A+3]=e,4;throw new Error("Length too long (> 4 bytes)")};PA.encodeLen=CE;var pE=(t,A)=>{if(t[A]<128)return 1;if(t[A]===128)throw new Error("Invalid length 0");if(t[A]===129)return 2;if(t[A]===130)return 3;if(t[A]===131)return 4;throw new Error("Length too long (> 4 bytes)")};PA.decodeLenBytes=pE;var yE=(t,A)=>{let e=(0,PA.decodeLenBytes)(t,A);if(e===1)return t[A];if(e===2)return t[A+1];if(e===3)return(t[A+1]<<8)+t[A+2];if(e===4)return(t[A+1]<<16)+(t[A+2]<<8)+t[A+3];throw new Error("Length too long (> 4 bytes)")};PA.decodeLen=yE;PA.DER_COSE_OID=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]);PA.ED25519_OID=Uint8Array.from([48,5,6,3,43,101,112]);PA.SECP256K1_OID=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]);function wE(t,A){let e=2+(0,PA.encodeLenBytes)(t.byteLength+1),r=A.byteLength+e+t.byteLength,i=0,s=new Uint8Array(1+(0,PA.encodeLenBytes)(r)+r);return s[i++]=48,i+=(0,PA.encodeLen)(s,i,r),s.set(A,i),i+=A.byteLength,s[i++]=3,i+=(0,PA.encodeLen)(s,i,t.byteLength+1),s[i++]=0,s.set(new Uint8Array(t),i),s}PA.wrapDER=wE;var xE=(t,A)=>{let e=0,r=(u,E)=>{if(i[e++]!==u)throw new Error("Expected: "+E)},i=new Uint8Array(t);if(r(48,"sequence"),e+=(0,PA.decodeLenBytes)(i,e),!(0,PA.bufEquals)(i.slice(e,e+A.byteLength),A))throw new Error("Not the expected OID.");e+=A.byteLength,r(3,"bit string");let s=(0,PA.decodeLen)(i,e)-1;e+=(0,PA.decodeLenBytes)(i,e),r(0,"0 padding");let o=i.slice(e);if(s!==o.length)throw new Error(`DER payload mismatch: Expected length ${s} actual length ${o.length}`);return o};PA.unwrapDER=xE});var tg=sA(at=>{"use strict";var _E=at&&at.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),bE=at&&at.__setModuleDefault||(Object.create?function(t,A){Object.defineProperty(t,"default",{enumerable:!0,value:A})}:function(t,A){t.default=A}),SE=at&&at.__importStar||function(t){if(t&&t.__esModule)return t;var A={};if(t!=null)for(var e in t)e!=="default"&&Object.prototype.hasOwnProperty.call(t,e)&&_E(A,t,e);return bE(A,t),A};Object.defineProperty(at,"__esModule",{value:!0});at.Ed25519KeyIdentity=at.Ed25519PublicKey=void 0;var mE=gr(),yn=SE(aa()),wn=Cn(),xn=pn(),st=class{constructor(A){this.rawKey=A,this.derKey=st.derEncode(A)}static from(A){return this.fromDer(A.toDer())}static fromRaw(A){return new st(A)}static fromDer(A){return new st(this.derDecode(A))}static derEncode(A){return(0,xn.wrapDER)(A,xn.ED25519_OID).buffer}static derDecode(A){let e=(0,xn.unwrapDER)(A,xn.ED25519_OID);if(e.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return e}toDer(){return this.derKey}toRaw(){return this.rawKey}};at.Ed25519PublicKey=st;st.RAW_KEY_LENGTH=32;var fr=class extends mE.SignIdentity{constructor(A,e){super(),this._privateKey=e,this._publicKey=st.from(A)}static generate(A){if(A&&A.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");let{publicKey:e,secretKey:r}=A===void 0?yn.sign.keyPair():yn.sign.keyPair.fromSeed(A);return new this(st.fromRaw(e),r)}static fromParsedJson(A){let[e,r]=A;return new fr(st.fromDer((0,wn.fromHexString)(e)),(0,wn.fromHexString)(r))}static fromJSON(A){let e=JSON.parse(A);if(Array.isArray(e)){if(typeof e[0]=="string"&&typeof e[1]=="string")return this.fromParsedJson([e[0],e[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(A)}`)}static fromKeyPair(A,e){return new fr(st.fromRaw(A),e)}static fromSecretKey(A){let e=yn.sign.keyPair.fromSecretKey(new Uint8Array(A));return fr.fromKeyPair(e.publicKey,e.secretKey)}toJSON(){return[(0,wn.toHexString)(this._publicKey.toDer()),(0,wn.toHexString)(this._privateKey)]}getKeyPair(){return{secretKey:this._privateKey,publicKey:this._publicKey}}getPublicKey(){return this._publicKey}async sign(A){let e=new Uint8Array(A);return yn.sign.detached(e,new Uint8Array(this._privateKey)).buffer}};at.Ed25519KeyIdentity=fr});var ig=sA(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.ECDSAKeyIdentity=ur.CryptoError=void 0;var DE=gr(),qr=class extends Error{constructor(A){super(A),this.message=A,Object.setPrototypeOf(this,qr.prototype)}};ur.CryptoError=qr;function rg(t){if(t)return t;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new qr("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 Yr=class extends DE.SignIdentity{constructor(A,e,r){super(),this._keyPair=A,this._derKey=e,this._subtleCrypto=r}static async generate(A){let{extractable:e=!1,keyUsages:r=["sign","verify"],subtleCrypto:i}=A??{},s=rg(i),o=await s.generateKey({name:"ECDSA",namedCurve:"P-256"},e,r),u=await s.exportKey("spki",o.publicKey);return new this(o,u,s)}static async fromKeyPair(A,e){let r=rg(e),i=await r.exportKey("spki",A.publicKey);return new Yr(A,i,r)}getKeyPair(){return this._keyPair}getPublicKey(){let A=this._derKey,e=Object.create(this._keyPair.publicKey);return e.toDer=function(){return A},e}async sign(A){let e={name:"ECDSA",hash:{name:"SHA-256"}};return this._keyPair.privateKey,await this._subtleCrypto.sign(e,this._keyPair.privateKey,A)}};ur.ECDSAKeyIdentity=Yr;ur.default=Yr});var ng=sA(Se=>{"use strict";var FE=Se&&Se.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),vE=Se&&Se.__setModuleDefault||(Object.create?function(t,A){Object.defineProperty(t,"default",{enumerable:!0,value:A})}:function(t,A){t.default=A}),NE=Se&&Se.__importStar||function(t){if(t&&t.__esModule)return t;var A={};if(t!=null)for(var e in t)e!=="default"&&Object.prototype.hasOwnProperty.call(t,e)&&FE(A,t,e);return vE(A,t),A},RE=Se&&Se.__rest||function(t,A){var e={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&A.indexOf(r)<0&&(e[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)A.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(e[r[i]]=t[r[i]]);return e};Object.defineProperty(Se,"__esModule",{value:!0});Se.isDelegationValid=Se.DelegationIdentity=Se.DelegationChain=Se.Delegation=void 0;var ca=gr(),ga=gt(),Ei=NE(ii()),Ii=Cn(),ME=new TextEncoder().encode("ic-request-auth-delegation"),GE=new TextEncoder().encode(`
49
- ic-request`);function oa(t){if(typeof t!="string"||t.length<64)throw new Error("Invalid public key.");return(0,Ii.fromHexString)(t)}var li=class{constructor(A,e,r){this.pubkey=A,this.expiration=e,this.targets=r}toCBOR(){return Ei.value.map(Object.assign({pubkey:Ei.value.bytes(this.pubkey),expiration:Ei.value.u64(this.expiration.toString(16),16)},this.targets&&{targets:Ei.value.array(this.targets.map(A=>Ei.value.bytes(A.toUint8Array())))}))}toJSON(){return Object.assign({expiration:this.expiration.toString(16),pubkey:(0,Ii.toHexString)(this.pubkey)},this.targets&&{targets:this.targets.map(A=>A.toHex())})}};Se.Delegation=li;async function UE(t,A,e,r){let i=new li(A.toDer(),BigInt(+e)*BigInt(1e6),r),s=new Uint8Array([...ME,...new Uint8Array((0,ca.requestIdOf)(i))]),o=await t.sign(s);return{delegation:i,signature:o}}var hi=class{constructor(A,e){this.delegations=A,this.publicKey=e}static async create(A,e,r=new Date(Date.now()+15*60*1e3),i={}){var s,o;let u=await UE(A,e,r,i.targets);return new hi([...((s=i.previous)===null||s===void 0?void 0:s.delegations)||[],u],((o=i.previous)===null||o===void 0?void 0:o.publicKey)||A.getPublicKey().toDer())}static fromJSON(A){let{publicKey:e,delegations:r}=typeof A=="string"?JSON.parse(A):A;if(!Array.isArray(r))throw new Error("Invalid delegations.");let i=r.map(s=>{let{delegation:o,signature:u}=s,{pubkey:E,expiration:y,targets:T}=o;if(T!==void 0&&!Array.isArray(T))throw new Error("Invalid targets.");return{delegation:new li(oa(E),BigInt(`0x${y}`),T&&T.map(M=>{if(typeof M!="string")throw new Error("Invalid target.");return ga.Principal.fromHex(M)})),signature:oa(u)}});return new this(i,oa(e))}static fromDelegations(A,e){return new this(A,e)}toJSON(){return{delegations:this.delegations.map(A=>{let{delegation:e,signature:r}=A,{targets:i}=e;return{delegation:Object.assign({expiration:e.expiration.toString(16),pubkey:(0,Ii.toHexString)(e.pubkey)},i&&{targets:i.map(s=>s.toHex())}),signature:(0,Ii.toHexString)(r)}}),publicKey:(0,Ii.toHexString)(this.publicKey)}}};Se.DelegationChain=hi;var fa=class extends ca.SignIdentity{constructor(A,e){super(),this._inner=A,this._delegation=e}static fromDelegation(A,e){return new this(A,e)}getDelegation(){return this._delegation}getPublicKey(){return{toDer:()=>this._delegation.publicKey}}sign(A){return this._inner.sign(A)}async transformRequest(A){let{body:e}=A,r=RE(A,["body"]),i=await(0,ca.requestIdOf)(e);return Object.assign(Object.assign({},r),{body:{content:e,sender_sig:await this.sign(new Uint8Array([...GE,...new Uint8Array(i)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}})}};Se.DelegationIdentity=fa;function TE(t,A){for(let{delegation:i}of t.delegations)if(+new Date(Number(i.expiration/BigInt(1e6)))<=+Date.now())return!1;let e=[],r=A?.scope;r&&(Array.isArray(r)?e.push(...r.map(i=>typeof i=="string"?ga.Principal.fromText(i):i)):e.push(typeof r=="string"?ga.Principal.fromText(r):r));for(let i of e){let s=i.toText();for(let{delegation:o}of t.delegations){if(o.targets===void 0)continue;let u=!0;for(let E of o.targets)if(E.toText()===s){u=!1;break}if(u)return!1}}return!0}Se.isDelegationValid=TE});var ag=sA(We=>{"use strict";var OE=We&&We.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),kE=We&&We.__setModuleDefault||(Object.create?function(t,A){Object.defineProperty(t,"default",{enumerable:!0,value:A})}:function(t,A){t.default=A}),HE=We&&We.__importStar||function(t){if(t&&t.__esModule)return t;var A={};if(t!=null)for(var e in t)e!=="default"&&Object.prototype.hasOwnProperty.call(t,e)&&OE(A,t,e);return kE(A,t),A},qE=We&&We.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(We,"__esModule",{value:!0});We.WebAuthnIdentity=We.CosePublicKey=void 0;var YE=gr(),ua=qE(zi()),JE=HE(aa()),_n=Cn(),sg=pn();function LE(t){return(0,sg.wrapDER)(t,sg.DER_COSE_OID).buffer}function PE(t){let A=new DataView(new ArrayBuffer(2)),e=t.slice(53,55);[...new Uint8Array(e)].forEach((i,s)=>A.setUint8(s,i));let r=A.getUint16(0);return t.slice(55+r)}var bn=class{constructor(A){this._cose=A,this._encodedKey=LE(A)}toDer(){return this._encodedKey}getCose(){return this._cose}};We.CosePublicKey=bn;function KE(t="<ic0.app>"){return typeof t=="string"?Uint8Array.from(t,A=>A.charCodeAt(0)):t}async function jE(t){let A=await navigator.credentials.create(t??{publicKey:{authenticatorSelection:{userVerification:"preferred"},attestation:"direct",challenge:KE(),pubKeyCredParams:[{type:"public-key",alg:Ba.ECDSA_WITH_SHA256}],rp:{name:"Internet Identity Service"},user:{id:JE.randomBytes(16),name:"Internet Identity",displayName:"Internet Identity"}}});return A.response===void 0||!(A.rawId instanceof ArrayBuffer)?null:A}var Ba;(function(t){t[t.ECDSA_WITH_SHA256=-7]="ECDSA_WITH_SHA256"})(Ba||(Ba={}));var Ea=class extends YE.SignIdentity{constructor(A,e){super(),this.rawId=A,this._publicKey=new bn(e)}static fromJSON(A){let{publicKey:e,rawId:r}=JSON.parse(A);if(typeof e!="string"||typeof r!="string")throw new Error("Invalid JSON string.");return new this((0,_n.fromHexString)(r),(0,_n.fromHexString)(e))}static async create(A){let e=await jE(A);if(!e||e.type!=="public-key")throw new Error("Could not create credentials.");let r=e.response;if(!(r.attestationObject instanceof ArrayBuffer))throw new Error("Was expecting an attestation response.");let i=ua.default.decodeFirst(new Uint8Array(r.attestationObject));return new this(e.rawId,PE(i.authData))}getPublicKey(){return this._publicKey}async sign(A){let r=(await navigator.credentials.get({publicKey:{allowCredentials:[{type:"public-key",id:this.rawId}],challenge:A,userVerification:"preferred"}})).response;if(r.signature instanceof ArrayBuffer&&r.authenticatorData instanceof ArrayBuffer){let i=ua.default.encode(new ua.default.Tagged(55799,{authenticator_data:new Uint8Array(r.authenticatorData),client_data_json:new TextDecoder().decode(r.clientDataJSON),signature:new Uint8Array(r.signature)}));if(!i)throw new Error("failed to encode cbor");return i.buffer}else throw new Error("Invalid response from WebAuthn.")}toJSON(){return{publicKey:(0,_n.toHexString)(this._publicKey.getCose()),rawId:(0,_n.toHexString)(this.rawId)}}};We.WebAuthnIdentity=Ea});var gg=sA(ie=>{"use strict";var VE=ie&&ie.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),og=ie&&ie.__exportStar||function(t,A){for(var e in t)e!=="default"&&!Object.prototype.hasOwnProperty.call(A,e)&&VE(A,t,e)};Object.defineProperty(ie,"__esModule",{value:!0});ie.Secp256k1KeyIdentity=ie.ED25519_OID=ie.DER_COSE_OID=ie.unwrapDER=ie.wrapDER=ie.WebAuthnIdentity=ie.Ed25519PublicKey=ie.Ed25519KeyIdentity=void 0;var cg=tg();Object.defineProperty(ie,"Ed25519KeyIdentity",{enumerable:!0,get:function(){return cg.Ed25519KeyIdentity}});Object.defineProperty(ie,"Ed25519PublicKey",{enumerable:!0,get:function(){return cg.Ed25519PublicKey}});og(ig(),ie);og(ng(),ie);var WE=ag();Object.defineProperty(ie,"WebAuthnIdentity",{enumerable:!0,get:function(){return WE.WebAuthnIdentity}});var Sn=pn();Object.defineProperty(ie,"wrapDER",{enumerable:!0,get:function(){return Sn.wrapDER}});Object.defineProperty(ie,"unwrapDER",{enumerable:!0,get:function(){return Sn.unwrapDER}});Object.defineProperty(ie,"DER_COSE_OID",{enumerable:!0,get:function(){return Sn.DER_COSE_OID}});Object.defineProperty(ie,"ED25519_OID",{enumerable:!0,get:function(){return Sn.ED25519_OID}});var Ia=class{constructor(){throw new Error("Secp256k1KeyIdentity has been moved to a new repo: @dfinity/identity-secp256k1")}};ie.Secp256k1KeyIdentity=Ia});var ha=sA(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.IdleManager=void 0;var fg=["mousedown","mousemove","keydown","touchstart","wheel"],la=class{constructor(A={}){var e;this.callbacks=[],this.idleTimeout=10*60*1e3,this.timeoutID=void 0;let{onIdle:r,idleTimeout:i=10*60*1e3}=A||{};this.callbacks=r?[r]:[],this.idleTimeout=i;let s=this._resetTimer.bind(this);window.addEventListener("load",s,!0),fg.forEach(function(u){document.addEventListener(u,s,!0)});let o=(u,E)=>{let y;return(...T)=>{let M=this,$=function(){y=void 0,u.apply(M,T)};clearTimeout(y),y=window.setTimeout($,E)}};if(A?.captureScroll){let u=o(s,(e=A?.scrollDebounce)!==null&&e!==void 0?e:100);window.addEventListener("scroll",u,!0)}s()}static create(A={}){return new this(A)}registerCallback(A){this.callbacks.push(A)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let A=this._resetTimer.bind(this);fg.forEach(function(e){document.removeEventListener(e,A,!0)}),this.callbacks.forEach(e=>e())}_resetTimer(){let A=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(A,this.idleTimeout)}};mn.IdleManager=la});function zE(){return ug||(ug=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ZE(){return Bg||(Bg=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}function $E(t){let A=new Promise((e,r)=>{let i=()=>{t.removeEventListener("success",s),t.removeEventListener("error",o)},s=()=>{e(ot(t.result)),i()},o=()=>{r(t.error),i()};t.addEventListener("success",s),t.addEventListener("error",o)});return A.then(e=>{e instanceof IDBCursor&&Eg.set(e,t)}).catch(()=>{}),pa.set(A,t),A}function AI(t){if(da.has(t))return;let A=new Promise((e,r)=>{let i=()=>{t.removeEventListener("complete",s),t.removeEventListener("error",o),t.removeEventListener("abort",o)},s=()=>{e(),i()},o=()=>{r(t.error||new DOMException("AbortError","AbortError")),i()};t.addEventListener("complete",s),t.addEventListener("error",o),t.addEventListener("abort",o)});da.set(t,A)}function lg(t){Ca=t(Ca)}function eI(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(A,...e){let r=t.call(Qi(this),A,...e);return Ig.set(r,A.sort?A.sort():[A]),ot(r)}:ZE().includes(t)?function(...A){return t.apply(Qi(this),A),ot(Eg.get(this))}:function(...A){return ot(t.apply(Qi(this),A))}}function tI(t){return typeof t=="function"?eI(t):(t instanceof IDBTransaction&&AI(t),XE(t,zE())?new Proxy(t,Ca):t)}function ot(t){if(t instanceof IDBRequest)return $E(t);if(Qa.has(t))return Qa.get(t);let A=tI(t);return A!==t&&(Qa.set(t,A),pa.set(A,t)),A}var XE,ug,Bg,Eg,da,Ig,Qa,pa,Ca,Qi,ya=Oa(()=>{XE=(t,A)=>A.some(e=>t instanceof e);Eg=new WeakMap,da=new WeakMap,Ig=new WeakMap,Qa=new WeakMap,pa=new WeakMap;Ca={get(t,A,e){if(t instanceof IDBTransaction){if(A==="done")return da.get(t);if(A==="objectStoreNames")return t.objectStoreNames||Ig.get(t);if(A==="store")return e.objectStoreNames[1]?void 0:e.objectStore(e.objectStoreNames[0])}return ot(t[A])},set(t,A,e){return t[A]=e,!0},has(t,A){return t instanceof IDBTransaction&&(A==="done"||A==="store")?!0:A in t}};Qi=t=>pa.get(t)});var Qg={};Xg(Qg,{deleteDB:()=>iI,openDB:()=>rI,unwrap:()=>Qi,wrap:()=>ot});function rI(t,A,{blocked:e,upgrade:r,blocking:i,terminated:s}={}){let o=indexedDB.open(t,A),u=ot(o);return r&&o.addEventListener("upgradeneeded",E=>{r(ot(o.result),E.oldVersion,E.newVersion,ot(o.transaction),E)}),e&&o.addEventListener("blocked",E=>e(E.oldVersion,E.newVersion,E)),u.then(E=>{s&&E.addEventListener("close",()=>s()),i&&E.addEventListener("versionchange",y=>i(y.oldVersion,y.newVersion,y))}).catch(()=>{}),u}function iI(t,{blocked:A}={}){let e=indexedDB.deleteDatabase(t);return A&&e.addEventListener("blocked",r=>A(r.oldVersion,r)),ot(e).then(()=>{})}function hg(t,A){if(!(t instanceof IDBDatabase&&!(A in t)&&typeof A=="string"))return;if(wa.get(A))return wa.get(A);let e=A.replace(/FromIndex$/,""),r=A!==e,i=sI.includes(e);if(!(e in(r?IDBIndex:IDBObjectStore).prototype)||!(i||nI.includes(e)))return;let s=async function(o,...u){let E=this.transaction(o,i?"readwrite":"readonly"),y=E.store;return r&&(y=y.index(u.shift())),(await Promise.all([y[e](...u),i&&E.done]))[0]};return wa.set(A,s),s}var nI,sI,wa,dg=Oa(()=>{ya();ya();nI=["get","getKey","getAll","getAllKeys","count"],sI=["put","add","delete","clear"],wa=new Map;lg(t=>({...t,get:(A,e,r)=>hg(A,e)||t.get(A,e,r),has:(A,e)=>!!hg(A,e)||t.has(A,e)}))});var xa=sA(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.IdbKeyVal=void 0;var aI=(dg(),zg(Qg)),Dn=vn(),Cg="auth-client-db",pg="ic-keyval",oI=async(t=Cg,A=pg,e)=>(Dn.isBrowser&&(localStorage!=null&&localStorage.getItem(Dn.KEY_STORAGE_DELEGATION))&&(localStorage.removeItem(Dn.KEY_STORAGE_DELEGATION),localStorage.removeItem(Dn.KEY_STORAGE_KEY)),await(0,aI.openDB)(t,e,{upgrade:r=>{r.objectStoreNames,r.objectStoreNames.contains(A)&&r.clear(A),r.createObjectStore(A)}}));async function cI(t,A,e){return await t.get(A,e)}async function gI(t,A,e,r){return await t.put(A,r,e)}async function fI(t,A,e){return await t.delete(A,e)}var di=class{constructor(A,e){this._db=A,this._storeName=e}static async create(A){let{dbName:e=Cg,storeName:r=pg,version:i=1}=A??{},s=await oI(e,r,i);return new di(s,r)}async set(A,e){return await gI(this._db,this._storeName,A,e)}async get(A){var e;return(e=await cI(this._db,this._storeName,A))!==null&&e!==void 0?e:null}async remove(A){return await fI(this._db,this._storeName,A)}};Fn.IdbKeyVal=di});var vn=sA(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.IdbStorage=Ge.LocalStorage=Ge.isBrowser=Ge.DB_VERSION=Ge.KEY_VECTOR=Ge.KEY_STORAGE_DELEGATION=Ge.KEY_STORAGE_KEY=void 0;var uI=xa();Ge.KEY_STORAGE_KEY="identity";Ge.KEY_STORAGE_DELEGATION="delegation";Ge.KEY_VECTOR="iv";Ge.DB_VERSION=1;Ge.isBrowser=typeof window<"u";var _a=class{constructor(A="ic-",e){this.prefix=A,this._localStorage=e}get(A){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+A))}set(A,e){return this._getLocalStorage().setItem(this.prefix+A,e),Promise.resolve()}remove(A){return this._getLocalStorage().removeItem(this.prefix+A),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let A=typeof window>"u"?typeof global>"u"?typeof self>"u"?void 0:self.localStorage:global.localStorage:window.localStorage;if(!A)throw new Error("Could not find local storage.");return A}};Ge.LocalStorage=_a;var ba=class{get _db(){return new Promise(A=>{if(this.initializedDb){A(this.initializedDb);return}uI.IdbKeyVal.create({version:Ge.DB_VERSION}).then(e=>{this.initializedDb=e,A(e)})})}async get(A){return await(await this._db).get(A)}async set(A,e){await(await this._db).set(A,e)}async remove(A){await(await this._db).remove(A)}};Ge.IdbStorage=ba});var xg=sA(ue=>{"use strict";var BI=ue&&ue.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),EI=ue&&ue.__exportStar||function(t,A){for(var e in t)e!=="default"&&!Object.prototype.hasOwnProperty.call(A,e)&&BI(A,t,e)};Object.defineProperty(ue,"__esModule",{value:!0});ue.AuthClient=ue.ERROR_USER_INTERRUPT=ue.IdbKeyVal=ue.KEY_STORAGE_KEY=ue.KEY_STORAGE_DELEGATION=ue.LocalStorage=ue.IdbStorage=void 0;var yg=gr(),ht=gg(),wg=ha(),Ue=vn(),Nn=vn();Object.defineProperty(ue,"IdbStorage",{enumerable:!0,get:function(){return Nn.IdbStorage}});Object.defineProperty(ue,"LocalStorage",{enumerable:!0,get:function(){return Nn.LocalStorage}});Object.defineProperty(ue,"KEY_STORAGE_DELEGATION",{enumerable:!0,get:function(){return Nn.KEY_STORAGE_DELEGATION}});Object.defineProperty(ue,"KEY_STORAGE_KEY",{enumerable:!0,get:function(){return Nn.KEY_STORAGE_KEY}});var II=xa();Object.defineProperty(ue,"IdbKeyVal",{enumerable:!0,get:function(){return II.IdbKeyVal}});var lI="https://identity.ic0.app",hI="#authorize",Sa="ECDSA",ma="Ed25519",QI=500;ue.ERROR_USER_INTERRUPT="UserInterrupt";EI(ha(),ue);var Fa=class{constructor(A,e,r,i,s,o,u,E){var y;this._identity=A,this._key=e,this._chain=r,this._storage=i,this.idleManager=s,this._createOptions=o,this._idpWindow=u,this._eventHandler=E;let T=this.logout.bind(this),M=o?.idleOptions;!M?.onIdle&&!M?.disableDefaultIdleCallback&&((y=this.idleManager)===null||y===void 0||y.registerCallback(()=>{T(),location.reload()}))}static async create(A={}){var e,r,i;let s=(e=A.storage)!==null&&e!==void 0?e:new Ue.IdbStorage,o=(r=A.keyType)!==null&&r!==void 0?r:Sa,u=null;if(A.identity)u=A.identity;else{let M=await s.get(Ue.KEY_STORAGE_KEY);if(!M&&Ue.isBrowser)try{let $=new Ue.LocalStorage,R=await $.get(Ue.KEY_STORAGE_DELEGATION),z=await $.get(Ue.KEY_STORAGE_KEY);R&&z&&o===Sa&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await s.set(Ue.KEY_STORAGE_DELEGATION,R),await s.set(Ue.KEY_STORAGE_KEY,z),M=R,await $.remove(Ue.KEY_STORAGE_DELEGATION),await $.remove(Ue.KEY_STORAGE_KEY))}catch($){console.error("error while attempting to recover localstorage: "+$)}if(M)try{typeof M=="object"?o===ma&&typeof M=="string"?u=await ht.Ed25519KeyIdentity.fromJSON(M):u=await ht.ECDSAKeyIdentity.fromKeyPair(M):typeof M=="string"&&(u=ht.Ed25519KeyIdentity.fromJSON(M))}catch{}}let E=new yg.AnonymousIdentity,y=null;if(u)try{let M=await s.get(Ue.KEY_STORAGE_DELEGATION);if(typeof M=="object"&&M!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");A.identity?E=A.identity:M&&(y=ht.DelegationChain.fromJSON(M),(0,ht.isDelegationValid)(y)?E=ht.DelegationIdentity.fromDelegation(u,y):(await Da(s),u=null))}catch(M){console.error(M),await Da(s),u=null}let T;return!((i=A.idleOptions)===null||i===void 0)&&i.disableIdle?T=void 0:(y||A.identity)&&(T=wg.IdleManager.create(A.idleOptions)),u||(o===ma?(u=await ht.Ed25519KeyIdentity.generate(),await s.set(Ue.KEY_STORAGE_KEY,JSON.stringify(u.toJSON()))):(A.storage&&o===Sa&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${ma}' as the key type, as it can serialize to a string`),u=await ht.ECDSAKeyIdentity.generate(),await s.set(Ue.KEY_STORAGE_KEY,u.getKeyPair()))),new this(E,u,y,s,T,A)}_handleSuccess(A,e){var r,i,s;let o=A.delegations.map(y=>({delegation:new ht.Delegation(y.delegation.pubkey,y.delegation.expiration,y.delegation.targets),signature:y.signature.buffer})),u=ht.DelegationChain.fromDelegations(o,A.userPublicKey.buffer),E=this._key;if(E){if(this._chain=u,this._identity=ht.DelegationIdentity.fromDelegation(E,this._chain),(r=this._idpWindow)===null||r===void 0||r.close(),!this.idleManager){let y=(i=this._createOptions)===null||i===void 0?void 0:i.idleOptions;this.idleManager=wg.IdleManager.create(y),!y?.onIdle&&!y?.disableDefaultIdleCallback&&((s=this.idleManager)===null||s===void 0||s.registerCallback(()=>{this.logout(),location.reload()}))}e?.(),this._removeEventListener(),delete this._idpWindow}}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null}async login(A){var e,r,i,s;let o=BigInt(8)*BigInt(36e11),u=new URL(((e=A?.identityProvider)===null||e===void 0?void 0:e.toString())||lI);u.hash=hI,(r=this._idpWindow)===null||r===void 0||r.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(u,Object.assign({maxTimeToLive:(i=A?.maxTimeToLive)!==null&&i!==void 0?i:o},A)),window.addEventListener("message",this._eventHandler),this._idpWindow=(s=window.open(u.toString(),"idpWindow",A?.windowOpenerFeatures))!==null&&s!==void 0?s:void 0;let E=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(ue.ERROR_USER_INTERRUPT,A?.onError):setTimeout(E,QI))};E()}_getEventHandler(A,e){return async r=>{var i,s,o;if(r.origin!==A.origin){console.warn(`WARNING: expected origin '${A.origin}', got '${r.origin}' (ignoring)`);return}let u=r.data;switch(u.kind){case"authorize-ready":{let E={kind:"authorize-client",sessionPublicKey:new Uint8Array((i=this._key)===null||i===void 0?void 0:i.getPublicKey().toDer()),maxTimeToLive:e?.maxTimeToLive,derivationOrigin:(s=e?.derivationOrigin)===null||s===void 0?void 0:s.toString()};(o=this._idpWindow)===null||o===void 0||o.postMessage(E,A.origin);break}case"authorize-client-success":try{this._handleSuccess(u,e?.onSuccess),this._chain&&await this._storage.set(Ue.KEY_STORAGE_DELEGATION,JSON.stringify(this._chain.toJSON()))}catch(E){this._handleFailure(E.message,e?.onError)}break;case"authorize-client-failure":this._handleFailure(u.text,e?.onError);break;default:break}}}_handleFailure(A,e){var r;(r=this._idpWindow)===null||r===void 0||r.close(),e?.(A),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(A={}){if(await Da(this._storage),this._identity=new yg.AnonymousIdentity,this._chain=null,A.returnTo)try{window.history.pushState({},"",A.returnTo)}catch{window.location.href=A.returnTo}}};ue.AuthClient=Fa;async function Da(t){await t.remove(Ue.KEY_STORAGE_KEY),await t.remove(Ue.KEY_STORAGE_DELEGATION),await t.remove(Ue.KEY_VECTOR)}});var Br=class{callbacks=[];populate(A){this.callbacks.forEach(({callback:e})=>e(A))}subscribe(A){let e=Symbol();return this.callbacks.push({id:e,callback:A}),()=>this.callbacks=this.callbacks.filter(({id:r})=>r!==e)}};var Er=class extends Br{authUser=null;constructor(){super()}static getInstance(){return Er.instance||(Er.instance=new Er),Er.instance}set(A){this.authUser=A,this.populate(A)}get(){return this.authUser}subscribe(A){let e=super.subscribe(A);return A(this.authUser),e}isLoggedIn(){return!this.authUser?.data?.principal.isAnonymous()}reset(){this.authUser=null,this.populate(this.authUser)}},dt=Er;wi(dt,"instance");var qa=({message:t,detail:A})=>{let e=new CustomEvent(t,{detail:A,bubbles:!0});document.dispatchEvent(e)};var Tt=t=>t==null;var Ya=BigInt(144e11),Ja=576,La=576;var Ir=class extends Br{env;constructor(){super()}static getInstance(){return Ir.instance||(Ir.instance=new Ir),Ir.instance}set(A){this.env=A,this.populate(A)}get(){return this.env}localIdentity(){return this.get()?.localIdentityCanisterId!==void 0}subscribe(A){let e=super.subscribe(A);return A(this.env),e}},qe=Ir;wi(qe,"instance");var _g=Ha(xg(),1),va=()=>_g.AuthClient.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});var Rn=()=>typeof window<"u",Na=()=>{let t=qe.getInstance().get()?.satelliteId??"unknown";return qe.getInstance().localIdentity()?`http://${t}.localhost:8000`:`https://${t}.ic0.app`};var bg=({width:t,height:A})=>{if(!Rn()||Tt(window)||Tt(window.top))return;let{top:{innerWidth:e,innerHeight:r}}=window,i=r/2+screenY-A/2,s=e/2+screenX-t/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${t}, height=${A}, top=${i}, left=${s}`};var Xe=t=>t?[t]:[],Mn=t=>t?.[0],Sg=async t=>{let A=new Blob([JSON.stringify(t)],{type:"application/json; charset=utf-8"});return new Uint8Array(await A.arrayBuffer())},Ra=async t=>{let A=new Blob([t instanceof Uint8Array?t:new Uint8Array(t)],{type:"application/json; charset=utf-8"});return JSON.parse(await A.text())};var Gn=({matcher:t,paginate:A,order:e})=>({matcher:Xe(t),paginate:Xe(Tt(A)?void 0:{start_after:Xe(A.startAfter),limit:Xe(Tt(A.limit)?void 0:BigInt(A.limit))}),order:Xe(Tt(e)?void 0:{desc:e.desc,field:e.field==="created_at"?{CreatedAt:null}:e.field==="updated_at"?{UpdatedAt:null}:{Keys:null}})});var mg=({IDL:t})=>{let A=t.Record({controllers:t.Vec(t.Principal)}),e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),r=t.Record({updated_at:t.Opt(t.Nat64)}),i=t.Record({headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text))))}),s=t.Record({storage:i}),o=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),created_at:t.Nat64}),u=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text))}),E=t.Record({token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),y=t.Variant({Callback:t.Record({token:E,callback:t.Func([],[],[])})}),T=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(y),status_code:t.Nat16}),M=t.Record({token:t.Opt(E),body:t.Vec(t.Nat8)}),$=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,encoding_type:t.Opt(t.Text),full_path:t.Text}),R=t.Record({batch_id:t.Nat}),z=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),lA=t.Record({field:z,desc:t.Bool}),NA=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),hA=t.Record({order:t.Opt(lA),matcher:t.Opt(t.Text),paginate:t.Opt(NA)}),qA=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,full_path:t.Text}),KA=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),YA=t.Record({key:qA,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,KA)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64}),fA=t.Record({matches_length:t.Nat64,length:t.Nat64,items:t.Vec(t.Tuple(t.Text,YA))}),gA=t.Record({updated_at:t.Nat64,created_at:t.Nat64,bn_id:t.Opt(t.Text)}),bA=t.Record({matches_length:t.Nat64,length:t.Nat64,items:t.Vec(t.Tuple(t.Text,o))}),vA=t.Variant({Db:t.Null,Storage:t.Null}),W=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),JA=t.Record({updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:W,created_at:t.Nat64,write:W}),kA=t.Record({updated_at:t.Opt(t.Nat64),data:t.Vec(t.Nat8)}),jA=t.Record({updated_at:t.Opt(t.Nat64),max_size:t.Opt(t.Nat),read:W,write:W}),te=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat}),Be=t.Record({chunk_id:t.Nat});return t.Service({add_controllers:t.Func([A],[t.Vec(t.Principal)],[]),commit_asset_upload:t.Func([e],[],[]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Opt(t.Text)],[],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,r],[],[]),get_config:t.Func([],[s],[]),get_doc:t.Func([t.Text,t.Text],[t.Opt(o)],["query"]),http_request:t.Func([u],[T],["query"]),http_request_streaming_callback:t.Func([E],[M],["query"]),init_asset_upload:t.Func([$],[R],[]),list_assets:t.Func([t.Opt(t.Text),hA],[fA],["query"]),list_controllers:t.Func([],[t.Vec(t.Principal)],["query"]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,gA))],["query"]),list_docs:t.Func([t.Text,hA],[bA],["query"]),list_rules:t.Func([vA],[t.Vec(t.Tuple(t.Text,JA))],["query"]),remove_controllers:t.Func([A],[t.Vec(t.Principal)],[]),set_config:t.Func([s],[],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_doc:t.Func([t.Text,t.Text,kA],[o],[]),set_rule:t.Func([vA,t.Text,jA],[],[]),upload_asset_chunk:t.Func([te],[Be],[]),version:t.Func([],[t.Text],["query"])})};var Un=Ha(gr(),1);var Dg=async({satelliteId:t,idlFactory:A,identity:e,fetch:r,env:i="prod"})=>{let s=i==="dev"||qe.getInstance().localIdentity(),o=s?"http://127.0.0.1:8000/":"https://ic0.app",u=new Un.HttpAgent({identity:e,...o&&{host:o},...r&&{fetch:r}});return s&&await u.fetchRootKey(),Un.Actor.createActor(A,{agent:u,canisterId:t})};var Nt=async({satelliteId:t,...A})=>{let{satelliteId:e}=t!==void 0?{satelliteId:t}:qe.getInstance().get()??{satelliteId:void 0};if(!e)throw new Error("No satellite principal defined.");return Dg({satelliteId:e,idlFactory:mg,...A})};var Fg=async({collection:t,key:A,satellite:e})=>{let r=await Nt(e),i=Mn(await r.get_doc(t,A));if(!i)return;let s=await Ra(i.data);return{key:A,data:s,created_at:i.created_at,updated_at:i.updated_at}},vg=async({collection:t,doc:A,satellite:e})=>{let r=await Nt(e),{key:i,data:s,updated_at:o}=A,u=await r.set_doc(t,i,{data:await Sg(s),updated_at:Xe(o)});return{key:i,data:s,created_at:u.created_at,updated_at:u.updated_at}},Ng=async({collection:t,doc:A,satellite:e})=>{let r=await Nt(e),{key:i,updated_at:s}=A;return r.del_doc(t,i,{updated_at:Xe(s)})},Rg=async({collection:t,filter:A,satellite:e})=>{let r=await Nt(e),{items:i,matches_length:s,length:o}=await r.list_docs(t,Gn(A)),u=[];for(let[E,y]of i)u.push({key:E,data:await Ra(y.data),created_at:y.created_at,updated_at:y.updated_at});return{items:u,length:o,matches_length:s}};var Rt=t=>{if(t!==void 0)return t;let A=Tn();if(!A)throw new Error("No internet identity.");return A};var Mg=async({satellite:t,...A})=>{let e=Rt(t?.identity);return Fg({...A,satellite:{...t,identity:e}})},Gg=async({satellite:t,...A})=>{let e=Rt(t?.identity);return vg({...A,satellite:{...t,identity:e}})},yh=async({satellite:t,...A})=>{let e=Rt(t?.identity);return Ng({...A,satellite:{...t,identity:e}})},wh=async({satellite:t,...A})=>{let e=Rt(t?.identity);return Rg({...A,satellite:{...t,identity:e}})};var Ug=async()=>{let t=Tn();if(!t)throw new Error("No internet identity.");let A=t.getPrincipal().toText(),e=await Mg({collection:"#user",key:A});return e||await dI({userId:A,principal:t.getPrincipal()})},dI=async({userId:t,principal:A})=>{let e=new Date;return Gg({collection:"#user",doc:{key:t,data:{principal:A,created_at:e,updated_at:e}}})};var Lt,Ma=async()=>{if(Lt=Lt??await va(),!(await Lt?.isAuthenticated()||!1))return;let A=await Ug();dt.getInstance().set(A)},CI=async t=>new Promise(async(A,e)=>{Lt=Lt??await va(),await Lt.login({onSuccess:async()=>{await Ma(),A()},onError:r=>e(r),maxTimeToLive:t?.maxTimeToLive??Ya,...qe.getInstance().localIdentity()&&{identityProvider:`http://${qe.getInstance().get()?.localIdentityCanisterId}.localhost:8000?#authorize`},...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...t?.windowed!==!1&&{windowOpenerFeatures:bg({width:Ja,height:La})}})}),Ga=async()=>{await Lt?.logout(),Lt=void 0,dt.getInstance().reset()},Tn=()=>Lt?.getIdentity();var Tg=t=>{let A=t===!0?"./workers/auth.worker.js":t,e=new Worker(A),r=async()=>{qa({message:"junoSignOutAuthTimer"}),await Ga()};return e.onmessage=async({data:i})=>{let{msg:s}=i;switch(s){case"junoSignOutAuthTimer":await r();return}},dt.getInstance().subscribe(i=>{if(Tt(i)){e.postMessage({msg:"junoStopAuthTimer"});return}e.postMessage({msg:"junoStartAuthTimer"})})};var Og=async({data:t,filename:A,collection:e,headers:r,token:i,fullPath:s,encoding:o,satellite:u})=>{let E=await Nt(u),{batch_id:y}=await E.init_asset_upload({collection:e,full_path:s,name:A,token:Xe(i),encoding_type:Xe(o)}),T=7e5,M=[],$=Rn()?new Blob([await t.arrayBuffer()]):t;for(let z=0;z<$.size;z+=T){let lA=$.slice(z,z+T);M.push(await pI({batchId:y,chunk:lA,actor:E}))}let R=r.find(([z,lA])=>z.toLowerCase()==="content-type")===void 0&&t.type!==void 0&&t.type!==""?[["Content-Type",t.type]]:void 0;await E.commit_asset_upload({batch_id:y,chunk_ids:M.map(({chunk_id:z})=>z),headers:[...r,...R||[]]})},pI=async({batchId:t,chunk:A,actor:e})=>e.upload_asset_chunk({batch_id:t,content:new Uint8Array(await A.arrayBuffer())}),kg=async({collection:t,satellite:A,filter:e})=>{let r=await Nt(A),{items:i,matches_length:s,length:o}=await r.list_assets(Xe(t),Gn(e));return{items:i.map(([u,E])=>E),length:o,matches_length:s}},Hg=async({collection:t,storageFile:A,satellite:e})=>{let r=await Nt(e),{fullPath:i}=A;return r.del_asset(t,i)},qg=async({collection:t,satellite:A})=>(await Nt(A)).del_assets(Xe(t));var Yg=t=>btoa([...t].map(A=>String.fromCharCode(A)).join(""));var Ua=t=>encodeURI(t.toLowerCase().replace(/\s/g,"-"));var $h=async t=>Jg(t),AQ=async t=>Jg({filename:t.data.name,...t}),Jg=async({filename:t,data:A,collection:e,headers:r=[],fullPath:i,token:s,satellite:o,encoding:u})=>{let E=Rt(o?.identity),y=Ua(t),T=i||`/${e}/${y}`;return await Og({data:A,filename:Ua(y),collection:e,token:s,headers:r,fullPath:T,encoding:u,satellite:{...o,identity:E}}),{downloadUrl:`${Na()}${T}${s!==void 0?`?token=${s}`:""}`,fullPath:T,name:y}},eQ=async({collection:t,satellite:A,filter:e})=>{let{items:r,...i}=await kg({collection:t,satellite:{...A,identity:Rt(A?.identity)},filter:e??{}}),s=Na();return{assets:r.map(({key:{full_path:o,token:u,name:E},headers:y,encodings:T})=>{let M=Mn(u);return{fullPath:o,name:E,downloadUrl:`${s}${o}${M!==void 0?`?token=${M}`:""}`,token:M,headers:y,encodings:T.reduce(($,[R,{modified:z,sha256:lA,total_length:NA}])=>({...$,[R]:{modified:z,sha256:Yg(lA),total_length:NA}}),{})}}),...i}},tQ=async({storageFile:t,collection:A,satellite:e})=>Hg({collection:A,storageFile:t,satellite:{...e,identity:Rt(e?.identity)}}),rQ=async({collection:t,satellite:A})=>qg({collection:t,satellite:{...A,identity:Rt(A?.identity)}});var cQ=async t=>{qe.getInstance().set(t),await Ma();let A=t.workers?.auth!==void 0?Tg(t.workers.auth):void 0;return[...A?[A]:[]]},gQ=t=>dt.getInstance().subscribe(t);export{gQ as authSubscribe,yh as delDoc,tQ as deleteAsset,rQ as deleteAssets,Mg as getDoc,cQ as initJuno,eQ as listAssets,wh as listDocs,Gg as setDoc,CI as signIn,Ga as signOut,$h as uploadBlob,AQ as uploadFile};
49
+ ic-request`);function oa(t){if(typeof t!="string"||t.length<64)throw new Error("Invalid public key.");return(0,Ii.fromHexString)(t)}var li=class{constructor(A,e,r){this.pubkey=A,this.expiration=e,this.targets=r}toCBOR(){return Ei.value.map(Object.assign({pubkey:Ei.value.bytes(this.pubkey),expiration:Ei.value.u64(this.expiration.toString(16),16)},this.targets&&{targets:Ei.value.array(this.targets.map(A=>Ei.value.bytes(A.toUint8Array())))}))}toJSON(){return Object.assign({expiration:this.expiration.toString(16),pubkey:(0,Ii.toHexString)(this.pubkey)},this.targets&&{targets:this.targets.map(A=>A.toHex())})}};Se.Delegation=li;async function UE(t,A,e,r){let i=new li(A.toDer(),BigInt(+e)*BigInt(1e6),r),s=new Uint8Array([...ME,...new Uint8Array((0,ca.requestIdOf)(i))]),o=await t.sign(s);return{delegation:i,signature:o}}var hi=class{constructor(A,e){this.delegations=A,this.publicKey=e}static async create(A,e,r=new Date(Date.now()+15*60*1e3),i={}){var s,o;let u=await UE(A,e,r,i.targets);return new hi([...((s=i.previous)===null||s===void 0?void 0:s.delegations)||[],u],((o=i.previous)===null||o===void 0?void 0:o.publicKey)||A.getPublicKey().toDer())}static fromJSON(A){let{publicKey:e,delegations:r}=typeof A=="string"?JSON.parse(A):A;if(!Array.isArray(r))throw new Error("Invalid delegations.");let i=r.map(s=>{let{delegation:o,signature:u}=s,{pubkey:E,expiration:y,targets:T}=o;if(T!==void 0&&!Array.isArray(T))throw new Error("Invalid targets.");return{delegation:new li(oa(E),BigInt(`0x${y}`),T&&T.map(M=>{if(typeof M!="string")throw new Error("Invalid target.");return ga.Principal.fromHex(M)})),signature:oa(u)}});return new this(i,oa(e))}static fromDelegations(A,e){return new this(A,e)}toJSON(){return{delegations:this.delegations.map(A=>{let{delegation:e,signature:r}=A,{targets:i}=e;return{delegation:Object.assign({expiration:e.expiration.toString(16),pubkey:(0,Ii.toHexString)(e.pubkey)},i&&{targets:i.map(s=>s.toHex())}),signature:(0,Ii.toHexString)(r)}}),publicKey:(0,Ii.toHexString)(this.publicKey)}}};Se.DelegationChain=hi;var fa=class extends ca.SignIdentity{constructor(A,e){super(),this._inner=A,this._delegation=e}static fromDelegation(A,e){return new this(A,e)}getDelegation(){return this._delegation}getPublicKey(){return{toDer:()=>this._delegation.publicKey}}sign(A){return this._inner.sign(A)}async transformRequest(A){let{body:e}=A,r=RE(A,["body"]),i=await(0,ca.requestIdOf)(e);return Object.assign(Object.assign({},r),{body:{content:e,sender_sig:await this.sign(new Uint8Array([...GE,...new Uint8Array(i)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}})}};Se.DelegationIdentity=fa;function TE(t,A){for(let{delegation:i}of t.delegations)if(+new Date(Number(i.expiration/BigInt(1e6)))<=+Date.now())return!1;let e=[],r=A?.scope;r&&(Array.isArray(r)?e.push(...r.map(i=>typeof i=="string"?ga.Principal.fromText(i):i)):e.push(typeof r=="string"?ga.Principal.fromText(r):r));for(let i of e){let s=i.toText();for(let{delegation:o}of t.delegations){if(o.targets===void 0)continue;let u=!0;for(let E of o.targets)if(E.toText()===s){u=!1;break}if(u)return!1}}return!0}Se.isDelegationValid=TE});var ag=sA(We=>{"use strict";var OE=We&&We.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),kE=We&&We.__setModuleDefault||(Object.create?function(t,A){Object.defineProperty(t,"default",{enumerable:!0,value:A})}:function(t,A){t.default=A}),HE=We&&We.__importStar||function(t){if(t&&t.__esModule)return t;var A={};if(t!=null)for(var e in t)e!=="default"&&Object.prototype.hasOwnProperty.call(t,e)&&OE(A,t,e);return kE(A,t),A},qE=We&&We.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(We,"__esModule",{value:!0});We.WebAuthnIdentity=We.CosePublicKey=void 0;var YE=gr(),ua=qE(zi()),JE=HE(aa()),_n=Cn(),sg=pn();function LE(t){return(0,sg.wrapDER)(t,sg.DER_COSE_OID).buffer}function PE(t){let A=new DataView(new ArrayBuffer(2)),e=t.slice(53,55);[...new Uint8Array(e)].forEach((i,s)=>A.setUint8(s,i));let r=A.getUint16(0);return t.slice(55+r)}var bn=class{constructor(A){this._cose=A,this._encodedKey=LE(A)}toDer(){return this._encodedKey}getCose(){return this._cose}};We.CosePublicKey=bn;function KE(t="<ic0.app>"){return typeof t=="string"?Uint8Array.from(t,A=>A.charCodeAt(0)):t}async function jE(t){let A=await navigator.credentials.create(t??{publicKey:{authenticatorSelection:{userVerification:"preferred"},attestation:"direct",challenge:KE(),pubKeyCredParams:[{type:"public-key",alg:Ba.ECDSA_WITH_SHA256}],rp:{name:"Internet Identity Service"},user:{id:JE.randomBytes(16),name:"Internet Identity",displayName:"Internet Identity"}}});return A.response===void 0||!(A.rawId instanceof ArrayBuffer)?null:A}var Ba;(function(t){t[t.ECDSA_WITH_SHA256=-7]="ECDSA_WITH_SHA256"})(Ba||(Ba={}));var Ea=class extends YE.SignIdentity{constructor(A,e){super(),this.rawId=A,this._publicKey=new bn(e)}static fromJSON(A){let{publicKey:e,rawId:r}=JSON.parse(A);if(typeof e!="string"||typeof r!="string")throw new Error("Invalid JSON string.");return new this((0,_n.fromHexString)(r),(0,_n.fromHexString)(e))}static async create(A){let e=await jE(A);if(!e||e.type!=="public-key")throw new Error("Could not create credentials.");let r=e.response;if(!(r.attestationObject instanceof ArrayBuffer))throw new Error("Was expecting an attestation response.");let i=ua.default.decodeFirst(new Uint8Array(r.attestationObject));return new this(e.rawId,PE(i.authData))}getPublicKey(){return this._publicKey}async sign(A){let r=(await navigator.credentials.get({publicKey:{allowCredentials:[{type:"public-key",id:this.rawId}],challenge:A,userVerification:"preferred"}})).response;if(r.signature instanceof ArrayBuffer&&r.authenticatorData instanceof ArrayBuffer){let i=ua.default.encode(new ua.default.Tagged(55799,{authenticator_data:new Uint8Array(r.authenticatorData),client_data_json:new TextDecoder().decode(r.clientDataJSON),signature:new Uint8Array(r.signature)}));if(!i)throw new Error("failed to encode cbor");return i.buffer}else throw new Error("Invalid response from WebAuthn.")}toJSON(){return{publicKey:(0,_n.toHexString)(this._publicKey.getCose()),rawId:(0,_n.toHexString)(this.rawId)}}};We.WebAuthnIdentity=Ea});var gg=sA(ie=>{"use strict";var VE=ie&&ie.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),og=ie&&ie.__exportStar||function(t,A){for(var e in t)e!=="default"&&!Object.prototype.hasOwnProperty.call(A,e)&&VE(A,t,e)};Object.defineProperty(ie,"__esModule",{value:!0});ie.Secp256k1KeyIdentity=ie.ED25519_OID=ie.DER_COSE_OID=ie.unwrapDER=ie.wrapDER=ie.WebAuthnIdentity=ie.Ed25519PublicKey=ie.Ed25519KeyIdentity=void 0;var cg=tg();Object.defineProperty(ie,"Ed25519KeyIdentity",{enumerable:!0,get:function(){return cg.Ed25519KeyIdentity}});Object.defineProperty(ie,"Ed25519PublicKey",{enumerable:!0,get:function(){return cg.Ed25519PublicKey}});og(ig(),ie);og(ng(),ie);var WE=ag();Object.defineProperty(ie,"WebAuthnIdentity",{enumerable:!0,get:function(){return WE.WebAuthnIdentity}});var Sn=pn();Object.defineProperty(ie,"wrapDER",{enumerable:!0,get:function(){return Sn.wrapDER}});Object.defineProperty(ie,"unwrapDER",{enumerable:!0,get:function(){return Sn.unwrapDER}});Object.defineProperty(ie,"DER_COSE_OID",{enumerable:!0,get:function(){return Sn.DER_COSE_OID}});Object.defineProperty(ie,"ED25519_OID",{enumerable:!0,get:function(){return Sn.ED25519_OID}});var Ia=class{constructor(){throw new Error("Secp256k1KeyIdentity has been moved to a new repo: @dfinity/identity-secp256k1")}};ie.Secp256k1KeyIdentity=Ia});var ha=sA(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.IdleManager=void 0;var fg=["mousedown","mousemove","keydown","touchstart","wheel"],la=class{constructor(A={}){var e;this.callbacks=[],this.idleTimeout=10*60*1e3,this.timeoutID=void 0;let{onIdle:r,idleTimeout:i=10*60*1e3}=A||{};this.callbacks=r?[r]:[],this.idleTimeout=i;let s=this._resetTimer.bind(this);window.addEventListener("load",s,!0),fg.forEach(function(u){document.addEventListener(u,s,!0)});let o=(u,E)=>{let y;return(...T)=>{let M=this,$=function(){y=void 0,u.apply(M,T)};clearTimeout(y),y=window.setTimeout($,E)}};if(A?.captureScroll){let u=o(s,(e=A?.scrollDebounce)!==null&&e!==void 0?e:100);window.addEventListener("scroll",u,!0)}s()}static create(A={}){return new this(A)}registerCallback(A){this.callbacks.push(A)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let A=this._resetTimer.bind(this);fg.forEach(function(e){document.removeEventListener(e,A,!0)}),this.callbacks.forEach(e=>e())}_resetTimer(){let A=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(A,this.idleTimeout)}};mn.IdleManager=la});function zE(){return ug||(ug=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function ZE(){return Bg||(Bg=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}function $E(t){let A=new Promise((e,r)=>{let i=()=>{t.removeEventListener("success",s),t.removeEventListener("error",o)},s=()=>{e(ot(t.result)),i()},o=()=>{r(t.error),i()};t.addEventListener("success",s),t.addEventListener("error",o)});return A.then(e=>{e instanceof IDBCursor&&Eg.set(e,t)}).catch(()=>{}),pa.set(A,t),A}function AI(t){if(da.has(t))return;let A=new Promise((e,r)=>{let i=()=>{t.removeEventListener("complete",s),t.removeEventListener("error",o),t.removeEventListener("abort",o)},s=()=>{e(),i()},o=()=>{r(t.error||new DOMException("AbortError","AbortError")),i()};t.addEventListener("complete",s),t.addEventListener("error",o),t.addEventListener("abort",o)});da.set(t,A)}function lg(t){Ca=t(Ca)}function eI(t){return t===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(A,...e){let r=t.call(Qi(this),A,...e);return Ig.set(r,A.sort?A.sort():[A]),ot(r)}:ZE().includes(t)?function(...A){return t.apply(Qi(this),A),ot(Eg.get(this))}:function(...A){return ot(t.apply(Qi(this),A))}}function tI(t){return typeof t=="function"?eI(t):(t instanceof IDBTransaction&&AI(t),XE(t,zE())?new Proxy(t,Ca):t)}function ot(t){if(t instanceof IDBRequest)return $E(t);if(Qa.has(t))return Qa.get(t);let A=tI(t);return A!==t&&(Qa.set(t,A),pa.set(A,t)),A}var XE,ug,Bg,Eg,da,Ig,Qa,pa,Ca,Qi,ya=Oa(()=>{XE=(t,A)=>A.some(e=>t instanceof e);Eg=new WeakMap,da=new WeakMap,Ig=new WeakMap,Qa=new WeakMap,pa=new WeakMap;Ca={get(t,A,e){if(t instanceof IDBTransaction){if(A==="done")return da.get(t);if(A==="objectStoreNames")return t.objectStoreNames||Ig.get(t);if(A==="store")return e.objectStoreNames[1]?void 0:e.objectStore(e.objectStoreNames[0])}return ot(t[A])},set(t,A,e){return t[A]=e,!0},has(t,A){return t instanceof IDBTransaction&&(A==="done"||A==="store")?!0:A in t}};Qi=t=>pa.get(t)});var Qg={};Xg(Qg,{deleteDB:()=>iI,openDB:()=>rI,unwrap:()=>Qi,wrap:()=>ot});function rI(t,A,{blocked:e,upgrade:r,blocking:i,terminated:s}={}){let o=indexedDB.open(t,A),u=ot(o);return r&&o.addEventListener("upgradeneeded",E=>{r(ot(o.result),E.oldVersion,E.newVersion,ot(o.transaction),E)}),e&&o.addEventListener("blocked",E=>e(E.oldVersion,E.newVersion,E)),u.then(E=>{s&&E.addEventListener("close",()=>s()),i&&E.addEventListener("versionchange",y=>i(y.oldVersion,y.newVersion,y))}).catch(()=>{}),u}function iI(t,{blocked:A}={}){let e=indexedDB.deleteDatabase(t);return A&&e.addEventListener("blocked",r=>A(r.oldVersion,r)),ot(e).then(()=>{})}function hg(t,A){if(!(t instanceof IDBDatabase&&!(A in t)&&typeof A=="string"))return;if(wa.get(A))return wa.get(A);let e=A.replace(/FromIndex$/,""),r=A!==e,i=sI.includes(e);if(!(e in(r?IDBIndex:IDBObjectStore).prototype)||!(i||nI.includes(e)))return;let s=async function(o,...u){let E=this.transaction(o,i?"readwrite":"readonly"),y=E.store;return r&&(y=y.index(u.shift())),(await Promise.all([y[e](...u),i&&E.done]))[0]};return wa.set(A,s),s}var nI,sI,wa,dg=Oa(()=>{ya();ya();nI=["get","getKey","getAll","getAllKeys","count"],sI=["put","add","delete","clear"],wa=new Map;lg(t=>({...t,get:(A,e,r)=>hg(A,e)||t.get(A,e,r),has:(A,e)=>!!hg(A,e)||t.has(A,e)}))});var xa=sA(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.IdbKeyVal=void 0;var aI=(dg(),zg(Qg)),Dn=vn(),Cg="auth-client-db",pg="ic-keyval",oI=async(t=Cg,A=pg,e)=>(Dn.isBrowser&&(localStorage!=null&&localStorage.getItem(Dn.KEY_STORAGE_DELEGATION))&&(localStorage.removeItem(Dn.KEY_STORAGE_DELEGATION),localStorage.removeItem(Dn.KEY_STORAGE_KEY)),await(0,aI.openDB)(t,e,{upgrade:r=>{r.objectStoreNames,r.objectStoreNames.contains(A)&&r.clear(A),r.createObjectStore(A)}}));async function cI(t,A,e){return await t.get(A,e)}async function gI(t,A,e,r){return await t.put(A,r,e)}async function fI(t,A,e){return await t.delete(A,e)}var di=class{constructor(A,e){this._db=A,this._storeName=e}static async create(A){let{dbName:e=Cg,storeName:r=pg,version:i=1}=A??{},s=await oI(e,r,i);return new di(s,r)}async set(A,e){return await gI(this._db,this._storeName,A,e)}async get(A){var e;return(e=await cI(this._db,this._storeName,A))!==null&&e!==void 0?e:null}async remove(A){return await fI(this._db,this._storeName,A)}};Fn.IdbKeyVal=di});var vn=sA(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.IdbStorage=Ge.LocalStorage=Ge.isBrowser=Ge.DB_VERSION=Ge.KEY_VECTOR=Ge.KEY_STORAGE_DELEGATION=Ge.KEY_STORAGE_KEY=void 0;var uI=xa();Ge.KEY_STORAGE_KEY="identity";Ge.KEY_STORAGE_DELEGATION="delegation";Ge.KEY_VECTOR="iv";Ge.DB_VERSION=1;Ge.isBrowser=typeof window<"u";var _a=class{constructor(A="ic-",e){this.prefix=A,this._localStorage=e}get(A){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+A))}set(A,e){return this._getLocalStorage().setItem(this.prefix+A,e),Promise.resolve()}remove(A){return this._getLocalStorage().removeItem(this.prefix+A),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let A=typeof window>"u"?typeof global>"u"?typeof self>"u"?void 0:self.localStorage:global.localStorage:window.localStorage;if(!A)throw new Error("Could not find local storage.");return A}};Ge.LocalStorage=_a;var ba=class{get _db(){return new Promise(A=>{if(this.initializedDb){A(this.initializedDb);return}uI.IdbKeyVal.create({version:Ge.DB_VERSION}).then(e=>{this.initializedDb=e,A(e)})})}async get(A){return await(await this._db).get(A)}async set(A,e){await(await this._db).set(A,e)}async remove(A){await(await this._db).remove(A)}};Ge.IdbStorage=ba});var xg=sA(ue=>{"use strict";var BI=ue&&ue.__createBinding||(Object.create?function(t,A,e,r){r===void 0&&(r=e);var i=Object.getOwnPropertyDescriptor(A,e);(!i||("get"in i?!A.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return A[e]}}),Object.defineProperty(t,r,i)}:function(t,A,e,r){r===void 0&&(r=e),t[r]=A[e]}),EI=ue&&ue.__exportStar||function(t,A){for(var e in t)e!=="default"&&!Object.prototype.hasOwnProperty.call(A,e)&&BI(A,t,e)};Object.defineProperty(ue,"__esModule",{value:!0});ue.AuthClient=ue.ERROR_USER_INTERRUPT=ue.IdbKeyVal=ue.KEY_STORAGE_KEY=ue.KEY_STORAGE_DELEGATION=ue.LocalStorage=ue.IdbStorage=void 0;var yg=gr(),ht=gg(),wg=ha(),Ue=vn(),Nn=vn();Object.defineProperty(ue,"IdbStorage",{enumerable:!0,get:function(){return Nn.IdbStorage}});Object.defineProperty(ue,"LocalStorage",{enumerable:!0,get:function(){return Nn.LocalStorage}});Object.defineProperty(ue,"KEY_STORAGE_DELEGATION",{enumerable:!0,get:function(){return Nn.KEY_STORAGE_DELEGATION}});Object.defineProperty(ue,"KEY_STORAGE_KEY",{enumerable:!0,get:function(){return Nn.KEY_STORAGE_KEY}});var II=xa();Object.defineProperty(ue,"IdbKeyVal",{enumerable:!0,get:function(){return II.IdbKeyVal}});var lI="https://identity.ic0.app",hI="#authorize",Sa="ECDSA",ma="Ed25519",QI=500;ue.ERROR_USER_INTERRUPT="UserInterrupt";EI(ha(),ue);var Fa=class{constructor(A,e,r,i,s,o,u,E){var y;this._identity=A,this._key=e,this._chain=r,this._storage=i,this.idleManager=s,this._createOptions=o,this._idpWindow=u,this._eventHandler=E;let T=this.logout.bind(this),M=o?.idleOptions;!M?.onIdle&&!M?.disableDefaultIdleCallback&&((y=this.idleManager)===null||y===void 0||y.registerCallback(()=>{T(),location.reload()}))}static async create(A={}){var e,r,i;let s=(e=A.storage)!==null&&e!==void 0?e:new Ue.IdbStorage,o=(r=A.keyType)!==null&&r!==void 0?r:Sa,u=null;if(A.identity)u=A.identity;else{let M=await s.get(Ue.KEY_STORAGE_KEY);if(!M&&Ue.isBrowser)try{let $=new Ue.LocalStorage,R=await $.get(Ue.KEY_STORAGE_DELEGATION),z=await $.get(Ue.KEY_STORAGE_KEY);R&&z&&o===Sa&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await s.set(Ue.KEY_STORAGE_DELEGATION,R),await s.set(Ue.KEY_STORAGE_KEY,z),M=R,await $.remove(Ue.KEY_STORAGE_DELEGATION),await $.remove(Ue.KEY_STORAGE_KEY))}catch($){console.error("error while attempting to recover localstorage: "+$)}if(M)try{typeof M=="object"?o===ma&&typeof M=="string"?u=await ht.Ed25519KeyIdentity.fromJSON(M):u=await ht.ECDSAKeyIdentity.fromKeyPair(M):typeof M=="string"&&(u=ht.Ed25519KeyIdentity.fromJSON(M))}catch{}}let E=new yg.AnonymousIdentity,y=null;if(u)try{let M=await s.get(Ue.KEY_STORAGE_DELEGATION);if(typeof M=="object"&&M!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");A.identity?E=A.identity:M&&(y=ht.DelegationChain.fromJSON(M),(0,ht.isDelegationValid)(y)?E=ht.DelegationIdentity.fromDelegation(u,y):(await Da(s),u=null))}catch(M){console.error(M),await Da(s),u=null}let T;return!((i=A.idleOptions)===null||i===void 0)&&i.disableIdle?T=void 0:(y||A.identity)&&(T=wg.IdleManager.create(A.idleOptions)),u||(o===ma?(u=await ht.Ed25519KeyIdentity.generate(),await s.set(Ue.KEY_STORAGE_KEY,JSON.stringify(u.toJSON()))):(A.storage&&o===Sa&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${ma}' as the key type, as it can serialize to a string`),u=await ht.ECDSAKeyIdentity.generate(),await s.set(Ue.KEY_STORAGE_KEY,u.getKeyPair()))),new this(E,u,y,s,T,A)}_handleSuccess(A,e){var r,i,s;let o=A.delegations.map(y=>({delegation:new ht.Delegation(y.delegation.pubkey,y.delegation.expiration,y.delegation.targets),signature:y.signature.buffer})),u=ht.DelegationChain.fromDelegations(o,A.userPublicKey.buffer),E=this._key;if(E){if(this._chain=u,this._identity=ht.DelegationIdentity.fromDelegation(E,this._chain),(r=this._idpWindow)===null||r===void 0||r.close(),!this.idleManager){let y=(i=this._createOptions)===null||i===void 0?void 0:i.idleOptions;this.idleManager=wg.IdleManager.create(y),!y?.onIdle&&!y?.disableDefaultIdleCallback&&((s=this.idleManager)===null||s===void 0||s.registerCallback(()=>{this.logout(),location.reload()}))}e?.(),this._removeEventListener(),delete this._idpWindow}}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null}async login(A){var e,r,i,s;let o=BigInt(8)*BigInt(36e11),u=new URL(((e=A?.identityProvider)===null||e===void 0?void 0:e.toString())||lI);u.hash=hI,(r=this._idpWindow)===null||r===void 0||r.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(u,Object.assign({maxTimeToLive:(i=A?.maxTimeToLive)!==null&&i!==void 0?i:o},A)),window.addEventListener("message",this._eventHandler),this._idpWindow=(s=window.open(u.toString(),"idpWindow",A?.windowOpenerFeatures))!==null&&s!==void 0?s:void 0;let E=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(ue.ERROR_USER_INTERRUPT,A?.onError):setTimeout(E,QI))};E()}_getEventHandler(A,e){return async r=>{var i,s,o;if(r.origin!==A.origin){console.warn(`WARNING: expected origin '${A.origin}', got '${r.origin}' (ignoring)`);return}let u=r.data;switch(u.kind){case"authorize-ready":{let E={kind:"authorize-client",sessionPublicKey:new Uint8Array((i=this._key)===null||i===void 0?void 0:i.getPublicKey().toDer()),maxTimeToLive:e?.maxTimeToLive,derivationOrigin:(s=e?.derivationOrigin)===null||s===void 0?void 0:s.toString()};(o=this._idpWindow)===null||o===void 0||o.postMessage(E,A.origin);break}case"authorize-client-success":try{this._handleSuccess(u,e?.onSuccess),this._chain&&await this._storage.set(Ue.KEY_STORAGE_DELEGATION,JSON.stringify(this._chain.toJSON()))}catch(E){this._handleFailure(E.message,e?.onError)}break;case"authorize-client-failure":this._handleFailure(u.text,e?.onError);break;default:break}}}_handleFailure(A,e){var r;(r=this._idpWindow)===null||r===void 0||r.close(),e?.(A),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(A={}){if(await Da(this._storage),this._identity=new yg.AnonymousIdentity,this._chain=null,A.returnTo)try{window.history.pushState({},"",A.returnTo)}catch{window.location.href=A.returnTo}}};ue.AuthClient=Fa;async function Da(t){await t.remove(Ue.KEY_STORAGE_KEY),await t.remove(Ue.KEY_STORAGE_DELEGATION),await t.remove(Ue.KEY_VECTOR)}});var Br=class{callbacks=[];populate(A){this.callbacks.forEach(({callback:e})=>e(A))}subscribe(A){let e=Symbol();return this.callbacks.push({id:e,callback:A}),()=>this.callbacks=this.callbacks.filter(({id:r})=>r!==e)}};var Er=class extends Br{authUser=null;constructor(){super()}static getInstance(){return Er.instance||(Er.instance=new Er),Er.instance}set(A){this.authUser=A,this.populate(A)}get(){return this.authUser}subscribe(A){let e=super.subscribe(A);return A(this.authUser),e}isLoggedIn(){return!this.authUser?.data?.principal.isAnonymous()}reset(){this.authUser=null,this.populate(this.authUser)}},dt=Er;wi(dt,"instance");var qa=({message:t,detail:A})=>{let e=new CustomEvent(t,{detail:A,bubbles:!0});document.dispatchEvent(e)};var Tt=t=>t==null;var Ya=BigInt(144e11),Ja=576,La=576;var Ir=class extends Br{env;constructor(){super()}static getInstance(){return Ir.instance||(Ir.instance=new Ir),Ir.instance}set(A){this.env=A,this.populate(A)}get(){return this.env}localIdentity(){return this.get()?.localIdentityCanisterId!==void 0}subscribe(A){let e=super.subscribe(A);return A(this.env),e}},qe=Ir;wi(qe,"instance");var _g=Ha(xg(),1),va=()=>_g.AuthClient.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}});var Rn=()=>typeof window<"u",Na=()=>{let t=qe.getInstance().get()?.satelliteId??"unknown";return qe.getInstance().localIdentity()?`http://${t}.localhost:8000`:`https://${t}.icp0.io`};var bg=({width:t,height:A})=>{if(!Rn()||Tt(window)||Tt(window.top))return;let{top:{innerWidth:e,innerHeight:r}}=window,i=r/2+screenY-A/2,s=e/2+screenX-t/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${t}, height=${A}, top=${i}, left=${s}`};var Xe=t=>t?[t]:[],Mn=t=>t?.[0],Sg=async t=>{let A=new Blob([JSON.stringify(t)],{type:"application/json; charset=utf-8"});return new Uint8Array(await A.arrayBuffer())},Ra=async t=>{let A=new Blob([t instanceof Uint8Array?t:new Uint8Array(t)],{type:"application/json; charset=utf-8"});return JSON.parse(await A.text())};var Gn=({matcher:t,paginate:A,order:e})=>({matcher:Xe(t),paginate:Xe(Tt(A)?void 0:{start_after:Xe(A.startAfter),limit:Xe(Tt(A.limit)?void 0:BigInt(A.limit))}),order:Xe(Tt(e)?void 0:{desc:e.desc,field:e.field==="created_at"?{CreatedAt:null}:e.field==="updated_at"?{UpdatedAt:null}:{Keys:null}})});var mg=({IDL:t})=>{let A=t.Record({controllers:t.Vec(t.Principal)}),e=t.Record({batch_id:t.Nat,headers:t.Vec(t.Tuple(t.Text,t.Text)),chunk_ids:t.Vec(t.Nat)}),r=t.Record({updated_at:t.Opt(t.Nat64)}),i=t.Record({headers:t.Vec(t.Tuple(t.Text,t.Vec(t.Tuple(t.Text,t.Text))))}),s=t.Record({storage:i}),o=t.Record({updated_at:t.Nat64,owner:t.Principal,data:t.Vec(t.Nat8),created_at:t.Nat64}),u=t.Record({url:t.Text,method:t.Text,body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text))}),E=t.Record({token:t.Opt(t.Text),sha256:t.Opt(t.Vec(t.Nat8)),headers:t.Vec(t.Tuple(t.Text,t.Text)),index:t.Nat64,encoding_type:t.Text,full_path:t.Text}),y=t.Variant({Callback:t.Record({token:E,callback:t.Func([],[],[])})}),T=t.Record({body:t.Vec(t.Nat8),headers:t.Vec(t.Tuple(t.Text,t.Text)),streaming_strategy:t.Opt(y),status_code:t.Nat16}),M=t.Record({token:t.Opt(E),body:t.Vec(t.Nat8)}),$=t.Record({token:t.Opt(t.Text),collection:t.Text,name:t.Text,encoding_type:t.Opt(t.Text),full_path:t.Text}),R=t.Record({batch_id:t.Nat}),z=t.Variant({UpdatedAt:t.Null,Keys:t.Null,CreatedAt:t.Null}),lA=t.Record({field:z,desc:t.Bool}),NA=t.Record({start_after:t.Opt(t.Text),limit:t.Opt(t.Nat64)}),hA=t.Record({order:t.Opt(lA),matcher:t.Opt(t.Text),paginate:t.Opt(NA)}),qA=t.Record({token:t.Opt(t.Text),collection:t.Text,owner:t.Principal,name:t.Text,full_path:t.Text}),KA=t.Record({modified:t.Nat64,sha256:t.Vec(t.Nat8),total_length:t.Nat}),YA=t.Record({key:qA,updated_at:t.Nat64,encodings:t.Vec(t.Tuple(t.Text,KA)),headers:t.Vec(t.Tuple(t.Text,t.Text)),created_at:t.Nat64}),fA=t.Record({matches_length:t.Nat64,length:t.Nat64,items:t.Vec(t.Tuple(t.Text,YA))}),gA=t.Record({updated_at:t.Nat64,created_at:t.Nat64,bn_id:t.Opt(t.Text)}),bA=t.Record({matches_length:t.Nat64,length:t.Nat64,items:t.Vec(t.Tuple(t.Text,o))}),vA=t.Variant({Db:t.Null,Storage:t.Null}),W=t.Variant({Controllers:t.Null,Private:t.Null,Public:t.Null,Managed:t.Null}),JA=t.Record({updated_at:t.Nat64,max_size:t.Opt(t.Nat),read:W,created_at:t.Nat64,write:W}),kA=t.Record({updated_at:t.Opt(t.Nat64),data:t.Vec(t.Nat8)}),jA=t.Record({updated_at:t.Opt(t.Nat64),max_size:t.Opt(t.Nat),read:W,write:W}),te=t.Record({content:t.Vec(t.Nat8),batch_id:t.Nat}),Be=t.Record({chunk_id:t.Nat});return t.Service({add_controllers:t.Func([A],[t.Vec(t.Principal)],[]),commit_asset_upload:t.Func([e],[],[]),del_asset:t.Func([t.Text,t.Text],[],[]),del_assets:t.Func([t.Opt(t.Text)],[],[]),del_custom_domain:t.Func([t.Text],[],[]),del_doc:t.Func([t.Text,t.Text,r],[],[]),get_config:t.Func([],[s],[]),get_doc:t.Func([t.Text,t.Text],[t.Opt(o)],["query"]),http_request:t.Func([u],[T],["query"]),http_request_streaming_callback:t.Func([E],[M],["query"]),init_asset_upload:t.Func([$],[R],[]),list_assets:t.Func([t.Opt(t.Text),hA],[fA],["query"]),list_controllers:t.Func([],[t.Vec(t.Principal)],["query"]),list_custom_domains:t.Func([],[t.Vec(t.Tuple(t.Text,gA))],["query"]),list_docs:t.Func([t.Text,hA],[bA],["query"]),list_rules:t.Func([vA],[t.Vec(t.Tuple(t.Text,JA))],["query"]),remove_controllers:t.Func([A],[t.Vec(t.Principal)],[]),set_config:t.Func([s],[],[]),set_custom_domain:t.Func([t.Text,t.Opt(t.Text)],[],[]),set_doc:t.Func([t.Text,t.Text,kA],[o],[]),set_rule:t.Func([vA,t.Text,jA],[],[]),upload_asset_chunk:t.Func([te],[Be],[]),version:t.Func([],[t.Text],["query"])})};var Un=Ha(gr(),1);var Dg=async({satelliteId:t,idlFactory:A,identity:e,fetch:r,env:i="prod"})=>{let s=i==="dev"||qe.getInstance().localIdentity(),o=s?"http://127.0.0.1:8000/":"https://icp0.io",u=new Un.HttpAgent({identity:e,...o&&{host:o},...r&&{fetch:r}});return s&&await u.fetchRootKey(),Un.Actor.createActor(A,{agent:u,canisterId:t})};var Nt=async({satelliteId:t,...A})=>{let{satelliteId:e}=t!==void 0?{satelliteId:t}:qe.getInstance().get()??{satelliteId:void 0};if(!e)throw new Error("No satellite principal defined.");return Dg({satelliteId:e,idlFactory:mg,...A})};var Fg=async({collection:t,key:A,satellite:e})=>{let r=await Nt(e),i=Mn(await r.get_doc(t,A));if(!i)return;let s=await Ra(i.data);return{key:A,data:s,created_at:i.created_at,updated_at:i.updated_at}},vg=async({collection:t,doc:A,satellite:e})=>{let r=await Nt(e),{key:i,data:s,updated_at:o}=A,u=await r.set_doc(t,i,{data:await Sg(s),updated_at:Xe(o)});return{key:i,data:s,created_at:u.created_at,updated_at:u.updated_at}},Ng=async({collection:t,doc:A,satellite:e})=>{let r=await Nt(e),{key:i,updated_at:s}=A;return r.del_doc(t,i,{updated_at:Xe(s)})},Rg=async({collection:t,filter:A,satellite:e})=>{let r=await Nt(e),{items:i,matches_length:s,length:o}=await r.list_docs(t,Gn(A)),u=[];for(let[E,y]of i)u.push({key:E,data:await Ra(y.data),created_at:y.created_at,updated_at:y.updated_at});return{items:u,length:o,matches_length:s}};var Rt=t=>{if(t!==void 0)return t;let A=Tn();if(!A)throw new Error("No internet identity.");return A};var Mg=async({satellite:t,...A})=>{let e=Rt(t?.identity);return Fg({...A,satellite:{...t,identity:e}})},Gg=async({satellite:t,...A})=>{let e=Rt(t?.identity);return vg({...A,satellite:{...t,identity:e}})},yh=async({satellite:t,...A})=>{let e=Rt(t?.identity);return Ng({...A,satellite:{...t,identity:e}})},wh=async({satellite:t,...A})=>{let e=Rt(t?.identity);return Rg({...A,satellite:{...t,identity:e}})};var Ug=async()=>{let t=Tn();if(!t)throw new Error("No internet identity.");let A=t.getPrincipal().toText(),e=await Mg({collection:"#user",key:A});return e||await dI({userId:A,principal:t.getPrincipal()})},dI=async({userId:t,principal:A})=>{let e=new Date;return Gg({collection:"#user",doc:{key:t,data:{principal:A,created_at:e,updated_at:e}}})};var Lt,Ma=async()=>{if(Lt=Lt??await va(),!(await Lt?.isAuthenticated()||!1))return;let A=await Ug();dt.getInstance().set(A)},CI=async t=>new Promise(async(A,e)=>{Lt=Lt??await va(),await Lt.login({onSuccess:async()=>{await Ma(),A()},onError:r=>e(r),maxTimeToLive:t?.maxTimeToLive??Ya,...qe.getInstance().localIdentity()&&{identityProvider:`http://${qe.getInstance().get()?.localIdentityCanisterId}.localhost:8000?#authorize`},...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...t?.windowed!==!1&&{windowOpenerFeatures:bg({width:Ja,height:La})}})}),Ga=async()=>{await Lt?.logout(),Lt=void 0,dt.getInstance().reset()},Tn=()=>Lt?.getIdentity();var Tg=t=>{let A=t===!0?"./workers/auth.worker.js":t,e=new Worker(A),r=async()=>{qa({message:"junoSignOutAuthTimer"}),await Ga()};return e.onmessage=async({data:i})=>{let{msg:s}=i;switch(s){case"junoSignOutAuthTimer":await r();return}},dt.getInstance().subscribe(i=>{if(Tt(i)){e.postMessage({msg:"junoStopAuthTimer"});return}e.postMessage({msg:"junoStartAuthTimer"})})};var Og=async({data:t,filename:A,collection:e,headers:r,token:i,fullPath:s,encoding:o,satellite:u})=>{let E=await Nt(u),{batch_id:y}=await E.init_asset_upload({collection:e,full_path:s,name:A,token:Xe(i),encoding_type:Xe(o)}),T=7e5,M=[],$=Rn()?new Blob([await t.arrayBuffer()]):t;for(let z=0;z<$.size;z+=T){let lA=$.slice(z,z+T);M.push(await pI({batchId:y,chunk:lA,actor:E}))}let R=r.find(([z,lA])=>z.toLowerCase()==="content-type")===void 0&&t.type!==void 0&&t.type!==""?[["Content-Type",t.type]]:void 0;await E.commit_asset_upload({batch_id:y,chunk_ids:M.map(({chunk_id:z})=>z),headers:[...r,...R||[]]})},pI=async({batchId:t,chunk:A,actor:e})=>e.upload_asset_chunk({batch_id:t,content:new Uint8Array(await A.arrayBuffer())}),kg=async({collection:t,satellite:A,filter:e})=>{let r=await Nt(A),{items:i,matches_length:s,length:o}=await r.list_assets(Xe(t),Gn(e));return{items:i.map(([u,E])=>E),length:o,matches_length:s}},Hg=async({collection:t,storageFile:A,satellite:e})=>{let r=await Nt(e),{fullPath:i}=A;return r.del_asset(t,i)},qg=async({collection:t,satellite:A})=>(await Nt(A)).del_assets(Xe(t));var Yg=t=>btoa([...t].map(A=>String.fromCharCode(A)).join(""));var Ua=t=>encodeURI(t.toLowerCase().replace(/\s/g,"-"));var $h=async t=>Jg(t),AQ=async t=>Jg({filename:t.data.name,...t}),Jg=async({filename:t,data:A,collection:e,headers:r=[],fullPath:i,token:s,satellite:o,encoding:u})=>{let E=Rt(o?.identity),y=Ua(t),T=i||`/${e}/${y}`;return await Og({data:A,filename:Ua(y),collection:e,token:s,headers:r,fullPath:T,encoding:u,satellite:{...o,identity:E}}),{downloadUrl:`${Na()}${T}${s!==void 0?`?token=${s}`:""}`,fullPath:T,name:y}},eQ=async({collection:t,satellite:A,filter:e})=>{let{items:r,...i}=await kg({collection:t,satellite:{...A,identity:Rt(A?.identity)},filter:e??{}}),s=Na();return{assets:r.map(({key:{full_path:o,token:u,name:E},headers:y,encodings:T})=>{let M=Mn(u);return{fullPath:o,name:E,downloadUrl:`${s}${o}${M!==void 0?`?token=${M}`:""}`,token:M,headers:y,encodings:T.reduce(($,[R,{modified:z,sha256:lA,total_length:NA}])=>({...$,[R]:{modified:z,sha256:Yg(lA),total_length:NA}}),{})}}),...i}},tQ=async({storageFile:t,collection:A,satellite:e})=>Hg({collection:A,storageFile:t,satellite:{...e,identity:Rt(e?.identity)}}),rQ=async({collection:t,satellite:A})=>qg({collection:t,satellite:{...A,identity:Rt(A?.identity)}});var cQ=async t=>{qe.getInstance().set(t),await Ma();let A=t.workers?.auth!==void 0?Tg(t.workers.auth):void 0;return[...A?[A]:[]]},gQ=t=>dt.getInstance().subscribe(t);export{gQ as authSubscribe,yh as delDoc,tQ as deleteAsset,rQ as deleteAssets,Mg as getDoc,cQ as initJuno,eQ as listAssets,wh as listDocs,Gg as setDoc,CI as signIn,Ga as signOut,$h as uploadBlob,AQ as uploadFile};
50
50
  /*! Bundled license information:
51
51
 
52
52
  ieee754/index.js: