var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,"name",{value:value,configurable:true});var __require=(x=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(x,{get:(a,b)=>(typeof require!=="undefined"?require:a)[b]}):x)((function(x){if(typeof require!=="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')}));var __commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from==="object"||typeof from==="function"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:true}):target,mod));var require_crypto=__commonJS({"(disabled):crypto"(){}});var require_nacl_fast=__commonJS({"node_modules/tweetnacl/nacl-fast.js"(exports,module){(function(nacl3){"use strict";var gf=__name((function(init){var i,r=new Float64Array(16);if(init)for(i=0;i>24&255;x[i+1]=h>>16&255;x[i+2]=h>>8&255;x[i+3]=h&255;x[i+4]=l>>24&255;x[i+5]=l>>16&255;x[i+6]=l>>8&255;x[i+7]=l&255}__name(ts64,"ts64");function vn(x,xi,y,yi,n){var i,d=0;for(i=0;i>>8)-1}__name(vn,"vn");function crypto_verify_16(x,xi,y,yi){return vn(x,xi,y,yi,16)}__name(crypto_verify_16,"crypto_verify_16");function crypto_verify_32(x,xi,y,yi){return vn(x,xi,y,yi,32)}__name(crypto_verify_32,"crypto_verify_32");function core_salsa20(o,p,k,c){var j0=c[0]&255|(c[1]&255)<<8|(c[2]&255)<<16|(c[3]&255)<<24,j1=k[0]&255|(k[1]&255)<<8|(k[2]&255)<<16|(k[3]&255)<<24,j2=k[4]&255|(k[5]&255)<<8|(k[6]&255)<<16|(k[7]&255)<<24,j3=k[8]&255|(k[9]&255)<<8|(k[10]&255)<<16|(k[11]&255)<<24,j4=k[12]&255|(k[13]&255)<<8|(k[14]&255)<<16|(k[15]&255)<<24,j5=c[4]&255|(c[5]&255)<<8|(c[6]&255)<<16|(c[7]&255)<<24,j6=p[0]&255|(p[1]&255)<<8|(p[2]&255)<<16|(p[3]&255)<<24,j7=p[4]&255|(p[5]&255)<<8|(p[6]&255)<<16|(p[7]&255)<<24,j8=p[8]&255|(p[9]&255)<<8|(p[10]&255)<<16|(p[11]&255)<<24,j9=p[12]&255|(p[13]&255)<<8|(p[14]&255)<<16|(p[15]&255)<<24,j10=c[8]&255|(c[9]&255)<<8|(c[10]&255)<<16|(c[11]&255)<<24,j11=k[16]&255|(k[17]&255)<<8|(k[18]&255)<<16|(k[19]&255)<<24,j12=k[20]&255|(k[21]&255)<<8|(k[22]&255)<<16|(k[23]&255)<<24,j13=k[24]&255|(k[25]&255)<<8|(k[26]&255)<<16|(k[27]&255)<<24,j14=k[28]&255|(k[29]&255)<<8|(k[30]&255)<<16|(k[31]&255)<<24,j15=c[12]&255|(c[13]&255)<<8|(c[14]&255)<<16|(c[15]&255)<<24;var x0=j0,x1=j1,x2=j2,x3=j3,x4=j4,x5=j5,x6=j6,x7=j7,x8=j8,x9=j9,x10=j10,x11=j11,x12=j12,x13=j13,x14=j14,x15=j15,u;for(var i=0;i<20;i+=2){u=x0+x12|0;x4^=u<<7|u>>>32-7;u=x4+x0|0;x8^=u<<9|u>>>32-9;u=x8+x4|0;x12^=u<<13|u>>>32-13;u=x12+x8|0;x0^=u<<18|u>>>32-18;u=x5+x1|0;x9^=u<<7|u>>>32-7;u=x9+x5|0;x13^=u<<9|u>>>32-9;u=x13+x9|0;x1^=u<<13|u>>>32-13;u=x1+x13|0;x5^=u<<18|u>>>32-18;u=x10+x6|0;x14^=u<<7|u>>>32-7;u=x14+x10|0;x2^=u<<9|u>>>32-9;u=x2+x14|0;x6^=u<<13|u>>>32-13;u=x6+x2|0;x10^=u<<18|u>>>32-18;u=x15+x11|0;x3^=u<<7|u>>>32-7;u=x3+x15|0;x7^=u<<9|u>>>32-9;u=x7+x3|0;x11^=u<<13|u>>>32-13;u=x11+x7|0;x15^=u<<18|u>>>32-18;u=x0+x3|0;x1^=u<<7|u>>>32-7;u=x1+x0|0;x2^=u<<9|u>>>32-9;u=x2+x1|0;x3^=u<<13|u>>>32-13;u=x3+x2|0;x0^=u<<18|u>>>32-18;u=x5+x4|0;x6^=u<<7|u>>>32-7;u=x6+x5|0;x7^=u<<9|u>>>32-9;u=x7+x6|0;x4^=u<<13|u>>>32-13;u=x4+x7|0;x5^=u<<18|u>>>32-18;u=x10+x9|0;x11^=u<<7|u>>>32-7;u=x11+x10|0;x8^=u<<9|u>>>32-9;u=x8+x11|0;x9^=u<<13|u>>>32-13;u=x9+x8|0;x10^=u<<18|u>>>32-18;u=x15+x14|0;x12^=u<<7|u>>>32-7;u=x12+x15|0;x13^=u<<9|u>>>32-9;u=x13+x12|0;x14^=u<<13|u>>>32-13;u=x14+x13|0;x15^=u<<18|u>>>32-18}x0=x0+j0|0;x1=x1+j1|0;x2=x2+j2|0;x3=x3+j3|0;x4=x4+j4|0;x5=x5+j5|0;x6=x6+j6|0;x7=x7+j7|0;x8=x8+j8|0;x9=x9+j9|0;x10=x10+j10|0;x11=x11+j11|0;x12=x12+j12|0;x13=x13+j13|0;x14=x14+j14|0;x15=x15+j15|0;o[0]=x0>>>0&255;o[1]=x0>>>8&255;o[2]=x0>>>16&255;o[3]=x0>>>24&255;o[4]=x1>>>0&255;o[5]=x1>>>8&255;o[6]=x1>>>16&255;o[7]=x1>>>24&255;o[8]=x2>>>0&255;o[9]=x2>>>8&255;o[10]=x2>>>16&255;o[11]=x2>>>24&255;o[12]=x3>>>0&255;o[13]=x3>>>8&255;o[14]=x3>>>16&255;o[15]=x3>>>24&255;o[16]=x4>>>0&255;o[17]=x4>>>8&255;o[18]=x4>>>16&255;o[19]=x4>>>24&255;o[20]=x5>>>0&255;o[21]=x5>>>8&255;o[22]=x5>>>16&255;o[23]=x5>>>24&255;o[24]=x6>>>0&255;o[25]=x6>>>8&255;o[26]=x6>>>16&255;o[27]=x6>>>24&255;o[28]=x7>>>0&255;o[29]=x7>>>8&255;o[30]=x7>>>16&255;o[31]=x7>>>24&255;o[32]=x8>>>0&255;o[33]=x8>>>8&255;o[34]=x8>>>16&255;o[35]=x8>>>24&255;o[36]=x9>>>0&255;o[37]=x9>>>8&255;o[38]=x9>>>16&255;o[39]=x9>>>24&255;o[40]=x10>>>0&255;o[41]=x10>>>8&255;o[42]=x10>>>16&255;o[43]=x10>>>24&255;o[44]=x11>>>0&255;o[45]=x11>>>8&255;o[46]=x11>>>16&255;o[47]=x11>>>24&255;o[48]=x12>>>0&255;o[49]=x12>>>8&255;o[50]=x12>>>16&255;o[51]=x12>>>24&255;o[52]=x13>>>0&255;o[53]=x13>>>8&255;o[54]=x13>>>16&255;o[55]=x13>>>24&255;o[56]=x14>>>0&255;o[57]=x14>>>8&255;o[58]=x14>>>16&255;o[59]=x14>>>24&255;o[60]=x15>>>0&255;o[61]=x15>>>8&255;o[62]=x15>>>16&255;o[63]=x15>>>24&255}__name(core_salsa20,"core_salsa20");function core_hsalsa20(o,p,k,c){var j0=c[0]&255|(c[1]&255)<<8|(c[2]&255)<<16|(c[3]&255)<<24,j1=k[0]&255|(k[1]&255)<<8|(k[2]&255)<<16|(k[3]&255)<<24,j2=k[4]&255|(k[5]&255)<<8|(k[6]&255)<<16|(k[7]&255)<<24,j3=k[8]&255|(k[9]&255)<<8|(k[10]&255)<<16|(k[11]&255)<<24,j4=k[12]&255|(k[13]&255)<<8|(k[14]&255)<<16|(k[15]&255)<<24,j5=c[4]&255|(c[5]&255)<<8|(c[6]&255)<<16|(c[7]&255)<<24,j6=p[0]&255|(p[1]&255)<<8|(p[2]&255)<<16|(p[3]&255)<<24,j7=p[4]&255|(p[5]&255)<<8|(p[6]&255)<<16|(p[7]&255)<<24,j8=p[8]&255|(p[9]&255)<<8|(p[10]&255)<<16|(p[11]&255)<<24,j9=p[12]&255|(p[13]&255)<<8|(p[14]&255)<<16|(p[15]&255)<<24,j10=c[8]&255|(c[9]&255)<<8|(c[10]&255)<<16|(c[11]&255)<<24,j11=k[16]&255|(k[17]&255)<<8|(k[18]&255)<<16|(k[19]&255)<<24,j12=k[20]&255|(k[21]&255)<<8|(k[22]&255)<<16|(k[23]&255)<<24,j13=k[24]&255|(k[25]&255)<<8|(k[26]&255)<<16|(k[27]&255)<<24,j14=k[28]&255|(k[29]&255)<<8|(k[30]&255)<<16|(k[31]&255)<<24,j15=c[12]&255|(c[13]&255)<<8|(c[14]&255)<<16|(c[15]&255)<<24;var x0=j0,x1=j1,x2=j2,x3=j3,x4=j4,x5=j5,x6=j6,x7=j7,x8=j8,x9=j9,x10=j10,x11=j11,x12=j12,x13=j13,x14=j14,x15=j15,u;for(var i=0;i<20;i+=2){u=x0+x12|0;x4^=u<<7|u>>>32-7;u=x4+x0|0;x8^=u<<9|u>>>32-9;u=x8+x4|0;x12^=u<<13|u>>>32-13;u=x12+x8|0;x0^=u<<18|u>>>32-18;u=x5+x1|0;x9^=u<<7|u>>>32-7;u=x9+x5|0;x13^=u<<9|u>>>32-9;u=x13+x9|0;x1^=u<<13|u>>>32-13;u=x1+x13|0;x5^=u<<18|u>>>32-18;u=x10+x6|0;x14^=u<<7|u>>>32-7;u=x14+x10|0;x2^=u<<9|u>>>32-9;u=x2+x14|0;x6^=u<<13|u>>>32-13;u=x6+x2|0;x10^=u<<18|u>>>32-18;u=x15+x11|0;x3^=u<<7|u>>>32-7;u=x3+x15|0;x7^=u<<9|u>>>32-9;u=x7+x3|0;x11^=u<<13|u>>>32-13;u=x11+x7|0;x15^=u<<18|u>>>32-18;u=x0+x3|0;x1^=u<<7|u>>>32-7;u=x1+x0|0;x2^=u<<9|u>>>32-9;u=x2+x1|0;x3^=u<<13|u>>>32-13;u=x3+x2|0;x0^=u<<18|u>>>32-18;u=x5+x4|0;x6^=u<<7|u>>>32-7;u=x6+x5|0;x7^=u<<9|u>>>32-9;u=x7+x6|0;x4^=u<<13|u>>>32-13;u=x4+x7|0;x5^=u<<18|u>>>32-18;u=x10+x9|0;x11^=u<<7|u>>>32-7;u=x11+x10|0;x8^=u<<9|u>>>32-9;u=x8+x11|0;x9^=u<<13|u>>>32-13;u=x9+x8|0;x10^=u<<18|u>>>32-18;u=x15+x14|0;x12^=u<<7|u>>>32-7;u=x12+x15|0;x13^=u<<9|u>>>32-9;u=x13+x12|0;x14^=u<<13|u>>>32-13;u=x14+x13|0;x15^=u<<18|u>>>32-18}o[0]=x0>>>0&255;o[1]=x0>>>8&255;o[2]=x0>>>16&255;o[3]=x0>>>24&255;o[4]=x5>>>0&255;o[5]=x5>>>8&255;o[6]=x5>>>16&255;o[7]=x5>>>24&255;o[8]=x10>>>0&255;o[9]=x10>>>8&255;o[10]=x10>>>16&255;o[11]=x10>>>24&255;o[12]=x15>>>0&255;o[13]=x15>>>8&255;o[14]=x15>>>16&255;o[15]=x15>>>24&255;o[16]=x6>>>0&255;o[17]=x6>>>8&255;o[18]=x6>>>16&255;o[19]=x6>>>24&255;o[20]=x7>>>0&255;o[21]=x7>>>8&255;o[22]=x7>>>16&255;o[23]=x7>>>24&255;o[24]=x8>>>0&255;o[25]=x8>>>8&255;o[26]=x8>>>16&255;o[27]=x8>>>24&255;o[28]=x9>>>0&255;o[29]=x9>>>8&255;o[30]=x9>>>16&255;o[31]=x9>>>24&255}__name(core_hsalsa20,"core_hsalsa20");function crypto_core_salsa20(out,inp,k,c){core_salsa20(out,inp,k,c)}__name(crypto_core_salsa20,"crypto_core_salsa20");function crypto_core_hsalsa20(out,inp,k,c){core_hsalsa20(out,inp,k,c)}__name(crypto_core_hsalsa20,"crypto_core_hsalsa20");var sigma=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function crypto_stream_salsa20_xor(c,cpos,m,mpos,b,n,k){var z=new Uint8Array(16),x=new Uint8Array(64);var u,i;for(i=0;i<16;i++)z[i]=0;for(i=0;i<8;i++)z[i]=n[i];while(b>=64){crypto_core_salsa20(x,z,k,sigma);for(i=0;i<64;i++)c[cpos+i]=m[mpos+i]^x[i];u=1;for(i=8;i<16;i++){u=u+(z[i]&255)|0;z[i]=u&255;u>>>=8}b-=64;cpos+=64;mpos+=64}if(b>0){crypto_core_salsa20(x,z,k,sigma);for(i=0;i=64){crypto_core_salsa20(x,z,k,sigma);for(i=0;i<64;i++)c[cpos+i]=x[i];u=1;for(i=8;i<16;i++){u=u+(z[i]&255)|0;z[i]=u&255;u>>>=8}b-=64;cpos+=64}if(b>0){crypto_core_salsa20(x,z,k,sigma);for(i=0;i>>13|t1<<3)&8191;t2=key[4]&255|(key[5]&255)<<8;this.r[2]=(t1>>>10|t2<<6)&7939;t3=key[6]&255|(key[7]&255)<<8;this.r[3]=(t2>>>7|t3<<9)&8191;t4=key[8]&255|(key[9]&255)<<8;this.r[4]=(t3>>>4|t4<<12)&255;this.r[5]=t4>>>1&8190;t5=key[10]&255|(key[11]&255)<<8;this.r[6]=(t4>>>14|t5<<2)&8191;t6=key[12]&255|(key[13]&255)<<8;this.r[7]=(t5>>>11|t6<<5)&8065;t7=key[14]&255|(key[15]&255)<<8;this.r[8]=(t6>>>8|t7<<8)&8191;this.r[9]=t7>>>5&127;this.pad[0]=key[16]&255|(key[17]&255)<<8;this.pad[1]=key[18]&255|(key[19]&255)<<8;this.pad[2]=key[20]&255|(key[21]&255)<<8;this.pad[3]=key[22]&255|(key[23]&255)<<8;this.pad[4]=key[24]&255|(key[25]&255)<<8;this.pad[5]=key[26]&255|(key[27]&255)<<8;this.pad[6]=key[28]&255|(key[29]&255)<<8;this.pad[7]=key[30]&255|(key[31]&255)<<8}),"poly1305");poly1305.prototype.blocks=function(m,mpos,bytes){var hibit=this.fin?0:1<<11;var t0,t1,t2,t3,t4,t5,t6,t7,c;var d0,d1,d2,d3,d4,d5,d6,d7,d8,d9;var h0=this.h[0],h1=this.h[1],h2=this.h[2],h3=this.h[3],h4=this.h[4],h5=this.h[5],h6=this.h[6],h7=this.h[7],h8=this.h[8],h9=this.h[9];var r0=this.r[0],r1=this.r[1],r2=this.r[2],r3=this.r[3],r4=this.r[4],r5=this.r[5],r6=this.r[6],r7=this.r[7],r8=this.r[8],r9=this.r[9];while(bytes>=16){t0=m[mpos+0]&255|(m[mpos+1]&255)<<8;h0+=t0&8191;t1=m[mpos+2]&255|(m[mpos+3]&255)<<8;h1+=(t0>>>13|t1<<3)&8191;t2=m[mpos+4]&255|(m[mpos+5]&255)<<8;h2+=(t1>>>10|t2<<6)&8191;t3=m[mpos+6]&255|(m[mpos+7]&255)<<8;h3+=(t2>>>7|t3<<9)&8191;t4=m[mpos+8]&255|(m[mpos+9]&255)<<8;h4+=(t3>>>4|t4<<12)&8191;h5+=t4>>>1&8191;t5=m[mpos+10]&255|(m[mpos+11]&255)<<8;h6+=(t4>>>14|t5<<2)&8191;t6=m[mpos+12]&255|(m[mpos+13]&255)<<8;h7+=(t5>>>11|t6<<5)&8191;t7=m[mpos+14]&255|(m[mpos+15]&255)<<8;h8+=(t6>>>8|t7<<8)&8191;h9+=t7>>>5|hibit;c=0;d0=c;d0+=h0*r0;d0+=h1*(5*r9);d0+=h2*(5*r8);d0+=h3*(5*r7);d0+=h4*(5*r6);c=d0>>>13;d0&=8191;d0+=h5*(5*r5);d0+=h6*(5*r4);d0+=h7*(5*r3);d0+=h8*(5*r2);d0+=h9*(5*r1);c+=d0>>>13;d0&=8191;d1=c;d1+=h0*r1;d1+=h1*r0;d1+=h2*(5*r9);d1+=h3*(5*r8);d1+=h4*(5*r7);c=d1>>>13;d1&=8191;d1+=h5*(5*r6);d1+=h6*(5*r5);d1+=h7*(5*r4);d1+=h8*(5*r3);d1+=h9*(5*r2);c+=d1>>>13;d1&=8191;d2=c;d2+=h0*r2;d2+=h1*r1;d2+=h2*r0;d2+=h3*(5*r9);d2+=h4*(5*r8);c=d2>>>13;d2&=8191;d2+=h5*(5*r7);d2+=h6*(5*r6);d2+=h7*(5*r5);d2+=h8*(5*r4);d2+=h9*(5*r3);c+=d2>>>13;d2&=8191;d3=c;d3+=h0*r3;d3+=h1*r2;d3+=h2*r1;d3+=h3*r0;d3+=h4*(5*r9);c=d3>>>13;d3&=8191;d3+=h5*(5*r8);d3+=h6*(5*r7);d3+=h7*(5*r6);d3+=h8*(5*r5);d3+=h9*(5*r4);c+=d3>>>13;d3&=8191;d4=c;d4+=h0*r4;d4+=h1*r3;d4+=h2*r2;d4+=h3*r1;d4+=h4*r0;c=d4>>>13;d4&=8191;d4+=h5*(5*r9);d4+=h6*(5*r8);d4+=h7*(5*r7);d4+=h8*(5*r6);d4+=h9*(5*r5);c+=d4>>>13;d4&=8191;d5=c;d5+=h0*r5;d5+=h1*r4;d5+=h2*r3;d5+=h3*r2;d5+=h4*r1;c=d5>>>13;d5&=8191;d5+=h5*r0;d5+=h6*(5*r9);d5+=h7*(5*r8);d5+=h8*(5*r7);d5+=h9*(5*r6);c+=d5>>>13;d5&=8191;d6=c;d6+=h0*r6;d6+=h1*r5;d6+=h2*r4;d6+=h3*r3;d6+=h4*r2;c=d6>>>13;d6&=8191;d6+=h5*r1;d6+=h6*r0;d6+=h7*(5*r9);d6+=h8*(5*r8);d6+=h9*(5*r7);c+=d6>>>13;d6&=8191;d7=c;d7+=h0*r7;d7+=h1*r6;d7+=h2*r5;d7+=h3*r4;d7+=h4*r3;c=d7>>>13;d7&=8191;d7+=h5*r2;d7+=h6*r1;d7+=h7*r0;d7+=h8*(5*r9);d7+=h9*(5*r8);c+=d7>>>13;d7&=8191;d8=c;d8+=h0*r8;d8+=h1*r7;d8+=h2*r6;d8+=h3*r5;d8+=h4*r4;c=d8>>>13;d8&=8191;d8+=h5*r3;d8+=h6*r2;d8+=h7*r1;d8+=h8*r0;d8+=h9*(5*r9);c+=d8>>>13;d8&=8191;d9=c;d9+=h0*r9;d9+=h1*r8;d9+=h2*r7;d9+=h3*r6;d9+=h4*r5;c=d9>>>13;d9&=8191;d9+=h5*r4;d9+=h6*r3;d9+=h7*r2;d9+=h8*r1;d9+=h9*r0;c+=d9>>>13;d9&=8191;c=(c<<2)+c|0;c=c+d0|0;d0=c&8191;c=c>>>13;d1+=c;h0=d0;h1=d1;h2=d2;h3=d3;h4=d4;h5=d5;h6=d6;h7=d7;h8=d8;h9=d9;mpos+=16;bytes-=16}this.h[0]=h0;this.h[1]=h1;this.h[2]=h2;this.h[3]=h3;this.h[4]=h4;this.h[5]=h5;this.h[6]=h6;this.h[7]=h7;this.h[8]=h8;this.h[9]=h9};poly1305.prototype.finish=function(mac,macpos){var g=new Uint16Array(10);var c,mask,f,i;if(this.leftover){i=this.leftover;this.buffer[i++]=1;for(;i<16;i++)this.buffer[i]=0;this.fin=1;this.blocks(this.buffer,0,16)}c=this.h[1]>>>13;this.h[1]&=8191;for(i=2;i<10;i++){this.h[i]+=c;c=this.h[i]>>>13;this.h[i]&=8191}this.h[0]+=c*5;c=this.h[0]>>>13;this.h[0]&=8191;this.h[1]+=c;c=this.h[1]>>>13;this.h[1]&=8191;this.h[2]+=c;g[0]=this.h[0]+5;c=g[0]>>>13;g[0]&=8191;for(i=1;i<10;i++){g[i]=this.h[i]+c;c=g[i]>>>13;g[i]&=8191}g[9]-=1<<13;mask=(c^1)-1;for(i=0;i<10;i++)g[i]&=mask;mask=~mask;for(i=0;i<10;i++)this.h[i]=this.h[i]&mask|g[i];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;f=this.h[0]+this.pad[0];this.h[0]=f&65535;for(i=1;i<8;i++){f=(this.h[i]+this.pad[i]|0)+(f>>>16)|0;this.h[i]=f&65535}mac[macpos+0]=this.h[0]>>>0&255;mac[macpos+1]=this.h[0]>>>8&255;mac[macpos+2]=this.h[1]>>>0&255;mac[macpos+3]=this.h[1]>>>8&255;mac[macpos+4]=this.h[2]>>>0&255;mac[macpos+5]=this.h[2]>>>8&255;mac[macpos+6]=this.h[3]>>>0&255;mac[macpos+7]=this.h[3]>>>8&255;mac[macpos+8]=this.h[4]>>>0&255;mac[macpos+9]=this.h[4]>>>8&255;mac[macpos+10]=this.h[5]>>>0&255;mac[macpos+11]=this.h[5]>>>8&255;mac[macpos+12]=this.h[6]>>>0&255;mac[macpos+13]=this.h[6]>>>8&255;mac[macpos+14]=this.h[7]>>>0&255;mac[macpos+15]=this.h[7]>>>8&255};poly1305.prototype.update=function(m,mpos,bytes){var i,want;if(this.leftover){want=16-this.leftover;if(want>bytes)want=bytes;for(i=0;i=16){want=bytes-bytes%16;this.blocks(m,mpos,want);mpos+=want;bytes-=want}if(bytes){for(i=0;i>16&1);m[i-1]&=65535}m[15]=t[15]-32767-(m[14]>>16&1);b=m[15]>>16&1;m[14]&=65535;sel25519(t,m,1-b)}for(i=0;i<16;i++){o[2*i]=t[i]&255;o[2*i+1]=t[i]>>8}}__name(pack25519,"pack25519");function neq25519(a,b){var c=new Uint8Array(32),d=new Uint8Array(32);pack25519(c,a);pack25519(d,b);return crypto_verify_32(c,0,d,0)}__name(neq25519,"neq25519");function par25519(a){var d=new Uint8Array(32);pack25519(d,a);return d[0]&1}__name(par25519,"par25519");function unpack25519(o,n){var i;for(i=0;i<16;i++)o[i]=n[2*i]+(n[2*i+1]<<8);o[15]&=32767}__name(unpack25519,"unpack25519");function A(o,a,b){for(var i=0;i<16;i++)o[i]=a[i]+b[i]}__name(A,"A");function Z(o,a,b){for(var i=0;i<16;i++)o[i]=a[i]-b[i]}__name(Z,"Z");function M(o,a,b){var v,c,t0=0,t1=0,t2=0,t3=0,t4=0,t5=0,t6=0,t7=0,t8=0,t9=0,t10=0,t11=0,t12=0,t13=0,t14=0,t15=0,t16=0,t17=0,t18=0,t19=0,t20=0,t21=0,t22=0,t23=0,t24=0,t25=0,t26=0,t27=0,t28=0,t29=0,t30=0,b0=b[0],b1=b[1],b2=b[2],b3=b[3],b4=b[4],b5=b[5],b6=b[6],b7=b[7],b8=b[8],b9=b[9],b10=b[10],b11=b[11],b12=b[12],b13=b[13],b14=b[14],b15=b[15];v=a[0];t0+=v*b0;t1+=v*b1;t2+=v*b2;t3+=v*b3;t4+=v*b4;t5+=v*b5;t6+=v*b6;t7+=v*b7;t8+=v*b8;t9+=v*b9;t10+=v*b10;t11+=v*b11;t12+=v*b12;t13+=v*b13;t14+=v*b14;t15+=v*b15;v=a[1];t1+=v*b0;t2+=v*b1;t3+=v*b2;t4+=v*b3;t5+=v*b4;t6+=v*b5;t7+=v*b6;t8+=v*b7;t9+=v*b8;t10+=v*b9;t11+=v*b10;t12+=v*b11;t13+=v*b12;t14+=v*b13;t15+=v*b14;t16+=v*b15;v=a[2];t2+=v*b0;t3+=v*b1;t4+=v*b2;t5+=v*b3;t6+=v*b4;t7+=v*b5;t8+=v*b6;t9+=v*b7;t10+=v*b8;t11+=v*b9;t12+=v*b10;t13+=v*b11;t14+=v*b12;t15+=v*b13;t16+=v*b14;t17+=v*b15;v=a[3];t3+=v*b0;t4+=v*b1;t5+=v*b2;t6+=v*b3;t7+=v*b4;t8+=v*b5;t9+=v*b6;t10+=v*b7;t11+=v*b8;t12+=v*b9;t13+=v*b10;t14+=v*b11;t15+=v*b12;t16+=v*b13;t17+=v*b14;t18+=v*b15;v=a[4];t4+=v*b0;t5+=v*b1;t6+=v*b2;t7+=v*b3;t8+=v*b4;t9+=v*b5;t10+=v*b6;t11+=v*b7;t12+=v*b8;t13+=v*b9;t14+=v*b10;t15+=v*b11;t16+=v*b12;t17+=v*b13;t18+=v*b14;t19+=v*b15;v=a[5];t5+=v*b0;t6+=v*b1;t7+=v*b2;t8+=v*b3;t9+=v*b4;t10+=v*b5;t11+=v*b6;t12+=v*b7;t13+=v*b8;t14+=v*b9;t15+=v*b10;t16+=v*b11;t17+=v*b12;t18+=v*b13;t19+=v*b14;t20+=v*b15;v=a[6];t6+=v*b0;t7+=v*b1;t8+=v*b2;t9+=v*b3;t10+=v*b4;t11+=v*b5;t12+=v*b6;t13+=v*b7;t14+=v*b8;t15+=v*b9;t16+=v*b10;t17+=v*b11;t18+=v*b12;t19+=v*b13;t20+=v*b14;t21+=v*b15;v=a[7];t7+=v*b0;t8+=v*b1;t9+=v*b2;t10+=v*b3;t11+=v*b4;t12+=v*b5;t13+=v*b6;t14+=v*b7;t15+=v*b8;t16+=v*b9;t17+=v*b10;t18+=v*b11;t19+=v*b12;t20+=v*b13;t21+=v*b14;t22+=v*b15;v=a[8];t8+=v*b0;t9+=v*b1;t10+=v*b2;t11+=v*b3;t12+=v*b4;t13+=v*b5;t14+=v*b6;t15+=v*b7;t16+=v*b8;t17+=v*b9;t18+=v*b10;t19+=v*b11;t20+=v*b12;t21+=v*b13;t22+=v*b14;t23+=v*b15;v=a[9];t9+=v*b0;t10+=v*b1;t11+=v*b2;t12+=v*b3;t13+=v*b4;t14+=v*b5;t15+=v*b6;t16+=v*b7;t17+=v*b8;t18+=v*b9;t19+=v*b10;t20+=v*b11;t21+=v*b12;t22+=v*b13;t23+=v*b14;t24+=v*b15;v=a[10];t10+=v*b0;t11+=v*b1;t12+=v*b2;t13+=v*b3;t14+=v*b4;t15+=v*b5;t16+=v*b6;t17+=v*b7;t18+=v*b8;t19+=v*b9;t20+=v*b10;t21+=v*b11;t22+=v*b12;t23+=v*b13;t24+=v*b14;t25+=v*b15;v=a[11];t11+=v*b0;t12+=v*b1;t13+=v*b2;t14+=v*b3;t15+=v*b4;t16+=v*b5;t17+=v*b6;t18+=v*b7;t19+=v*b8;t20+=v*b9;t21+=v*b10;t22+=v*b11;t23+=v*b12;t24+=v*b13;t25+=v*b14;t26+=v*b15;v=a[12];t12+=v*b0;t13+=v*b1;t14+=v*b2;t15+=v*b3;t16+=v*b4;t17+=v*b5;t18+=v*b6;t19+=v*b7;t20+=v*b8;t21+=v*b9;t22+=v*b10;t23+=v*b11;t24+=v*b12;t25+=v*b13;t26+=v*b14;t27+=v*b15;v=a[13];t13+=v*b0;t14+=v*b1;t15+=v*b2;t16+=v*b3;t17+=v*b4;t18+=v*b5;t19+=v*b6;t20+=v*b7;t21+=v*b8;t22+=v*b9;t23+=v*b10;t24+=v*b11;t25+=v*b12;t26+=v*b13;t27+=v*b14;t28+=v*b15;v=a[14];t14+=v*b0;t15+=v*b1;t16+=v*b2;t17+=v*b3;t18+=v*b4;t19+=v*b5;t20+=v*b6;t21+=v*b7;t22+=v*b8;t23+=v*b9;t24+=v*b10;t25+=v*b11;t26+=v*b12;t27+=v*b13;t28+=v*b14;t29+=v*b15;v=a[15];t15+=v*b0;t16+=v*b1;t17+=v*b2;t18+=v*b3;t19+=v*b4;t20+=v*b5;t21+=v*b6;t22+=v*b7;t23+=v*b8;t24+=v*b9;t25+=v*b10;t26+=v*b11;t27+=v*b12;t28+=v*b13;t29+=v*b14;t30+=v*b15;t0+=38*t16;t1+=38*t17;t2+=38*t18;t3+=38*t19;t4+=38*t20;t5+=38*t21;t6+=38*t22;t7+=38*t23;t8+=38*t24;t9+=38*t25;t10+=38*t26;t11+=38*t27;t12+=38*t28;t13+=38*t29;t14+=38*t30;c=1;v=t0+c+65535;c=Math.floor(v/65536);t0=v-c*65536;v=t1+c+65535;c=Math.floor(v/65536);t1=v-c*65536;v=t2+c+65535;c=Math.floor(v/65536);t2=v-c*65536;v=t3+c+65535;c=Math.floor(v/65536);t3=v-c*65536;v=t4+c+65535;c=Math.floor(v/65536);t4=v-c*65536;v=t5+c+65535;c=Math.floor(v/65536);t5=v-c*65536;v=t6+c+65535;c=Math.floor(v/65536);t6=v-c*65536;v=t7+c+65535;c=Math.floor(v/65536);t7=v-c*65536;v=t8+c+65535;c=Math.floor(v/65536);t8=v-c*65536;v=t9+c+65535;c=Math.floor(v/65536);t9=v-c*65536;v=t10+c+65535;c=Math.floor(v/65536);t10=v-c*65536;v=t11+c+65535;c=Math.floor(v/65536);t11=v-c*65536;v=t12+c+65535;c=Math.floor(v/65536);t12=v-c*65536;v=t13+c+65535;c=Math.floor(v/65536);t13=v-c*65536;v=t14+c+65535;c=Math.floor(v/65536);t14=v-c*65536;v=t15+c+65535;c=Math.floor(v/65536);t15=v-c*65536;t0+=c-1+37*(c-1);c=1;v=t0+c+65535;c=Math.floor(v/65536);t0=v-c*65536;v=t1+c+65535;c=Math.floor(v/65536);t1=v-c*65536;v=t2+c+65535;c=Math.floor(v/65536);t2=v-c*65536;v=t3+c+65535;c=Math.floor(v/65536);t3=v-c*65536;v=t4+c+65535;c=Math.floor(v/65536);t4=v-c*65536;v=t5+c+65535;c=Math.floor(v/65536);t5=v-c*65536;v=t6+c+65535;c=Math.floor(v/65536);t6=v-c*65536;v=t7+c+65535;c=Math.floor(v/65536);t7=v-c*65536;v=t8+c+65535;c=Math.floor(v/65536);t8=v-c*65536;v=t9+c+65535;c=Math.floor(v/65536);t9=v-c*65536;v=t10+c+65535;c=Math.floor(v/65536);t10=v-c*65536;v=t11+c+65535;c=Math.floor(v/65536);t11=v-c*65536;v=t12+c+65535;c=Math.floor(v/65536);t12=v-c*65536;v=t13+c+65535;c=Math.floor(v/65536);t13=v-c*65536;v=t14+c+65535;c=Math.floor(v/65536);t14=v-c*65536;v=t15+c+65535;c=Math.floor(v/65536);t15=v-c*65536;t0+=c-1+37*(c-1);o[0]=t0;o[1]=t1;o[2]=t2;o[3]=t3;o[4]=t4;o[5]=t5;o[6]=t6;o[7]=t7;o[8]=t8;o[9]=t9;o[10]=t10;o[11]=t11;o[12]=t12;o[13]=t13;o[14]=t14;o[15]=t15}__name(M,"M");function S(o,a){M(o,a,a)}__name(S,"S");function inv25519(o,i){var c=gf();var a;for(a=0;a<16;a++)c[a]=i[a];for(a=253;a>=0;a--){S(c,c);if(a!==2&&a!==4)M(c,c,i)}for(a=0;a<16;a++)o[a]=c[a]}__name(inv25519,"inv25519");function pow2523(o,i){var c=gf();var a;for(a=0;a<16;a++)c[a]=i[a];for(a=250;a>=0;a--){S(c,c);if(a!==1)M(c,c,i)}for(a=0;a<16;a++)o[a]=c[a]}__name(pow2523,"pow2523");function crypto_scalarmult(q,n,p){var z=new Uint8Array(32);var x=new Float64Array(80),r,i;var a=gf(),b=gf(),c=gf(),d=gf(),e=gf(),f=gf();for(i=0;i<31;i++)z[i]=n[i];z[31]=n[31]&127|64;z[0]&=248;unpack25519(x,p);for(i=0;i<16;i++){b[i]=x[i];d[i]=a[i]=c[i]=0}a[0]=d[0]=1;for(i=254;i>=0;--i){r=z[i>>>3]>>>(i&7)&1;sel25519(a,b,r);sel25519(c,d,r);A(e,a,c);Z(a,a,c);A(c,b,d);Z(b,b,d);S(d,e);S(f,a);M(a,c,a);M(c,b,e);A(e,a,c);Z(a,a,c);S(b,a);Z(c,d,f);M(a,c,_121665);A(a,a,d);M(c,c,a);M(a,d,f);M(d,b,x);S(b,e);sel25519(a,b,r);sel25519(c,d,r)}for(i=0;i<16;i++){x[i+16]=a[i];x[i+32]=c[i];x[i+48]=b[i];x[i+64]=d[i]}var x32=x.subarray(32);var x16=x.subarray(16);inv25519(x32,x32);M(x16,x16,x32);pack25519(q,x16);return 0}__name(crypto_scalarmult,"crypto_scalarmult");function crypto_scalarmult_base(q,n){return crypto_scalarmult(q,n,_9)}__name(crypto_scalarmult_base,"crypto_scalarmult_base");function crypto_box_keypair(y,x){randombytes(x,32);return crypto_scalarmult_base(y,x)}__name(crypto_box_keypair,"crypto_box_keypair");function crypto_box_beforenm(k,y,x){var s=new Uint8Array(32);crypto_scalarmult(s,x,y);return crypto_core_hsalsa20(k,_0,s,sigma)}__name(crypto_box_beforenm,"crypto_box_beforenm");var crypto_box_afternm=crypto_secretbox;var crypto_box_open_afternm=crypto_secretbox_open;function crypto_box(c,m,d,n,y,x){var k=new Uint8Array(32);crypto_box_beforenm(k,y,x);return crypto_box_afternm(c,m,d,n,k)}__name(crypto_box,"crypto_box");function crypto_box_open(m,c,d,n,y,x){var k=new Uint8Array(32);crypto_box_beforenm(k,y,x);return crypto_box_open_afternm(m,c,d,n,k)}__name(crypto_box_open,"crypto_box_open");var K=[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 crypto_hashblocks_hl(hh,hl,m,n){var wh=new Int32Array(16),wl=new Int32Array(16),bh0,bh1,bh2,bh3,bh4,bh5,bh6,bh7,bl0,bl1,bl2,bl3,bl4,bl5,bl6,bl7,th,tl,i,j,h,l,a,b,c,d;var ah0=hh[0],ah1=hh[1],ah2=hh[2],ah3=hh[3],ah4=hh[4],ah5=hh[5],ah6=hh[6],ah7=hh[7],al0=hl[0],al1=hl[1],al2=hl[2],al3=hl[3],al4=hl[4],al5=hl[5],al6=hl[6],al7=hl[7];var pos=0;while(n>=128){for(i=0;i<16;i++){j=8*i+pos;wh[i]=m[j+0]<<24|m[j+1]<<16|m[j+2]<<8|m[j+3];wl[i]=m[j+4]<<24|m[j+5]<<16|m[j+6]<<8|m[j+7]}for(i=0;i<80;i++){bh0=ah0;bh1=ah1;bh2=ah2;bh3=ah3;bh4=ah4;bh5=ah5;bh6=ah6;bh7=ah7;bl0=al0;bl1=al1;bl2=al2;bl3=al3;bl4=al4;bl5=al5;bl6=al6;bl7=al7;h=ah7;l=al7;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=(ah4>>>14|al4<<32-14)^(ah4>>>18|al4<<32-18)^(al4>>>41-32|ah4<<32-(41-32));l=(al4>>>14|ah4<<32-14)^(al4>>>18|ah4<<32-18)^(ah4>>>41-32|al4<<32-(41-32));a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;h=ah4&ah5^~ah4&ah6;l=al4&al5^~al4&al6;a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;h=K[i*2];l=K[i*2+1];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;h=wh[i%16];l=wl[i%16];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;th=c&65535|d<<16;tl=a&65535|b<<16;h=th;l=tl;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=(ah0>>>28|al0<<32-28)^(al0>>>34-32|ah0<<32-(34-32))^(al0>>>39-32|ah0<<32-(39-32));l=(al0>>>28|ah0<<32-28)^(ah0>>>34-32|al0<<32-(34-32))^(ah0>>>39-32|al0<<32-(39-32));a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;h=ah0&ah1^ah0&ah2^ah1&ah2;l=al0&al1^al0&al2^al1&al2;a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;bh7=c&65535|d<<16;bl7=a&65535|b<<16;h=bh3;l=bl3;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=th;l=tl;a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;bh3=c&65535|d<<16;bl3=a&65535|b<<16;ah1=bh0;ah2=bh1;ah3=bh2;ah4=bh3;ah5=bh4;ah6=bh5;ah7=bh6;ah0=bh7;al1=bl0;al2=bl1;al3=bl2;al4=bl3;al5=bl4;al6=bl5;al7=bl6;al0=bl7;if(i%16===15){for(j=0;j<16;j++){h=wh[j];l=wl[j];a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=wh[(j+9)%16];l=wl[(j+9)%16];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;th=wh[(j+1)%16];tl=wl[(j+1)%16];h=(th>>>1|tl<<32-1)^(th>>>8|tl<<32-8)^th>>>7;l=(tl>>>1|th<<32-1)^(tl>>>8|th<<32-8)^(tl>>>7|th<<32-7);a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;th=wh[(j+14)%16];tl=wl[(j+14)%16];h=(th>>>19|tl<<32-19)^(tl>>>61-32|th<<32-(61-32))^th>>>6;l=(tl>>>19|th<<32-19)^(th>>>61-32|tl<<32-(61-32))^(tl>>>6|th<<32-6);a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;wh[j]=c&65535|d<<16;wl[j]=a&65535|b<<16}}}h=ah0;l=al0;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=hh[0];l=hl[0];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;hh[0]=ah0=c&65535|d<<16;hl[0]=al0=a&65535|b<<16;h=ah1;l=al1;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=hh[1];l=hl[1];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;hh[1]=ah1=c&65535|d<<16;hl[1]=al1=a&65535|b<<16;h=ah2;l=al2;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=hh[2];l=hl[2];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;hh[2]=ah2=c&65535|d<<16;hl[2]=al2=a&65535|b<<16;h=ah3;l=al3;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=hh[3];l=hl[3];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;hh[3]=ah3=c&65535|d<<16;hl[3]=al3=a&65535|b<<16;h=ah4;l=al4;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=hh[4];l=hl[4];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;hh[4]=ah4=c&65535|d<<16;hl[4]=al4=a&65535|b<<16;h=ah5;l=al5;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=hh[5];l=hl[5];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;hh[5]=ah5=c&65535|d<<16;hl[5]=al5=a&65535|b<<16;h=ah6;l=al6;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=hh[6];l=hl[6];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;hh[6]=ah6=c&65535|d<<16;hl[6]=al6=a&65535|b<<16;h=ah7;l=al7;a=l&65535;b=l>>>16;c=h&65535;d=h>>>16;h=hh[7];l=hl[7];a+=l&65535;b+=l>>>16;c+=h&65535;d+=h>>>16;b+=a>>>16;c+=b>>>16;d+=c>>>16;hh[7]=ah7=c&65535|d<<16;hl[7]=al7=a&65535|b<<16;pos+=128;n-=128}return n}__name(crypto_hashblocks_hl,"crypto_hashblocks_hl");function crypto_hash(out,m,n){var hh=new Int32Array(8),hl=new Int32Array(8),x=new Uint8Array(256),i,b=n;hh[0]=1779033703;hh[1]=3144134277;hh[2]=1013904242;hh[3]=2773480762;hh[4]=1359893119;hh[5]=2600822924;hh[6]=528734635;hh[7]=1541459225;hl[0]=4089235720;hl[1]=2227873595;hl[2]=4271175723;hl[3]=1595750129;hl[4]=2917565137;hl[5]=725511199;hl[6]=4215389547;hl[7]=327033209;crypto_hashblocks_hl(hh,hl,m,n);n%=128;for(i=0;i=0;--i){b=s[i/8|0]>>(i&7)&1;cswap(p,q,b);add(q,p);add(p,p);cswap(p,q,b)}}__name(scalarmult,"scalarmult");function scalarbase(p,s){var q=[gf(),gf(),gf(),gf()];set25519(q[0],X);set25519(q[1],Y);set25519(q[2],gf1);M(q[3],X,Y);scalarmult(p,q,s)}__name(scalarbase,"scalarbase");function crypto_sign_keypair(pk,sk,seeded){var d=new Uint8Array(64);var p=[gf(),gf(),gf(),gf()];var i;if(!seeded)randombytes(sk,32);crypto_hash(d,sk,32);d[0]&=248;d[31]&=127;d[31]|=64;scalarbase(p,d);pack(pk,p);for(i=0;i<32;i++)sk[i+32]=pk[i];return 0}__name(crypto_sign_keypair,"crypto_sign_keypair");var L=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 modL(r,x){var carry,i,j,k;for(i=63;i>=32;--i){carry=0;for(j=i-32,k=i-12;j>4)*L[j];carry=x[j]>>8;x[j]&=255}for(j=0;j<32;j++)x[j]-=carry*L[j];for(i=0;i<32;i++){x[i+1]+=x[i]>>8;r[i]=x[i]&255}}__name(modL,"modL");function reduce(r){var x=new Float64Array(64),i;for(i=0;i<64;i++)x[i]=r[i];for(i=0;i<64;i++)r[i]=0;modL(r,x)}__name(reduce,"reduce");function crypto_sign(sm,m,n,sk){var d=new Uint8Array(64),h=new Uint8Array(64),r=new Uint8Array(64);var i,j,x=new Float64Array(64);var p=[gf(),gf(),gf(),gf()];crypto_hash(d,sk,32);d[0]&=248;d[31]&=127;d[31]|=64;var smlen=n+64;for(i=0;i>7)Z(r[0],gf0,r[0]);M(r[3],r[0],r[1]);return 0}__name(unpackneg,"unpackneg");function crypto_sign_open(m,sm,n,pk){var i;var t=new Uint8Array(32),h=new Uint8Array(64);var p=[gf(),gf(),gf(),gf()],q=[gf(),gf(),gf(),gf()];if(n<64)return-1;if(unpackneg(q,pk))return-1;for(i=0;i=0};nacl3.sign.keyPair=function(){var pk=new Uint8Array(crypto_sign_PUBLICKEYBYTES);var sk=new Uint8Array(crypto_sign_SECRETKEYBYTES);crypto_sign_keypair(pk,sk);return{publicKey:pk,secretKey:sk}};nacl3.sign.keyPair.fromSecretKey=function(secretKey){checkArrayTypes(secretKey);if(secretKey.length!==crypto_sign_SECRETKEYBYTES)throw new Error("bad secret key size");var pk=new Uint8Array(crypto_sign_PUBLICKEYBYTES);for(var i=0;i>>2]|=message2[index]<>>2]|=code<>>2]|=(192|code>>>6)<>>2]|=(128|code&63)<=57344){blocks2[i>>>2]|=(224|code>>>12)<>>2]|=(128|code>>>6&63)<>>2]|=(128|code&63)<>>2]|=(240|code>>>18)<>>2]|=(128|code>>>12&63)<>>2]|=(128|code>>>6&63)<>>2]|=(128|code&63)<=64){this.block=blocks2[16];this.start=i-64;this.hash();this.hashed=true}else{this.start=i}}if(this.bytes>4294967295){this.hBytes+=this.bytes/4294967296<<0;this.bytes=this.bytes%4294967296}return this};Sha256.prototype.finalize=function(){if(this.finalized){return}this.finalized=true;var blocks2=this.blocks,i=this.lastByteIndex;blocks2[16]=this.block;blocks2[i>>>2]|=EXTRA[i&3];this.block=blocks2[16];if(i>=56){if(!this.hashed){this.hash()}blocks2[0]=this.block;blocks2[16]=blocks2[1]=blocks2[2]=blocks2[3]=blocks2[4]=blocks2[5]=blocks2[6]=blocks2[7]=blocks2[8]=blocks2[9]=blocks2[10]=blocks2[11]=blocks2[12]=blocks2[13]=blocks2[14]=blocks2[15]=0}blocks2[14]=this.hBytes<<3|this.bytes>>>29;blocks2[15]=this.bytes<<3;this.hash()};Sha256.prototype.hash=function(){var a=this.h0,b=this.h1,c=this.h2,d=this.h3,e=this.h4,f=this.h5,g=this.h6,h=this.h7,blocks2=this.blocks,j,s0,s1,maj,t1,t2,ch,ab,da,cd,bc;for(j=16;j<64;++j){t1=blocks2[j-15];s0=(t1>>>7|t1<<25)^(t1>>>18|t1<<14)^t1>>>3;t1=blocks2[j-2];s1=(t1>>>17|t1<<15)^(t1>>>19|t1<<13)^t1>>>10;blocks2[j]=blocks2[j-16]+s0+blocks2[j-7]+s1<<0}bc=b&c;for(j=0;j<64;j+=4){if(this.first){if(this.is224){ab=300032;t1=blocks2[0]-1413257819;h=t1-150054599<<0;d=t1+24177077<<0}else{ab=704751109;t1=blocks2[0]-210244248;h=t1-1521486534<<0;d=t1+143694565<<0}this.first=false}else{s0=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10);s1=(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7);ab=a&b;maj=ab^a&c^bc;ch=e&f^~e&g;t1=h+s1+ch+K[j]+blocks2[j];t2=s0+maj;h=d+t1<<0;d=t1+t2<<0}s0=(d>>>2|d<<30)^(d>>>13|d<<19)^(d>>>22|d<<10);s1=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7);da=d&a;maj=da^d&b^ab;ch=h&e^~h&f;t1=g+s1+ch+K[j+1]+blocks2[j+1];t2=s0+maj;g=c+t1<<0;c=t1+t2<<0;s0=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10);s1=(g>>>6|g<<26)^(g>>>11|g<<21)^(g>>>25|g<<7);cd=c&d;maj=cd^c&a^da;ch=g&h^~g&e;t1=f+s1+ch+K[j+2]+blocks2[j+2];t2=s0+maj;f=b+t1<<0;b=t1+t2<<0;s0=(b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10);s1=(f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7);bc=b&c;maj=bc^b&d^cd;ch=f&g^~f&h;t1=e+s1+ch+K[j+3]+blocks2[j+3];t2=s0+maj;e=a+t1<<0;a=t1+t2<<0;this.chromeBugWorkAround=true}this.h0=this.h0+a<<0;this.h1=this.h1+b<<0;this.h2=this.h2+c<<0;this.h3=this.h3+d<<0;this.h4=this.h4+e<<0;this.h5=this.h5+f<<0;this.h6=this.h6+g<<0;this.h7=this.h7+h<<0};Sha256.prototype.hex=function(){this.finalize();var h0=this.h0,h1=this.h1,h2=this.h2,h3=this.h3,h4=this.h4,h5=this.h5,h6=this.h6,h7=this.h7;var hex=HEX_CHARS[h0>>>28&15]+HEX_CHARS[h0>>>24&15]+HEX_CHARS[h0>>>20&15]+HEX_CHARS[h0>>>16&15]+HEX_CHARS[h0>>>12&15]+HEX_CHARS[h0>>>8&15]+HEX_CHARS[h0>>>4&15]+HEX_CHARS[h0&15]+HEX_CHARS[h1>>>28&15]+HEX_CHARS[h1>>>24&15]+HEX_CHARS[h1>>>20&15]+HEX_CHARS[h1>>>16&15]+HEX_CHARS[h1>>>12&15]+HEX_CHARS[h1>>>8&15]+HEX_CHARS[h1>>>4&15]+HEX_CHARS[h1&15]+HEX_CHARS[h2>>>28&15]+HEX_CHARS[h2>>>24&15]+HEX_CHARS[h2>>>20&15]+HEX_CHARS[h2>>>16&15]+HEX_CHARS[h2>>>12&15]+HEX_CHARS[h2>>>8&15]+HEX_CHARS[h2>>>4&15]+HEX_CHARS[h2&15]+HEX_CHARS[h3>>>28&15]+HEX_CHARS[h3>>>24&15]+HEX_CHARS[h3>>>20&15]+HEX_CHARS[h3>>>16&15]+HEX_CHARS[h3>>>12&15]+HEX_CHARS[h3>>>8&15]+HEX_CHARS[h3>>>4&15]+HEX_CHARS[h3&15]+HEX_CHARS[h4>>>28&15]+HEX_CHARS[h4>>>24&15]+HEX_CHARS[h4>>>20&15]+HEX_CHARS[h4>>>16&15]+HEX_CHARS[h4>>>12&15]+HEX_CHARS[h4>>>8&15]+HEX_CHARS[h4>>>4&15]+HEX_CHARS[h4&15]+HEX_CHARS[h5>>>28&15]+HEX_CHARS[h5>>>24&15]+HEX_CHARS[h5>>>20&15]+HEX_CHARS[h5>>>16&15]+HEX_CHARS[h5>>>12&15]+HEX_CHARS[h5>>>8&15]+HEX_CHARS[h5>>>4&15]+HEX_CHARS[h5&15]+HEX_CHARS[h6>>>28&15]+HEX_CHARS[h6>>>24&15]+HEX_CHARS[h6>>>20&15]+HEX_CHARS[h6>>>16&15]+HEX_CHARS[h6>>>12&15]+HEX_CHARS[h6>>>8&15]+HEX_CHARS[h6>>>4&15]+HEX_CHARS[h6&15];if(!this.is224){hex+=HEX_CHARS[h7>>>28&15]+HEX_CHARS[h7>>>24&15]+HEX_CHARS[h7>>>20&15]+HEX_CHARS[h7>>>16&15]+HEX_CHARS[h7>>>12&15]+HEX_CHARS[h7>>>8&15]+HEX_CHARS[h7>>>4&15]+HEX_CHARS[h7&15]}return hex};Sha256.prototype.toString=Sha256.prototype.hex;Sha256.prototype.digest=function(){this.finalize();var h0=this.h0,h1=this.h1,h2=this.h2,h3=this.h3,h4=this.h4,h5=this.h5,h6=this.h6,h7=this.h7;var arr=[h0>>>24&255,h0>>>16&255,h0>>>8&255,h0&255,h1>>>24&255,h1>>>16&255,h1>>>8&255,h1&255,h2>>>24&255,h2>>>16&255,h2>>>8&255,h2&255,h3>>>24&255,h3>>>16&255,h3>>>8&255,h3&255,h4>>>24&255,h4>>>16&255,h4>>>8&255,h4&255,h5>>>24&255,h5>>>16&255,h5>>>8&255,h5&255,h6>>>24&255,h6>>>16&255,h6>>>8&255,h6&255];if(!this.is224){arr.push(h7>>>24&255,h7>>>16&255,h7>>>8&255,h7&255)}return arr};Sha256.prototype.array=Sha256.prototype.digest;Sha256.prototype.arrayBuffer=function(){this.finalize();var buffer=new ArrayBuffer(this.is224?28:32);var dataView=new DataView(buffer);dataView.setUint32(0,this.h0);dataView.setUint32(4,this.h1);dataView.setUint32(8,this.h2);dataView.setUint32(12,this.h3);dataView.setUint32(16,this.h4);dataView.setUint32(20,this.h5);dataView.setUint32(24,this.h6);if(!this.is224){dataView.setUint32(28,this.h7)}return buffer};function HmacSha256(key,is224,sharedMemory){var i,type=typeof key;if(type==="string"){var bytes=[],length=key.length,index=0,code;for(i=0;i>>6;bytes[index++]=128|code&63}else if(code<55296||code>=57344){bytes[index++]=224|code>>>12;bytes[index++]=128|code>>>6&63;bytes[index++]=128|code&63}else{code=65536+((code&1023)<<10|key.charCodeAt(++i)&1023);bytes[index++]=240|code>>>18;bytes[index++]=128|code>>>12&63;bytes[index++]=128|code>>>6&63;bytes[index++]=128|code&63}}key=bytes}else{if(type==="object"){if(key===null){throw new Error(ERROR)}else if(ARRAY_BUFFER&&key.constructor===ArrayBuffer){key=new Uint8Array(key)}else if(!Array.isArray(key)){if(!ARRAY_BUFFER||!ArrayBuffer.isView(key)){throw new Error(ERROR)}}}else{throw new Error(ERROR)}}if(key.length>64){key=new Sha256(is224,true).update(key).array()}var oKeyPad=[],iKeyPad=[];for(i=0;i<64;++i){var b=key[i]||0;oKeyPad[i]=92^b;iKeyPad[i]=54^b}Sha256.call(this,is224,sharedMemory);this.update(iKeyPad);this.oKeyPad=oKeyPad;this.inner=true;this.sharedMemory=sharedMemory}__name(HmacSha256,"HmacSha256");HmacSha256.prototype=new Sha256;HmacSha256.prototype.finalize=function(){Sha256.prototype.finalize.call(this);if(this.inner){this.inner=false;var innerHash=this.array();Sha256.call(this,this.is224,this.sharedMemory);this.update(this.oKeyPad);this.update(innerHash);Sha256.prototype.finalize.call(this)}};var exports2=createMethod();exports2.sha256=exports2;exports2.sha224=createMethod(true);exports2.sha256.hmac=createHmacMethod();exports2.sha224.hmac=createHmacMethod(true);if(COMMON_JS){module.exports=exports2}else{root.sha256=exports2.sha256;root.sha224=exports2.sha224;if(AMD){define((function(){return exports2}))}}})()}});var webcrypto_default=crypto;var isCryptoKey=__name((key=>key instanceof CryptoKey),"isCryptoKey");var encoder=new TextEncoder;var decoder=new TextDecoder;var MAX_INT32=2**32;function concat(...buffers){const size=buffers.reduce(((acc,{length:length})=>acc+length),0);const buf=new Uint8Array(size);let i=0;for(const buffer of buffers){buf.set(buffer,i);i+=buffer.length}return buf}__name(concat,"concat");var encodeBase64=__name((input=>{let unencoded=input;if(typeof unencoded==="string"){unencoded=encoder.encode(unencoded)}const CHUNK_SIZE=32768;const arr=[];for(let i=0;iencodeBase64(input).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")),"encode");var decodeBase64=__name((encoded=>{const binary=atob(encoded);const bytes=new Uint8Array(binary.length);for(let i=0;i{let encoded=input;if(encoded instanceof Uint8Array){encoded=decoder.decode(encoded)}encoded=encoded.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return decodeBase64(encoded)}catch{throw new TypeError("The input to be decoded is not correctly encoded.")}}),"decode");var JOSEError=class extends Error{constructor(message2,options){super(message2,options);this.code="ERR_JOSE_GENERIC";this.name=this.constructor.name;Error.captureStackTrace?.(this,this.constructor)}};__name(JOSEError,"JOSEError");JOSEError.code="ERR_JOSE_GENERIC";var JWTClaimValidationFailed=class extends JOSEError{constructor(message2,payload,claim="unspecified",reason="unspecified"){super(message2,{cause:{claim:claim,reason:reason,payload:payload}});this.code="ERR_JWT_CLAIM_VALIDATION_FAILED";this.claim=claim;this.reason=reason;this.payload=payload}};__name(JWTClaimValidationFailed,"JWTClaimValidationFailed");JWTClaimValidationFailed.code="ERR_JWT_CLAIM_VALIDATION_FAILED";var JWTExpired=class extends JOSEError{constructor(message2,payload,claim="unspecified",reason="unspecified"){super(message2,{cause:{claim:claim,reason:reason,payload:payload}});this.code="ERR_JWT_EXPIRED";this.claim=claim;this.reason=reason;this.payload=payload}};__name(JWTExpired,"JWTExpired");JWTExpired.code="ERR_JWT_EXPIRED";var JOSEAlgNotAllowed=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JOSE_ALG_NOT_ALLOWED"}};__name(JOSEAlgNotAllowed,"JOSEAlgNotAllowed");JOSEAlgNotAllowed.code="ERR_JOSE_ALG_NOT_ALLOWED";var JOSENotSupported=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JOSE_NOT_SUPPORTED"}};__name(JOSENotSupported,"JOSENotSupported");JOSENotSupported.code="ERR_JOSE_NOT_SUPPORTED";var JWEDecryptionFailed=class extends JOSEError{constructor(message2="decryption operation failed",options){super(message2,options);this.code="ERR_JWE_DECRYPTION_FAILED"}};__name(JWEDecryptionFailed,"JWEDecryptionFailed");JWEDecryptionFailed.code="ERR_JWE_DECRYPTION_FAILED";var JWEInvalid=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JWE_INVALID"}};__name(JWEInvalid,"JWEInvalid");JWEInvalid.code="ERR_JWE_INVALID";var JWSInvalid=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JWS_INVALID"}};__name(JWSInvalid,"JWSInvalid");JWSInvalid.code="ERR_JWS_INVALID";var JWTInvalid=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JWT_INVALID"}};__name(JWTInvalid,"JWTInvalid");JWTInvalid.code="ERR_JWT_INVALID";var JWKInvalid=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JWK_INVALID"}};__name(JWKInvalid,"JWKInvalid");JWKInvalid.code="ERR_JWK_INVALID";var JWKSInvalid=class extends JOSEError{constructor(){super(...arguments);this.code="ERR_JWKS_INVALID"}};__name(JWKSInvalid,"JWKSInvalid");JWKSInvalid.code="ERR_JWKS_INVALID";var JWKSNoMatchingKey=class extends JOSEError{constructor(message2="no applicable key found in the JSON Web Key Set",options){super(message2,options);this.code="ERR_JWKS_NO_MATCHING_KEY"}};__name(JWKSNoMatchingKey,"JWKSNoMatchingKey");JWKSNoMatchingKey.code="ERR_JWKS_NO_MATCHING_KEY";var JWKSMultipleMatchingKeys=class extends JOSEError{constructor(message2="multiple matching keys found in the JSON Web Key Set",options){super(message2,options);this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS"}};__name(JWKSMultipleMatchingKeys,"JWKSMultipleMatchingKeys");JWKSMultipleMatchingKeys.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";var JWKSTimeout=class extends JOSEError{constructor(message2="request timed out",options){super(message2,options);this.code="ERR_JWKS_TIMEOUT"}};__name(JWKSTimeout,"JWKSTimeout");JWKSTimeout.code="ERR_JWKS_TIMEOUT";var JWSSignatureVerificationFailed=class extends JOSEError{constructor(message2="signature verification failed",options){super(message2,options);this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}};__name(JWSSignatureVerificationFailed,"JWSSignatureVerificationFailed");JWSSignatureVerificationFailed.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";function unusable(name,prop="algorithm.name"){return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`)}__name(unusable,"unusable");function isAlgorithm(algorithm,name){return algorithm.name===name}__name(isAlgorithm,"isAlgorithm");function getHashLength(hash){return parseInt(hash.name.slice(4),10)}__name(getHashLength,"getHashLength");function getNamedCurve(alg){switch(alg){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw new Error("unreachable")}}__name(getNamedCurve,"getNamedCurve");function checkUsage(key,usages){if(usages.length&&!usages.some((expected=>key.usages.includes(expected)))){let msg="CryptoKey does not support this operation, its usages must include ";if(usages.length>2){const last=usages.pop();msg+=`one of ${usages.join(", ")}, or ${last}.`}else if(usages.length===2){msg+=`one of ${usages[0]} or ${usages[1]}.`}else{msg+=`${usages[0]}.`}throw new TypeError(msg)}}__name(checkUsage,"checkUsage");function checkSigCryptoKey(key,alg,...usages){switch(alg){case"HS256":case"HS384":case"HS512":{if(!isAlgorithm(key.algorithm,"HMAC"))throw unusable("HMAC");const expected=parseInt(alg.slice(2),10);const actual=getHashLength(key.algorithm.hash);if(actual!==expected)throw unusable(`SHA-${expected}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!isAlgorithm(key.algorithm,"RSASSA-PKCS1-v1_5"))throw unusable("RSASSA-PKCS1-v1_5");const expected=parseInt(alg.slice(2),10);const actual=getHashLength(key.algorithm.hash);if(actual!==expected)throw unusable(`SHA-${expected}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!isAlgorithm(key.algorithm,"RSA-PSS"))throw unusable("RSA-PSS");const expected=parseInt(alg.slice(2),10);const actual=getHashLength(key.algorithm.hash);if(actual!==expected)throw unusable(`SHA-${expected}`,"algorithm.hash");break}case"EdDSA":{if(key.algorithm.name!=="Ed25519"&&key.algorithm.name!=="Ed448"){throw unusable("Ed25519 or Ed448")}break}case"ES256":case"ES384":case"ES512":{if(!isAlgorithm(key.algorithm,"ECDSA"))throw unusable("ECDSA");const expected=getNamedCurve(alg);const actual=key.algorithm.namedCurve;if(actual!==expected)throw unusable(expected,"algorithm.namedCurve");break}default:throw new TypeError("CryptoKey does not support this operation")}checkUsage(key,usages)}__name(checkSigCryptoKey,"checkSigCryptoKey");function message(msg,actual,...types2){types2=types2.filter(Boolean);if(types2.length>2){const last=types2.pop();msg+=`one of type ${types2.join(", ")}, or ${last}.`}else if(types2.length===2){msg+=`one of type ${types2[0]} or ${types2[1]}.`}else{msg+=`of type ${types2[0]}.`}if(actual==null){msg+=` Received ${actual}`}else if(typeof actual==="function"&&actual.name){msg+=` Received function ${actual.name}`}else if(typeof actual==="object"&&actual!=null){if(actual.constructor?.name){msg+=` Received an instance of ${actual.constructor.name}`}}return msg}__name(message,"message");var invalid_key_input_default=__name(((actual,...types2)=>message("Key must be ",actual,...types2)),"default");function withAlg(alg,actual,...types2){return message(`Key for the ${alg} algorithm must be `,actual,...types2)}__name(withAlg,"withAlg");var is_key_like_default=__name((key=>{if(isCryptoKey(key)){return true}return key?.[Symbol.toStringTag]==="KeyObject"}),"default");var types=["CryptoKey"];var isDisjoint=__name(((...headers)=>{const sources=headers.filter(Boolean);if(sources.length===0||sources.length===1){return true}let acc;for(const header of sources){const parameters=Object.keys(header);if(!acc||acc.size===0){acc=new Set(parameters);continue}for(const parameter of parameters){if(acc.has(parameter)){return false}acc.add(parameter)}}return true}),"isDisjoint");var is_disjoint_default=isDisjoint;function isObjectLike(value){return typeof value==="object"&&value!==null}__name(isObjectLike,"isObjectLike");function isObject(input){if(!isObjectLike(input)||Object.prototype.toString.call(input)!=="[object Object]"){return false}if(Object.getPrototypeOf(input)===null){return true}let proto=input;while(Object.getPrototypeOf(proto)!==null){proto=Object.getPrototypeOf(proto)}return Object.getPrototypeOf(input)===proto}__name(isObject,"isObject");var check_key_length_default=__name(((alg,key)=>{if(alg.startsWith("RS")||alg.startsWith("PS")){const{modulusLength:modulusLength}=key.algorithm;if(typeof modulusLength!=="number"||modulusLength<2048){throw new TypeError(`${alg} requires key modulusLength to be 2048 bits or larger`)}}}),"default");function isJWK(key){return isObject(key)&&typeof key.kty==="string"}__name(isJWK,"isJWK");function isPrivateJWK(key){return key.kty!=="oct"&&typeof key.d==="string"}__name(isPrivateJWK,"isPrivateJWK");function isPublicJWK(key){return key.kty!=="oct"&&typeof key.d==="undefined"}__name(isPublicJWK,"isPublicJWK");function isSecretJWK(key){return isJWK(key)&&key.kty==="oct"&&typeof key.k==="string"}__name(isSecretJWK,"isSecretJWK");function subtleMapping(jwk){let algorithm;let keyUsages;switch(jwk.kty){case"RSA":{switch(jwk.alg){case"PS256":case"PS384":case"PS512":algorithm={name:"RSA-PSS",hash:`SHA-${jwk.alg.slice(-3)}`};keyUsages=jwk.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":algorithm={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${jwk.alg.slice(-3)}`};keyUsages=jwk.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":algorithm={name:"RSA-OAEP",hash:`SHA-${parseInt(jwk.alg.slice(-3),10)||1}`};keyUsages=jwk.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"EC":{switch(jwk.alg){case"ES256":algorithm={name:"ECDSA",namedCurve:"P-256"};keyUsages=jwk.d?["sign"]:["verify"];break;case"ES384":algorithm={name:"ECDSA",namedCurve:"P-384"};keyUsages=jwk.d?["sign"]:["verify"];break;case"ES512":algorithm={name:"ECDSA",namedCurve:"P-521"};keyUsages=jwk.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":algorithm={name:"ECDH",namedCurve:jwk.crv};keyUsages=jwk.d?["deriveBits"]:[];break;default:throw new JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}case"OKP":{switch(jwk.alg){case"EdDSA":algorithm={name:jwk.crv};keyUsages=jwk.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":algorithm={name:jwk.crv};keyUsages=jwk.d?["deriveBits"]:[];break;default:throw new JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break}default:throw new JOSENotSupported('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:algorithm,keyUsages:keyUsages}}__name(subtleMapping,"subtleMapping");var parse=__name((async jwk=>{if(!jwk.alg){throw new TypeError('"alg" argument is required when "jwk.alg" is not present')}const{algorithm:algorithm,keyUsages:keyUsages}=subtleMapping(jwk);const rest=[algorithm,jwk.ext??false,jwk.key_ops??keyUsages];const keyData={...jwk};delete keyData.alg;delete keyData.use;return webcrypto_default.subtle.importKey("jwk",keyData,...rest)}),"parse");var jwk_to_key_default=parse;var exportKeyValue=__name((k=>decode(k)),"exportKeyValue");var privCache;var pubCache;var isKeyObject=__name((key=>key?.[Symbol.toStringTag]==="KeyObject"),"isKeyObject");var importAndCache=__name((async(cache,key,jwk,alg,freeze=false)=>{let cached=cache.get(key);if(cached?.[alg]){return cached[alg]}const cryptoKey=await jwk_to_key_default({...jwk,alg:alg});if(freeze)Object.freeze(key);if(!cached){cache.set(key,{[alg]:cryptoKey})}else{cached[alg]=cryptoKey}return cryptoKey}),"importAndCache");var normalizePublicKey=__name(((key,alg)=>{if(isKeyObject(key)){let jwk=key.export({format:"jwk"});delete jwk.d;delete jwk.dp;delete jwk.dq;delete jwk.p;delete jwk.q;delete jwk.qi;if(jwk.k){return exportKeyValue(jwk.k)}pubCache||(pubCache=new WeakMap);return importAndCache(pubCache,key,jwk,alg)}if(isJWK(key)){if(key.k)return decode(key.k);pubCache||(pubCache=new WeakMap);const cryptoKey=importAndCache(pubCache,key,key,alg,true);return cryptoKey}return key}),"normalizePublicKey");var normalizePrivateKey=__name(((key,alg)=>{if(isKeyObject(key)){let jwk=key.export({format:"jwk"});if(jwk.k){return exportKeyValue(jwk.k)}privCache||(privCache=new WeakMap);return importAndCache(privCache,key,jwk,alg)}if(isJWK(key)){if(key.k)return decode(key.k);privCache||(privCache=new WeakMap);const cryptoKey=importAndCache(privCache,key,key,alg,true);return cryptoKey}return key}),"normalizePrivateKey");var normalize_key_default={normalizePublicKey:normalizePublicKey,normalizePrivateKey:normalizePrivateKey};async function importJWK(jwk,alg){if(!isObject(jwk)){throw new TypeError("JWK must be an object")}alg||(alg=jwk.alg);switch(jwk.kty){case"oct":if(typeof jwk.k!=="string"||!jwk.k){throw new TypeError('missing "k" (Key Value) Parameter value')}return decode(jwk.k);case"RSA":if(jwk.oth!==void 0){throw new JOSENotSupported('RSA JWK "oth" (Other Primes Info) Parameter value is not supported')}case"EC":case"OKP":return jwk_to_key_default({...jwk,alg:alg});default:throw new JOSENotSupported('Unsupported "kty" (Key Type) Parameter value')}}__name(importJWK,"importJWK");var tag=__name((key=>key?.[Symbol.toStringTag]),"tag");var jwkMatchesOp=__name(((alg,key,usage)=>{if(key.use!==void 0&&key.use!=="sig"){throw new TypeError("Invalid key for this operation, when present its use must be sig")}if(key.key_ops!==void 0&&key.key_ops.includes?.(usage)!==true){throw new TypeError(`Invalid key for this operation, when present its key_ops must include ${usage}`)}if(key.alg!==void 0&&key.alg!==alg){throw new TypeError(`Invalid key for this operation, when present its alg must be ${alg}`)}return true}),"jwkMatchesOp");var symmetricTypeCheck=__name(((alg,key,usage,allowJwk)=>{if(key instanceof Uint8Array)return;if(allowJwk&&isJWK(key)){if(isSecretJWK(key)&&jwkMatchesOp(alg,key,usage))return;throw new TypeError(`JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present`)}if(!is_key_like_default(key)){throw new TypeError(withAlg(alg,key,...types,"Uint8Array",allowJwk?"JSON Web Key":null))}if(key.type!=="secret"){throw new TypeError(`${tag(key)} instances for symmetric algorithms must be of type "secret"`)}}),"symmetricTypeCheck");var asymmetricTypeCheck=__name(((alg,key,usage,allowJwk)=>{if(allowJwk&&isJWK(key)){switch(usage){case"sign":if(isPrivateJWK(key)&&jwkMatchesOp(alg,key,usage))return;throw new TypeError(`JSON Web Key for this operation be a private JWK`);case"verify":if(isPublicJWK(key)&&jwkMatchesOp(alg,key,usage))return;throw new TypeError(`JSON Web Key for this operation be a public JWK`)}}if(!is_key_like_default(key)){throw new TypeError(withAlg(alg,key,...types,allowJwk?"JSON Web Key":null))}if(key.type==="secret"){throw new TypeError(`${tag(key)} instances for asymmetric algorithms must not be of type "secret"`)}if(usage==="sign"&&key.type==="public"){throw new TypeError(`${tag(key)} instances for asymmetric algorithm signing must be of type "private"`)}if(usage==="decrypt"&&key.type==="public"){throw new TypeError(`${tag(key)} instances for asymmetric algorithm decryption must be of type "private"`)}if(key.algorithm&&usage==="verify"&&key.type==="private"){throw new TypeError(`${tag(key)} instances for asymmetric algorithm verifying must be of type "public"`)}if(key.algorithm&&usage==="encrypt"&&key.type==="private"){throw new TypeError(`${tag(key)} instances for asymmetric algorithm encryption must be of type "public"`)}}),"asymmetricTypeCheck");function checkKeyType(allowJwk,alg,key,usage){const symmetric=alg.startsWith("HS")||alg==="dir"||alg.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(alg);if(symmetric){symmetricTypeCheck(alg,key,usage,allowJwk)}else{asymmetricTypeCheck(alg,key,usage,allowJwk)}}__name(checkKeyType,"checkKeyType");var check_key_type_default=checkKeyType.bind(void 0,false);var checkKeyTypeWithJwk=checkKeyType.bind(void 0,true);function validateCrit(Err,recognizedDefault,recognizedOption,protectedHeader,joseHeader){if(joseHeader.crit!==void 0&&protectedHeader?.crit===void 0){throw new Err('"crit" (Critical) Header Parameter MUST be integrity protected')}if(!protectedHeader||protectedHeader.crit===void 0){return new Set}if(!Array.isArray(protectedHeader.crit)||protectedHeader.crit.length===0||protectedHeader.crit.some((input=>typeof input!=="string"||input.length===0))){throw new Err('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present')}let recognized;if(recognizedOption!==void 0){recognized=new Map([...Object.entries(recognizedOption),...recognizedDefault.entries()])}else{recognized=recognizedDefault}for(const parameter of protectedHeader.crit){if(!recognized.has(parameter)){throw new JOSENotSupported(`Extension Header Parameter "${parameter}" is not recognized`)}if(joseHeader[parameter]===void 0){throw new Err(`Extension Header Parameter "${parameter}" is missing`)}if(recognized.get(parameter)&&protectedHeader[parameter]===void 0){throw new Err(`Extension Header Parameter "${parameter}" MUST be integrity protected`)}}return new Set(protectedHeader.crit)}__name(validateCrit,"validateCrit");var validate_crit_default=validateCrit;var validateAlgorithms=__name(((option,algorithms)=>{if(algorithms!==void 0&&(!Array.isArray(algorithms)||algorithms.some((s=>typeof s!=="string")))){throw new TypeError(`"${option}" option must be an array of strings`)}if(!algorithms){return void 0}return new Set(algorithms)}),"validateAlgorithms");var validate_algorithms_default=validateAlgorithms;function subtleDsa(alg,algorithm){const hash=`SHA-${alg.slice(-3)}`;switch(alg){case"HS256":case"HS384":case"HS512":return{hash:hash,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:hash,name:"RSA-PSS",saltLength:alg.slice(-3)>>3};case"RS256":case"RS384":case"RS512":return{hash:hash,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:hash,name:"ECDSA",namedCurve:algorithm.namedCurve};case"EdDSA":return{name:algorithm.name};default:throw new JOSENotSupported(`alg ${alg} is not supported either by JOSE or your javascript runtime`)}}__name(subtleDsa,"subtleDsa");async function getCryptoKey(alg,key,usage){if(usage==="sign"){key=await normalize_key_default.normalizePrivateKey(key,alg)}if(usage==="verify"){key=await normalize_key_default.normalizePublicKey(key,alg)}if(isCryptoKey(key)){checkSigCryptoKey(key,alg,usage);return key}if(key instanceof Uint8Array){if(!alg.startsWith("HS")){throw new TypeError(invalid_key_input_default(key,...types))}return webcrypto_default.subtle.importKey("raw",key,{hash:`SHA-${alg.slice(-3)}`,name:"HMAC"},false,[usage])}throw new TypeError(invalid_key_input_default(key,...types,"Uint8Array","JSON Web Key"))}__name(getCryptoKey,"getCryptoKey");var verify=__name((async(alg,key,signature,data)=>{const cryptoKey=await getCryptoKey(alg,key,"verify");check_key_length_default(alg,cryptoKey);const algorithm=subtleDsa(alg,cryptoKey.algorithm);try{return await webcrypto_default.subtle.verify(algorithm,cryptoKey,signature,data)}catch{return false}}),"verify");var verify_default=verify;async function flattenedVerify(jws,key,options){if(!isObject(jws)){throw new JWSInvalid("Flattened JWS must be an object")}if(jws.protected===void 0&&jws.header===void 0){throw new JWSInvalid('Flattened JWS must have either of the "protected" or "header" members')}if(jws.protected!==void 0&&typeof jws.protected!=="string"){throw new JWSInvalid("JWS Protected Header incorrect type")}if(jws.payload===void 0){throw new JWSInvalid("JWS Payload missing")}if(typeof jws.signature!=="string"){throw new JWSInvalid("JWS Signature missing or incorrect type")}if(jws.header!==void 0&&!isObject(jws.header)){throw new JWSInvalid("JWS Unprotected Header incorrect type")}let parsedProt={};if(jws.protected){try{const protectedHeader=decode(jws.protected);parsedProt=JSON.parse(decoder.decode(protectedHeader))}catch{throw new JWSInvalid("JWS Protected Header is invalid")}}if(!is_disjoint_default(parsedProt,jws.header)){throw new JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint")}const joseHeader={...parsedProt,...jws.header};const extensions=validate_crit_default(JWSInvalid,new Map([["b64",true]]),options?.crit,parsedProt,joseHeader);let b64=true;if(extensions.has("b64")){b64=parsedProt.b64;if(typeof b64!=="boolean"){throw new JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean')}}const{alg:alg}=joseHeader;if(typeof alg!=="string"||!alg){throw new JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid')}const algorithms=options&&validate_algorithms_default("algorithms",options.algorithms);if(algorithms&&!algorithms.has(alg)){throw new JOSEAlgNotAllowed('"alg" (Algorithm) Header Parameter value not allowed')}if(b64){if(typeof jws.payload!=="string"){throw new JWSInvalid("JWS Payload must be a string")}}else if(typeof jws.payload!=="string"&&!(jws.payload instanceof Uint8Array)){throw new JWSInvalid("JWS Payload must be a string or an Uint8Array instance")}let resolvedKey=false;if(typeof key==="function"){key=await key(parsedProt,jws);resolvedKey=true;checkKeyTypeWithJwk(alg,key,"verify");if(isJWK(key)){key=await importJWK(key,alg)}}else{checkKeyTypeWithJwk(alg,key,"verify")}const data=concat(encoder.encode(jws.protected??""),encoder.encode("."),typeof jws.payload==="string"?encoder.encode(jws.payload):jws.payload);let signature;try{signature=decode(jws.signature)}catch{throw new JWSInvalid("Failed to base64url decode the signature")}const verified=await verify_default(alg,key,signature,data);if(!verified){throw new JWSSignatureVerificationFailed}let payload;if(b64){try{payload=decode(jws.payload)}catch{throw new JWSInvalid("Failed to base64url decode the payload")}}else if(typeof jws.payload==="string"){payload=encoder.encode(jws.payload)}else{payload=jws.payload}const result={payload:payload};if(jws.protected!==void 0){result.protectedHeader=parsedProt}if(jws.header!==void 0){result.unprotectedHeader=jws.header}if(resolvedKey){return{...result,key:key}}return result}__name(flattenedVerify,"flattenedVerify");async function compactVerify(jws,key,options){if(jws instanceof Uint8Array){jws=decoder.decode(jws)}if(typeof jws!=="string"){throw new JWSInvalid("Compact JWS must be a string or Uint8Array")}const{0:protectedHeader,1:payload,2:signature,length:length}=jws.split(".");if(length!==3){throw new JWSInvalid("Invalid Compact JWS")}const verified=await flattenedVerify({payload:payload,protected:protectedHeader,signature:signature},key,options);const result={payload:verified.payload,protectedHeader:verified.protectedHeader};if(typeof key==="function"){return{...result,key:verified.key}}return result}__name(compactVerify,"compactVerify");var epoch_default=__name((date=>Math.floor(date.getTime()/1e3)),"default");var minute=60;var hour=minute*60;var day=hour*24;var week=day*7;var year=day*365.25;var REGEX=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;var secs_default=__name((str=>{const matched=REGEX.exec(str);if(!matched||matched[4]&&matched[1]){throw new TypeError("Invalid time period format")}const value=parseFloat(matched[2]);const unit=matched[3].toLowerCase();let numericDate;switch(unit){case"sec":case"secs":case"second":case"seconds":case"s":numericDate=Math.round(value);break;case"minute":case"minutes":case"min":case"mins":case"m":numericDate=Math.round(value*minute);break;case"hour":case"hours":case"hr":case"hrs":case"h":numericDate=Math.round(value*hour);break;case"day":case"days":case"d":numericDate=Math.round(value*day);break;case"week":case"weeks":case"w":numericDate=Math.round(value*week);break;default:numericDate=Math.round(value*year);break}if(matched[1]==="-"||matched[4]==="ago"){return-numericDate}return numericDate}),"default");var normalizeTyp=__name((value=>value.toLowerCase().replace(/^application\//,"")),"normalizeTyp");var checkAudiencePresence=__name(((audPayload,audOption)=>{if(typeof audPayload==="string"){return audOption.includes(audPayload)}if(Array.isArray(audPayload)){return audOption.some(Set.prototype.has.bind(new Set(audPayload)))}return false}),"checkAudiencePresence");var jwt_claims_set_default=__name(((protectedHeader,encodedPayload,options={})=>{let payload;try{payload=JSON.parse(decoder.decode(encodedPayload))}catch{}if(!isObject(payload)){throw new JWTInvalid("JWT Claims Set must be a top-level JSON object")}const{typ:typ}=options;if(typ&&(typeof protectedHeader.typ!=="string"||normalizeTyp(protectedHeader.typ)!==normalizeTyp(typ))){throw new JWTClaimValidationFailed('unexpected "typ" JWT header value',payload,"typ","check_failed")}const{requiredClaims:requiredClaims=[],issuer:issuer,subject:subject,audience:audience,maxTokenAge:maxTokenAge}=options;const presenceCheck=[...requiredClaims];if(maxTokenAge!==void 0)presenceCheck.push("iat");if(audience!==void 0)presenceCheck.push("aud");if(subject!==void 0)presenceCheck.push("sub");if(issuer!==void 0)presenceCheck.push("iss");for(const claim of new Set(presenceCheck.reverse())){if(!(claim in payload)){throw new JWTClaimValidationFailed(`missing required "${claim}" claim`,payload,claim,"missing")}}if(issuer&&!(Array.isArray(issuer)?issuer:[issuer]).includes(payload.iss)){throw new JWTClaimValidationFailed('unexpected "iss" claim value',payload,"iss","check_failed")}if(subject&&payload.sub!==subject){throw new JWTClaimValidationFailed('unexpected "sub" claim value',payload,"sub","check_failed")}if(audience&&!checkAudiencePresence(payload.aud,typeof audience==="string"?[audience]:audience)){throw new JWTClaimValidationFailed('unexpected "aud" claim value',payload,"aud","check_failed")}let tolerance;switch(typeof options.clockTolerance){case"string":tolerance=secs_default(options.clockTolerance);break;case"number":tolerance=options.clockTolerance;break;case"undefined":tolerance=0;break;default:throw new TypeError("Invalid clockTolerance option type")}const{currentDate:currentDate}=options;const now=epoch_default(currentDate||new Date);if((payload.iat!==void 0||maxTokenAge)&&typeof payload.iat!=="number"){throw new JWTClaimValidationFailed('"iat" claim must be a number',payload,"iat","invalid")}if(payload.nbf!==void 0){if(typeof payload.nbf!=="number"){throw new JWTClaimValidationFailed('"nbf" claim must be a number',payload,"nbf","invalid")}if(payload.nbf>now+tolerance){throw new JWTClaimValidationFailed('"nbf" claim timestamp check failed',payload,"nbf","check_failed")}}if(payload.exp!==void 0){if(typeof payload.exp!=="number"){throw new JWTClaimValidationFailed('"exp" claim must be a number',payload,"exp","invalid")}if(payload.exp<=now-tolerance){throw new JWTExpired('"exp" claim timestamp check failed',payload,"exp","check_failed")}}if(maxTokenAge){const age=now-payload.iat;const max=typeof maxTokenAge==="number"?maxTokenAge:secs_default(maxTokenAge);if(age-tolerance>max){throw new JWTExpired('"iat" claim timestamp check failed (too far in the past)',payload,"iat","check_failed")}if(age<0-tolerance){throw new JWTClaimValidationFailed('"iat" claim timestamp check failed (it should be in the past)',payload,"iat","check_failed")}}return payload}),"default");async function jwtVerify(jwt,key,options){const verified=await compactVerify(jwt,key,options);if(verified.protectedHeader.crit?.includes("b64")&&verified.protectedHeader.b64===false){throw new JWTInvalid("JWTs MUST NOT use unencoded payload")}const payload=jwt_claims_set_default(verified.protectedHeader,verified.payload,options);const result={payload:payload,protectedHeader:verified.protectedHeader};if(typeof key==="function"){return{...result,key:verified.key}}return result}__name(jwtVerify,"jwtVerify");var sign=__name((async(alg,key,data)=>{const cryptoKey=await getCryptoKey(alg,key,"sign");check_key_length_default(alg,cryptoKey);const signature=await webcrypto_default.subtle.sign(subtleDsa(alg,cryptoKey.algorithm),cryptoKey,data);return new Uint8Array(signature)}),"sign");var sign_default=sign;var FlattenedSign=class{constructor(payload){if(!(payload instanceof Uint8Array)){throw new TypeError("payload must be an instance of Uint8Array")}this._payload=payload}setProtectedHeader(protectedHeader){if(this._protectedHeader){throw new TypeError("setProtectedHeader can only be called once")}this._protectedHeader=protectedHeader;return this}setUnprotectedHeader(unprotectedHeader){if(this._unprotectedHeader){throw new TypeError("setUnprotectedHeader can only be called once")}this._unprotectedHeader=unprotectedHeader;return this}async sign(key,options){if(!this._protectedHeader&&!this._unprotectedHeader){throw new JWSInvalid("either setProtectedHeader or setUnprotectedHeader must be called before #sign()")}if(!is_disjoint_default(this._protectedHeader,this._unprotectedHeader)){throw new JWSInvalid("JWS Protected and JWS Unprotected Header Parameter names must be disjoint")}const joseHeader={...this._protectedHeader,...this._unprotectedHeader};const extensions=validate_crit_default(JWSInvalid,new Map([["b64",true]]),options?.crit,this._protectedHeader,joseHeader);let b64=true;if(extensions.has("b64")){b64=this._protectedHeader.b64;if(typeof b64!=="boolean"){throw new JWSInvalid('The "b64" (base64url-encode payload) Header Parameter must be a boolean')}}const{alg:alg}=joseHeader;if(typeof alg!=="string"||!alg){throw new JWSInvalid('JWS "alg" (Algorithm) Header Parameter missing or invalid')}checkKeyTypeWithJwk(alg,key,"sign");let payload=this._payload;if(b64){payload=encoder.encode(encode(payload))}let protectedHeader;if(this._protectedHeader){protectedHeader=encoder.encode(encode(JSON.stringify(this._protectedHeader)))}else{protectedHeader=encoder.encode("")}const data=concat(protectedHeader,encoder.encode("."),payload);const signature=await sign_default(alg,key,data);const jws={signature:encode(signature),payload:""};if(b64){jws.payload=decoder.decode(payload)}if(this._unprotectedHeader){jws.header=this._unprotectedHeader}if(this._protectedHeader){jws.protected=decoder.decode(protectedHeader)}return jws}};__name(FlattenedSign,"FlattenedSign");var CompactSign=class{constructor(payload){this._flattened=new FlattenedSign(payload)}setProtectedHeader(protectedHeader){this._flattened.setProtectedHeader(protectedHeader);return this}async sign(key,options){const jws=await this._flattened.sign(key,options);if(jws.payload===void 0){throw new TypeError("use the flattened module for creating JWS with b64: false")}return`${jws.protected}.${jws.payload}.${jws.signature}`}};__name(CompactSign,"CompactSign");function validateInput(label,input){if(!Number.isFinite(input)){throw new TypeError(`Invalid ${label} input`)}return input}__name(validateInput,"validateInput");var ProduceJWT=class{constructor(payload={}){if(!isObject(payload)){throw new TypeError("JWT Claims Set MUST be an object")}this._payload=payload}setIssuer(issuer){this._payload={...this._payload,iss:issuer};return this}setSubject(subject){this._payload={...this._payload,sub:subject};return this}setAudience(audience){this._payload={...this._payload,aud:audience};return this}setJti(jwtId){this._payload={...this._payload,jti:jwtId};return this}setNotBefore(input){if(typeof input==="number"){this._payload={...this._payload,nbf:validateInput("setNotBefore",input)}}else if(input instanceof Date){this._payload={...this._payload,nbf:validateInput("setNotBefore",epoch_default(input))}}else{this._payload={...this._payload,nbf:epoch_default(new Date)+secs_default(input)}}return this}setExpirationTime(input){if(typeof input==="number"){this._payload={...this._payload,exp:validateInput("setExpirationTime",input)}}else if(input instanceof Date){this._payload={...this._payload,exp:validateInput("setExpirationTime",epoch_default(input))}}else{this._payload={...this._payload,exp:epoch_default(new Date)+secs_default(input)}}return this}setIssuedAt(input){if(typeof input==="undefined"){this._payload={...this._payload,iat:epoch_default(new Date)}}else if(input instanceof Date){this._payload={...this._payload,iat:validateInput("setIssuedAt",epoch_default(input))}}else if(typeof input==="string"){this._payload={...this._payload,iat:validateInput("setIssuedAt",epoch_default(new Date)+secs_default(input))}}else{this._payload={...this._payload,iat:validateInput("setIssuedAt",input)}}return this}};__name(ProduceJWT,"ProduceJWT");var SignJWT=class extends ProduceJWT{setProtectedHeader(protectedHeader){this._protectedHeader=protectedHeader;return this}async sign(key,options){const sig=new CompactSign(encoder.encode(JSON.stringify(this._payload)));sig.setProtectedHeader(this._protectedHeader);if(Array.isArray(this._protectedHeader?.crit)&&this._protectedHeader.crit.includes("b64")&&this._protectedHeader.b64===false){throw new JWTInvalid("JWTs MUST NOT use unencoded payload")}return sig.sign(key,options)}};__name(SignJWT,"SignJWT");var import_tweetnacl=__toESM(require_nacl_fast());async function renderLoginPage(){const loginPage=`\n \n \n \n \n \n User Login\n \n \n \n
\n

Aseman Panel ${globalThis.panelVersion} 🌨️

\n
\n

User Login

\n
\n
\n \n \n
\n
\n \n
\n
\n
\n