libsodium-wrappers-sumo 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function(e){function r(e,r){"use strict";var t,a=r.ready.then(function(){function a(){if(t._sodium_init()<0)throw new Error("libsodium was not correctly initialized.");for(var r=["crypto_aead_aegis128l_decrypt","crypto_aead_aegis128l_decrypt_detached","crypto_aead_aegis128l_encrypt","crypto_aead_aegis128l_encrypt_detached","crypto_aead_aegis128l_keygen","crypto_aead_aegis256_decrypt","crypto_aead_aegis256_decrypt_detached","crypto_aead_aegis256_encrypt","crypto_aead_aegis256_encrypt_detached","crypto_aead_aegis256_keygen","crypto_aead_chacha20poly1305_decrypt","crypto_aead_chacha20poly1305_decrypt_detached","crypto_aead_chacha20poly1305_encrypt","crypto_aead_chacha20poly1305_encrypt_detached","crypto_aead_chacha20poly1305_ietf_decrypt","crypto_aead_chacha20poly1305_ietf_decrypt_detached","crypto_aead_chacha20poly1305_ietf_encrypt","crypto_aead_chacha20poly1305_ietf_encrypt_detached","crypto_aead_chacha20poly1305_ietf_keygen","crypto_aead_chacha20poly1305_keygen","crypto_aead_xchacha20poly1305_ietf_decrypt","crypto_aead_xchacha20poly1305_ietf_decrypt_detached","crypto_aead_xchacha20poly1305_ietf_encrypt","crypto_aead_xchacha20poly1305_ietf_encrypt_detached","crypto_aead_xchacha20poly1305_ietf_keygen","crypto_auth","crypto_auth_hmacsha256","crypto_auth_hmacsha256_final","crypto_auth_hmacsha256_init","crypto_auth_hmacsha256_keygen","crypto_auth_hmacsha256_update","crypto_auth_hmacsha256_verify","crypto_auth_hmacsha512","crypto_auth_hmacsha512256","crypto_auth_hmacsha512256_final","crypto_auth_hmacsha512256_init","crypto_auth_hmacsha512256_keygen","crypto_auth_hmacsha512256_update","crypto_auth_hmacsha512256_verify","crypto_auth_hmacsha512_final","crypto_auth_hmacsha512_init","crypto_auth_hmacsha512_keygen","crypto_auth_hmacsha512_update","crypto_auth_hmacsha512_verify","crypto_auth_keygen","crypto_auth_verify","crypto_box_beforenm","crypto_box_curve25519xchacha20poly1305_beforenm","crypto_box_curve25519xchacha20poly1305_detached","crypto_box_curve25519xchacha20poly1305_detached_afternm","crypto_box_curve25519xchacha20poly1305_easy","crypto_box_curve25519xchacha20poly1305_easy_afternm","crypto_box_curve25519xchacha20poly1305_keypair","crypto_box_curve25519xchacha20poly1305_open_detached","crypto_box_curve25519xchacha20poly1305_open_detached_afternm","crypto_box_curve25519xchacha20poly1305_open_easy","crypto_box_curve25519xchacha20poly1305_open_easy_afternm","crypto_box_curve25519xchacha20poly1305_seal","crypto_box_curve25519xchacha20poly1305_seal_open","crypto_box_curve25519xchacha20poly1305_seed_keypair","crypto_box_detached","crypto_box_easy","crypto_box_easy_afternm","crypto_box_keypair","crypto_box_open_detached","crypto_box_open_easy","crypto_box_open_easy_afternm","crypto_box_seal","crypto_box_seal_open","crypto_box_seed_keypair","crypto_core_ed25519_add","crypto_core_ed25519_from_hash","crypto_core_ed25519_from_uniform","crypto_core_ed25519_is_valid_point","crypto_core_ed25519_random","crypto_core_ed25519_scalar_add","crypto_core_ed25519_scalar_complement","crypto_core_ed25519_scalar_invert","crypto_core_ed25519_scalar_mul","crypto_core_ed25519_scalar_negate","crypto_core_ed25519_scalar_random","crypto_core_ed25519_scalar_reduce","crypto_core_ed25519_scalar_sub","crypto_core_ed25519_sub","crypto_core_hchacha20","crypto_core_hsalsa20","crypto_core_ristretto255_add","crypto_core_ristretto255_from_hash","crypto_core_ristretto255_is_valid_point","crypto_core_ristretto255_random","crypto_core_ristretto255_scalar_add","crypto_core_ristretto255_scalar_complement","crypto_core_ristretto255_scalar_invert","crypto_core_ristretto255_scalar_mul","crypto_core_ristretto255_scalar_negate","crypto_core_ristretto255_scalar_random","crypto_core_ristretto255_scalar_reduce","crypto_core_ristretto255_scalar_sub","crypto_core_ristretto255_sub","crypto_generichash","crypto_generichash_blake2b_salt_personal","crypto_generichash_final","crypto_generichash_init","crypto_generichash_keygen","crypto_generichash_update","crypto_hash","crypto_hash_sha256","crypto_hash_sha256_final","crypto_hash_sha256_init","crypto_hash_sha256_update","crypto_hash_sha512","crypto_hash_sha512_final","crypto_hash_sha512_init","crypto_hash_sha512_update","crypto_ipcrypt_decrypt","crypto_ipcrypt_encrypt","crypto_ipcrypt_keygen","crypto_ipcrypt_nd_decrypt","crypto_ipcrypt_nd_encrypt","crypto_ipcrypt_ndx_decrypt","crypto_ipcrypt_ndx_encrypt","crypto_ipcrypt_ndx_keygen","crypto_ipcrypt_pfx_decrypt","crypto_ipcrypt_pfx_encrypt","crypto_ipcrypt_pfx_keygen","crypto_kdf_derive_from_key","crypto_kdf_keygen","crypto_kx_client_session_keys","crypto_kx_keypair","crypto_kx_seed_keypair","crypto_kx_server_session_keys","crypto_onetimeauth","crypto_onetimeauth_final","crypto_onetimeauth_init","crypto_onetimeauth_keygen","crypto_onetimeauth_update","crypto_onetimeauth_verify","crypto_pwhash","crypto_pwhash_scryptsalsa208sha256","crypto_pwhash_scryptsalsa208sha256_ll","crypto_pwhash_scryptsalsa208sha256_str","crypto_pwhash_scryptsalsa208sha256_str_verify","crypto_pwhash_str","crypto_pwhash_str_needs_rehash","crypto_pwhash_str_verify","crypto_scalarmult","crypto_scalarmult_base","crypto_scalarmult_ed25519","crypto_scalarmult_ed25519_base","crypto_scalarmult_ed25519_base_noclamp","crypto_scalarmult_ed25519_noclamp","crypto_scalarmult_ristretto255","crypto_scalarmult_ristretto255_base","crypto_secretbox_detached","crypto_secretbox_easy","crypto_secretbox_keygen","crypto_secretbox_open_detached","crypto_secretbox_open_easy","crypto_secretstream_xchacha20poly1305_init_pull","crypto_secretstream_xchacha20poly1305_init_push","crypto_secretstream_xchacha20poly1305_keygen","crypto_secretstream_xchacha20poly1305_pull","crypto_secretstream_xchacha20poly1305_push","crypto_secretstream_xchacha20poly1305_rekey","crypto_shorthash","crypto_shorthash_keygen","crypto_shorthash_siphashx24","crypto_sign","crypto_sign_detached","crypto_sign_ed25519_pk_to_curve25519","crypto_sign_ed25519_sk_to_curve25519","crypto_sign_ed25519_sk_to_pk","crypto_sign_ed25519_sk_to_seed","crypto_sign_final_create","crypto_sign_final_verify","crypto_sign_init","crypto_sign_keypair","crypto_sign_open","crypto_sign_seed_keypair","crypto_sign_update","crypto_sign_verify_detached","crypto_stream_chacha20","crypto_stream_chacha20_ietf_xor","crypto_stream_chacha20_ietf_xor_ic","crypto_stream_chacha20_keygen","crypto_stream_chacha20_xor","crypto_stream_chacha20_xor_ic","crypto_stream_keygen","crypto_stream_xchacha20_keygen","crypto_stream_xchacha20_xor","crypto_stream_xchacha20_xor_ic","crypto_xof_shake128","crypto_xof_shake128_init","crypto_xof_shake128_init_with_domain","crypto_xof_shake128_squeeze","crypto_xof_shake128_update","crypto_xof_shake256","crypto_xof_shake256_init","crypto_xof_shake256_init_with_domain","crypto_xof_shake256_squeeze","crypto_xof_shake256_update","crypto_xof_turboshake128","crypto_xof_turboshake128_init","crypto_xof_turboshake128_init_with_domain","crypto_xof_turboshake128_squeeze","crypto_xof_turboshake128_update","crypto_xof_turboshake256","crypto_xof_turboshake256_init","crypto_xof_turboshake256_init_with_domain","crypto_xof_turboshake256_squeeze","crypto_xof_turboshake256_update","randombytes_buf","randombytes_buf_deterministic","randombytes_close","randombytes_random","randombytes_set_implementation","randombytes_stir","randombytes_uniform","sodium_bin2ip","sodium_ip2bin","sodium_version_string"],a=[E,k,S,T,w,Y,B,A,M,I,K,N,L,O,U,P,C,R,X,D,G,F,V,q,z,W,H,j,J,Q,Z,$,ee,re,te,ae,_e,ne,se,ce,oe,pe,he,ye,ie,le,ue,de,ve,ge,be,fe,me,xe,Ee,ke,Se,Te,we,Ye,Be,Ae,Me,Ie,Ke,Ne,Le,Oe,Ue,Pe,Ce,Re,Xe,De,Ge,Fe,Ve,qe,ze,We,He,je,Je,Qe,Ze,$e,er,rr,tr,ar,_r,nr,sr,cr,or,pr,hr,yr,ir,lr,ur,dr,vr,gr,br,fr,mr,xr,Er,kr,Sr,Tr,wr,Yr,Br,Ar,Mr,Ir,Kr,Nr,Lr,Or,Ur,Pr,Cr,Rr,Xr,Dr,Gr,Fr,Vr,qr,zr,Wr,Hr,jr,Jr,Qr,Zr,$r,et,rt,tt,at,_t,nt,st,ct,ot,pt,ht,yt,it,lt,ut,dt,vt,gt,bt,ft,mt,xt,Et,kt,St,Tt,wt,Yt,Bt,At,Mt,It,Kt,Nt,Lt,Ot,Ut,Pt,Ct,Rt,Xt,Dt,Gt,Ft,Vt,qt,zt,Wt,Ht,jt,Jt,Qt,Zt,$t,ea,ra,ta,aa,_a,na,sa,ca,oa,pa,ha,ya,ia,la,ua,da,va,ga,ba,fa,ma,xa,Ea,ka,Sa,Ta,wa],_=0;_<a.length;_++)"function"==typeof t["_"+r[_]]&&(e[r[_]]=a[_]);var n=["SODIUM_LIBRARY_VERSION_MAJOR","SODIUM_LIBRARY_VERSION_MINOR","crypto_aead_aegis128l_ABYTES","crypto_aead_aegis128l_KEYBYTES","crypto_aead_aegis128l_MESSAGEBYTES_MAX","crypto_aead_aegis128l_NPUBBYTES","crypto_aead_aegis128l_NSECBYTES","crypto_aead_aegis256_ABYTES","crypto_aead_aegis256_KEYBYTES","crypto_aead_aegis256_MESSAGEBYTES_MAX","crypto_aead_aegis256_NPUBBYTES","crypto_aead_aegis256_NSECBYTES","crypto_aead_aes256gcm_ABYTES","crypto_aead_aes256gcm_KEYBYTES","crypto_aead_aes256gcm_MESSAGEBYTES_MAX","crypto_aead_aes256gcm_NPUBBYTES","crypto_aead_aes256gcm_NSECBYTES","crypto_aead_chacha20poly1305_ABYTES","crypto_aead_chacha20poly1305_IETF_ABYTES","crypto_aead_chacha20poly1305_IETF_KEYBYTES","crypto_aead_chacha20poly1305_IETF_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_IETF_NPUBBYTES","crypto_aead_chacha20poly1305_IETF_NSECBYTES","crypto_aead_chacha20poly1305_KEYBYTES","crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_NPUBBYTES","crypto_aead_chacha20poly1305_NSECBYTES","crypto_aead_chacha20poly1305_ietf_ABYTES","crypto_aead_chacha20poly1305_ietf_KEYBYTES","crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_ietf_NPUBBYTES","crypto_aead_chacha20poly1305_ietf_NSECBYTES","crypto_aead_xchacha20poly1305_IETF_ABYTES","crypto_aead_xchacha20poly1305_IETF_KEYBYTES","crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX","crypto_aead_xchacha20poly1305_IETF_NPUBBYTES","crypto_aead_xchacha20poly1305_IETF_NSECBYTES","crypto_aead_xchacha20poly1305_ietf_ABYTES","crypto_aead_xchacha20poly1305_ietf_KEYBYTES","crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX","crypto_aead_xchacha20poly1305_ietf_NPUBBYTES","crypto_aead_xchacha20poly1305_ietf_NSECBYTES","crypto_auth_BYTES","crypto_auth_KEYBYTES","crypto_auth_hmacsha256_BYTES","crypto_auth_hmacsha256_KEYBYTES","crypto_auth_hmacsha512256_BYTES","crypto_auth_hmacsha512256_KEYBYTES","crypto_auth_hmacsha512_BYTES","crypto_auth_hmacsha512_KEYBYTES","crypto_box_BEFORENMBYTES","crypto_box_MACBYTES","crypto_box_MESSAGEBYTES_MAX","crypto_box_NONCEBYTES","crypto_box_PUBLICKEYBYTES","crypto_box_SEALBYTES","crypto_box_SECRETKEYBYTES","crypto_box_SEEDBYTES","crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES","crypto_box_curve25519xchacha20poly1305_MACBYTES","crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX","crypto_box_curve25519xchacha20poly1305_NONCEBYTES","crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES","crypto_box_curve25519xchacha20poly1305_SEALBYTES","crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES","crypto_box_curve25519xchacha20poly1305_SEEDBYTES","crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES","crypto_box_curve25519xsalsa20poly1305_MACBYTES","crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX","crypto_box_curve25519xsalsa20poly1305_NONCEBYTES","crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES","crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES","crypto_box_curve25519xsalsa20poly1305_SEEDBYTES","crypto_core_ed25519_BYTES","crypto_core_ed25519_HASHBYTES","crypto_core_ed25519_NONREDUCEDSCALARBYTES","crypto_core_ed25519_SCALARBYTES","crypto_core_ed25519_UNIFORMBYTES","crypto_core_hchacha20_CONSTBYTES","crypto_core_hchacha20_INPUTBYTES","crypto_core_hchacha20_KEYBYTES","crypto_core_hchacha20_OUTPUTBYTES","crypto_core_hsalsa20_CONSTBYTES","crypto_core_hsalsa20_INPUTBYTES","crypto_core_hsalsa20_KEYBYTES","crypto_core_hsalsa20_OUTPUTBYTES","crypto_core_ristretto255_BYTES","crypto_core_ristretto255_HASHBYTES","crypto_core_ristretto255_NONREDUCEDSCALARBYTES","crypto_core_ristretto255_SCALARBYTES","crypto_core_salsa2012_CONSTBYTES","crypto_core_salsa2012_INPUTBYTES","crypto_core_salsa2012_KEYBYTES","crypto_core_salsa2012_OUTPUTBYTES","crypto_core_salsa208_CONSTBYTES","crypto_core_salsa208_INPUTBYTES","crypto_core_salsa208_KEYBYTES","crypto_core_salsa208_OUTPUTBYTES","crypto_core_salsa20_CONSTBYTES","crypto_core_salsa20_INPUTBYTES","crypto_core_salsa20_KEYBYTES","crypto_core_salsa20_OUTPUTBYTES","crypto_generichash_BYTES","crypto_generichash_BYTES_MAX","crypto_generichash_BYTES_MIN","crypto_generichash_KEYBYTES","crypto_generichash_KEYBYTES_MAX","crypto_generichash_KEYBYTES_MIN","crypto_generichash_blake2b_BYTES","crypto_generichash_blake2b_BYTES_MAX","crypto_generichash_blake2b_BYTES_MIN","crypto_generichash_blake2b_KEYBYTES","crypto_generichash_blake2b_KEYBYTES_MAX","crypto_generichash_blake2b_KEYBYTES_MIN","crypto_generichash_blake2b_PERSONALBYTES","crypto_generichash_blake2b_SALTBYTES","crypto_hash_BYTES","crypto_hash_sha256_BYTES","crypto_hash_sha512_BYTES","crypto_ipcrypt_BYTES","crypto_ipcrypt_KEYBYTES","crypto_ipcrypt_NDX_INPUTBYTES","crypto_ipcrypt_NDX_KEYBYTES","crypto_ipcrypt_NDX_OUTPUTBYTES","crypto_ipcrypt_NDX_TWEAKBYTES","crypto_ipcrypt_ND_INPUTBYTES","crypto_ipcrypt_ND_KEYBYTES","crypto_ipcrypt_ND_OUTPUTBYTES","crypto_ipcrypt_ND_TWEAKBYTES","crypto_ipcrypt_PFX_BYTES","crypto_ipcrypt_PFX_KEYBYTES","crypto_kdf_BYTES_MAX","crypto_kdf_BYTES_MIN","crypto_kdf_CONTEXTBYTES","crypto_kdf_KEYBYTES","crypto_kdf_blake2b_BYTES_MAX","crypto_kdf_blake2b_BYTES_MIN","crypto_kdf_blake2b_CONTEXTBYTES","crypto_kdf_blake2b_KEYBYTES","crypto_kdf_hkdf_sha256_BYTES_MAX","crypto_kdf_hkdf_sha256_BYTES_MIN","crypto_kdf_hkdf_sha256_KEYBYTES","crypto_kdf_hkdf_sha512_BYTES_MAX","crypto_kdf_hkdf_sha512_BYTES_MIN","crypto_kdf_hkdf_sha512_KEYBYTES","crypto_kx_PUBLICKEYBYTES","crypto_kx_SECRETKEYBYTES","crypto_kx_SEEDBYTES","crypto_kx_SESSIONKEYBYTES","crypto_onetimeauth_BYTES","crypto_onetimeauth_KEYBYTES","crypto_onetimeauth_poly1305_BYTES","crypto_onetimeauth_poly1305_KEYBYTES","crypto_pwhash_ALG_ARGON2I13","crypto_pwhash_ALG_ARGON2ID13","crypto_pwhash_ALG_DEFAULT","crypto_pwhash_BYTES_MAX","crypto_pwhash_BYTES_MIN","crypto_pwhash_MEMLIMIT_INTERACTIVE","crypto_pwhash_MEMLIMIT_MAX","crypto_pwhash_MEMLIMIT_MIN","crypto_pwhash_MEMLIMIT_MODERATE","crypto_pwhash_MEMLIMIT_SENSITIVE","crypto_pwhash_OPSLIMIT_INTERACTIVE","crypto_pwhash_OPSLIMIT_MAX","crypto_pwhash_OPSLIMIT_MIN","crypto_pwhash_OPSLIMIT_MODERATE","crypto_pwhash_OPSLIMIT_SENSITIVE","crypto_pwhash_PASSWD_MAX","crypto_pwhash_PASSWD_MIN","crypto_pwhash_SALTBYTES","crypto_pwhash_STRBYTES","crypto_pwhash_argon2i_BYTES_MAX","crypto_pwhash_argon2i_BYTES_MIN","crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE","crypto_pwhash_argon2i_MEMLIMIT_MAX","crypto_pwhash_argon2i_MEMLIMIT_MIN","crypto_pwhash_argon2i_MEMLIMIT_MODERATE","crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE","crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE","crypto_pwhash_argon2i_OPSLIMIT_MAX","crypto_pwhash_argon2i_OPSLIMIT_MIN","crypto_pwhash_argon2i_OPSLIMIT_MODERATE","crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE","crypto_pwhash_argon2i_PASSWD_MAX","crypto_pwhash_argon2i_PASSWD_MIN","crypto_pwhash_argon2i_SALTBYTES","crypto_pwhash_argon2i_STRBYTES","crypto_pwhash_argon2id_BYTES_MAX","crypto_pwhash_argon2id_BYTES_MIN","crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE","crypto_pwhash_argon2id_MEMLIMIT_MAX","crypto_pwhash_argon2id_MEMLIMIT_MIN","crypto_pwhash_argon2id_MEMLIMIT_MODERATE","crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE","crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE","crypto_pwhash_argon2id_OPSLIMIT_MAX","crypto_pwhash_argon2id_OPSLIMIT_MIN","crypto_pwhash_argon2id_OPSLIMIT_MODERATE","crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE","crypto_pwhash_argon2id_PASSWD_MAX","crypto_pwhash_argon2id_PASSWD_MIN","crypto_pwhash_argon2id_SALTBYTES","crypto_pwhash_argon2id_STRBYTES","crypto_pwhash_scryptsalsa208sha256_BYTES_MAX","crypto_pwhash_scryptsalsa208sha256_BYTES_MIN","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE","crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX","crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN","crypto_pwhash_scryptsalsa208sha256_SALTBYTES","crypto_pwhash_scryptsalsa208sha256_STRBYTES","crypto_scalarmult_BYTES","crypto_scalarmult_SCALARBYTES","crypto_scalarmult_curve25519_BYTES","crypto_scalarmult_curve25519_SCALARBYTES","crypto_scalarmult_ed25519_BYTES","crypto_scalarmult_ed25519_SCALARBYTES","crypto_scalarmult_ristretto255_BYTES","crypto_scalarmult_ristretto255_SCALARBYTES","crypto_secretbox_KEYBYTES","crypto_secretbox_MACBYTES","crypto_secretbox_MESSAGEBYTES_MAX","crypto_secretbox_NONCEBYTES","crypto_secretbox_xchacha20poly1305_KEYBYTES","crypto_secretbox_xchacha20poly1305_MACBYTES","crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX","crypto_secretbox_xchacha20poly1305_NONCEBYTES","crypto_secretbox_xsalsa20poly1305_KEYBYTES","crypto_secretbox_xsalsa20poly1305_MACBYTES","crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX","crypto_secretbox_xsalsa20poly1305_NONCEBYTES","crypto_secretstream_xchacha20poly1305_ABYTES","crypto_secretstream_xchacha20poly1305_HEADERBYTES","crypto_secretstream_xchacha20poly1305_KEYBYTES","crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX","crypto_secretstream_xchacha20poly1305_TAG_FINAL","crypto_secretstream_xchacha20poly1305_TAG_MESSAGE","crypto_secretstream_xchacha20poly1305_TAG_PUSH","crypto_secretstream_xchacha20poly1305_TAG_REKEY","crypto_shorthash_BYTES","crypto_shorthash_KEYBYTES","crypto_shorthash_siphash24_BYTES","crypto_shorthash_siphash24_KEYBYTES","crypto_shorthash_siphashx24_BYTES","crypto_shorthash_siphashx24_KEYBYTES","crypto_sign_BYTES","crypto_sign_MESSAGEBYTES_MAX","crypto_sign_PUBLICKEYBYTES","crypto_sign_SECRETKEYBYTES","crypto_sign_SEEDBYTES","crypto_sign_ed25519_BYTES","crypto_sign_ed25519_MESSAGEBYTES_MAX","crypto_sign_ed25519_PUBLICKEYBYTES","crypto_sign_ed25519_SECRETKEYBYTES","crypto_sign_ed25519_SEEDBYTES","crypto_stream_KEYBYTES","crypto_stream_MESSAGEBYTES_MAX","crypto_stream_NONCEBYTES","crypto_stream_chacha20_IETF_KEYBYTES","crypto_stream_chacha20_IETF_MESSAGEBYTES_MAX","crypto_stream_chacha20_IETF_NONCEBYTES","crypto_stream_chacha20_KEYBYTES","crypto_stream_chacha20_MESSAGEBYTES_MAX","crypto_stream_chacha20_NONCEBYTES","crypto_stream_chacha20_ietf_KEYBYTES","crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX","crypto_stream_chacha20_ietf_NONCEBYTES","crypto_stream_salsa2012_KEYBYTES","crypto_stream_salsa2012_MESSAGEBYTES_MAX","crypto_stream_salsa2012_NONCEBYTES","crypto_stream_salsa208_KEYBYTES","crypto_stream_salsa208_MESSAGEBYTES_MAX","crypto_stream_salsa208_NONCEBYTES","crypto_stream_salsa20_KEYBYTES","crypto_stream_salsa20_MESSAGEBYTES_MAX","crypto_stream_salsa20_NONCEBYTES","crypto_stream_xchacha20_KEYBYTES","crypto_stream_xchacha20_MESSAGEBYTES_MAX","crypto_stream_xchacha20_NONCEBYTES","crypto_stream_xsalsa20_KEYBYTES","crypto_stream_xsalsa20_MESSAGEBYTES_MAX","crypto_stream_xsalsa20_NONCEBYTES","crypto_verify_16_BYTES","crypto_verify_32_BYTES","crypto_verify_64_BYTES","crypto_xof_shake128_BLOCKBYTES","crypto_xof_shake128_STATEBYTES","crypto_xof_shake256_BLOCKBYTES","crypto_xof_shake256_STATEBYTES","crypto_xof_turboshake128_BLOCKBYTES","crypto_xof_turboshake128_STATEBYTES","crypto_xof_turboshake256_BLOCKBYTES","crypto_xof_turboshake256_STATEBYTES"];for(_=0;_<n.length;_++)"function"==typeof(c=t["_"+n[_].toLowerCase()])&&(e[n[_]]=c());var s=["SODIUM_VERSION_STRING","crypto_pwhash_STRPREFIX","crypto_pwhash_argon2i_STRPREFIX","crypto_pwhash_argon2id_STRPREFIX","crypto_pwhash_scryptsalsa208sha256_STRPREFIX"];for(_=0;_<s.length;_++){var c;"function"==typeof(c=t["_"+s[_].toLowerCase()])&&(e[s[_]]=t.UTF8ToString(c()))}}t=r;try{a();var _=new Uint8Array([98,97,108,108,115]),n=e.randombytes_buf(e.crypto_secretbox_NONCEBYTES),s=e.randombytes_buf(e.crypto_secretbox_KEYBYTES),c=e.crypto_secretbox_easy(_,n,s),o=e.crypto_secretbox_open_easy(c,n,s);if(e.memcmp(_,o))return}catch(e){if(null==t.useBackupModule)throw new Error("Both wasm and asm failed to load"+e)}t.useBackupModule(),a()});function _(e){if("function"==typeof TextEncoder)return(new TextEncoder).encode(e);e=unescape(encodeURIComponent(e));for(var r=new Uint8Array(e.length),t=0,a=e.length;t<a;t++)r[t]=e.charCodeAt(t);return r}function n(e){if("function"==typeof TextDecoder)return new TextDecoder("utf-8",{fatal:!0}).decode(e);var r=8192,t=Math.ceil(e.length/r);if(t<=1)try{return decodeURIComponent(escape(String.fromCharCode.apply(null,e)))}catch(e){throw new TypeError("The encoded data was not valid.")}for(var a="",_=0,s=0;s<t;s++){var c=Array.prototype.slice.call(e,s*r+_,(s+1)*r+_);if(0!==c.length){var o,p=c.length,h=0;do{var y=c[--p];y>=240?(h=4,o=!0):y>=224?(h=3,o=!0):y>=192?(h=2,o=!0):y<128&&(h=1,o=!0)}while(!o);for(var i=h-(c.length-p),l=0;l<i;l++)_--,c.pop();a+=n(c)}}return a}function s(e){e=x(null,e,"input");for(var r,t,a,_="",n=0;n<e.length;n++)a=87+(t=15&e[n])+(t-10>>8&-39)<<8|87+(r=e[n]>>>4)+(r-10>>8&-39),_+=String.fromCharCode(255&a)+String.fromCharCode(a>>>8);return _}var c={ORIGINAL:1,ORIGINAL_NO_PADDING:3,URLSAFE:5,URLSAFE_NO_PADDING:7};function o(e){if(void 0===e)return c.URLSAFE_NO_PADDING;if(e!==c.ORIGINAL&&e!==c.ORIGINAL_NO_PADDING&&e!==c.URLSAFE&&e!==c.URLSAFE_NO_PADDING)throw new Error("unsupported base64 variant");return e}function p(e,r){r=o(r);var a=[];e=x(a,e,"input");var _,s=0|Math.floor(e.length/3),c=e.length-3*s,p=4*s+(0!==c?2&r?2+(c>>>1):4:0),h=new l(p+1),y=u(e);return a.push(y),a.push(h.address),0===t._sodium_bin2base64(h.address,h.length,y,e.length,r)&&b(a,"conversion failed"),h.length=p,_=n(h.to_Uint8Array()),g(a),_}function h(e,r){var t=r||"uint8array";if(!y(t))throw new Error(t+" output format is not available");if(e instanceof l){if("uint8array"===t)return e.to_Uint8Array();if("text"===t)return n(e.to_Uint8Array());if("hex"===t)return s(e.to_Uint8Array());if("base64"===t)return p(e.to_Uint8Array(),c.URLSAFE_NO_PADDING);throw new Error('What is output format "'+t+'"?')}if("object"==typeof e){for(var a=Object.keys(e),_={},o=0;o<a.length;o++)_[a[o]]=h(e[a[o]],t);return _}if("string"==typeof e)return e;throw new TypeError("Cannot format output")}function y(e){for(var r=["uint8array","text","hex","base64"],t=0;t<r.length;t++)if(r[t]===e)return!0;return!1}function i(e){if(e){if("string"!=typeof e)throw new TypeError("When defined, the output format must be a string");if(!y(e))throw new Error(e+" is not a supported output format")}}function l(e){this.length=e,this.address=d(e)}function u(e){var r=d(e.length);return t.HEAPU8.set(e,r),r}function d(e){var r=t._malloc(e);if(0===r)throw{message:"_malloc() failed",length:e};return r}function v(e){t._free(e)}function g(e){if(e)for(var r=0;r<e.length;r++)v(e[r])}function b(e,r){throw g(e),new Error(r)}function f(e,r){throw g(e),new TypeError(r)}function m(e,r,t){null==r&&f(e,t+" cannot be null or undefined")}function x(e,r,t){return m(e,r,t),r instanceof Uint8Array?r:"string"==typeof r?_(r):void f(e,"unsupported input type for "+t)}function E(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=u(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_aegis128l_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=u(r),c.push(p);var v=null,m=0;null!=a&&(v=u(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_aegis128l_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=u(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_aegis128l_keybytes();n.length!==T&&f(c,"invalid key length"),S=u(n),c.push(S);var w=new l(d-t._crypto_aead_aegis128l_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_aegis128l_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function k(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=u(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=u(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_aead_aegis128l_abytes();a.length!==m&&f(o,"invalid mac length"),v=u(a),o.push(v);var E=null,k=0;null!=_&&(E=u(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_aegis128l_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=u(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_aegis128l_keybytes();s.length!==Y&&f(o,"invalid key length"),w=u(s),o.push(w);var B=new l(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_aegis128l_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function S(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_aegis128l_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_aegis128l_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(p+t._crypto_aead_aegis128l_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_aegis128l_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function T(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_aegis128l_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_aegis128l_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(0|p),w=T.address;c.push(w);var Y=new l(0|t._crypto_aead_aegis128l_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_aegis128l_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function w(e){var r=[];i(e);var a=new l(0|t._crypto_aead_aegis128l_keybytes()),_=a.address;r.push(_),t._crypto_aead_aegis128l_keygen(_);var n=h(a,e);return g(r),n}function Y(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=u(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_aegis256_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=u(r),c.push(p);var v=null,m=0;null!=a&&(v=u(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_aegis256_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=u(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_aegis256_keybytes();n.length!==T&&f(c,"invalid key length"),S=u(n),c.push(S);var w=new l(d-t._crypto_aead_aegis256_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_aegis256_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function B(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=u(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=u(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_aead_aegis256_abytes();a.length!==m&&f(o,"invalid mac length"),v=u(a),o.push(v);var E=null,k=0;null!=_&&(E=u(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_aegis256_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=u(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_aegis256_keybytes();s.length!==Y&&f(o,"invalid key length"),w=u(s),o.push(w);var B=new l(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_aegis256_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function A(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_aegis256_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_aegis256_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(p+t._crypto_aead_aegis256_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_aegis256_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function M(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_aegis256_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_aegis256_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(0|p),w=T.address;c.push(w);var Y=new l(0|t._crypto_aead_aegis256_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_aegis256_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function I(e){var r=[];i(e);var a=new l(0|t._crypto_aead_aegis256_keybytes()),_=a.address;r.push(_),t._crypto_aead_aegis256_keygen(_);var n=h(a,e);return g(r),n}function K(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=u(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_chacha20poly1305_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=u(r),c.push(p);var v=null,m=0;null!=a&&(v=u(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_chacha20poly1305_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=u(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_chacha20poly1305_keybytes();n.length!==T&&f(c,"invalid key length"),S=u(n),c.push(S);var w=new l(d-t._crypto_aead_chacha20poly1305_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_chacha20poly1305_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function N(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=u(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=u(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_box_macbytes();a.length!==m&&f(o,"invalid mac length"),v=u(a),o.push(v);var E=null,k=0;null!=_&&(E=u(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_chacha20poly1305_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=u(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_chacha20poly1305_keybytes();s.length!==Y&&f(o,"invalid key length"),w=u(s),o.push(w);var B=new l(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_chacha20poly1305_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function L(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_chacha20poly1305_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_chacha20poly1305_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(p+t._crypto_aead_chacha20poly1305_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_chacha20poly1305_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function O(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_chacha20poly1305_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_chacha20poly1305_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(0|p),w=T.address;c.push(w);var Y=new l(0|t._crypto_aead_chacha20poly1305_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_chacha20poly1305_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function U(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=u(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_chacha20poly1305_ietf_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=u(r),c.push(p);var v=null,m=0;null!=a&&(v=u(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_chacha20poly1305_ietf_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=u(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_chacha20poly1305_ietf_keybytes();n.length!==T&&f(c,"invalid key length"),S=u(n),c.push(S);var w=new l(d-t._crypto_aead_chacha20poly1305_ietf_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_chacha20poly1305_ietf_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function P(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=u(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=u(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_box_macbytes();a.length!==m&&f(o,"invalid mac length"),v=u(a),o.push(v);var E=null,k=0;null!=_&&(E=u(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_chacha20poly1305_ietf_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=u(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_chacha20poly1305_ietf_keybytes();s.length!==Y&&f(o,"invalid key length"),w=u(s),o.push(w);var B=new l(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_chacha20poly1305_ietf_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function C(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_chacha20poly1305_ietf_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_chacha20poly1305_ietf_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(p+t._crypto_aead_chacha20poly1305_ietf_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_chacha20poly1305_ietf_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function R(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_chacha20poly1305_ietf_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_chacha20poly1305_ietf_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(0|p),w=T.address;c.push(w);var Y=new l(0|t._crypto_aead_chacha20poly1305_ietf_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_chacha20poly1305_ietf_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function X(e){var r=[];i(e);var a=new l(0|t._crypto_aead_chacha20poly1305_ietf_keybytes()),_=a.address;r.push(_),t._crypto_aead_chacha20poly1305_ietf_keygen(_);var n=h(a,e);return g(r),n}function D(e){var r=[];i(e);var a=new l(0|t._crypto_aead_chacha20poly1305_keybytes()),_=a.address;r.push(_),t._crypto_aead_chacha20poly1305_keygen(_);var n=h(a,e);return g(r),n}function G(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=u(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_xchacha20poly1305_ietf_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=u(r),c.push(p);var v=null,m=0;null!=a&&(v=u(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_xchacha20poly1305_ietf_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=u(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_xchacha20poly1305_ietf_keybytes();n.length!==T&&f(c,"invalid key length"),S=u(n),c.push(S);var w=new l(d-t._crypto_aead_xchacha20poly1305_ietf_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_xchacha20poly1305_ietf_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function F(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=u(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=u(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_box_macbytes();a.length!==m&&f(o,"invalid mac length"),v=u(a),o.push(v);var E=null,k=0;null!=_&&(E=u(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_xchacha20poly1305_ietf_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=u(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_xchacha20poly1305_ietf_keybytes();s.length!==Y&&f(o,"invalid key length"),w=u(s),o.push(w);var B=new l(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_xchacha20poly1305_ietf_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function V(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_xchacha20poly1305_ietf_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_xchacha20poly1305_ietf_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(p+t._crypto_aead_xchacha20poly1305_ietf_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_xchacha20poly1305_ietf_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function q(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=u(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=u(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_xchacha20poly1305_ietf_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=u(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_xchacha20poly1305_ietf_keybytes();n.length!==S&&f(c,"invalid key length"),k=u(n),c.push(k);var T=new l(0|p),w=T.address;c.push(w);var Y=new l(0|t._crypto_aead_xchacha20poly1305_ietf_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_xchacha20poly1305_ietf_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function z(e){var r=[];i(e);var a=new l(0|t._crypto_aead_xchacha20poly1305_ietf_keybytes()),_=a.address;r.push(_),t._crypto_aead_xchacha20poly1305_ietf_keygen(_);var n=h(a,e);return g(r),n}function W(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_auth_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_auth_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_auth(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function H(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_auth_hmacsha256_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_auth_hmacsha256_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_auth_hmacsha256(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function j(e,r){var a=[];i(r),m(a,e,"state_address");var _=new l(0|t._crypto_auth_hmacsha256_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_auth_hmacsha256_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function J(e,r){var a=[];i(r);var _=null,n=0;null!=e&&(_=u(e=x(a,e,"key")),n=e.length,a.push(_));var s=new l(208).address;if(!(0|t._crypto_auth_hmacsha256_init(s,_,n))){var c=s;return g(a),c}b(a,"invalid usage")}function Q(e){var r=[];i(e);var a=new l(0|t._crypto_auth_hmacsha256_keybytes()),_=a.address;r.push(_),t._crypto_auth_hmacsha256_keygen(_);var n=h(a,e);return g(r),n}function Z(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_auth_hmacsha256_update(e,n,s)&&b(_,"invalid usage"),g(_)}function $(e,r,a){var _=[];e=x(_,e,"tag");var n,s=0|t._crypto_auth_hmacsha256_bytes();e.length!==s&&f(_,"invalid tag length"),n=u(e),_.push(n);var c=u(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_auth_hmacsha256_keybytes();a.length!==h&&f(_,"invalid key length"),p=u(a),_.push(p);var y=!(0|t._crypto_auth_hmacsha256_verify(n,c,o,0,p));return g(_),y}function ee(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_auth_hmacsha512_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_auth_hmacsha512_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_auth_hmacsha512(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function re(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_auth_hmacsha512256_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_auth_hmacsha512256_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_auth_hmacsha512256(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function te(e,r){var a=[];i(r),m(a,e,"state_address");var _=new l(0|t._crypto_auth_hmacsha512256_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_auth_hmacsha512256_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function ae(e,r){var a=[];i(r);var _=null,n=0;null!=e&&(_=u(e=x(a,e,"key")),n=e.length,a.push(_));var s=new l(416).address;if(!(0|t._crypto_auth_hmacsha512256_init(s,_,n))){var c=s;return g(a),c}b(a,"invalid usage")}function _e(e){var r=[];i(e);var a=new l(0|t._crypto_auth_hmacsha512256_keybytes()),_=a.address;r.push(_),t._crypto_auth_hmacsha512256_keygen(_);var n=h(a,e);return g(r),n}function ne(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_auth_hmacsha512256_update(e,n,s)&&b(_,"invalid usage"),g(_)}function se(e,r,a){var _=[];e=x(_,e,"tag");var n,s=0|t._crypto_auth_hmacsha512256_bytes();e.length!==s&&f(_,"invalid tag length"),n=u(e),_.push(n);var c=u(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_auth_hmacsha512256_keybytes();a.length!==h&&f(_,"invalid key length"),p=u(a),_.push(p);var y=!(0|t._crypto_auth_hmacsha512256_verify(n,c,o,0,p));return g(_),y}function ce(e,r){var a=[];i(r),m(a,e,"state_address");var _=new l(0|t._crypto_auth_hmacsha512_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_auth_hmacsha512_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function oe(e,r){var a=[];i(r);var _=null,n=0;null!=e&&(_=u(e=x(a,e,"key")),n=e.length,a.push(_));var s=new l(416).address;if(!(0|t._crypto_auth_hmacsha512_init(s,_,n))){var c=s;return g(a),c}b(a,"invalid usage")}function pe(e){var r=[];i(e);var a=new l(0|t._crypto_auth_hmacsha512_keybytes()),_=a.address;r.push(_),t._crypto_auth_hmacsha512_keygen(_);var n=h(a,e);return g(r),n}function he(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_auth_hmacsha512_update(e,n,s)&&b(_,"invalid usage"),g(_)}function ye(e,r,a){var _=[];e=x(_,e,"tag");var n,s=0|t._crypto_auth_hmacsha512_bytes();e.length!==s&&f(_,"invalid tag length"),n=u(e),_.push(n);var c=u(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_auth_hmacsha512_keybytes();a.length!==h&&f(_,"invalid key length"),p=u(a),_.push(p);var y=!(0|t._crypto_auth_hmacsha512_verify(n,c,o,0,p));return g(_),y}function ie(e){var r=[];i(e);var a=new l(0|t._crypto_auth_keybytes()),_=a.address;r.push(_),t._crypto_auth_keygen(_);var n=h(a,e);return g(r),n}function le(e,r,a){var _=[];e=x(_,e,"tag");var n,s=0|t._crypto_auth_bytes();e.length!==s&&f(_,"invalid tag length"),n=u(e),_.push(n);var c=u(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_auth_keybytes();a.length!==h&&f(_,"invalid key length"),p=u(a),_.push(p);var y=!(0|t._crypto_auth_verify(n,c,o,0,p));return g(_),y}function ue(e,r,a){var _=[];i(a),e=x(_,e,"publicKey");var n,s=0|t._crypto_box_publickeybytes();e.length!==s&&f(_,"invalid publicKey length"),n=u(e),_.push(n),r=x(_,r,"privateKey");var c,o=0|t._crypto_box_secretkeybytes();r.length!==o&&f(_,"invalid privateKey length"),c=u(r),_.push(c);var p=new l(0|t._crypto_box_beforenmbytes()),y=p.address;if(_.push(y),!(0|t._crypto_box_beforenm(y,n,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function de(e,r,a){var _=[];i(a),e=x(_,e,"publicKey");var n,s=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();e.length!==s&&f(_,"invalid publicKey length"),n=u(e),_.push(n),r=x(_,r,"privateKey");var c,o=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();r.length!==o&&f(_,"invalid privateKey length"),c=u(r),_.push(c);var p=new l(0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes()),y=p.address;if(_.push(y),!(0|t._crypto_box_curve25519xchacha20poly1305_beforenm(y,n,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function ve(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=u(r),s.push(p),a=x(s,a,"publicKey");var d,v=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();a.length!==v&&f(s,"invalid publicKey length"),d=u(a),s.push(d),_=x(s,_,"privateKey");var m,E=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();_.length!==E&&f(s,"invalid privateKey length"),m=u(_),s.push(m);var k=new l(0|o),S=k.address;s.push(S);var T=new l(0|t._crypto_box_curve25519xchacha20poly1305_macbytes()),w=T.address;if(s.push(w),!(0|t._crypto_box_curve25519xchacha20poly1305_detached(S,w,c,o,0,p,d,m))){var Y=h({ciphertext:k,mac:T},n);return g(s),Y}b(s,"invalid usage")}function ge(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=u(a),n.push(y);var v=new l(0|c),m=v.address;n.push(m);var E=new l(0|t._crypto_box_curve25519xchacha20poly1305_macbytes()),k=E.address;if(n.push(k),!(0|t._crypto_box_curve25519xchacha20poly1305_detached_afternm(m,k,s,c,0,o,y))){var S=h({ciphertext:v,mac:E},_);return g(n),S}b(n,"invalid usage")}function be(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=u(r),s.push(p),a=x(s,a,"publicKey");var d,v=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();a.length!==v&&f(s,"invalid publicKey length"),d=u(a),s.push(d),_=x(s,_,"privateKey");var m,E=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();_.length!==E&&f(s,"invalid privateKey length"),m=u(_),s.push(m);var k=new l(o+t._crypto_box_curve25519xchacha20poly1305_macbytes()|0),S=k.address;if(s.push(S),!(0|t._crypto_box_curve25519xchacha20poly1305_easy(S,c,o,0,p,d,m))){var T=h(k,n);return g(s),T}b(s,"invalid usage")}function fe(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=u(a),n.push(y);var v=new l(c+t._crypto_box_curve25519xchacha20poly1305_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_box_curve25519xchacha20poly1305_easy_afternm(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function me(e){var r=[];i(e);var a=new l(0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes()),_=a.address;r.push(_);var n=new l(0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes()),s=n.address;r.push(s),t._crypto_box_curve25519xchacha20poly1305_keypair(_,s);var c=h({publicKey:a,privateKey:n,keyType:"curve25519"},e);return g(r),c}function xe(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"ciphertext")),p=e.length;c.push(o),r=x(c,r,"mac");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_macbytes();r.length!==d&&f(c,"invalid mac length"),y=u(r),c.push(y),a=x(c,a,"nonce");var v,m=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();a.length!==m&&f(c,"invalid nonce length"),v=u(a),c.push(v),_=x(c,_,"publicKey");var E,k=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();_.length!==k&&f(c,"invalid publicKey length"),E=u(_),c.push(E),n=x(c,n,"privateKey");var S,T=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();n.length!==T&&f(c,"invalid privateKey length"),S=u(n),c.push(S);var w=new l(0|p),Y=w.address;if(c.push(Y),!(0|t._crypto_box_curve25519xchacha20poly1305_open_detached(Y,o,y,p,0,v,E,S))){var B=h(w,s);return g(c),B}b(c,"incorrect key pair for the given ciphertext")}function Ee(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"ciphertext")),o=e.length;s.push(c),r=x(s,r,"mac");var p,y=0|t._crypto_box_curve25519xchacha20poly1305_macbytes();r.length!==y&&f(s,"invalid mac length"),p=u(r),s.push(p),a=x(s,a,"nonce");var d,v=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();a.length!==v&&f(s,"invalid nonce length"),d=u(a),s.push(d),_=x(s,_,"sharedKey");var m,E=0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes();_.length!==E&&f(s,"invalid sharedKey length"),m=u(_),s.push(m);var k=new l(0|o),S=k.address;if(s.push(S),!(0|t._crypto_box_curve25519xchacha20poly1305_open_detached_afternm(S,c,p,o,0,d,m))){var T=h(k,n);return g(s),T}b(s,"incorrect secret key for the given ciphertext")}function ke(e,r,a,_,n){var s=[];i(n),e=x(s,e,"ciphertext");var c,o=t._crypto_box_curve25519xchacha20poly1305_macbytes(),p=e.length;p<o&&f(s,"ciphertext is too short"),c=u(e),s.push(c),r=x(s,r,"nonce");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==d&&f(s,"invalid nonce length"),y=u(r),s.push(y),a=x(s,a,"publicKey");var v,m=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();a.length!==m&&f(s,"invalid publicKey length"),v=u(a),s.push(v),_=x(s,_,"privateKey");var E,k=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();_.length!==k&&f(s,"invalid privateKey length"),E=u(_),s.push(E);var S=new l(p-t._crypto_box_curve25519xchacha20poly1305_macbytes()|0),T=S.address;if(s.push(T),!(0|t._crypto_box_curve25519xchacha20poly1305_open_easy(T,c,p,0,y,v,E))){var w=h(S,n);return g(s),w}b(s,"incorrect key pair for the given ciphertext")}function Se(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"ciphertext")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=u(a),n.push(y);var v=new l(c-t._crypto_box_curve25519xchacha20poly1305_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_box_curve25519xchacha20poly1305_open_easy_afternm(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"incorrect secret key for the given ciphertext")}function Te(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"publicKey");var c,o=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();r.length!==o&&f(_,"invalid publicKey length"),c=u(r),_.push(c);var p=new l(s+t._crypto_box_curve25519xchacha20poly1305_sealbytes()|0),y=p.address;_.push(y),t._crypto_box_curve25519xchacha20poly1305_seal(y,n,s,0,c);var d=h(p,a);return g(_),d}function we(e,r,a,_){var n=[];i(_),e=x(n,e,"ciphertext");var s,c=t._crypto_box_curve25519xchacha20poly1305_sealbytes(),o=e.length;o<c&&f(n,"ciphertext is too short"),s=u(e),n.push(s),r=x(n,r,"publicKey");var p,y=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();r.length!==y&&f(n,"invalid publicKey length"),p=u(r),n.push(p),a=x(n,a,"secretKey");var d,v=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();a.length!==v&&f(n,"invalid secretKey length"),d=u(a),n.push(d);var b=new l(o-t._crypto_box_curve25519xchacha20poly1305_sealbytes()|0),m=b.address;n.push(m),t._crypto_box_curve25519xchacha20poly1305_seal_open(m,s,o,0,p,d);var E=h(b,_);return g(n),E}function Ye(e,r){var a=[];i(r),e=x(a,e,"seed");var _,n=0|t._crypto_box_curve25519xchacha20poly1305_seedbytes();e.length!==n&&f(a,"invalid seed length"),_=u(e),a.push(_);var s=new l(0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes()),c=s.address;a.push(c);var o=new l(0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes()),p=o.address;if(a.push(p),!(0|t._crypto_box_curve25519xchacha20poly1305_seed_keypair(c,p,_))){var y={publicKey:h(s,r),privateKey:h(o,r),keyType:"x25519"};return g(a),y}b(a,"invalid usage")}function Be(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_box_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=u(r),s.push(p),a=x(s,a,"publicKey");var d,v=0|t._crypto_box_publickeybytes();a.length!==v&&f(s,"invalid publicKey length"),d=u(a),s.push(d),_=x(s,_,"privateKey");var m,E=0|t._crypto_box_secretkeybytes();_.length!==E&&f(s,"invalid privateKey length"),m=u(_),s.push(m);var k=new l(0|o),S=k.address;s.push(S);var T=new l(0|t._crypto_box_macbytes()),w=T.address;if(s.push(w),!(0|t._crypto_box_detached(S,w,c,o,0,p,d,m))){var Y=h({ciphertext:k,mac:T},n);return g(s),Y}b(s,"invalid usage")}function Ae(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_box_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=u(r),s.push(p),a=x(s,a,"publicKey");var d,v=0|t._crypto_box_publickeybytes();a.length!==v&&f(s,"invalid publicKey length"),d=u(a),s.push(d),_=x(s,_,"privateKey");var m,E=0|t._crypto_box_secretkeybytes();_.length!==E&&f(s,"invalid privateKey length"),m=u(_),s.push(m);var k=new l(o+t._crypto_box_macbytes()|0),S=k.address;if(s.push(S),!(0|t._crypto_box_easy(S,c,o,0,p,d,m))){var T=h(k,n);return g(s),T}b(s,"invalid usage")}function Me(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=u(a),n.push(y);var v=new l(c+t._crypto_box_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_box_easy_afternm(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function Ie(e){var r=[];i(e);var a=new l(0|t._crypto_box_publickeybytes()),_=a.address;r.push(_);var n=new l(0|t._crypto_box_secretkeybytes()),s=n.address;if(r.push(s),!(0|t._crypto_box_keypair(_,s))){var c={publicKey:h(a,e),privateKey:h(n,e),keyType:"x25519"};return g(r),c}b(r,"internal error")}function Ke(e,r,a,_,n,s){var c=[];i(s);var o=u(e=x(c,e,"ciphertext")),p=e.length;c.push(o),r=x(c,r,"mac");var y,d=0|t._crypto_box_macbytes();r.length!==d&&f(c,"invalid mac length"),y=u(r),c.push(y),a=x(c,a,"nonce");var v,m=0|t._crypto_box_noncebytes();a.length!==m&&f(c,"invalid nonce length"),v=u(a),c.push(v),_=x(c,_,"publicKey");var E,k=0|t._crypto_box_publickeybytes();_.length!==k&&f(c,"invalid publicKey length"),E=u(_),c.push(E),n=x(c,n,"privateKey");var S,T=0|t._crypto_box_secretkeybytes();n.length!==T&&f(c,"invalid privateKey length"),S=u(n),c.push(S);var w=new l(0|p),Y=w.address;if(c.push(Y),!(0|t._crypto_box_open_detached(Y,o,y,p,0,v,E,S))){var B=h(w,s);return g(c),B}b(c,"incorrect key pair for the given ciphertext")}function Ne(e,r,a,_,n){var s=[];i(n),e=x(s,e,"ciphertext");var c,o=t._crypto_box_macbytes(),p=e.length;p<o&&f(s,"ciphertext is too short"),c=u(e),s.push(c),r=x(s,r,"nonce");var y,d=0|t._crypto_box_noncebytes();r.length!==d&&f(s,"invalid nonce length"),y=u(r),s.push(y),a=x(s,a,"publicKey");var v,m=0|t._crypto_box_publickeybytes();a.length!==m&&f(s,"invalid publicKey length"),v=u(a),s.push(v),_=x(s,_,"privateKey");var E,k=0|t._crypto_box_secretkeybytes();_.length!==k&&f(s,"invalid privateKey length"),E=u(_),s.push(E);var S=new l(p-t._crypto_box_macbytes()|0),T=S.address;if(s.push(T),!(0|t._crypto_box_open_easy(T,c,p,0,y,v,E))){var w=h(S,n);return g(s),w}b(s,"incorrect key pair for the given ciphertext")}function Le(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"ciphertext")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=u(a),n.push(y);var v=new l(c-t._crypto_box_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_box_open_easy_afternm(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"incorrect secret key for the given ciphertext")}function Oe(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"publicKey");var c,o=0|t._crypto_box_publickeybytes();r.length!==o&&f(_,"invalid publicKey length"),c=u(r),_.push(c);var p=new l(s+t._crypto_box_sealbytes()|0),y=p.address;if(_.push(y),!(0|t._crypto_box_seal(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function Ue(e,r,a,_){var n=[];i(_),e=x(n,e,"ciphertext");var s,c=t._crypto_box_sealbytes(),o=e.length;o<c&&f(n,"ciphertext is too short"),s=u(e),n.push(s),r=x(n,r,"publicKey");var p,y=0|t._crypto_box_publickeybytes();r.length!==y&&f(n,"invalid publicKey length"),p=u(r),n.push(p),a=x(n,a,"privateKey");var d,v=0|t._crypto_box_secretkeybytes();a.length!==v&&f(n,"invalid privateKey length"),d=u(a),n.push(d);var m=new l(o-t._crypto_box_sealbytes()|0),E=m.address;if(n.push(E),!(0|t._crypto_box_seal_open(E,s,o,0,p,d))){var k=h(m,_);return g(n),k}b(n,"incorrect key pair for the given ciphertext")}function Pe(e,r){var a=[];i(r),e=x(a,e,"seed");var _,n=0|t._crypto_box_seedbytes();e.length!==n&&f(a,"invalid seed length"),_=u(e),a.push(_);var s=new l(0|t._crypto_box_publickeybytes()),c=s.address;a.push(c);var o=new l(0|t._crypto_box_secretkeybytes()),p=o.address;if(a.push(p),!(0|t._crypto_box_seed_keypair(c,p,_))){var y={publicKey:h(s,r),privateKey:h(o,r),keyType:"x25519"};return g(a),y}b(a,"invalid usage")}function Ce(e,r,a){var _=[];i(a),e=x(_,e,"p");var n,s=0|t._crypto_core_ed25519_bytes();e.length!==s&&f(_,"invalid p length"),n=u(e),_.push(n),r=x(_,r,"q");var c,o=0|t._crypto_core_ed25519_bytes();r.length!==o&&f(_,"invalid q length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ed25519_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_core_ed25519_add(y,n,c))){var d=h(p,a);return g(_),d}b(_,"input is an invalid element")}function Re(e,r){var a=[];i(r);var _=u(e=x(a,e,"r"));e.length,a.push(_);var n=new l(0|t._crypto_core_ed25519_bytes()),s=n.address;if(a.push(s),!(0|t._crypto_core_ed25519_from_hash(s,_))){var c=h(n,r);return g(a),c}b(a,"invalid usage")}function Xe(e,r){var a=[];i(r);var _=u(e=x(a,e,"r"));e.length,a.push(_);var n=new l(0|t._crypto_core_ed25519_bytes()),s=n.address;if(a.push(s),!(0|t._crypto_core_ed25519_from_uniform(s,_))){var c=h(n,r);return g(a),c}b(a,"invalid usage")}function De(e,r){var a=[];i(r),e=x(a,e,"repr");var _,n=0|t._crypto_core_ed25519_bytes();e.length!==n&&f(a,"invalid repr length"),_=u(e),a.push(_);var s=1==(0|t._crypto_core_ed25519_is_valid_point(_));return g(a),s}function Ge(e){var r=[];i(e);var a=new l(0|t._crypto_core_ed25519_bytes()),_=a.address;r.push(_),t._crypto_core_ed25519_random(_);var n=h(a,e);return g(r),n}function Fe(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ed25519_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=u(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ed25519_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ed25519_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ed25519_scalar_add(y,n,c);var d=h(p,a);return g(_),d}function Ve(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ed25519_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ed25519_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ed25519_scalar_complement(c,_);var o=h(s,r);return g(a),o}function qe(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ed25519_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ed25519_scalarbytes()),c=s.address;if(a.push(c),!(0|t._crypto_core_ed25519_scalar_invert(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid reciprocate")}function ze(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ed25519_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=u(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ed25519_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ed25519_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ed25519_scalar_mul(y,n,c);var d=h(p,a);return g(_),d}function We(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ed25519_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ed25519_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ed25519_scalar_negate(c,_);var o=h(s,r);return g(a),o}function He(e){var r=[];i(e);var a=new l(0|t._crypto_core_ed25519_scalarbytes()),_=a.address;r.push(_),t._crypto_core_ed25519_scalar_random(_);var n=h(a,e);return g(r),n}function je(e,r){var a=[];i(r),e=x(a,e,"sample");var _,n=0|t._crypto_core_ed25519_nonreducedscalarbytes();e.length!==n&&f(a,"invalid sample length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ed25519_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ed25519_scalar_reduce(c,_);var o=h(s,r);return g(a),o}function Je(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ed25519_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=u(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ed25519_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ed25519_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ed25519_scalar_sub(y,n,c);var d=h(p,a);return g(_),d}function Qe(e,r,a){var _=[];i(a),e=x(_,e,"p");var n,s=0|t._crypto_core_ed25519_bytes();e.length!==s&&f(_,"invalid p length"),n=u(e),_.push(n),r=x(_,r,"q");var c,o=0|t._crypto_core_ed25519_bytes();r.length!==o&&f(_,"invalid q length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ed25519_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_core_ed25519_sub(y,n,c))){var d=h(p,a);return g(_),d}b(_,"input is an invalid element")}function Ze(e,r,a,_){var n=[];i(_),e=x(n,e,"input");var s,c=0|t._crypto_core_hchacha20_inputbytes();e.length!==c&&f(n,"invalid input length"),s=u(e),n.push(s),r=x(n,r,"privateKey");var o,p=0|t._crypto_core_hchacha20_keybytes();r.length!==p&&f(n,"invalid privateKey length"),o=u(r),n.push(o);var y=null;null!=a&&(y=u(a=x(n,a,"constant")),a.length,n.push(y));var d=new l(0|t._crypto_core_hchacha20_outputbytes()),v=d.address;if(n.push(v),!(0|t._crypto_core_hchacha20(v,s,o,y))){var m=h(d,_);return g(n),m}b(n,"invalid usage")}function $e(e,r,a,_){var n=[];i(_),e=x(n,e,"input");var s,c=0|t._crypto_core_hsalsa20_inputbytes();e.length!==c&&f(n,"invalid input length"),s=u(e),n.push(s),r=x(n,r,"privateKey");var o,p=0|t._crypto_core_hsalsa20_keybytes();r.length!==p&&f(n,"invalid privateKey length"),o=u(r),n.push(o);var y=null;null!=a&&(y=u(a=x(n,a,"constant")),a.length,n.push(y));var d=new l(0|t._crypto_core_hsalsa20_outputbytes()),v=d.address;if(n.push(v),!(0|t._crypto_core_hsalsa20(v,s,o,y))){var m=h(d,_);return g(n),m}b(n,"invalid usage")}function er(e,r,a){var _=[];i(a),e=x(_,e,"p");var n,s=0|t._crypto_core_ristretto255_bytes();e.length!==s&&f(_,"invalid p length"),n=u(e),_.push(n),r=x(_,r,"q");var c,o=0|t._crypto_core_ristretto255_bytes();r.length!==o&&f(_,"invalid q length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ristretto255_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_core_ristretto255_add(y,n,c))){var d=h(p,a);return g(_),d}b(_,"input is an invalid element")}function rr(e,r){var a=[];i(r);var _=u(e=x(a,e,"r"));e.length,a.push(_);var n=new l(0|t._crypto_core_ristretto255_bytes()),s=n.address;if(a.push(s),!(0|t._crypto_core_ristretto255_from_hash(s,_))){var c=h(n,r);return g(a),c}b(a,"invalid usage")}function tr(e,r){var a=[];i(r),e=x(a,e,"repr");var _,n=0|t._crypto_core_ristretto255_bytes();e.length!==n&&f(a,"invalid repr length"),_=u(e),a.push(_);var s=1==(0|t._crypto_core_ristretto255_is_valid_point(_));return g(a),s}function ar(e){var r=[];i(e);var a=new l(0|t._crypto_core_ristretto255_bytes()),_=a.address;r.push(_),t._crypto_core_ristretto255_random(_);var n=h(a,e);return g(r),n}function _r(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ristretto255_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=u(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ristretto255_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ristretto255_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ristretto255_scalar_add(y,n,c);var d=h(p,a);return g(_),d}function nr(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ristretto255_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ristretto255_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ristretto255_scalar_complement(c,_);var o=h(s,r);return g(a),o}function sr(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ristretto255_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ristretto255_scalarbytes()),c=s.address;if(a.push(c),!(0|t._crypto_core_ristretto255_scalar_invert(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid reciprocate")}function cr(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ristretto255_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=u(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ristretto255_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ristretto255_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ristretto255_scalar_mul(y,n,c);var d=h(p,a);return g(_),d}function or(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ristretto255_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ristretto255_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ristretto255_scalar_negate(c,_);var o=h(s,r);return g(a),o}function pr(e){var r=[];i(e);var a=new l(0|t._crypto_core_ristretto255_scalarbytes()),_=a.address;r.push(_),t._crypto_core_ristretto255_scalar_random(_);var n=h(a,e);return g(r),n}function hr(e,r){var a=[];i(r),e=x(a,e,"sample");var _,n=0|t._crypto_core_ristretto255_nonreducedscalarbytes();e.length!==n&&f(a,"invalid sample length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ristretto255_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ristretto255_scalar_reduce(c,_);var o=h(s,r);return g(a),o}function yr(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ristretto255_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=u(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ristretto255_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ristretto255_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ristretto255_scalar_sub(y,n,c);var d=h(p,a);return g(_),d}function ir(e,r,a){var _=[];i(a),e=x(_,e,"p");var n,s=0|t._crypto_core_ristretto255_bytes();e.length!==s&&f(_,"invalid p length"),n=u(e),_.push(n),r=x(_,r,"q");var c,o=0|t._crypto_core_ristretto255_bytes();r.length!==o&&f(_,"invalid q length"),c=u(r),_.push(c);var p=new l(0|t._crypto_core_ristretto255_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_core_ristretto255_sub(y,n,c))){var d=h(p,a);return g(_),d}b(_,"input is an invalid element")}function lr(e,r,a,_){var n=[];i(_),m(n,e,"hash_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(n,"hash_length must be an unsigned integer");var s=u(r=x(n,r,"message")),c=r.length;n.push(s);var o=null,p=0;null!=a&&(o=u(a=x(n,a,"key")),p=a.length,n.push(o));var y=new l(e|=0),d=y.address;if(n.push(d),!(0|t._crypto_generichash(d,e,s,c,0,o,p))){var v=h(y,_);return g(n),v}b(n,"invalid usage")}function ur(e,r,a,_,n){var s=[];i(n),m(s,e,"subkey_len"),("number"!=typeof e||(0|e)!==e||e<0)&&f(s,"subkey_len must be an unsigned integer");var c=null,o=0;null!=r&&(c=u(r=x(s,r,"key")),o=r.length,s.push(c));var p=null,y=0;null!=a&&(a=x(s,a,"id"),y=0|t._crypto_generichash_blake2b_saltbytes(),a.length!==y&&f(s,"invalid id length"),p=u(a),s.push(p));var d=null,v=0;null!=_&&(_=x(s,_,"ctx"),v=0|t._crypto_generichash_blake2b_personalbytes(),_.length!==v&&f(s,"invalid ctx length"),d=u(_),s.push(d));var E=new l(0|e),k=E.address;if(s.push(k),!(0|t._crypto_generichash_blake2b_salt_personal(k,e,null,0,0,c,o,p,d))){var S=h(E,n);return g(s),S}b(s,"invalid usage")}function dr(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"hash_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"hash_length must be an unsigned integer");var n=new l(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_generichash_final(e,s,r))){var c=(t._free(e),h(n,a));return g(_),c}b(_,"invalid usage")}function vr(e,r,a){var _=[];i(a);var n=null,s=0;null!=e&&(n=u(e=x(_,e,"key")),s=e.length,_.push(n)),m(_,r,"hash_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"hash_length must be an unsigned integer");var c=new l(357).address;if(!(0|t._crypto_generichash_init(c,n,s,r))){var o=c;return g(_),o}b(_,"invalid usage")}function gr(e){var r=[];i(e);var a=new l(0|t._crypto_generichash_keybytes()),_=a.address;r.push(_),t._crypto_generichash_keygen(_);var n=h(a,e);return g(r),n}function br(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_generichash_update(e,n,s)&&b(_,"invalid usage"),g(_)}function fr(e,r){var a=[];i(r);var _=u(e=x(a,e,"message")),n=e.length;a.push(_);var s=new l(0|t._crypto_hash_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_hash(c,_,n,0))){var o=h(s,r);return g(a),o}b(a,"invalid usage")}function mr(e,r){var a=[];i(r);var _=u(e=x(a,e,"message")),n=e.length;a.push(_);var s=new l(0|t._crypto_hash_sha256_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_hash_sha256(c,_,n,0))){var o=h(s,r);return g(a),o}b(a,"invalid usage")}function xr(e,r){var a=[];i(r),m(a,e,"state_address");var _=new l(0|t._crypto_hash_sha256_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_hash_sha256_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function Er(e){var r=[];i(e);var a=new l(104).address;if(!(0|t._crypto_hash_sha256_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function kr(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_hash_sha256_update(e,n,s)&&b(_,"invalid usage"),g(_)}function Sr(e,r){var a=[];i(r);var _=u(e=x(a,e,"message")),n=e.length;a.push(_);var s=new l(0|t._crypto_hash_sha512_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_hash_sha512(c,_,n,0))){var o=h(s,r);return g(a),o}b(a,"invalid usage")}function Tr(e,r){var a=[];i(r),m(a,e,"state_address");var _=new l(0|t._crypto_hash_sha512_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_hash_sha512_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function wr(e){var r=[];i(e);var a=new l(208).address;if(!(0|t._crypto_hash_sha512_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function Yr(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_hash_sha512_update(e,n,s)&&b(_,"invalid usage"),g(_)}function Br(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_bytes();e.length!==s&&f(_,"invalid input length"),n=u(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_ipcrypt_bytes()),y=p.address;_.push(y),t._crypto_ipcrypt_decrypt(y,n,c);var d=h(p,a);return g(_),d}function Ar(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_bytes();e.length!==s&&f(_,"invalid input length"),n=u(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_ipcrypt_bytes()),y=p.address;_.push(y),t._crypto_ipcrypt_encrypt(y,n,c);var d=h(p,a);return g(_),d}function Mr(e){var r=[];i(e);var a=new l(0|t._crypto_ipcrypt_keybytes()),_=a.address;r.push(_),t._crypto_ipcrypt_keygen(_);var n=h(a,e);return g(r),n}function Ir(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_nd_outputbytes();e.length!==s&&f(_,"invalid input length"),n=u(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_nd_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_ipcrypt_nd_inputbytes()),y=p.address;_.push(y),t._crypto_ipcrypt_nd_decrypt(y,n,c);var d=h(p,a);return g(_),d}function Kr(e,r,a,_){var n=[];i(_),e=x(n,e,"input");var s,c=0|t._crypto_ipcrypt_nd_inputbytes();e.length!==c&&f(n,"invalid input length"),s=u(e),n.push(s),r=x(n,r,"tweak");var o,p=0|t._crypto_ipcrypt_nd_tweakbytes();r.length!==p&&f(n,"invalid tweak length"),o=u(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_ipcrypt_nd_keybytes();a.length!==d&&f(n,"invalid key length"),y=u(a),n.push(y);var v=new l(0|t._crypto_ipcrypt_nd_outputbytes()),b=v.address;n.push(b),t._crypto_ipcrypt_nd_encrypt(b,s,o,y);var m=h(v,_);return g(n),m}function Nr(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_ndx_outputbytes();e.length!==s&&f(_,"invalid input length"),n=u(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_ndx_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_ipcrypt_ndx_inputbytes()),y=p.address;_.push(y),t._crypto_ipcrypt_ndx_decrypt(y,n,c);var d=h(p,a);return g(_),d}function Lr(e,r,a,_){var n=[];i(_),e=x(n,e,"input");var s,c=0|t._crypto_ipcrypt_ndx_inputbytes();e.length!==c&&f(n,"invalid input length"),s=u(e),n.push(s),r=x(n,r,"tweak");var o,p=0|t._crypto_ipcrypt_ndx_tweakbytes();r.length!==p&&f(n,"invalid tweak length"),o=u(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_ipcrypt_ndx_keybytes();a.length!==d&&f(n,"invalid key length"),y=u(a),n.push(y);var v=new l(0|t._crypto_ipcrypt_ndx_outputbytes()),b=v.address;n.push(b),t._crypto_ipcrypt_ndx_encrypt(b,s,o,y);var m=h(v,_);return g(n),m}function Or(e){var r=[];i(e);var a=new l(0|t._crypto_ipcrypt_ndx_keybytes()),_=a.address;r.push(_),t._crypto_ipcrypt_ndx_keygen(_);var n=h(a,e);return g(r),n}function Ur(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_pfx_bytes();e.length!==s&&f(_,"invalid input length"),n=u(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_pfx_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_ipcrypt_pfx_bytes()),y=p.address;_.push(y),t._crypto_ipcrypt_pfx_decrypt(y,n,c);var d=h(p,a);return g(_),d}function Pr(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_pfx_bytes();e.length!==s&&f(_,"invalid input length"),n=u(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_pfx_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_ipcrypt_pfx_bytes()),y=p.address;_.push(y),t._crypto_ipcrypt_pfx_encrypt(y,n,c);var d=h(p,a);return g(_),d}function Cr(e){var r=[];i(e);var a=new l(0|t._crypto_ipcrypt_pfx_keybytes()),_=a.address;r.push(_),t._crypto_ipcrypt_pfx_keygen(_);var n=h(a,e);return g(r),n}function Rr(e,r,a,n,s){var c=[];i(s),m(c,e,"subkey_len"),("number"!=typeof e||(0|e)!==e||e<0)&&f(c,"subkey_len must be an unsigned integer"),m(c,r,"subkey_id");var o,p=0;if("bigint"==typeof r&&r>=BigInt(0)){const e=r>>BigInt(32);e>BigInt(4294967295)&&f(c,"subkey_id cannot be more than 64 bits"),p=Number(e),o=Number(r&BigInt(4294967295))}else"number"==typeof r&&(0|r)===r&&r>=0?o=r:f(c,"subkey_id must be an unsigned integer or bigint");"string"!=typeof a&&f(c,"ctx must be a string"),(a=_(a+"\0")).length-1!==t._crypto_kdf_contextbytes()&&f(c,"invalid ctx length");var y=u(a);a.length,c.push(y),n=x(c,n,"key");var d,v=0|t._crypto_kdf_keybytes();n.length!==v&&f(c,"invalid key length"),d=u(n),c.push(d);var b=new l(0|e),E=b.address;c.push(E),t._crypto_kdf_derive_from_key(E,e,o,p,y,d);var k=h(b,s);return g(c),k}function Xr(e){var r=[];i(e);var a=new l(0|t._crypto_kdf_keybytes()),_=a.address;r.push(_),t._crypto_kdf_keygen(_);var n=h(a,e);return g(r),n}function Dr(e,r,a,_){var n=[];i(_),e=x(n,e,"clientPublicKey");var s,c=0|t._crypto_kx_publickeybytes();e.length!==c&&f(n,"invalid clientPublicKey length"),s=u(e),n.push(s),r=x(n,r,"clientSecretKey");var o,p=0|t._crypto_kx_secretkeybytes();r.length!==p&&f(n,"invalid clientSecretKey length"),o=u(r),n.push(o),a=x(n,a,"serverPublicKey");var y,d=0|t._crypto_kx_publickeybytes();a.length!==d&&f(n,"invalid serverPublicKey length"),y=u(a),n.push(y);var v=new l(0|t._crypto_kx_sessionkeybytes()),m=v.address;n.push(m);var E=new l(0|t._crypto_kx_sessionkeybytes()),k=E.address;if(n.push(k),!(0|t._crypto_kx_client_session_keys(m,k,s,o,y))){var S=h({sharedRx:v,sharedTx:E},_);return g(n),S}b(n,"invalid usage")}function Gr(e){var r=[];i(e);var a=new l(0|t._crypto_kx_publickeybytes()),_=a.address;r.push(_);var n=new l(0|t._crypto_kx_secretkeybytes()),s=n.address;if(r.push(s),!(0|t._crypto_kx_keypair(_,s))){var c={publicKey:h(a,e),privateKey:h(n,e),keyType:"x25519"};return g(r),c}b(r,"internal error")}function Fr(e,r){var a=[];i(r),e=x(a,e,"seed");var _,n=0|t._crypto_kx_seedbytes();e.length!==n&&f(a,"invalid seed length"),_=u(e),a.push(_);var s=new l(0|t._crypto_kx_publickeybytes()),c=s.address;a.push(c);var o=new l(0|t._crypto_kx_secretkeybytes()),p=o.address;if(a.push(p),!(0|t._crypto_kx_seed_keypair(c,p,_))){var y={publicKey:h(s,r),privateKey:h(o,r),keyType:"x25519"};return g(a),y}b(a,"internal error")}function Vr(e,r,a,_){var n=[];i(_),e=x(n,e,"serverPublicKey");var s,c=0|t._crypto_kx_publickeybytes();e.length!==c&&f(n,"invalid serverPublicKey length"),s=u(e),n.push(s),r=x(n,r,"serverSecretKey");var o,p=0|t._crypto_kx_secretkeybytes();r.length!==p&&f(n,"invalid serverSecretKey length"),o=u(r),n.push(o),a=x(n,a,"clientPublicKey");var y,d=0|t._crypto_kx_publickeybytes();a.length!==d&&f(n,"invalid clientPublicKey length"),y=u(a),n.push(y);var v=new l(0|t._crypto_kx_sessionkeybytes()),m=v.address;n.push(m);var E=new l(0|t._crypto_kx_sessionkeybytes()),k=E.address;if(n.push(k),!(0|t._crypto_kx_server_session_keys(m,k,s,o,y))){var S=h({sharedRx:v,sharedTx:E},_);return g(n),S}b(n,"invalid usage")}function qr(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_onetimeauth_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_onetimeauth_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_onetimeauth(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function zr(e,r){var a=[];i(r),m(a,e,"state_address");var _=new l(0|t._crypto_onetimeauth_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_onetimeauth_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function Wr(e,r){var a=[];i(r);var _=null;null!=e&&(_=u(e=x(a,e,"key")),e.length,a.push(_));var n=new l(144).address;if(!(0|t._crypto_onetimeauth_init(n,_))){var s=n;return g(a),s}b(a,"invalid usage")}function Hr(e){var r=[];i(e);var a=new l(0|t._crypto_onetimeauth_keybytes()),_=a.address;r.push(_),t._crypto_onetimeauth_keygen(_);var n=h(a,e);return g(r),n}function jr(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_onetimeauth_update(e,n,s)&&b(_,"invalid usage"),g(_)}function Jr(e,r,a){var _=[];e=x(_,e,"hash");var n,s=0|t._crypto_onetimeauth_bytes();e.length!==s&&f(_,"invalid hash length"),n=u(e),_.push(n);var c=u(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_onetimeauth_keybytes();a.length!==h&&f(_,"invalid key length"),p=u(a),_.push(p);var y=!(0|t._crypto_onetimeauth_verify(n,c,o,0,p));return g(_),y}function Qr(e,r,a,_,n,s,c){var o=[];i(c),m(o,e,"keyLength"),("number"!=typeof e||(0|e)!==e||e<0)&&f(o,"keyLength must be an unsigned integer");var p=u(r=x(o,r,"password")),y=r.length;o.push(p),a=x(o,a,"salt");var d,v=0|t._crypto_pwhash_saltbytes();a.length!==v&&f(o,"invalid salt length"),d=u(a),o.push(d),m(o,_,"opsLimit"),("number"!=typeof _||(0|_)!==_||_<0)&&f(o,"opsLimit must be an unsigned integer"),m(o,n,"memLimit"),("number"!=typeof n||(0|n)!==n||n<0)&&f(o,"memLimit must be an unsigned integer"),m(o,s,"algorithm"),("number"!=typeof s||(0|s)!==s||s<0)&&f(o,"algorithm must be an unsigned integer");var E=new l(0|e),k=E.address;if(o.push(k),!(0|t._crypto_pwhash(k,e,0,p,y,0,d,_,0,n,s))){var S=h(E,c);return g(o),S}b(o,"invalid usage")}function Zr(e,r,a,_,n,s){var c=[];i(s),m(c,e,"keyLength"),("number"!=typeof e||(0|e)!==e||e<0)&&f(c,"keyLength must be an unsigned integer");var o=u(r=x(c,r,"password")),p=r.length;c.push(o),a=x(c,a,"salt");var y,d=0|t._crypto_pwhash_scryptsalsa208sha256_saltbytes();a.length!==d&&f(c,"invalid salt length"),y=u(a),c.push(y),m(c,_,"opsLimit"),("number"!=typeof _||(0|_)!==_||_<0)&&f(c,"opsLimit must be an unsigned integer"),m(c,n,"memLimit"),("number"!=typeof n||(0|n)!==n||n<0)&&f(c,"memLimit must be an unsigned integer");var v=new l(0|e),E=v.address;if(c.push(E),!(0|t._crypto_pwhash_scryptsalsa208sha256(E,e,0,o,p,0,y,_,0,n))){var k=h(v,s);return g(c),k}b(c,"invalid usage")}function $r(e,r,a,_,n,s,c){var o=[];i(c);var p=u(e=x(o,e,"password")),y=e.length;o.push(p);var d=u(r=x(o,r,"salt")),v=r.length;o.push(d),m(o,a,"opsLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(o,"opsLimit must be an unsigned integer"),m(o,_,"r"),("number"!=typeof _||(0|_)!==_||_<0)&&f(o,"r must be an unsigned integer"),m(o,n,"p"),("number"!=typeof n||(0|n)!==n||n<0)&&f(o,"p must be an unsigned integer"),m(o,s,"keyLength"),("number"!=typeof s||(0|s)!==s||s<0)&&f(o,"keyLength must be an unsigned integer");var E=new l(0|s),k=E.address;if(o.push(k),!(0|t._crypto_pwhash_scryptsalsa208sha256_ll(p,y,d,v,a,0,_,n,k,s))){var S=h(E,c);return g(o),S}b(o,"invalid usage")}function et(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"password")),c=e.length;n.push(s),m(n,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(n,"opsLimit must be an unsigned integer"),m(n,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(n,"memLimit must be an unsigned integer");var o=new l(0|t._crypto_pwhash_scryptsalsa208sha256_strbytes()).address;if(n.push(o),!(0|t._crypto_pwhash_scryptsalsa208sha256_str(o,s,c,0,r,0,a))){var p=t.UTF8ToString(o);return g(n),p}b(n,"invalid usage")}function rt(e,r,a){var n=[];i(a),"string"!=typeof e&&f(n,"hashed_password must be a string");var s=u(e=_(e+"\0"));e.length,n.push(s);var c=u(r=x(n,r,"password")),o=r.length;n.push(c);var p=!(0|t._crypto_pwhash_scryptsalsa208sha256_str_verify(s,c,o,0));return g(n),p}function tt(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"password")),c=e.length;n.push(s),m(n,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(n,"opsLimit must be an unsigned integer"),m(n,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(n,"memLimit must be an unsigned integer");var o=new l(0|t._crypto_pwhash_strbytes()).address;if(n.push(o),!(0|t._crypto_pwhash_str(o,s,c,0,r,0,a))){var p=t.UTF8ToString(o);return g(n),p}b(n,"invalid usage")}function at(e,r,a,n){var s=[];i(n),"string"!=typeof e&&f(s,"hashed_password must be a string");var c=u(e=_(e+"\0"));e.length,s.push(c),m(s,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(s,"opsLimit must be an unsigned integer"),m(s,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"memLimit must be an unsigned integer");var o=!!(0|t._crypto_pwhash_str_needs_rehash(c,r,0,a));return g(s),o}function _t(e,r,a){var n=[];i(a),"string"!=typeof e&&f(n,"hashed_password must be a string");var s=u(e=_(e+"\0"));e.length,n.push(s);var c=u(r=x(n,r,"password")),o=r.length;n.push(c);var p=!(0|t._crypto_pwhash_str_verify(s,c,o,0));return g(n),p}function nt(e,r,a){var _=[];i(a),e=x(_,e,"privateKey");var n,s=0|t._crypto_scalarmult_scalarbytes();e.length!==s&&f(_,"invalid privateKey length"),n=u(e),_.push(n),r=x(_,r,"publicKey");var c,o=0|t._crypto_scalarmult_bytes();r.length!==o&&f(_,"invalid publicKey length"),c=u(r),_.push(c);var p=new l(0|t._crypto_scalarmult_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_scalarmult(y,n,c))){var d=h(p,a);return g(_),d}b(_,"weak public key")}function st(e,r){var a=[];i(r),e=x(a,e,"privateKey");var _,n=0|t._crypto_scalarmult_scalarbytes();e.length!==n&&f(a,"invalid privateKey length"),_=u(e),a.push(_);var s=new l(0|t._crypto_scalarmult_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_scalarmult_base(c,_))){var o=h(s,r);return g(a),o}b(a,"unknown error")}function ct(e,r,a){var _=[];i(a),e=x(_,e,"n");var n,s=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==s&&f(_,"invalid n length"),n=u(e),_.push(n),r=x(_,r,"p");var c,o=0|t._crypto_scalarmult_ed25519_bytes();r.length!==o&&f(_,"invalid p length"),c=u(r),_.push(c);var p=new l(0|t._crypto_scalarmult_ed25519_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_scalarmult_ed25519(y,n,c))){var d=h(p,a);return g(_),d}b(_,"invalid point or scalar is 0")}function ot(e,r){var a=[];i(r),e=x(a,e,"scalar");var _,n=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==n&&f(a,"invalid scalar length"),_=u(e),a.push(_);var s=new l(0|t._crypto_scalarmult_ed25519_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_scalarmult_ed25519_base(c,_))){var o=h(s,r);return g(a),o}b(a,"scalar is 0")}function pt(e,r){var a=[];i(r),e=x(a,e,"scalar");var _,n=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==n&&f(a,"invalid scalar length"),_=u(e),a.push(_);var s=new l(0|t._crypto_scalarmult_ed25519_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_scalarmult_ed25519_base_noclamp(c,_))){var o=h(s,r);return g(a),o}b(a,"scalar is 0")}function ht(e,r,a){var _=[];i(a),e=x(_,e,"n");var n,s=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==s&&f(_,"invalid n length"),n=u(e),_.push(n),r=x(_,r,"p");var c,o=0|t._crypto_scalarmult_ed25519_bytes();r.length!==o&&f(_,"invalid p length"),c=u(r),_.push(c);var p=new l(0|t._crypto_scalarmult_ed25519_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_scalarmult_ed25519_noclamp(y,n,c))){var d=h(p,a);return g(_),d}b(_,"invalid point or scalar is 0")}function yt(e,r,a){var _=[];i(a),e=x(_,e,"scalar");var n,s=0|t._crypto_scalarmult_ristretto255_scalarbytes();e.length!==s&&f(_,"invalid scalar length"),n=u(e),_.push(n),r=x(_,r,"element");var c,o=0|t._crypto_scalarmult_ristretto255_bytes();r.length!==o&&f(_,"invalid element length"),c=u(r),_.push(c);var p=new l(0|t._crypto_scalarmult_ristretto255_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_scalarmult_ristretto255(y,n,c))){var d=h(p,a);return g(_),d}b(_,"result is identity element")}function it(e,r){var a=[];i(r),e=x(a,e,"scalar");var _,n=0|t._crypto_core_ristretto255_scalarbytes();e.length!==n&&f(a,"invalid scalar length"),_=u(e),a.push(_);var s=new l(0|t._crypto_core_ristretto255_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_scalarmult_ristretto255_base(c,_))){var o=h(s,r);return g(a),o}b(a,"scalar is 0")}function lt(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_secretbox_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_secretbox_keybytes();a.length!==d&&f(n,"invalid key length"),y=u(a),n.push(y);var v=new l(0|c),m=v.address;n.push(m);var E=new l(0|t._crypto_secretbox_macbytes()),k=E.address;if(n.push(k),!(0|t._crypto_secretbox_detached(m,k,s,c,0,o,y))){var S=h({mac:E,cipher:v},_);return g(n),S}b(n,"invalid usage")}function ut(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_secretbox_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_secretbox_keybytes();a.length!==d&&f(n,"invalid key length"),y=u(a),n.push(y);var v=new l(c+t._crypto_secretbox_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_secretbox_easy(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function dt(e){var r=[];i(e);var a=new l(0|t._crypto_secretbox_keybytes()),_=a.address;r.push(_),t._crypto_secretbox_keygen(_);var n=h(a,e);return g(r),n}function vt(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"ciphertext")),o=e.length;s.push(c),r=x(s,r,"mac");var p,y=0|t._crypto_secretbox_macbytes();r.length!==y&&f(s,"invalid mac length"),p=u(r),s.push(p),a=x(s,a,"nonce");var d,v=0|t._crypto_secretbox_noncebytes();a.length!==v&&f(s,"invalid nonce length"),d=u(a),s.push(d),_=x(s,_,"key");var m,E=0|t._crypto_secretbox_keybytes();_.length!==E&&f(s,"invalid key length"),m=u(_),s.push(m);var k=new l(0|o),S=k.address;if(s.push(S),!(0|t._crypto_secretbox_open_detached(S,c,p,o,0,d,m))){var T=h(k,n);return g(s),T}b(s,"wrong secret key for the given ciphertext")}function gt(e,r,a,_){var n=[];i(_),e=x(n,e,"ciphertext");var s,c=t._crypto_secretbox_macbytes(),o=e.length;o<c&&f(n,"ciphertext is too short"),s=u(e),n.push(s),r=x(n,r,"nonce");var p,y=0|t._crypto_secretbox_noncebytes();r.length!==y&&f(n,"invalid nonce length"),p=u(r),n.push(p),a=x(n,a,"key");var d,v=0|t._crypto_secretbox_keybytes();a.length!==v&&f(n,"invalid key length"),d=u(a),n.push(d);var m=new l(o-t._crypto_secretbox_macbytes()|0),E=m.address;if(n.push(E),!(0|t._crypto_secretbox_open_easy(E,s,o,0,p,d))){var k=h(m,_);return g(n),k}b(n,"wrong secret key for the given ciphertext")}function bt(e,r,a){var _=[];i(a),e=x(_,e,"header");var n,s=0|t._crypto_secretstream_xchacha20poly1305_headerbytes();e.length!==s&&f(_,"invalid header length"),n=u(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_secretstream_xchacha20poly1305_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(52).address;if(!(0|t._crypto_secretstream_xchacha20poly1305_init_pull(p,n,c))){var h=p;return g(_),h}b(_,"invalid usage")}function ft(e,r){var a=[];i(r),e=x(a,e,"key");var _,n=0|t._crypto_secretstream_xchacha20poly1305_keybytes();e.length!==n&&f(a,"invalid key length"),_=u(e),a.push(_);var s=new l(52).address,c=new l(0|t._crypto_secretstream_xchacha20poly1305_headerbytes()),o=c.address;if(a.push(o),!(0|t._crypto_secretstream_xchacha20poly1305_init_push(s,o,_))){var p={state:s,header:h(c,r)};return g(a),p}b(a,"invalid usage")}function mt(e){var r=[];i(e);var a=new l(0|t._crypto_secretstream_xchacha20poly1305_keybytes()),_=a.address;r.push(_),t._crypto_secretstream_xchacha20poly1305_keygen(_);var n=h(a,e);return g(r),n}function xt(e,r,a,_){var n=[];i(_),m(n,e,"state_address"),r=x(n,r,"cipher");var s,c=t._crypto_secretstream_xchacha20poly1305_abytes(),o=r.length;o<c&&f(n,"cipher is too short"),s=u(r),n.push(s);var p=null,y=0;null!=a&&(p=u(a=x(n,a,"ad")),y=a.length,n.push(p));var v=new l(o-t._crypto_secretstream_xchacha20poly1305_abytes()|0),b=v.address;n.push(b);var E,k=(E=d(1),n.push(E),(k=0===t._crypto_secretstream_xchacha20poly1305_pull(e,b,0,E,s,o,0,p,y)&&{tag:t.HEAPU8[E],message:v})&&{message:h(k.message,_),tag:k.tag});return g(n),k}function Et(e,r,a,_,n){var s=[];i(n),m(s,e,"state_address");var c=u(r=x(s,r,"message_chunk")),o=r.length;s.push(c);var p=null,y=0;null!=a&&(p=u(a=x(s,a,"ad")),y=a.length,s.push(p)),m(s,_,"tag"),("number"!=typeof _||(0|_)!==_||_<0)&&f(s,"tag must be an unsigned integer");var d=new l(o+t._crypto_secretstream_xchacha20poly1305_abytes()|0),v=d.address;if(s.push(v),!(0|t._crypto_secretstream_xchacha20poly1305_push(e,v,0,c,o,0,p,y,0,_))){var E=h(d,n);return g(s),E}b(s,"invalid usage")}function kt(e,r){var a=[];return i(r),m(a,e,"state_address"),t._crypto_secretstream_xchacha20poly1305_rekey(e),g(a),!0}function St(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_shorthash_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_shorthash_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_shorthash(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function Tt(e){var r=[];i(e);var a=new l(0|t._crypto_shorthash_keybytes()),_=a.address;r.push(_),t._crypto_shorthash_keygen(_);var n=h(a,e);return g(r),n}function wt(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_shorthash_siphashx24_keybytes();r.length!==o&&f(_,"invalid key length"),c=u(r),_.push(c);var p=new l(0|t._crypto_shorthash_siphashx24_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_shorthash_siphashx24(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function Yt(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"privateKey");var c,o=0|t._crypto_sign_secretkeybytes();r.length!==o&&f(_,"invalid privateKey length"),c=u(r),_.push(c);var p=new l(e.length+t._crypto_sign_bytes()|0),y=p.address;if(_.push(y),!(0|t._crypto_sign(y,null,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function Bt(e,r,a){var _=[];i(a);var n=u(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"privateKey");var c,o=0|t._crypto_sign_secretkeybytes();r.length!==o&&f(_,"invalid privateKey length"),c=u(r),_.push(c);var p=new l(0|t._crypto_sign_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_sign_detached(y,null,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function At(e,r){var a=[];i(r),e=x(a,e,"edPk");var _,n=0|t._crypto_sign_publickeybytes();e.length!==n&&f(a,"invalid edPk length"),_=u(e),a.push(_);var s=new l(0|t._crypto_scalarmult_scalarbytes()),c=s.address;if(a.push(c),!(0|t._crypto_sign_ed25519_pk_to_curve25519(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid key")}function Mt(e,r){var a=[];i(r),e=x(a,e,"edSk");var _,n=0|t._crypto_sign_secretkeybytes();e.length!==n&&f(a,"invalid edSk length"),_=u(e),a.push(_);var s=new l(0|t._crypto_scalarmult_scalarbytes()),c=s.address;if(a.push(c),!(0|t._crypto_sign_ed25519_sk_to_curve25519(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid key")}function It(e,r){var a=[];i(r),e=x(a,e,"privateKey");var _,n=0|t._crypto_sign_secretkeybytes();e.length!==n&&f(a,"invalid privateKey length"),_=u(e),a.push(_);var s=new l(0|t._crypto_sign_publickeybytes()),c=s.address;if(a.push(c),!(0|t._crypto_sign_ed25519_sk_to_pk(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid key")}function Kt(e,r){var a=[];i(r),e=x(a,e,"privateKey");var _,n=0|t._crypto_sign_secretkeybytes();e.length!==n&&f(a,"invalid privateKey length"),_=u(e),a.push(_);var s=new l(0|t._crypto_sign_seedbytes()),c=s.address;if(a.push(c),!(0|t._crypto_sign_ed25519_sk_to_seed(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid key")}function Nt(e,r,a){var _=[];i(a),m(_,e,"state_address"),r=x(_,r,"privateKey");var n,s=0|t._crypto_sign_secretkeybytes();r.length!==s&&f(_,"invalid privateKey length"),n=u(r),_.push(n);var c=new l(0|t._crypto_sign_bytes()),o=c.address;if(_.push(o),!(0|t._crypto_sign_final_create(e,o,null,n))){var p=(t._free(e),h(c,a));return g(_),p}b(_,"invalid usage")}function Lt(e,r,a,_){var n=[];i(_),m(n,e,"state_address"),r=x(n,r,"signature");var s,c=0|t._crypto_sign_bytes();r.length!==c&&f(n,"invalid signature length"),s=u(r),n.push(s),a=x(n,a,"publicKey");var o,p=0|t._crypto_sign_publickeybytes();a.length!==p&&f(n,"invalid publicKey length"),o=u(a),n.push(o);var h=!(0|t._crypto_sign_final_verify(e,s,o));return g(n),h}function Ot(e){var r=[];i(e);var a=new l(208).address;if(!(0|t._crypto_sign_init(a))){var _=a;return g(r),_}b(r,"internal error")}function Ut(e){var r=[];i(e);var a=new l(0|t._crypto_sign_publickeybytes()),_=a.address;r.push(_);var n=new l(0|t._crypto_sign_secretkeybytes()),s=n.address;if(r.push(s),!(0|t._crypto_sign_keypair(_,s))){var c={publicKey:h(a,e),privateKey:h(n,e),keyType:"ed25519"};return g(r),c}b(r,"internal error")}function Pt(e,r,a){var _=[];i(a),e=x(_,e,"signedMessage");var n,s=t._crypto_sign_bytes(),c=e.length;c<s&&f(_,"signedMessage is too short"),n=u(e),_.push(n),r=x(_,r,"publicKey");var o,p=0|t._crypto_sign_publickeybytes();r.length!==p&&f(_,"invalid publicKey length"),o=u(r),_.push(o);var y=new l(c-t._crypto_sign_bytes()|0),d=y.address;if(_.push(d),!(0|t._crypto_sign_open(d,null,n,c,0,o))){var v=h(y,a);return g(_),v}b(_,"incorrect signature for the given public key")}function Ct(e,r){var a=[];i(r),e=x(a,e,"seed");var _,n=0|t._crypto_sign_seedbytes();e.length!==n&&f(a,"invalid seed length"),_=u(e),a.push(_);var s=new l(0|t._crypto_sign_publickeybytes()),c=s.address;a.push(c);var o=new l(0|t._crypto_sign_secretkeybytes()),p=o.address;if(a.push(p),!(0|t._crypto_sign_seed_keypair(c,p,_))){var y={publicKey:h(s,r),privateKey:h(o,r),keyType:"ed25519"};return g(a),y}b(a,"invalid usage")}function Rt(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_sign_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function Xt(e,r,a){var _=[];e=x(_,e,"signature");var n,s=0|t._crypto_sign_bytes();e.length!==s&&f(_,"invalid signature length"),n=u(e),_.push(n);var c=u(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"publicKey");var p,h=0|t._crypto_sign_publickeybytes();a.length!==h&&f(_,"invalid publicKey length"),p=u(a),_.push(p);var y=!(0|t._crypto_sign_verify_detached(n,c,o,0,p));return g(_),y}function Dt(e,r,a,_){var n=[];i(_),m(n,e,"outLength"),("number"!=typeof e||(0|e)!==e||e<0)&&f(n,"outLength must be an unsigned integer"),r=x(n,r,"key");var s,c=0|t._crypto_stream_chacha20_keybytes();r.length!==c&&f(n,"invalid key length"),s=u(r),n.push(s),a=x(n,a,"nonce");var o,p=0|t._crypto_stream_chacha20_noncebytes();a.length!==p&&f(n,"invalid nonce length"),o=u(a),n.push(o);var y=new l(0|e),d=y.address;n.push(d),t._crypto_stream_chacha20(d,e,0,o,s);var v=h(y,_);return g(n),v}function Gt(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"input_message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_stream_chacha20_ietf_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_stream_chacha20_ietf_keybytes();a.length!==d&&f(n,"invalid key length"),y=u(a),n.push(y);var v=new l(0|c),m=v.address;if(n.push(m),0===t._crypto_stream_chacha20_ietf_xor(m,s,c,0,o,y)){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function Ft(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"input_message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_stream_chacha20_ietf_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=u(r),s.push(p),m(s,a,"nonce_increment"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"nonce_increment must be an unsigned integer"),_=x(s,_,"key");var d,v=0|t._crypto_stream_chacha20_ietf_keybytes();_.length!==v&&f(s,"invalid key length"),d=u(_),s.push(d);var E=new l(0|o),k=E.address;if(s.push(k),0===t._crypto_stream_chacha20_ietf_xor_ic(k,c,o,0,p,a,d)){var S=h(E,n);return g(s),S}b(s,"invalid usage")}function Vt(e){var r=[];i(e);var a=new l(0|t._crypto_stream_chacha20_keybytes()),_=a.address;r.push(_),t._crypto_stream_chacha20_keygen(_);var n=h(a,e);return g(r),n}function qt(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"input_message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_stream_chacha20_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_stream_chacha20_keybytes();a.length!==d&&f(n,"invalid key length"),y=u(a),n.push(y);var v=new l(0|c),m=v.address;if(n.push(m),0===t._crypto_stream_chacha20_xor(m,s,c,0,o,y)){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function zt(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"input_message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_stream_chacha20_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=u(r),s.push(p),m(s,a,"nonce_increment"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"nonce_increment must be an unsigned integer"),_=x(s,_,"key");var d,v=0|t._crypto_stream_chacha20_keybytes();_.length!==v&&f(s,"invalid key length"),d=u(_),s.push(d);var E=new l(0|o),k=E.address;if(s.push(k),0===t._crypto_stream_chacha20_xor_ic(k,c,o,0,p,a,0,d)){var S=h(E,n);return g(s),S}b(s,"invalid usage")}function Wt(e){var r=[];i(e);var a=new l(0|t._crypto_stream_keybytes()),_=a.address;r.push(_),t._crypto_stream_keygen(_);var n=h(a,e);return g(r),n}function Ht(e){var r=[];i(e);var a=new l(0|t._crypto_stream_xchacha20_keybytes()),_=a.address;r.push(_),t._crypto_stream_xchacha20_keygen(_);var n=h(a,e);return g(r),n}function jt(e,r,a,_){var n=[];i(_);var s=u(e=x(n,e,"input_message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_stream_xchacha20_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=u(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_stream_xchacha20_keybytes();a.length!==d&&f(n,"invalid key length"),y=u(a),n.push(y);var v=new l(0|c),m=v.address;if(n.push(m),0===t._crypto_stream_xchacha20_xor(m,s,c,0,o,y)){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function Jt(e,r,a,_,n){var s=[];i(n);var c=u(e=x(s,e,"input_message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_stream_xchacha20_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=u(r),s.push(p),m(s,a,"nonce_increment"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"nonce_increment must be an unsigned integer"),_=x(s,_,"key");var d,v=0|t._crypto_stream_xchacha20_keybytes();_.length!==v&&f(s,"invalid key length"),d=u(_),s.push(d);var E=new l(0|o),k=E.address;if(s.push(k),0===t._crypto_stream_xchacha20_xor_ic(k,c,o,0,p,a,0,d)){var S=h(E,n);return g(s),S}b(s,"invalid usage")}function Qt(e,r,a){var _=[];i(a),m(_,e,"out_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"out_length must be an unsigned integer");var n=u(r=x(_,r,"message")),s=r.length;_.push(n);var c=new l(e|=0),o=c.address;if(_.push(o),!(0|t._crypto_xof_shake128(o,e,n,s,0))){var p=h(c,a);return g(_),p}b(_,"invalid usage")}function Zt(e){var r=[];i(e);var a=new l(256).address;if(!(0|t._crypto_xof_shake128_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function $t(e,r){var a=[];i(r),m(a,e,"domain"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"domain must be an unsigned integer");var _=new l(256).address;if(!(0|t._crypto_xof_shake128_init_with_domain(_,e))){var n=_;return g(a),n}b(a,"invalid usage")}function ea(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"out_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"out_length must be an unsigned integer");var n=new l(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_xof_shake128_squeeze(e,s,r))){var c=h(n,a);return g(_),c}b(_,"invalid usage")}function ra(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_xof_shake128_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function ta(e,r,a){var _=[];i(a),m(_,e,"out_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"out_length must be an unsigned integer");var n=u(r=x(_,r,"message")),s=r.length;_.push(n);var c=new l(e|=0),o=c.address;if(_.push(o),!(0|t._crypto_xof_shake256(o,e,n,s,0))){var p=h(c,a);return g(_),p}b(_,"invalid usage")}function aa(e){var r=[];i(e);var a=new l(256).address;if(!(0|t._crypto_xof_shake256_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function _a(e,r){var a=[];i(r),m(a,e,"domain"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"domain must be an unsigned integer");var _=new l(256).address;if(!(0|t._crypto_xof_shake256_init_with_domain(_,e))){var n=_;return g(a),n}b(a,"invalid usage")}function na(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"out_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"out_length must be an unsigned integer");var n=new l(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_xof_shake256_squeeze(e,s,r))){var c=h(n,a);return g(_),c}b(_,"invalid usage")}function sa(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_xof_shake256_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function ca(e,r,a){var _=[];i(a),m(_,e,"out_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"out_length must be an unsigned integer");var n=u(r=x(_,r,"message")),s=r.length;_.push(n);var c=new l(e|=0),o=c.address;if(_.push(o),!(0|t._crypto_xof_turboshake128(o,e,n,s,0))){var p=h(c,a);return g(_),p}b(_,"invalid usage")}function oa(e){var r=[];i(e);var a=new l(256).address;if(!(0|t._crypto_xof_turboshake128_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function pa(e,r){var a=[];i(r),m(a,e,"domain"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"domain must be an unsigned integer");var _=new l(256).address;if(!(0|t._crypto_xof_turboshake128_init_with_domain(_,e))){var n=_;return g(a),n}b(a,"invalid usage")}function ha(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"out_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"out_length must be an unsigned integer");var n=new l(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_xof_turboshake128_squeeze(e,s,r))){var c=h(n,a);return g(_),c}b(_,"invalid usage")}function ya(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_xof_turboshake128_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function ia(e,r,a){var _=[];i(a),m(_,e,"out_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"out_length must be an unsigned integer");var n=u(r=x(_,r,"message")),s=r.length;_.push(n);var c=new l(e|=0),o=c.address;if(_.push(o),!(0|t._crypto_xof_turboshake256(o,e,n,s,0))){var p=h(c,a);return g(_),p}b(_,"invalid usage")}function la(e){var r=[];i(e);var a=new l(256).address;if(!(0|t._crypto_xof_turboshake256_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function ua(e,r){var a=[];i(r),m(a,e,"domain"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"domain must be an unsigned integer");var _=new l(256).address;if(!(0|t._crypto_xof_turboshake256_init_with_domain(_,e))){var n=_;return g(a),n}b(a,"invalid usage")}function da(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"out_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"out_length must be an unsigned integer");var n=new l(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_xof_turboshake256_squeeze(e,s,r))){var c=h(n,a);return g(_),c}b(_,"invalid usage")}function va(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=u(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_xof_turboshake256_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function ga(e,r){var a=[];i(r),m(a,e,"length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"length must be an unsigned integer");var _=new l(0|e),n=_.address;a.push(n),t._randombytes_buf(n,e);var s=h(_,r);return g(a),s}function ba(e,r,a){var _=[];i(a),m(_,e,"length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"length must be an unsigned integer"),r=x(_,r,"seed");var n,s=0|t._randombytes_seedbytes();r.length!==s&&f(_,"invalid seed length"),n=u(r),_.push(n);var c=new l(0|e),o=c.address;_.push(o),t._randombytes_buf_deterministic(o,e,n);var p=h(c,a);return g(_),p}function fa(e){i(e),t._randombytes_close()}function ma(e){i(e);var r=t._randombytes_random()>>>0;return g([]),r}function xa(e,r){var a=[];i(r);for(var _=t._malloc(24),n=0;n<6;n++)t.setValue(_+4*n,t.Runtime.addFunction(e[["implementation_name","random","stir","uniform","buf","close"][n]]),"i32");0|t._randombytes_set_implementation(_)&&b(a,"unsupported implementation"),g(a)}function Ea(e){i(e),t._randombytes_stir()}function ka(e,r){var a=[];i(r),m(a,e,"upper_bound"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"upper_bound must be an unsigned integer");var _=t._randombytes_uniform(e)>>>0;return g(a),_}function Sa(e){var r,a=[];16!==(e=x(a,e,"bin")).length&&f(a,"invalid bin length"),r=u(e),a.push(r);var _=new l(46).address;if(a.push(_),0!==t._sodium_bin2ip(_,46,r)){var n=t.UTF8ToString(_);return g(a),n}b(a,"conversion failed")}function Ta(e,r){var a=[];i(r),"string"!=typeof e&&f(a,"ip must be a string");var n=u(e=_(e+"\0")),s=e.length-1;a.push(n);var c=new l(16),o=c.address;if(a.push(o),!(0|t._sodium_ip2bin(o,n,s))){var p=h(c,r);return g(a),p}b(a,"invalid IP address")}function wa(){var e=t._sodium_version_string(),r=t.UTF8ToString(e);return g([]),r}return l.prototype.to_Uint8Array=function(){var e=new Uint8Array(this.length);return e.set(t.HEAPU8.subarray(this.address,this.address+this.length)),e},e.add=function(e,r){if(!(e instanceof Uint8Array&&r instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be added");var t=e.length,a=0,_=0;if(r.length!==e.length)throw new TypeError("Arguments must have the same length");for(_=0;_<t;_++)a>>=8,a+=e[_]+r[_],e[_]=255&a},e.base64_variants=c,e.compare=function(e,r){if(!(e instanceof Uint8Array&&r instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be compared");if(e.length!==r.length)throw new TypeError("Only instances of identical length can be compared");for(var t=0,a=1,_=e.length;_-- >0;)t|=r[_]-e[_]>>8&a,a&=(r[_]^e[_])-1>>8;return t+t+a-1},e.from_base64=function(e,r){r=o(r);var a,_=[],n=new l(3*(e=x(_,e,"input")).length/4),s=u(e),c=d(4),p=d(4);return _.push(s),_.push(n.address),_.push(c),_.push(p),0!==t._sodium_base642bin(n.address,n.length,s,e.length,0,c,p,r)&&b(_,"invalid input"),t.getValue(p,"i32")-s!==e.length&&b(_,"incomplete input"),n.length=t.getValue(c,"i32"),a=n.to_Uint8Array(),g(_),a},e.from_hex=function(e){var r,a=[],_=new l((e=x(a,e,"input")).length/2),n=u(e),s=d(4);return a.push(n),a.push(_.address),a.push(s),0!==t._sodium_hex2bin(_.address,_.length,n,e.length,0,0,s)&&b(a,"invalid input"),t.getValue(s,"i32")-n!==e.length&&b(a,"incomplete input"),r=_.to_Uint8Array(),g(a),r},e.from_string=_,e.increment=function(e){if(!(e instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be incremented");for(var r=256,t=0,a=e.length;t<a;t++)r>>=8,r+=e[t],e[t]=255&r},e.is_zero=function(e){if(!(e instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be checked");for(var r=0,t=0,a=e.length;t<a;t++)r|=e[t];return 0===r},e.libsodium=r,e.memcmp=function(e,r){if(!(e instanceof Uint8Array&&r instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be compared");if(e.length!==r.length)throw new TypeError("Only instances of identical length can be compared");for(var t=0,a=0,_=e.length;a<_;a++)t|=e[a]^r[a];return 0===t},e.memzero=function(e){if(!(e instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be wiped");for(var r=0,t=e.length;r<t;r++)e[r]=0},e.output_formats=function(){return["uint8array","text","hex","base64"]},e.pad=function(e,r){if(!(e instanceof Uint8Array))throw new TypeError("buffer must be a Uint8Array");if((r|=0)<=0)throw new Error("block size must be > 0");var a,_=[],n=d(4),s=1,c=0,o=0|e.length,p=new l(o+r);_.push(n),_.push(p.address);for(var h=p.address,y=p.address+o+r;h<y;h++)t.HEAPU8[h]=e[c],c+=s=1&~((65535&((o-=s)>>>48|o>>>32|o>>>16|o))-1>>16);return 0!==t._sodium_pad(n,p.address,e.length,r,p.length)&&b(_,"internal error"),p.length=t.getValue(n,"i32"),a=p.to_Uint8Array(),g(_),a},e.unpad=function(e,r){if(!(e instanceof Uint8Array))throw new TypeError("buffer must be a Uint8Array");if((r|=0)<=0)throw new Error("block size must be > 0");var a=[],_=u(e),n=d(4);return a.push(_),a.push(n),0!==t._sodium_unpad(n,_,e.length,r)&&b(a,"unsupported/invalid padding"),e=(e=new Uint8Array(e)).subarray(0,t.getValue(n,"i32")),g(a),e},e.ready=a,e.symbols=function(){return Object.keys(e).sort()},e.to_base64=p,e.to_hex=s,e.to_string=n,e}var t="object"==typeof e.sodium&&"function"==typeof e.sodium.onload?e.sodium.onload:null;"function"==typeof define&&define.amd?define(["exports","libsodium-sumo"],r):"object"==typeof exports&&"string"!=typeof exports.nodeName?r(exports,require("libsodium-sumo")):e.sodium=r(e.commonJsStrict={},e.libsodium),t&&e.sodium.ready.then(function(){t(e.sodium)})}(this);
1
+ !function(e){function r(e,r){"use strict";var t,a=r.ready.then(function(){function a(){if(t._sodium_init()<0)throw new Error("libsodium was not correctly initialized.");for(var r=["crypto_aead_aegis128l_decrypt","crypto_aead_aegis128l_decrypt_detached","crypto_aead_aegis128l_encrypt","crypto_aead_aegis128l_encrypt_detached","crypto_aead_aegis128l_keygen","crypto_aead_aegis256_decrypt","crypto_aead_aegis256_decrypt_detached","crypto_aead_aegis256_encrypt","crypto_aead_aegis256_encrypt_detached","crypto_aead_aegis256_keygen","crypto_aead_chacha20poly1305_decrypt","crypto_aead_chacha20poly1305_decrypt_detached","crypto_aead_chacha20poly1305_encrypt","crypto_aead_chacha20poly1305_encrypt_detached","crypto_aead_chacha20poly1305_ietf_decrypt","crypto_aead_chacha20poly1305_ietf_decrypt_detached","crypto_aead_chacha20poly1305_ietf_encrypt","crypto_aead_chacha20poly1305_ietf_encrypt_detached","crypto_aead_chacha20poly1305_ietf_keygen","crypto_aead_chacha20poly1305_keygen","crypto_aead_xchacha20poly1305_ietf_decrypt","crypto_aead_xchacha20poly1305_ietf_decrypt_detached","crypto_aead_xchacha20poly1305_ietf_encrypt","crypto_aead_xchacha20poly1305_ietf_encrypt_detached","crypto_aead_xchacha20poly1305_ietf_keygen","crypto_auth","crypto_auth_hmacsha256","crypto_auth_hmacsha256_final","crypto_auth_hmacsha256_init","crypto_auth_hmacsha256_keygen","crypto_auth_hmacsha256_update","crypto_auth_hmacsha256_verify","crypto_auth_hmacsha512","crypto_auth_hmacsha512256","crypto_auth_hmacsha512256_final","crypto_auth_hmacsha512256_init","crypto_auth_hmacsha512256_keygen","crypto_auth_hmacsha512256_update","crypto_auth_hmacsha512256_verify","crypto_auth_hmacsha512_final","crypto_auth_hmacsha512_init","crypto_auth_hmacsha512_keygen","crypto_auth_hmacsha512_update","crypto_auth_hmacsha512_verify","crypto_auth_keygen","crypto_auth_verify","crypto_box_beforenm","crypto_box_curve25519xchacha20poly1305_beforenm","crypto_box_curve25519xchacha20poly1305_detached","crypto_box_curve25519xchacha20poly1305_detached_afternm","crypto_box_curve25519xchacha20poly1305_easy","crypto_box_curve25519xchacha20poly1305_easy_afternm","crypto_box_curve25519xchacha20poly1305_keypair","crypto_box_curve25519xchacha20poly1305_open_detached","crypto_box_curve25519xchacha20poly1305_open_detached_afternm","crypto_box_curve25519xchacha20poly1305_open_easy","crypto_box_curve25519xchacha20poly1305_open_easy_afternm","crypto_box_curve25519xchacha20poly1305_seal","crypto_box_curve25519xchacha20poly1305_seal_open","crypto_box_curve25519xchacha20poly1305_seed_keypair","crypto_box_detached","crypto_box_easy","crypto_box_easy_afternm","crypto_box_keypair","crypto_box_open_detached","crypto_box_open_easy","crypto_box_open_easy_afternm","crypto_box_seal","crypto_box_seal_open","crypto_box_seed_keypair","crypto_core_ed25519_add","crypto_core_ed25519_from_hash","crypto_core_ed25519_from_uniform","crypto_core_ed25519_is_valid_point","crypto_core_ed25519_random","crypto_core_ed25519_scalar_add","crypto_core_ed25519_scalar_complement","crypto_core_ed25519_scalar_invert","crypto_core_ed25519_scalar_mul","crypto_core_ed25519_scalar_negate","crypto_core_ed25519_scalar_random","crypto_core_ed25519_scalar_reduce","crypto_core_ed25519_scalar_sub","crypto_core_ed25519_sub","crypto_core_hchacha20","crypto_core_hsalsa20","crypto_core_ristretto255_add","crypto_core_ristretto255_from_hash","crypto_core_ristretto255_is_valid_point","crypto_core_ristretto255_random","crypto_core_ristretto255_scalar_add","crypto_core_ristretto255_scalar_complement","crypto_core_ristretto255_scalar_invert","crypto_core_ristretto255_scalar_mul","crypto_core_ristretto255_scalar_negate","crypto_core_ristretto255_scalar_random","crypto_core_ristretto255_scalar_reduce","crypto_core_ristretto255_scalar_sub","crypto_core_ristretto255_sub","crypto_generichash","crypto_generichash_blake2b_salt_personal","crypto_generichash_final","crypto_generichash_init","crypto_generichash_keygen","crypto_generichash_update","crypto_hash","crypto_hash_sha256","crypto_hash_sha256_final","crypto_hash_sha256_init","crypto_hash_sha256_update","crypto_hash_sha512","crypto_hash_sha512_final","crypto_hash_sha512_init","crypto_hash_sha512_update","crypto_ipcrypt_decrypt","crypto_ipcrypt_encrypt","crypto_ipcrypt_keygen","crypto_ipcrypt_nd_decrypt","crypto_ipcrypt_nd_encrypt","crypto_ipcrypt_nd_keygen","crypto_ipcrypt_ndx_decrypt","crypto_ipcrypt_ndx_encrypt","crypto_ipcrypt_ndx_keygen","crypto_ipcrypt_pfx_decrypt","crypto_ipcrypt_pfx_encrypt","crypto_ipcrypt_pfx_keygen","crypto_kdf_derive_from_key","crypto_kdf_keygen","crypto_kx_client_session_keys","crypto_kx_keypair","crypto_kx_seed_keypair","crypto_kx_server_session_keys","crypto_onetimeauth","crypto_onetimeauth_final","crypto_onetimeauth_init","crypto_onetimeauth_keygen","crypto_onetimeauth_update","crypto_onetimeauth_verify","crypto_pwhash","crypto_pwhash_scryptsalsa208sha256","crypto_pwhash_scryptsalsa208sha256_ll","crypto_pwhash_scryptsalsa208sha256_str","crypto_pwhash_scryptsalsa208sha256_str_verify","crypto_pwhash_str","crypto_pwhash_str_needs_rehash","crypto_pwhash_str_verify","crypto_scalarmult","crypto_scalarmult_base","crypto_scalarmult_ed25519","crypto_scalarmult_ed25519_base","crypto_scalarmult_ed25519_base_noclamp","crypto_scalarmult_ed25519_noclamp","crypto_scalarmult_ristretto255","crypto_scalarmult_ristretto255_base","crypto_secretbox_detached","crypto_secretbox_easy","crypto_secretbox_keygen","crypto_secretbox_open_detached","crypto_secretbox_open_easy","crypto_secretstream_xchacha20poly1305_init_pull","crypto_secretstream_xchacha20poly1305_init_push","crypto_secretstream_xchacha20poly1305_keygen","crypto_secretstream_xchacha20poly1305_pull","crypto_secretstream_xchacha20poly1305_push","crypto_secretstream_xchacha20poly1305_rekey","crypto_shorthash","crypto_shorthash_keygen","crypto_shorthash_siphashx24","crypto_sign","crypto_sign_detached","crypto_sign_ed25519_pk_to_curve25519","crypto_sign_ed25519_sk_to_curve25519","crypto_sign_ed25519_sk_to_pk","crypto_sign_ed25519_sk_to_seed","crypto_sign_final_create","crypto_sign_final_verify","crypto_sign_init","crypto_sign_keypair","crypto_sign_open","crypto_sign_seed_keypair","crypto_sign_update","crypto_sign_verify_detached","crypto_stream_chacha20","crypto_stream_chacha20_ietf_xor","crypto_stream_chacha20_ietf_xor_ic","crypto_stream_chacha20_keygen","crypto_stream_chacha20_xor","crypto_stream_chacha20_xor_ic","crypto_stream_keygen","crypto_stream_xchacha20_keygen","crypto_stream_xchacha20_xor","crypto_stream_xchacha20_xor_ic","crypto_xof_shake128","crypto_xof_shake128_init","crypto_xof_shake128_init_with_domain","crypto_xof_shake128_squeeze","crypto_xof_shake128_update","crypto_xof_shake256","crypto_xof_shake256_init","crypto_xof_shake256_init_with_domain","crypto_xof_shake256_squeeze","crypto_xof_shake256_update","crypto_xof_turboshake128","crypto_xof_turboshake128_init","crypto_xof_turboshake128_init_with_domain","crypto_xof_turboshake128_squeeze","crypto_xof_turboshake128_update","crypto_xof_turboshake256","crypto_xof_turboshake256_init","crypto_xof_turboshake256_init_with_domain","crypto_xof_turboshake256_squeeze","crypto_xof_turboshake256_update","randombytes_buf","randombytes_buf_deterministic","randombytes_close","randombytes_random","randombytes_set_implementation","randombytes_stir","randombytes_uniform","sodium_bin2ip","sodium_ip2bin","sodium_version_string"],a=[E,k,S,T,w,Y,B,A,M,I,K,N,L,O,U,P,C,R,X,D,G,F,V,q,z,W,H,j,J,Q,Z,$,ee,re,te,ae,_e,ne,se,ce,oe,pe,he,ye,ie,ue,le,de,ve,ge,be,fe,me,xe,Ee,ke,Se,Te,we,Ye,Be,Ae,Me,Ie,Ke,Ne,Le,Oe,Ue,Pe,Ce,Re,Xe,De,Ge,Fe,Ve,qe,ze,We,He,je,Je,Qe,Ze,$e,er,rr,tr,ar,_r,nr,sr,cr,or,pr,hr,yr,ir,ur,lr,dr,vr,gr,br,fr,mr,xr,Er,kr,Sr,Tr,wr,Yr,Br,Ar,Mr,Ir,Kr,Nr,Lr,Or,Ur,Pr,Cr,Rr,Xr,Dr,Gr,Fr,Vr,qr,zr,Wr,Hr,jr,Jr,Qr,Zr,$r,et,rt,tt,at,_t,nt,st,ct,ot,pt,ht,yt,it,ut,lt,dt,vt,gt,bt,ft,mt,xt,Et,kt,St,Tt,wt,Yt,Bt,At,Mt,It,Kt,Nt,Lt,Ot,Ut,Pt,Ct,Rt,Xt,Dt,Gt,Ft,Vt,qt,zt,Wt,Ht,jt,Jt,Qt,Zt,$t,ea,ra,ta,aa,_a,na,sa,ca,oa,pa,ha,ya,ia,ua,la,da,va,ga,ba,fa,ma,xa,Ea,ka,Sa,Ta,wa,Ya],_=0;_<a.length;_++)"function"==typeof t["_"+r[_]]&&(e[r[_]]=a[_]);var n=["SODIUM_LIBRARY_VERSION_MAJOR","SODIUM_LIBRARY_VERSION_MINOR","crypto_aead_aegis128l_ABYTES","crypto_aead_aegis128l_KEYBYTES","crypto_aead_aegis128l_MESSAGEBYTES_MAX","crypto_aead_aegis128l_NPUBBYTES","crypto_aead_aegis128l_NSECBYTES","crypto_aead_aegis256_ABYTES","crypto_aead_aegis256_KEYBYTES","crypto_aead_aegis256_MESSAGEBYTES_MAX","crypto_aead_aegis256_NPUBBYTES","crypto_aead_aegis256_NSECBYTES","crypto_aead_aes256gcm_ABYTES","crypto_aead_aes256gcm_KEYBYTES","crypto_aead_aes256gcm_MESSAGEBYTES_MAX","crypto_aead_aes256gcm_NPUBBYTES","crypto_aead_aes256gcm_NSECBYTES","crypto_aead_chacha20poly1305_ABYTES","crypto_aead_chacha20poly1305_IETF_ABYTES","crypto_aead_chacha20poly1305_IETF_KEYBYTES","crypto_aead_chacha20poly1305_IETF_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_IETF_NPUBBYTES","crypto_aead_chacha20poly1305_IETF_NSECBYTES","crypto_aead_chacha20poly1305_KEYBYTES","crypto_aead_chacha20poly1305_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_NPUBBYTES","crypto_aead_chacha20poly1305_NSECBYTES","crypto_aead_chacha20poly1305_ietf_ABYTES","crypto_aead_chacha20poly1305_ietf_KEYBYTES","crypto_aead_chacha20poly1305_ietf_MESSAGEBYTES_MAX","crypto_aead_chacha20poly1305_ietf_NPUBBYTES","crypto_aead_chacha20poly1305_ietf_NSECBYTES","crypto_aead_xchacha20poly1305_IETF_ABYTES","crypto_aead_xchacha20poly1305_IETF_KEYBYTES","crypto_aead_xchacha20poly1305_IETF_MESSAGEBYTES_MAX","crypto_aead_xchacha20poly1305_IETF_NPUBBYTES","crypto_aead_xchacha20poly1305_IETF_NSECBYTES","crypto_aead_xchacha20poly1305_ietf_ABYTES","crypto_aead_xchacha20poly1305_ietf_KEYBYTES","crypto_aead_xchacha20poly1305_ietf_MESSAGEBYTES_MAX","crypto_aead_xchacha20poly1305_ietf_NPUBBYTES","crypto_aead_xchacha20poly1305_ietf_NSECBYTES","crypto_auth_BYTES","crypto_auth_KEYBYTES","crypto_auth_hmacsha256_BYTES","crypto_auth_hmacsha256_KEYBYTES","crypto_auth_hmacsha512256_BYTES","crypto_auth_hmacsha512256_KEYBYTES","crypto_auth_hmacsha512_BYTES","crypto_auth_hmacsha512_KEYBYTES","crypto_box_BEFORENMBYTES","crypto_box_MACBYTES","crypto_box_MESSAGEBYTES_MAX","crypto_box_NONCEBYTES","crypto_box_PUBLICKEYBYTES","crypto_box_SEALBYTES","crypto_box_SECRETKEYBYTES","crypto_box_SEEDBYTES","crypto_box_curve25519xchacha20poly1305_BEFORENMBYTES","crypto_box_curve25519xchacha20poly1305_MACBYTES","crypto_box_curve25519xchacha20poly1305_MESSAGEBYTES_MAX","crypto_box_curve25519xchacha20poly1305_NONCEBYTES","crypto_box_curve25519xchacha20poly1305_PUBLICKEYBYTES","crypto_box_curve25519xchacha20poly1305_SEALBYTES","crypto_box_curve25519xchacha20poly1305_SECRETKEYBYTES","crypto_box_curve25519xchacha20poly1305_SEEDBYTES","crypto_box_curve25519xsalsa20poly1305_BEFORENMBYTES","crypto_box_curve25519xsalsa20poly1305_MACBYTES","crypto_box_curve25519xsalsa20poly1305_MESSAGEBYTES_MAX","crypto_box_curve25519xsalsa20poly1305_NONCEBYTES","crypto_box_curve25519xsalsa20poly1305_PUBLICKEYBYTES","crypto_box_curve25519xsalsa20poly1305_SECRETKEYBYTES","crypto_box_curve25519xsalsa20poly1305_SEEDBYTES","crypto_core_ed25519_BYTES","crypto_core_ed25519_HASHBYTES","crypto_core_ed25519_NONREDUCEDSCALARBYTES","crypto_core_ed25519_SCALARBYTES","crypto_core_ed25519_UNIFORMBYTES","crypto_core_hchacha20_CONSTBYTES","crypto_core_hchacha20_INPUTBYTES","crypto_core_hchacha20_KEYBYTES","crypto_core_hchacha20_OUTPUTBYTES","crypto_core_hsalsa20_CONSTBYTES","crypto_core_hsalsa20_INPUTBYTES","crypto_core_hsalsa20_KEYBYTES","crypto_core_hsalsa20_OUTPUTBYTES","crypto_core_ristretto255_BYTES","crypto_core_ristretto255_HASHBYTES","crypto_core_ristretto255_NONREDUCEDSCALARBYTES","crypto_core_ristretto255_SCALARBYTES","crypto_core_salsa2012_CONSTBYTES","crypto_core_salsa2012_INPUTBYTES","crypto_core_salsa2012_KEYBYTES","crypto_core_salsa2012_OUTPUTBYTES","crypto_core_salsa208_CONSTBYTES","crypto_core_salsa208_INPUTBYTES","crypto_core_salsa208_KEYBYTES","crypto_core_salsa208_OUTPUTBYTES","crypto_core_salsa20_CONSTBYTES","crypto_core_salsa20_INPUTBYTES","crypto_core_salsa20_KEYBYTES","crypto_core_salsa20_OUTPUTBYTES","crypto_generichash_BYTES","crypto_generichash_BYTES_MAX","crypto_generichash_BYTES_MIN","crypto_generichash_KEYBYTES","crypto_generichash_KEYBYTES_MAX","crypto_generichash_KEYBYTES_MIN","crypto_generichash_blake2b_BYTES","crypto_generichash_blake2b_BYTES_MAX","crypto_generichash_blake2b_BYTES_MIN","crypto_generichash_blake2b_KEYBYTES","crypto_generichash_blake2b_KEYBYTES_MAX","crypto_generichash_blake2b_KEYBYTES_MIN","crypto_generichash_blake2b_PERSONALBYTES","crypto_generichash_blake2b_SALTBYTES","crypto_hash_BYTES","crypto_hash_sha256_BYTES","crypto_hash_sha512_BYTES","crypto_ipcrypt_BYTES","crypto_ipcrypt_KEYBYTES","crypto_ipcrypt_NDX_INPUTBYTES","crypto_ipcrypt_NDX_KEYBYTES","crypto_ipcrypt_NDX_OUTPUTBYTES","crypto_ipcrypt_NDX_TWEAKBYTES","crypto_ipcrypt_ND_INPUTBYTES","crypto_ipcrypt_ND_KEYBYTES","crypto_ipcrypt_ND_OUTPUTBYTES","crypto_ipcrypt_ND_TWEAKBYTES","crypto_ipcrypt_PFX_BYTES","crypto_ipcrypt_PFX_KEYBYTES","crypto_kdf_BYTES_MAX","crypto_kdf_BYTES_MIN","crypto_kdf_CONTEXTBYTES","crypto_kdf_KEYBYTES","crypto_kdf_blake2b_BYTES_MAX","crypto_kdf_blake2b_BYTES_MIN","crypto_kdf_blake2b_CONTEXTBYTES","crypto_kdf_blake2b_KEYBYTES","crypto_kdf_hkdf_sha256_BYTES_MAX","crypto_kdf_hkdf_sha256_BYTES_MIN","crypto_kdf_hkdf_sha256_KEYBYTES","crypto_kdf_hkdf_sha512_BYTES_MAX","crypto_kdf_hkdf_sha512_BYTES_MIN","crypto_kdf_hkdf_sha512_KEYBYTES","crypto_kx_PUBLICKEYBYTES","crypto_kx_SECRETKEYBYTES","crypto_kx_SEEDBYTES","crypto_kx_SESSIONKEYBYTES","crypto_onetimeauth_BYTES","crypto_onetimeauth_KEYBYTES","crypto_onetimeauth_poly1305_BYTES","crypto_onetimeauth_poly1305_KEYBYTES","crypto_pwhash_ALG_ARGON2I13","crypto_pwhash_ALG_ARGON2ID13","crypto_pwhash_ALG_DEFAULT","crypto_pwhash_BYTES_MAX","crypto_pwhash_BYTES_MIN","crypto_pwhash_MEMLIMIT_INTERACTIVE","crypto_pwhash_MEMLIMIT_MAX","crypto_pwhash_MEMLIMIT_MIN","crypto_pwhash_MEMLIMIT_MODERATE","crypto_pwhash_MEMLIMIT_SENSITIVE","crypto_pwhash_OPSLIMIT_INTERACTIVE","crypto_pwhash_OPSLIMIT_MAX","crypto_pwhash_OPSLIMIT_MIN","crypto_pwhash_OPSLIMIT_MODERATE","crypto_pwhash_OPSLIMIT_SENSITIVE","crypto_pwhash_PASSWD_MAX","crypto_pwhash_PASSWD_MIN","crypto_pwhash_SALTBYTES","crypto_pwhash_STRBYTES","crypto_pwhash_argon2i_BYTES_MAX","crypto_pwhash_argon2i_BYTES_MIN","crypto_pwhash_argon2i_MEMLIMIT_INTERACTIVE","crypto_pwhash_argon2i_MEMLIMIT_MAX","crypto_pwhash_argon2i_MEMLIMIT_MIN","crypto_pwhash_argon2i_MEMLIMIT_MODERATE","crypto_pwhash_argon2i_MEMLIMIT_SENSITIVE","crypto_pwhash_argon2i_OPSLIMIT_INTERACTIVE","crypto_pwhash_argon2i_OPSLIMIT_MAX","crypto_pwhash_argon2i_OPSLIMIT_MIN","crypto_pwhash_argon2i_OPSLIMIT_MODERATE","crypto_pwhash_argon2i_OPSLIMIT_SENSITIVE","crypto_pwhash_argon2i_PASSWD_MAX","crypto_pwhash_argon2i_PASSWD_MIN","crypto_pwhash_argon2i_SALTBYTES","crypto_pwhash_argon2i_STRBYTES","crypto_pwhash_argon2id_BYTES_MAX","crypto_pwhash_argon2id_BYTES_MIN","crypto_pwhash_argon2id_MEMLIMIT_INTERACTIVE","crypto_pwhash_argon2id_MEMLIMIT_MAX","crypto_pwhash_argon2id_MEMLIMIT_MIN","crypto_pwhash_argon2id_MEMLIMIT_MODERATE","crypto_pwhash_argon2id_MEMLIMIT_SENSITIVE","crypto_pwhash_argon2id_OPSLIMIT_INTERACTIVE","crypto_pwhash_argon2id_OPSLIMIT_MAX","crypto_pwhash_argon2id_OPSLIMIT_MIN","crypto_pwhash_argon2id_OPSLIMIT_MODERATE","crypto_pwhash_argon2id_OPSLIMIT_SENSITIVE","crypto_pwhash_argon2id_PASSWD_MAX","crypto_pwhash_argon2id_PASSWD_MIN","crypto_pwhash_argon2id_SALTBYTES","crypto_pwhash_argon2id_STRBYTES","crypto_pwhash_scryptsalsa208sha256_BYTES_MAX","crypto_pwhash_scryptsalsa208sha256_BYTES_MIN","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_INTERACTIVE","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MAX","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_MIN","crypto_pwhash_scryptsalsa208sha256_MEMLIMIT_SENSITIVE","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_INTERACTIVE","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MAX","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_MIN","crypto_pwhash_scryptsalsa208sha256_OPSLIMIT_SENSITIVE","crypto_pwhash_scryptsalsa208sha256_PASSWD_MAX","crypto_pwhash_scryptsalsa208sha256_PASSWD_MIN","crypto_pwhash_scryptsalsa208sha256_SALTBYTES","crypto_pwhash_scryptsalsa208sha256_STRBYTES","crypto_scalarmult_BYTES","crypto_scalarmult_SCALARBYTES","crypto_scalarmult_curve25519_BYTES","crypto_scalarmult_curve25519_SCALARBYTES","crypto_scalarmult_ed25519_BYTES","crypto_scalarmult_ed25519_SCALARBYTES","crypto_scalarmult_ristretto255_BYTES","crypto_scalarmult_ristretto255_SCALARBYTES","crypto_secretbox_KEYBYTES","crypto_secretbox_MACBYTES","crypto_secretbox_MESSAGEBYTES_MAX","crypto_secretbox_NONCEBYTES","crypto_secretbox_xchacha20poly1305_KEYBYTES","crypto_secretbox_xchacha20poly1305_MACBYTES","crypto_secretbox_xchacha20poly1305_MESSAGEBYTES_MAX","crypto_secretbox_xchacha20poly1305_NONCEBYTES","crypto_secretbox_xsalsa20poly1305_KEYBYTES","crypto_secretbox_xsalsa20poly1305_MACBYTES","crypto_secretbox_xsalsa20poly1305_MESSAGEBYTES_MAX","crypto_secretbox_xsalsa20poly1305_NONCEBYTES","crypto_secretstream_xchacha20poly1305_ABYTES","crypto_secretstream_xchacha20poly1305_HEADERBYTES","crypto_secretstream_xchacha20poly1305_KEYBYTES","crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX","crypto_secretstream_xchacha20poly1305_TAG_FINAL","crypto_secretstream_xchacha20poly1305_TAG_MESSAGE","crypto_secretstream_xchacha20poly1305_TAG_PUSH","crypto_secretstream_xchacha20poly1305_TAG_REKEY","crypto_shorthash_BYTES","crypto_shorthash_KEYBYTES","crypto_shorthash_siphash24_BYTES","crypto_shorthash_siphash24_KEYBYTES","crypto_shorthash_siphashx24_BYTES","crypto_shorthash_siphashx24_KEYBYTES","crypto_sign_BYTES","crypto_sign_MESSAGEBYTES_MAX","crypto_sign_PUBLICKEYBYTES","crypto_sign_SECRETKEYBYTES","crypto_sign_SEEDBYTES","crypto_sign_ed25519_BYTES","crypto_sign_ed25519_MESSAGEBYTES_MAX","crypto_sign_ed25519_PUBLICKEYBYTES","crypto_sign_ed25519_SECRETKEYBYTES","crypto_sign_ed25519_SEEDBYTES","crypto_stream_KEYBYTES","crypto_stream_MESSAGEBYTES_MAX","crypto_stream_NONCEBYTES","crypto_stream_chacha20_IETF_KEYBYTES","crypto_stream_chacha20_IETF_MESSAGEBYTES_MAX","crypto_stream_chacha20_IETF_NONCEBYTES","crypto_stream_chacha20_KEYBYTES","crypto_stream_chacha20_MESSAGEBYTES_MAX","crypto_stream_chacha20_NONCEBYTES","crypto_stream_chacha20_ietf_KEYBYTES","crypto_stream_chacha20_ietf_MESSAGEBYTES_MAX","crypto_stream_chacha20_ietf_NONCEBYTES","crypto_stream_salsa2012_KEYBYTES","crypto_stream_salsa2012_MESSAGEBYTES_MAX","crypto_stream_salsa2012_NONCEBYTES","crypto_stream_salsa208_KEYBYTES","crypto_stream_salsa208_MESSAGEBYTES_MAX","crypto_stream_salsa208_NONCEBYTES","crypto_stream_salsa20_KEYBYTES","crypto_stream_salsa20_MESSAGEBYTES_MAX","crypto_stream_salsa20_NONCEBYTES","crypto_stream_xchacha20_KEYBYTES","crypto_stream_xchacha20_MESSAGEBYTES_MAX","crypto_stream_xchacha20_NONCEBYTES","crypto_stream_xsalsa20_KEYBYTES","crypto_stream_xsalsa20_MESSAGEBYTES_MAX","crypto_stream_xsalsa20_NONCEBYTES","crypto_verify_16_BYTES","crypto_verify_32_BYTES","crypto_verify_64_BYTES","crypto_xof_shake128_BLOCKBYTES","crypto_xof_shake128_STATEBYTES","crypto_xof_shake256_BLOCKBYTES","crypto_xof_shake256_STATEBYTES","crypto_xof_turboshake128_BLOCKBYTES","crypto_xof_turboshake128_STATEBYTES","crypto_xof_turboshake256_BLOCKBYTES","crypto_xof_turboshake256_STATEBYTES"];for(_=0;_<n.length;_++)"function"==typeof(c=t["_"+n[_].toLowerCase()])&&(e[n[_]]=c());var s=["SODIUM_VERSION_STRING","crypto_pwhash_STRPREFIX","crypto_pwhash_argon2i_STRPREFIX","crypto_pwhash_argon2id_STRPREFIX","crypto_pwhash_scryptsalsa208sha256_STRPREFIX"];for(_=0;_<s.length;_++){var c;"function"==typeof(c=t["_"+s[_].toLowerCase()])&&(e[s[_]]=t.UTF8ToString(c()))}}t=r;try{a();var _=new Uint8Array([98,97,108,108,115]),n=e.randombytes_buf(e.crypto_secretbox_NONCEBYTES),s=e.randombytes_buf(e.crypto_secretbox_KEYBYTES),c=e.crypto_secretbox_easy(_,n,s),o=e.crypto_secretbox_open_easy(c,n,s);if(e.memcmp(_,o))return}catch(e){if(null==t.useBackupModule)throw new Error("Both wasm and asm failed to load"+e)}return t.useBackupModule().then(function(){a()})});function _(e){if("function"==typeof TextEncoder)return(new TextEncoder).encode(e);e=unescape(encodeURIComponent(e));for(var r=new Uint8Array(e.length),t=0,a=e.length;t<a;t++)r[t]=e.charCodeAt(t);return r}function n(e){if("function"==typeof TextDecoder)return new TextDecoder("utf-8",{fatal:!0}).decode(e);var r=8192,t=Math.ceil(e.length/r);if(t<=1)try{return decodeURIComponent(escape(String.fromCharCode.apply(null,e)))}catch(e){throw new TypeError("The encoded data was not valid.")}for(var a="",_=0,s=0;s<t;s++){var c=Array.prototype.slice.call(e,s*r+_,(s+1)*r+_);if(0!==c.length){var o,p=c.length,h=0;do{var y=c[--p];y>=240?(h=4,o=!0):y>=224?(h=3,o=!0):y>=192?(h=2,o=!0):y<128&&(h=1,o=!0)}while(!o);for(var i=h-(c.length-p),u=0;u<i;u++)_--,c.pop();a+=n(c)}}return a}function s(e){e=x(null,e,"input");for(var r,t,a,_="",n=0;n<e.length;n++)a=87+(t=15&e[n])+(t-10>>8&-39)<<8|87+(r=e[n]>>>4)+(r-10>>8&-39),_+=String.fromCharCode(255&a)+String.fromCharCode(a>>>8);return _}var c={ORIGINAL:1,ORIGINAL_NO_PADDING:3,URLSAFE:5,URLSAFE_NO_PADDING:7};function o(e){if(void 0===e)return c.URLSAFE_NO_PADDING;if(e!==c.ORIGINAL&&e!==c.ORIGINAL_NO_PADDING&&e!==c.URLSAFE&&e!==c.URLSAFE_NO_PADDING)throw new Error("unsupported base64 variant");return e}function p(e,r){r=o(r);var a=[];e=x(a,e,"input");var _,s=0|Math.floor(e.length/3),c=e.length-3*s,p=4*s+(0!==c?2&r?2+(c>>>1):4:0),h=new u(p+1),y=l(e);return a.push(y),a.push(h.address),0===t._sodium_bin2base64(h.address,h.length,y,e.length,r)&&b(a,"conversion failed"),h.length=p,_=n(h.to_Uint8Array()),g(a),_}function h(e,r){var t=r||"uint8array";if(!y(t))throw new Error(t+" output format is not available");if(e instanceof u){if("uint8array"===t)return e.to_Uint8Array();if("text"===t)return n(e.to_Uint8Array());if("hex"===t)return s(e.to_Uint8Array());if("base64"===t)return p(e.to_Uint8Array(),c.URLSAFE_NO_PADDING);throw new Error('What is output format "'+t+'"?')}if("object"==typeof e){for(var a=Object.keys(e),_={},o=0;o<a.length;o++)_[a[o]]=h(e[a[o]],t);return _}if("string"==typeof e)return e;throw new TypeError("Cannot format output")}function y(e){for(var r=["uint8array","text","hex","base64"],t=0;t<r.length;t++)if(r[t]===e)return!0;return!1}function i(e){if(e){if("string"!=typeof e)throw new TypeError("When defined, the output format must be a string");if(!y(e))throw new Error(e+" is not a supported output format")}}function u(e){this.length=e,this.address=d(e)}function l(e){var r=d(e.length);return t.HEAPU8.set(e,r),r}function d(e){var r=t._malloc(e);if(0===r)throw{message:"_malloc() failed",length:e};return r}function v(e){t._free(e)}function g(e){if(e)for(var r=0;r<e.length;r++)v(e[r])}function b(e,r){throw g(e),new Error(r)}function f(e,r){throw g(e),new TypeError(r)}function m(e,r,t){null==r&&f(e,t+" cannot be null or undefined")}function x(e,r,t){return m(e,r,t),r instanceof Uint8Array?r:"string"==typeof r?_(r):void f(e,"unsupported input type for "+t)}function E(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=l(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_aegis128l_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=l(r),c.push(p);var v=null,m=0;null!=a&&(v=l(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_aegis128l_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=l(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_aegis128l_keybytes();n.length!==T&&f(c,"invalid key length"),S=l(n),c.push(S);var w=new u(d-t._crypto_aead_aegis128l_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_aegis128l_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function k(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=l(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=l(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_aead_aegis128l_abytes();a.length!==m&&f(o,"invalid mac length"),v=l(a),o.push(v);var E=null,k=0;null!=_&&(E=l(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_aegis128l_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=l(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_aegis128l_keybytes();s.length!==Y&&f(o,"invalid key length"),w=l(s),o.push(w);var B=new u(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_aegis128l_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function S(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_aegis128l_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_aegis128l_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(p+t._crypto_aead_aegis128l_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_aegis128l_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function T(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_aegis128l_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_aegis128l_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(0|p),w=T.address;c.push(w);var Y=new u(0|t._crypto_aead_aegis128l_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_aegis128l_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function w(e){var r=[];i(e);var a=new u(0|t._crypto_aead_aegis128l_keybytes()),_=a.address;r.push(_),t._crypto_aead_aegis128l_keygen(_);var n=h(a,e);return g(r),n}function Y(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=l(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_aegis256_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=l(r),c.push(p);var v=null,m=0;null!=a&&(v=l(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_aegis256_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=l(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_aegis256_keybytes();n.length!==T&&f(c,"invalid key length"),S=l(n),c.push(S);var w=new u(d-t._crypto_aead_aegis256_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_aegis256_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function B(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=l(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=l(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_aead_aegis256_abytes();a.length!==m&&f(o,"invalid mac length"),v=l(a),o.push(v);var E=null,k=0;null!=_&&(E=l(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_aegis256_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=l(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_aegis256_keybytes();s.length!==Y&&f(o,"invalid key length"),w=l(s),o.push(w);var B=new u(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_aegis256_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function A(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_aegis256_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_aegis256_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(p+t._crypto_aead_aegis256_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_aegis256_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function M(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_aegis256_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_aegis256_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(0|p),w=T.address;c.push(w);var Y=new u(0|t._crypto_aead_aegis256_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_aegis256_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function I(e){var r=[];i(e);var a=new u(0|t._crypto_aead_aegis256_keybytes()),_=a.address;r.push(_),t._crypto_aead_aegis256_keygen(_);var n=h(a,e);return g(r),n}function K(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=l(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_chacha20poly1305_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=l(r),c.push(p);var v=null,m=0;null!=a&&(v=l(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_chacha20poly1305_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=l(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_chacha20poly1305_keybytes();n.length!==T&&f(c,"invalid key length"),S=l(n),c.push(S);var w=new u(d-t._crypto_aead_chacha20poly1305_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_chacha20poly1305_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function N(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=l(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=l(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_box_macbytes();a.length!==m&&f(o,"invalid mac length"),v=l(a),o.push(v);var E=null,k=0;null!=_&&(E=l(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_chacha20poly1305_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=l(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_chacha20poly1305_keybytes();s.length!==Y&&f(o,"invalid key length"),w=l(s),o.push(w);var B=new u(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_chacha20poly1305_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function L(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_chacha20poly1305_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_chacha20poly1305_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(p+t._crypto_aead_chacha20poly1305_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_chacha20poly1305_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function O(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_chacha20poly1305_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_chacha20poly1305_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(0|p),w=T.address;c.push(w);var Y=new u(0|t._crypto_aead_chacha20poly1305_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_chacha20poly1305_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function U(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=l(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_chacha20poly1305_ietf_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=l(r),c.push(p);var v=null,m=0;null!=a&&(v=l(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_chacha20poly1305_ietf_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=l(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_chacha20poly1305_ietf_keybytes();n.length!==T&&f(c,"invalid key length"),S=l(n),c.push(S);var w=new u(d-t._crypto_aead_chacha20poly1305_ietf_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_chacha20poly1305_ietf_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function P(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=l(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=l(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_box_macbytes();a.length!==m&&f(o,"invalid mac length"),v=l(a),o.push(v);var E=null,k=0;null!=_&&(E=l(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_chacha20poly1305_ietf_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=l(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_chacha20poly1305_ietf_keybytes();s.length!==Y&&f(o,"invalid key length"),w=l(s),o.push(w);var B=new u(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_chacha20poly1305_ietf_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function C(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_chacha20poly1305_ietf_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_chacha20poly1305_ietf_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(p+t._crypto_aead_chacha20poly1305_ietf_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_chacha20poly1305_ietf_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function R(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_chacha20poly1305_ietf_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_chacha20poly1305_ietf_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(0|p),w=T.address;c.push(w);var Y=new u(0|t._crypto_aead_chacha20poly1305_ietf_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_chacha20poly1305_ietf_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function X(e){var r=[];i(e);var a=new u(0|t._crypto_aead_chacha20poly1305_ietf_keybytes()),_=a.address;r.push(_),t._crypto_aead_chacha20poly1305_ietf_keygen(_);var n=h(a,e);return g(r),n}function D(e){var r=[];i(e);var a=new u(0|t._crypto_aead_chacha20poly1305_keybytes()),_=a.address;r.push(_),t._crypto_aead_chacha20poly1305_keygen(_);var n=h(a,e);return g(r),n}function G(e,r,a,_,n,s){var c=[];i(s);var o=null;null!=e&&(o=l(e=x(c,e,"secret_nonce")),e.length,c.push(o)),r=x(c,r,"ciphertext");var p,y=t._crypto_aead_xchacha20poly1305_ietf_abytes(),d=r.length;d<y&&f(c,"ciphertext is too short"),p=l(r),c.push(p);var v=null,m=0;null!=a&&(v=l(a=x(c,a,"additional_data")),m=a.length,c.push(v)),_=x(c,_,"public_nonce");var E,k=0|t._crypto_aead_xchacha20poly1305_ietf_npubbytes();_.length!==k&&f(c,"invalid public_nonce length"),E=l(_),c.push(E),n=x(c,n,"key");var S,T=0|t._crypto_aead_xchacha20poly1305_ietf_keybytes();n.length!==T&&f(c,"invalid key length"),S=l(n),c.push(S);var w=new u(d-t._crypto_aead_xchacha20poly1305_ietf_abytes()|0),Y=w.address;if(c.push(Y),0===t._crypto_aead_xchacha20poly1305_ietf_decrypt(Y,null,o,p,d,0,v,m,0,E,S)){var B=h(w,s);return g(c),B}b(c,"ciphertext cannot be decrypted using that key")}function F(e,r,a,_,n,s,c){var o=[];i(c);var p=null;null!=e&&(p=l(e=x(o,e,"secret_nonce")),e.length,o.push(p));var y=l(r=x(o,r,"ciphertext")),d=r.length;o.push(y),a=x(o,a,"mac");var v,m=0|t._crypto_box_macbytes();a.length!==m&&f(o,"invalid mac length"),v=l(a),o.push(v);var E=null,k=0;null!=_&&(E=l(_=x(o,_,"additional_data")),k=_.length,o.push(E)),n=x(o,n,"public_nonce");var S,T=0|t._crypto_aead_xchacha20poly1305_ietf_npubbytes();n.length!==T&&f(o,"invalid public_nonce length"),S=l(n),o.push(S),s=x(o,s,"key");var w,Y=0|t._crypto_aead_xchacha20poly1305_ietf_keybytes();s.length!==Y&&f(o,"invalid key length"),w=l(s),o.push(w);var B=new u(0|d),A=B.address;if(o.push(A),0===t._crypto_aead_xchacha20poly1305_ietf_decrypt_detached(A,p,y,d,0,v,E,k,0,S,w)){var M=h(B,c);return g(o),M}b(o,"ciphertext cannot be decrypted using that key")}function V(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_xchacha20poly1305_ietf_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_xchacha20poly1305_ietf_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(p+t._crypto_aead_xchacha20poly1305_ietf_abytes()|0),w=T.address;if(c.push(w),0===t._crypto_aead_xchacha20poly1305_ietf_encrypt(w,null,o,p,0,y,d,0,v,m,k)){var Y=h(T,s);return g(c),Y}b(c,"invalid usage")}function q(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"message")),p=e.length;c.push(o);var y=null,d=0;null!=r&&(y=l(r=x(c,r,"additional_data")),d=r.length,c.push(y));var v=null;null!=a&&(v=l(a=x(c,a,"secret_nonce")),a.length,c.push(v)),_=x(c,_,"public_nonce");var m,E=0|t._crypto_aead_xchacha20poly1305_ietf_npubbytes();_.length!==E&&f(c,"invalid public_nonce length"),m=l(_),c.push(m),n=x(c,n,"key");var k,S=0|t._crypto_aead_xchacha20poly1305_ietf_keybytes();n.length!==S&&f(c,"invalid key length"),k=l(n),c.push(k);var T=new u(0|p),w=T.address;c.push(w);var Y=new u(0|t._crypto_aead_xchacha20poly1305_ietf_abytes()),B=Y.address;if(c.push(B),0===t._crypto_aead_xchacha20poly1305_ietf_encrypt_detached(w,B,null,o,p,0,y,d,0,v,m,k)){var A=h({ciphertext:T,mac:Y},s);return g(c),A}b(c,"invalid usage")}function z(e){var r=[];i(e);var a=new u(0|t._crypto_aead_xchacha20poly1305_ietf_keybytes()),_=a.address;r.push(_),t._crypto_aead_xchacha20poly1305_ietf_keygen(_);var n=h(a,e);return g(r),n}function W(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_auth_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_auth_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_auth(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function H(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_auth_hmacsha256_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_auth_hmacsha256_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_auth_hmacsha256(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function j(e,r){var a=[];i(r),m(a,e,"state_address");var _=new u(0|t._crypto_auth_hmacsha256_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_auth_hmacsha256_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function J(e,r){var a=[];i(r);var _=null,n=0;null!=e&&(_=l(e=x(a,e,"key")),n=e.length,a.push(_));var s=new u(208).address;if(!(0|t._crypto_auth_hmacsha256_init(s,_,n))){var c=s;return g(a),c}b(a,"invalid usage")}function Q(e){var r=[];i(e);var a=new u(0|t._crypto_auth_hmacsha256_keybytes()),_=a.address;r.push(_),t._crypto_auth_hmacsha256_keygen(_);var n=h(a,e);return g(r),n}function Z(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_auth_hmacsha256_update(e,n,s)&&b(_,"invalid usage"),g(_)}function $(e,r,a){var _=[];e=x(_,e,"tag");var n,s=0|t._crypto_auth_hmacsha256_bytes();e.length!==s&&f(_,"invalid tag length"),n=l(e),_.push(n);var c=l(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_auth_hmacsha256_keybytes();a.length!==h&&f(_,"invalid key length"),p=l(a),_.push(p);var y=!(0|t._crypto_auth_hmacsha256_verify(n,c,o,0,p));return g(_),y}function ee(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_auth_hmacsha512_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_auth_hmacsha512_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_auth_hmacsha512(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function re(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_auth_hmacsha512256_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_auth_hmacsha512256_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_auth_hmacsha512256(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function te(e,r){var a=[];i(r),m(a,e,"state_address");var _=new u(0|t._crypto_auth_hmacsha512256_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_auth_hmacsha512256_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function ae(e,r){var a=[];i(r);var _=null,n=0;null!=e&&(_=l(e=x(a,e,"key")),n=e.length,a.push(_));var s=new u(416).address;if(!(0|t._crypto_auth_hmacsha512256_init(s,_,n))){var c=s;return g(a),c}b(a,"invalid usage")}function _e(e){var r=[];i(e);var a=new u(0|t._crypto_auth_hmacsha512256_keybytes()),_=a.address;r.push(_),t._crypto_auth_hmacsha512256_keygen(_);var n=h(a,e);return g(r),n}function ne(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_auth_hmacsha512256_update(e,n,s)&&b(_,"invalid usage"),g(_)}function se(e,r,a){var _=[];e=x(_,e,"tag");var n,s=0|t._crypto_auth_hmacsha512256_bytes();e.length!==s&&f(_,"invalid tag length"),n=l(e),_.push(n);var c=l(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_auth_hmacsha512256_keybytes();a.length!==h&&f(_,"invalid key length"),p=l(a),_.push(p);var y=!(0|t._crypto_auth_hmacsha512256_verify(n,c,o,0,p));return g(_),y}function ce(e,r){var a=[];i(r),m(a,e,"state_address");var _=new u(0|t._crypto_auth_hmacsha512_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_auth_hmacsha512_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function oe(e,r){var a=[];i(r);var _=null,n=0;null!=e&&(_=l(e=x(a,e,"key")),n=e.length,a.push(_));var s=new u(416).address;if(!(0|t._crypto_auth_hmacsha512_init(s,_,n))){var c=s;return g(a),c}b(a,"invalid usage")}function pe(e){var r=[];i(e);var a=new u(0|t._crypto_auth_hmacsha512_keybytes()),_=a.address;r.push(_),t._crypto_auth_hmacsha512_keygen(_);var n=h(a,e);return g(r),n}function he(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_auth_hmacsha512_update(e,n,s)&&b(_,"invalid usage"),g(_)}function ye(e,r,a){var _=[];e=x(_,e,"tag");var n,s=0|t._crypto_auth_hmacsha512_bytes();e.length!==s&&f(_,"invalid tag length"),n=l(e),_.push(n);var c=l(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_auth_hmacsha512_keybytes();a.length!==h&&f(_,"invalid key length"),p=l(a),_.push(p);var y=!(0|t._crypto_auth_hmacsha512_verify(n,c,o,0,p));return g(_),y}function ie(e){var r=[];i(e);var a=new u(0|t._crypto_auth_keybytes()),_=a.address;r.push(_),t._crypto_auth_keygen(_);var n=h(a,e);return g(r),n}function ue(e,r,a){var _=[];e=x(_,e,"tag");var n,s=0|t._crypto_auth_bytes();e.length!==s&&f(_,"invalid tag length"),n=l(e),_.push(n);var c=l(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_auth_keybytes();a.length!==h&&f(_,"invalid key length"),p=l(a),_.push(p);var y=!(0|t._crypto_auth_verify(n,c,o,0,p));return g(_),y}function le(e,r,a){var _=[];i(a),e=x(_,e,"publicKey");var n,s=0|t._crypto_box_publickeybytes();e.length!==s&&f(_,"invalid publicKey length"),n=l(e),_.push(n),r=x(_,r,"privateKey");var c,o=0|t._crypto_box_secretkeybytes();r.length!==o&&f(_,"invalid privateKey length"),c=l(r),_.push(c);var p=new u(0|t._crypto_box_beforenmbytes()),y=p.address;if(_.push(y),!(0|t._crypto_box_beforenm(y,n,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function de(e,r,a){var _=[];i(a),e=x(_,e,"publicKey");var n,s=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();e.length!==s&&f(_,"invalid publicKey length"),n=l(e),_.push(n),r=x(_,r,"privateKey");var c,o=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();r.length!==o&&f(_,"invalid privateKey length"),c=l(r),_.push(c);var p=new u(0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes()),y=p.address;if(_.push(y),!(0|t._crypto_box_curve25519xchacha20poly1305_beforenm(y,n,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function ve(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=l(r),s.push(p),a=x(s,a,"publicKey");var d,v=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();a.length!==v&&f(s,"invalid publicKey length"),d=l(a),s.push(d),_=x(s,_,"privateKey");var m,E=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();_.length!==E&&f(s,"invalid privateKey length"),m=l(_),s.push(m);var k=new u(0|o),S=k.address;s.push(S);var T=new u(0|t._crypto_box_curve25519xchacha20poly1305_macbytes()),w=T.address;if(s.push(w),!(0|t._crypto_box_curve25519xchacha20poly1305_detached(S,w,c,o,0,p,d,m))){var Y=h({ciphertext:k,mac:T},n);return g(s),Y}b(s,"invalid usage")}function ge(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=l(a),n.push(y);var v=new u(0|c),m=v.address;n.push(m);var E=new u(0|t._crypto_box_curve25519xchacha20poly1305_macbytes()),k=E.address;if(n.push(k),!(0|t._crypto_box_curve25519xchacha20poly1305_detached_afternm(m,k,s,c,0,o,y))){var S=h({ciphertext:v,mac:E},_);return g(n),S}b(n,"invalid usage")}function be(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=l(r),s.push(p),a=x(s,a,"publicKey");var d,v=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();a.length!==v&&f(s,"invalid publicKey length"),d=l(a),s.push(d),_=x(s,_,"privateKey");var m,E=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();_.length!==E&&f(s,"invalid privateKey length"),m=l(_),s.push(m);var k=new u(o+t._crypto_box_curve25519xchacha20poly1305_macbytes()|0),S=k.address;if(s.push(S),!(0|t._crypto_box_curve25519xchacha20poly1305_easy(S,c,o,0,p,d,m))){var T=h(k,n);return g(s),T}b(s,"invalid usage")}function fe(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=l(a),n.push(y);var v=new u(c+t._crypto_box_curve25519xchacha20poly1305_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_box_curve25519xchacha20poly1305_easy_afternm(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function me(e){var r=[];i(e);var a=new u(0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes()),_=a.address;r.push(_);var n=new u(0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes()),s=n.address;r.push(s),t._crypto_box_curve25519xchacha20poly1305_keypair(_,s);var c=h({publicKey:a,privateKey:n,keyType:"curve25519"},e);return g(r),c}function xe(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"ciphertext")),p=e.length;c.push(o),r=x(c,r,"mac");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_macbytes();r.length!==d&&f(c,"invalid mac length"),y=l(r),c.push(y),a=x(c,a,"nonce");var v,m=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();a.length!==m&&f(c,"invalid nonce length"),v=l(a),c.push(v),_=x(c,_,"publicKey");var E,k=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();_.length!==k&&f(c,"invalid publicKey length"),E=l(_),c.push(E),n=x(c,n,"privateKey");var S,T=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();n.length!==T&&f(c,"invalid privateKey length"),S=l(n),c.push(S);var w=new u(0|p),Y=w.address;if(c.push(Y),!(0|t._crypto_box_curve25519xchacha20poly1305_open_detached(Y,o,y,p,0,v,E,S))){var B=h(w,s);return g(c),B}b(c,"incorrect key pair for the given ciphertext")}function Ee(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"ciphertext")),o=e.length;s.push(c),r=x(s,r,"mac");var p,y=0|t._crypto_box_curve25519xchacha20poly1305_macbytes();r.length!==y&&f(s,"invalid mac length"),p=l(r),s.push(p),a=x(s,a,"nonce");var d,v=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();a.length!==v&&f(s,"invalid nonce length"),d=l(a),s.push(d),_=x(s,_,"sharedKey");var m,E=0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes();_.length!==E&&f(s,"invalid sharedKey length"),m=l(_),s.push(m);var k=new u(0|o),S=k.address;if(s.push(S),!(0|t._crypto_box_curve25519xchacha20poly1305_open_detached_afternm(S,c,p,o,0,d,m))){var T=h(k,n);return g(s),T}b(s,"incorrect secret key for the given ciphertext")}function ke(e,r,a,_,n){var s=[];i(n),e=x(s,e,"ciphertext");var c,o=t._crypto_box_curve25519xchacha20poly1305_macbytes(),p=e.length;p<o&&f(s,"ciphertext is too short"),c=l(e),s.push(c),r=x(s,r,"nonce");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==d&&f(s,"invalid nonce length"),y=l(r),s.push(y),a=x(s,a,"publicKey");var v,m=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();a.length!==m&&f(s,"invalid publicKey length"),v=l(a),s.push(v),_=x(s,_,"privateKey");var E,k=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();_.length!==k&&f(s,"invalid privateKey length"),E=l(_),s.push(E);var S=new u(p-t._crypto_box_curve25519xchacha20poly1305_macbytes()|0),T=S.address;if(s.push(T),!(0|t._crypto_box_curve25519xchacha20poly1305_open_easy(T,c,p,0,y,v,E))){var w=h(S,n);return g(s),w}b(s,"incorrect key pair for the given ciphertext")}function Se(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"ciphertext")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_curve25519xchacha20poly1305_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_curve25519xchacha20poly1305_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=l(a),n.push(y);var v=new u(c-t._crypto_box_curve25519xchacha20poly1305_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_box_curve25519xchacha20poly1305_open_easy_afternm(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"incorrect secret key for the given ciphertext")}function Te(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"publicKey");var c,o=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();r.length!==o&&f(_,"invalid publicKey length"),c=l(r),_.push(c);var p=new u(s+t._crypto_box_curve25519xchacha20poly1305_sealbytes()|0),y=p.address;_.push(y),t._crypto_box_curve25519xchacha20poly1305_seal(y,n,s,0,c);var d=h(p,a);return g(_),d}function we(e,r,a,_){var n=[];i(_),e=x(n,e,"ciphertext");var s,c=t._crypto_box_curve25519xchacha20poly1305_sealbytes(),o=e.length;o<c&&f(n,"ciphertext is too short"),s=l(e),n.push(s),r=x(n,r,"publicKey");var p,y=0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes();r.length!==y&&f(n,"invalid publicKey length"),p=l(r),n.push(p),a=x(n,a,"secretKey");var d,v=0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes();a.length!==v&&f(n,"invalid secretKey length"),d=l(a),n.push(d);var b=new u(o-t._crypto_box_curve25519xchacha20poly1305_sealbytes()|0),m=b.address;n.push(m),t._crypto_box_curve25519xchacha20poly1305_seal_open(m,s,o,0,p,d);var E=h(b,_);return g(n),E}function Ye(e,r){var a=[];i(r),e=x(a,e,"seed");var _,n=0|t._crypto_box_curve25519xchacha20poly1305_seedbytes();e.length!==n&&f(a,"invalid seed length"),_=l(e),a.push(_);var s=new u(0|t._crypto_box_curve25519xchacha20poly1305_publickeybytes()),c=s.address;a.push(c);var o=new u(0|t._crypto_box_curve25519xchacha20poly1305_secretkeybytes()),p=o.address;if(a.push(p),!(0|t._crypto_box_curve25519xchacha20poly1305_seed_keypair(c,p,_))){var y={publicKey:h(s,r),privateKey:h(o,r),keyType:"x25519"};return g(a),y}b(a,"invalid usage")}function Be(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_box_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=l(r),s.push(p),a=x(s,a,"publicKey");var d,v=0|t._crypto_box_publickeybytes();a.length!==v&&f(s,"invalid publicKey length"),d=l(a),s.push(d),_=x(s,_,"privateKey");var m,E=0|t._crypto_box_secretkeybytes();_.length!==E&&f(s,"invalid privateKey length"),m=l(_),s.push(m);var k=new u(0|o),S=k.address;s.push(S);var T=new u(0|t._crypto_box_macbytes()),w=T.address;if(s.push(w),!(0|t._crypto_box_detached(S,w,c,o,0,p,d,m))){var Y=h({ciphertext:k,mac:T},n);return g(s),Y}b(s,"invalid usage")}function Ae(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_box_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=l(r),s.push(p),a=x(s,a,"publicKey");var d,v=0|t._crypto_box_publickeybytes();a.length!==v&&f(s,"invalid publicKey length"),d=l(a),s.push(d),_=x(s,_,"privateKey");var m,E=0|t._crypto_box_secretkeybytes();_.length!==E&&f(s,"invalid privateKey length"),m=l(_),s.push(m);var k=new u(o+t._crypto_box_macbytes()|0),S=k.address;if(s.push(S),!(0|t._crypto_box_easy(S,c,o,0,p,d,m))){var T=h(k,n);return g(s),T}b(s,"invalid usage")}function Me(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=l(a),n.push(y);var v=new u(c+t._crypto_box_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_box_easy_afternm(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function Ie(e){var r=[];i(e);var a=new u(0|t._crypto_box_publickeybytes()),_=a.address;r.push(_);var n=new u(0|t._crypto_box_secretkeybytes()),s=n.address;if(r.push(s),!(0|t._crypto_box_keypair(_,s))){var c={publicKey:h(a,e),privateKey:h(n,e),keyType:"x25519"};return g(r),c}b(r,"internal error")}function Ke(e,r,a,_,n,s){var c=[];i(s);var o=l(e=x(c,e,"ciphertext")),p=e.length;c.push(o),r=x(c,r,"mac");var y,d=0|t._crypto_box_macbytes();r.length!==d&&f(c,"invalid mac length"),y=l(r),c.push(y),a=x(c,a,"nonce");var v,m=0|t._crypto_box_noncebytes();a.length!==m&&f(c,"invalid nonce length"),v=l(a),c.push(v),_=x(c,_,"publicKey");var E,k=0|t._crypto_box_publickeybytes();_.length!==k&&f(c,"invalid publicKey length"),E=l(_),c.push(E),n=x(c,n,"privateKey");var S,T=0|t._crypto_box_secretkeybytes();n.length!==T&&f(c,"invalid privateKey length"),S=l(n),c.push(S);var w=new u(0|p),Y=w.address;if(c.push(Y),!(0|t._crypto_box_open_detached(Y,o,y,p,0,v,E,S))){var B=h(w,s);return g(c),B}b(c,"incorrect key pair for the given ciphertext")}function Ne(e,r,a,_,n){var s=[];i(n),e=x(s,e,"ciphertext");var c,o=t._crypto_box_macbytes(),p=e.length;p<o&&f(s,"ciphertext is too short"),c=l(e),s.push(c),r=x(s,r,"nonce");var y,d=0|t._crypto_box_noncebytes();r.length!==d&&f(s,"invalid nonce length"),y=l(r),s.push(y),a=x(s,a,"publicKey");var v,m=0|t._crypto_box_publickeybytes();a.length!==m&&f(s,"invalid publicKey length"),v=l(a),s.push(v),_=x(s,_,"privateKey");var E,k=0|t._crypto_box_secretkeybytes();_.length!==k&&f(s,"invalid privateKey length"),E=l(_),s.push(E);var S=new u(p-t._crypto_box_macbytes()|0),T=S.address;if(s.push(T),!(0|t._crypto_box_open_easy(T,c,p,0,y,v,E))){var w=h(S,n);return g(s),w}b(s,"incorrect key pair for the given ciphertext")}function Le(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"ciphertext")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_box_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"sharedKey");var y,d=0|t._crypto_box_beforenmbytes();a.length!==d&&f(n,"invalid sharedKey length"),y=l(a),n.push(y);var v=new u(c-t._crypto_box_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_box_open_easy_afternm(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"incorrect secret key for the given ciphertext")}function Oe(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"publicKey");var c,o=0|t._crypto_box_publickeybytes();r.length!==o&&f(_,"invalid publicKey length"),c=l(r),_.push(c);var p=new u(s+t._crypto_box_sealbytes()|0),y=p.address;if(_.push(y),!(0|t._crypto_box_seal(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function Ue(e,r,a,_){var n=[];i(_),e=x(n,e,"ciphertext");var s,c=t._crypto_box_sealbytes(),o=e.length;o<c&&f(n,"ciphertext is too short"),s=l(e),n.push(s),r=x(n,r,"publicKey");var p,y=0|t._crypto_box_publickeybytes();r.length!==y&&f(n,"invalid publicKey length"),p=l(r),n.push(p),a=x(n,a,"privateKey");var d,v=0|t._crypto_box_secretkeybytes();a.length!==v&&f(n,"invalid privateKey length"),d=l(a),n.push(d);var m=new u(o-t._crypto_box_sealbytes()|0),E=m.address;if(n.push(E),!(0|t._crypto_box_seal_open(E,s,o,0,p,d))){var k=h(m,_);return g(n),k}b(n,"incorrect key pair for the given ciphertext")}function Pe(e,r){var a=[];i(r),e=x(a,e,"seed");var _,n=0|t._crypto_box_seedbytes();e.length!==n&&f(a,"invalid seed length"),_=l(e),a.push(_);var s=new u(0|t._crypto_box_publickeybytes()),c=s.address;a.push(c);var o=new u(0|t._crypto_box_secretkeybytes()),p=o.address;if(a.push(p),!(0|t._crypto_box_seed_keypair(c,p,_))){var y={publicKey:h(s,r),privateKey:h(o,r),keyType:"x25519"};return g(a),y}b(a,"invalid usage")}function Ce(e,r,a){var _=[];i(a),e=x(_,e,"p");var n,s=0|t._crypto_core_ed25519_bytes();e.length!==s&&f(_,"invalid p length"),n=l(e),_.push(n),r=x(_,r,"q");var c,o=0|t._crypto_core_ed25519_bytes();r.length!==o&&f(_,"invalid q length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ed25519_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_core_ed25519_add(y,n,c))){var d=h(p,a);return g(_),d}b(_,"input is an invalid element")}function Re(e,r){var a=[];i(r);var _=l(e=x(a,e,"r"));e.length,a.push(_);var n=new u(0|t._crypto_core_ed25519_bytes()),s=n.address;if(a.push(s),!(0|t._crypto_core_ed25519_from_hash(s,_))){var c=h(n,r);return g(a),c}b(a,"invalid usage")}function Xe(e,r){var a=[];i(r);var _=l(e=x(a,e,"r"));e.length,a.push(_);var n=new u(0|t._crypto_core_ed25519_bytes()),s=n.address;if(a.push(s),!(0|t._crypto_core_ed25519_from_uniform(s,_))){var c=h(n,r);return g(a),c}b(a,"invalid usage")}function De(e,r){var a=[];i(r),e=x(a,e,"repr");var _,n=0|t._crypto_core_ed25519_bytes();e.length!==n&&f(a,"invalid repr length"),_=l(e),a.push(_);var s=1==(0|t._crypto_core_ed25519_is_valid_point(_));return g(a),s}function Ge(e){var r=[];i(e);var a=new u(0|t._crypto_core_ed25519_bytes()),_=a.address;r.push(_),t._crypto_core_ed25519_random(_);var n=h(a,e);return g(r),n}function Fe(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ed25519_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=l(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ed25519_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ed25519_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ed25519_scalar_add(y,n,c);var d=h(p,a);return g(_),d}function Ve(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ed25519_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ed25519_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ed25519_scalar_complement(c,_);var o=h(s,r);return g(a),o}function qe(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ed25519_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ed25519_scalarbytes()),c=s.address;if(a.push(c),!(0|t._crypto_core_ed25519_scalar_invert(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid reciprocate")}function ze(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ed25519_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=l(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ed25519_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ed25519_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ed25519_scalar_mul(y,n,c);var d=h(p,a);return g(_),d}function We(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ed25519_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ed25519_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ed25519_scalar_negate(c,_);var o=h(s,r);return g(a),o}function He(e){var r=[];i(e);var a=new u(0|t._crypto_core_ed25519_scalarbytes()),_=a.address;r.push(_),t._crypto_core_ed25519_scalar_random(_);var n=h(a,e);return g(r),n}function je(e,r){var a=[];i(r),e=x(a,e,"sample");var _,n=0|t._crypto_core_ed25519_nonreducedscalarbytes();e.length!==n&&f(a,"invalid sample length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ed25519_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ed25519_scalar_reduce(c,_);var o=h(s,r);return g(a),o}function Je(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ed25519_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=l(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ed25519_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ed25519_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ed25519_scalar_sub(y,n,c);var d=h(p,a);return g(_),d}function Qe(e,r,a){var _=[];i(a),e=x(_,e,"p");var n,s=0|t._crypto_core_ed25519_bytes();e.length!==s&&f(_,"invalid p length"),n=l(e),_.push(n),r=x(_,r,"q");var c,o=0|t._crypto_core_ed25519_bytes();r.length!==o&&f(_,"invalid q length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ed25519_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_core_ed25519_sub(y,n,c))){var d=h(p,a);return g(_),d}b(_,"input is an invalid element")}function Ze(e,r,a,_){var n=[];i(_),e=x(n,e,"input");var s,c=0|t._crypto_core_hchacha20_inputbytes();e.length!==c&&f(n,"invalid input length"),s=l(e),n.push(s),r=x(n,r,"privateKey");var o,p=0|t._crypto_core_hchacha20_keybytes();r.length!==p&&f(n,"invalid privateKey length"),o=l(r),n.push(o);var y=null;null!=a&&(y=l(a=x(n,a,"constant")),a.length,n.push(y));var d=new u(0|t._crypto_core_hchacha20_outputbytes()),v=d.address;if(n.push(v),!(0|t._crypto_core_hchacha20(v,s,o,y))){var m=h(d,_);return g(n),m}b(n,"invalid usage")}function $e(e,r,a,_){var n=[];i(_),e=x(n,e,"input");var s,c=0|t._crypto_core_hsalsa20_inputbytes();e.length!==c&&f(n,"invalid input length"),s=l(e),n.push(s),r=x(n,r,"privateKey");var o,p=0|t._crypto_core_hsalsa20_keybytes();r.length!==p&&f(n,"invalid privateKey length"),o=l(r),n.push(o);var y=null;null!=a&&(y=l(a=x(n,a,"constant")),a.length,n.push(y));var d=new u(0|t._crypto_core_hsalsa20_outputbytes()),v=d.address;if(n.push(v),!(0|t._crypto_core_hsalsa20(v,s,o,y))){var m=h(d,_);return g(n),m}b(n,"invalid usage")}function er(e,r,a){var _=[];i(a),e=x(_,e,"p");var n,s=0|t._crypto_core_ristretto255_bytes();e.length!==s&&f(_,"invalid p length"),n=l(e),_.push(n),r=x(_,r,"q");var c,o=0|t._crypto_core_ristretto255_bytes();r.length!==o&&f(_,"invalid q length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ristretto255_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_core_ristretto255_add(y,n,c))){var d=h(p,a);return g(_),d}b(_,"input is an invalid element")}function rr(e,r){var a=[];i(r);var _=l(e=x(a,e,"r"));e.length,a.push(_);var n=new u(0|t._crypto_core_ristretto255_bytes()),s=n.address;if(a.push(s),!(0|t._crypto_core_ristretto255_from_hash(s,_))){var c=h(n,r);return g(a),c}b(a,"invalid usage")}function tr(e,r){var a=[];i(r),e=x(a,e,"repr");var _,n=0|t._crypto_core_ristretto255_bytes();e.length!==n&&f(a,"invalid repr length"),_=l(e),a.push(_);var s=1==(0|t._crypto_core_ristretto255_is_valid_point(_));return g(a),s}function ar(e){var r=[];i(e);var a=new u(0|t._crypto_core_ristretto255_bytes()),_=a.address;r.push(_),t._crypto_core_ristretto255_random(_);var n=h(a,e);return g(r),n}function _r(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ristretto255_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=l(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ristretto255_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ristretto255_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ristretto255_scalar_add(y,n,c);var d=h(p,a);return g(_),d}function nr(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ristretto255_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ristretto255_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ristretto255_scalar_complement(c,_);var o=h(s,r);return g(a),o}function sr(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ristretto255_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ristretto255_scalarbytes()),c=s.address;if(a.push(c),!(0|t._crypto_core_ristretto255_scalar_invert(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid reciprocate")}function cr(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ristretto255_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=l(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ristretto255_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ristretto255_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ristretto255_scalar_mul(y,n,c);var d=h(p,a);return g(_),d}function or(e,r){var a=[];i(r),e=x(a,e,"s");var _,n=0|t._crypto_core_ristretto255_scalarbytes();e.length!==n&&f(a,"invalid s length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ristretto255_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ristretto255_scalar_negate(c,_);var o=h(s,r);return g(a),o}function pr(e){var r=[];i(e);var a=new u(0|t._crypto_core_ristretto255_scalarbytes()),_=a.address;r.push(_),t._crypto_core_ristretto255_scalar_random(_);var n=h(a,e);return g(r),n}function hr(e,r){var a=[];i(r),e=x(a,e,"sample");var _,n=0|t._crypto_core_ristretto255_nonreducedscalarbytes();e.length!==n&&f(a,"invalid sample length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ristretto255_scalarbytes()),c=s.address;a.push(c),t._crypto_core_ristretto255_scalar_reduce(c,_);var o=h(s,r);return g(a),o}function yr(e,r,a){var _=[];i(a),e=x(_,e,"x");var n,s=0|t._crypto_core_ristretto255_scalarbytes();e.length!==s&&f(_,"invalid x length"),n=l(e),_.push(n),r=x(_,r,"y");var c,o=0|t._crypto_core_ristretto255_scalarbytes();r.length!==o&&f(_,"invalid y length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ristretto255_scalarbytes()),y=p.address;_.push(y),t._crypto_core_ristretto255_scalar_sub(y,n,c);var d=h(p,a);return g(_),d}function ir(e,r,a){var _=[];i(a),e=x(_,e,"p");var n,s=0|t._crypto_core_ristretto255_bytes();e.length!==s&&f(_,"invalid p length"),n=l(e),_.push(n),r=x(_,r,"q");var c,o=0|t._crypto_core_ristretto255_bytes();r.length!==o&&f(_,"invalid q length"),c=l(r),_.push(c);var p=new u(0|t._crypto_core_ristretto255_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_core_ristretto255_sub(y,n,c))){var d=h(p,a);return g(_),d}b(_,"input is an invalid element")}function ur(e,r,a,_){var n=[];i(_),m(n,e,"hash_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(n,"hash_length must be an unsigned integer");var s=l(r=x(n,r,"message")),c=r.length;n.push(s);var o=null,p=0;null!=a&&(o=l(a=x(n,a,"key")),p=a.length,n.push(o));var y=new u(e|=0),d=y.address;if(n.push(d),!(0|t._crypto_generichash(d,e,s,c,0,o,p))){var v=h(y,_);return g(n),v}b(n,"invalid usage")}function lr(e,r,a,_,n){var s=[];i(n),m(s,e,"subkey_len"),("number"!=typeof e||(0|e)!==e||e<0)&&f(s,"subkey_len must be an unsigned integer");var c=null,o=0;null!=r&&(c=l(r=x(s,r,"key")),o=r.length,s.push(c));var p=null,y=0;null!=a&&(a=x(s,a,"id"),y=0|t._crypto_generichash_blake2b_saltbytes(),a.length!==y&&f(s,"invalid id length"),p=l(a),s.push(p));var d=null,v=0;null!=_&&(_=x(s,_,"ctx"),v=0|t._crypto_generichash_blake2b_personalbytes(),_.length!==v&&f(s,"invalid ctx length"),d=l(_),s.push(d));var E=new u(0|e),k=E.address;if(s.push(k),!(0|t._crypto_generichash_blake2b_salt_personal(k,e,null,0,0,c,o,p,d))){var S=h(E,n);return g(s),S}b(s,"invalid usage")}function dr(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"hash_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"hash_length must be an unsigned integer");var n=new u(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_generichash_final(e,s,r))){var c=(t._free(e),h(n,a));return g(_),c}b(_,"invalid usage")}function vr(e,r,a){var _=[];i(a);var n=null,s=0;null!=e&&(n=l(e=x(_,e,"key")),s=e.length,_.push(n)),m(_,r,"hash_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"hash_length must be an unsigned integer");var c=new u(357).address;if(!(0|t._crypto_generichash_init(c,n,s,r))){var o=c;return g(_),o}b(_,"invalid usage")}function gr(e){var r=[];i(e);var a=new u(0|t._crypto_generichash_keybytes()),_=a.address;r.push(_),t._crypto_generichash_keygen(_);var n=h(a,e);return g(r),n}function br(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_generichash_update(e,n,s)&&b(_,"invalid usage"),g(_)}function fr(e,r){var a=[];i(r);var _=l(e=x(a,e,"message")),n=e.length;a.push(_);var s=new u(0|t._crypto_hash_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_hash(c,_,n,0))){var o=h(s,r);return g(a),o}b(a,"invalid usage")}function mr(e,r){var a=[];i(r);var _=l(e=x(a,e,"message")),n=e.length;a.push(_);var s=new u(0|t._crypto_hash_sha256_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_hash_sha256(c,_,n,0))){var o=h(s,r);return g(a),o}b(a,"invalid usage")}function xr(e,r){var a=[];i(r),m(a,e,"state_address");var _=new u(0|t._crypto_hash_sha256_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_hash_sha256_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function Er(e){var r=[];i(e);var a=new u(104).address;if(!(0|t._crypto_hash_sha256_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function kr(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_hash_sha256_update(e,n,s)&&b(_,"invalid usage"),g(_)}function Sr(e,r){var a=[];i(r);var _=l(e=x(a,e,"message")),n=e.length;a.push(_);var s=new u(0|t._crypto_hash_sha512_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_hash_sha512(c,_,n,0))){var o=h(s,r);return g(a),o}b(a,"invalid usage")}function Tr(e,r){var a=[];i(r),m(a,e,"state_address");var _=new u(0|t._crypto_hash_sha512_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_hash_sha512_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function wr(e){var r=[];i(e);var a=new u(208).address;if(!(0|t._crypto_hash_sha512_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function Yr(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_hash_sha512_update(e,n,s)&&b(_,"invalid usage"),g(_)}function Br(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_bytes();e.length!==s&&f(_,"invalid input length"),n=l(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_ipcrypt_bytes()),y=p.address;_.push(y),t._crypto_ipcrypt_decrypt(y,n,c);var d=h(p,a);return g(_),d}function Ar(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_bytes();e.length!==s&&f(_,"invalid input length"),n=l(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_ipcrypt_bytes()),y=p.address;_.push(y),t._crypto_ipcrypt_encrypt(y,n,c);var d=h(p,a);return g(_),d}function Mr(e){var r=[];i(e);var a=new u(0|t._crypto_ipcrypt_keybytes()),_=a.address;r.push(_),t._crypto_ipcrypt_keygen(_);var n=h(a,e);return g(r),n}function Ir(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_nd_outputbytes();e.length!==s&&f(_,"invalid input length"),n=l(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_nd_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_ipcrypt_nd_inputbytes()),y=p.address;_.push(y),t._crypto_ipcrypt_nd_decrypt(y,n,c);var d=h(p,a);return g(_),d}function Kr(e,r,a,_){var n=[];i(_),e=x(n,e,"input");var s,c=0|t._crypto_ipcrypt_nd_inputbytes();e.length!==c&&f(n,"invalid input length"),s=l(e),n.push(s),r=x(n,r,"tweak");var o,p=0|t._crypto_ipcrypt_nd_tweakbytes();r.length!==p&&f(n,"invalid tweak length"),o=l(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_ipcrypt_nd_keybytes();a.length!==d&&f(n,"invalid key length"),y=l(a),n.push(y);var v=new u(0|t._crypto_ipcrypt_nd_outputbytes()),b=v.address;n.push(b),t._crypto_ipcrypt_nd_encrypt(b,s,o,y);var m=h(v,_);return g(n),m}function Nr(e){var r=[];i(e);var a=new u(0|t._crypto_ipcrypt_nd_keybytes()),_=a.address;r.push(_),t._crypto_ipcrypt_nd_keygen(_);var n=h(a,e);return g(r),n}function Lr(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_ndx_outputbytes();e.length!==s&&f(_,"invalid input length"),n=l(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_ndx_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_ipcrypt_ndx_inputbytes()),y=p.address;_.push(y),t._crypto_ipcrypt_ndx_decrypt(y,n,c);var d=h(p,a);return g(_),d}function Or(e,r,a,_){var n=[];i(_),e=x(n,e,"input");var s,c=0|t._crypto_ipcrypt_ndx_inputbytes();e.length!==c&&f(n,"invalid input length"),s=l(e),n.push(s),r=x(n,r,"tweak");var o,p=0|t._crypto_ipcrypt_ndx_tweakbytes();r.length!==p&&f(n,"invalid tweak length"),o=l(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_ipcrypt_ndx_keybytes();a.length!==d&&f(n,"invalid key length"),y=l(a),n.push(y);var v=new u(0|t._crypto_ipcrypt_ndx_outputbytes()),b=v.address;n.push(b),t._crypto_ipcrypt_ndx_encrypt(b,s,o,y);var m=h(v,_);return g(n),m}function Ur(e){var r=[];i(e);var a=new u(0|t._crypto_ipcrypt_ndx_keybytes()),_=a.address;r.push(_),t._crypto_ipcrypt_ndx_keygen(_);var n=h(a,e);return g(r),n}function Pr(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_pfx_bytes();e.length!==s&&f(_,"invalid input length"),n=l(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_pfx_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_ipcrypt_pfx_bytes()),y=p.address;_.push(y),t._crypto_ipcrypt_pfx_decrypt(y,n,c);var d=h(p,a);return g(_),d}function Cr(e,r,a){var _=[];i(a),e=x(_,e,"input");var n,s=0|t._crypto_ipcrypt_pfx_bytes();e.length!==s&&f(_,"invalid input length"),n=l(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_ipcrypt_pfx_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_ipcrypt_pfx_bytes()),y=p.address;_.push(y),t._crypto_ipcrypt_pfx_encrypt(y,n,c);var d=h(p,a);return g(_),d}function Rr(e){var r=[];i(e);var a=new u(0|t._crypto_ipcrypt_pfx_keybytes()),_=a.address;r.push(_),t._crypto_ipcrypt_pfx_keygen(_);var n=h(a,e);return g(r),n}function Xr(e,r,a,n,s){var c=[];i(s),m(c,e,"subkey_len"),("number"!=typeof e||(0|e)!==e||e<0)&&f(c,"subkey_len must be an unsigned integer"),m(c,r,"subkey_id");var o,p=0;if("bigint"==typeof r&&r>=BigInt(0)){const e=r>>BigInt(32);e>BigInt(4294967295)&&f(c,"subkey_id cannot be more than 64 bits"),p=Number(e),o=Number(r&BigInt(4294967295))}else"number"==typeof r&&(0|r)===r&&r>=0?o=r:f(c,"subkey_id must be an unsigned integer or bigint");"string"!=typeof a&&f(c,"ctx must be a string"),(a=_(a+"\0")).length-1!==t._crypto_kdf_contextbytes()&&f(c,"invalid ctx length");var y=l(a);a.length,c.push(y),n=x(c,n,"key");var d,v=0|t._crypto_kdf_keybytes();n.length!==v&&f(c,"invalid key length"),d=l(n),c.push(d);var b=new u(0|e),E=b.address;c.push(E),t._crypto_kdf_derive_from_key(E,e,o,p,y,d);var k=h(b,s);return g(c),k}function Dr(e){var r=[];i(e);var a=new u(0|t._crypto_kdf_keybytes()),_=a.address;r.push(_),t._crypto_kdf_keygen(_);var n=h(a,e);return g(r),n}function Gr(e,r,a,_){var n=[];i(_),e=x(n,e,"clientPublicKey");var s,c=0|t._crypto_kx_publickeybytes();e.length!==c&&f(n,"invalid clientPublicKey length"),s=l(e),n.push(s),r=x(n,r,"clientSecretKey");var o,p=0|t._crypto_kx_secretkeybytes();r.length!==p&&f(n,"invalid clientSecretKey length"),o=l(r),n.push(o),a=x(n,a,"serverPublicKey");var y,d=0|t._crypto_kx_publickeybytes();a.length!==d&&f(n,"invalid serverPublicKey length"),y=l(a),n.push(y);var v=new u(0|t._crypto_kx_sessionkeybytes()),m=v.address;n.push(m);var E=new u(0|t._crypto_kx_sessionkeybytes()),k=E.address;if(n.push(k),!(0|t._crypto_kx_client_session_keys(m,k,s,o,y))){var S=h({sharedRx:v,sharedTx:E},_);return g(n),S}b(n,"invalid usage")}function Fr(e){var r=[];i(e);var a=new u(0|t._crypto_kx_publickeybytes()),_=a.address;r.push(_);var n=new u(0|t._crypto_kx_secretkeybytes()),s=n.address;if(r.push(s),!(0|t._crypto_kx_keypair(_,s))){var c={publicKey:h(a,e),privateKey:h(n,e),keyType:"x25519"};return g(r),c}b(r,"internal error")}function Vr(e,r){var a=[];i(r),e=x(a,e,"seed");var _,n=0|t._crypto_kx_seedbytes();e.length!==n&&f(a,"invalid seed length"),_=l(e),a.push(_);var s=new u(0|t._crypto_kx_publickeybytes()),c=s.address;a.push(c);var o=new u(0|t._crypto_kx_secretkeybytes()),p=o.address;if(a.push(p),!(0|t._crypto_kx_seed_keypair(c,p,_))){var y={publicKey:h(s,r),privateKey:h(o,r),keyType:"x25519"};return g(a),y}b(a,"internal error")}function qr(e,r,a,_){var n=[];i(_),e=x(n,e,"serverPublicKey");var s,c=0|t._crypto_kx_publickeybytes();e.length!==c&&f(n,"invalid serverPublicKey length"),s=l(e),n.push(s),r=x(n,r,"serverSecretKey");var o,p=0|t._crypto_kx_secretkeybytes();r.length!==p&&f(n,"invalid serverSecretKey length"),o=l(r),n.push(o),a=x(n,a,"clientPublicKey");var y,d=0|t._crypto_kx_publickeybytes();a.length!==d&&f(n,"invalid clientPublicKey length"),y=l(a),n.push(y);var v=new u(0|t._crypto_kx_sessionkeybytes()),m=v.address;n.push(m);var E=new u(0|t._crypto_kx_sessionkeybytes()),k=E.address;if(n.push(k),!(0|t._crypto_kx_server_session_keys(m,k,s,o,y))){var S=h({sharedRx:v,sharedTx:E},_);return g(n),S}b(n,"invalid usage")}function zr(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_onetimeauth_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_onetimeauth_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_onetimeauth(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function Wr(e,r){var a=[];i(r),m(a,e,"state_address");var _=new u(0|t._crypto_onetimeauth_bytes()),n=_.address;if(a.push(n),!(0|t._crypto_onetimeauth_final(e,n))){var s=(t._free(e),h(_,r));return g(a),s}b(a,"invalid usage")}function Hr(e,r){var a=[];i(r);var _=null;null!=e&&(_=l(e=x(a,e,"key")),e.length,a.push(_));var n=new u(144).address;if(!(0|t._crypto_onetimeauth_init(n,_))){var s=n;return g(a),s}b(a,"invalid usage")}function jr(e){var r=[];i(e);var a=new u(0|t._crypto_onetimeauth_keybytes()),_=a.address;r.push(_),t._crypto_onetimeauth_keygen(_);var n=h(a,e);return g(r),n}function Jr(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_onetimeauth_update(e,n,s)&&b(_,"invalid usage"),g(_)}function Qr(e,r,a){var _=[];e=x(_,e,"hash");var n,s=0|t._crypto_onetimeauth_bytes();e.length!==s&&f(_,"invalid hash length"),n=l(e),_.push(n);var c=l(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"key");var p,h=0|t._crypto_onetimeauth_keybytes();a.length!==h&&f(_,"invalid key length"),p=l(a),_.push(p);var y=!(0|t._crypto_onetimeauth_verify(n,c,o,0,p));return g(_),y}function Zr(e,r,a,_,n,s,c){var o=[];i(c),m(o,e,"keyLength"),("number"!=typeof e||(0|e)!==e||e<0)&&f(o,"keyLength must be an unsigned integer");var p=l(r=x(o,r,"password")),y=r.length;o.push(p),a=x(o,a,"salt");var d,v=0|t._crypto_pwhash_saltbytes();a.length!==v&&f(o,"invalid salt length"),d=l(a),o.push(d),m(o,_,"opsLimit"),("number"!=typeof _||(0|_)!==_||_<0)&&f(o,"opsLimit must be an unsigned integer"),m(o,n,"memLimit"),("number"!=typeof n||(0|n)!==n||n<0)&&f(o,"memLimit must be an unsigned integer"),m(o,s,"algorithm"),("number"!=typeof s||(0|s)!==s||s<0)&&f(o,"algorithm must be an unsigned integer");var E=new u(0|e),k=E.address;if(o.push(k),!(0|t._crypto_pwhash(k,e,0,p,y,0,d,_,0,n,s))){var S=h(E,c);return g(o),S}b(o,"invalid usage")}function $r(e,r,a,_,n,s){var c=[];i(s),m(c,e,"keyLength"),("number"!=typeof e||(0|e)!==e||e<0)&&f(c,"keyLength must be an unsigned integer");var o=l(r=x(c,r,"password")),p=r.length;c.push(o),a=x(c,a,"salt");var y,d=0|t._crypto_pwhash_scryptsalsa208sha256_saltbytes();a.length!==d&&f(c,"invalid salt length"),y=l(a),c.push(y),m(c,_,"opsLimit"),("number"!=typeof _||(0|_)!==_||_<0)&&f(c,"opsLimit must be an unsigned integer"),m(c,n,"memLimit"),("number"!=typeof n||(0|n)!==n||n<0)&&f(c,"memLimit must be an unsigned integer");var v=new u(0|e),E=v.address;if(c.push(E),!(0|t._crypto_pwhash_scryptsalsa208sha256(E,e,0,o,p,0,y,_,0,n))){var k=h(v,s);return g(c),k}b(c,"invalid usage")}function et(e,r,a,_,n,s,c){var o=[];i(c);var p=l(e=x(o,e,"password")),y=e.length;o.push(p);var d=l(r=x(o,r,"salt")),v=r.length;o.push(d),m(o,a,"opsLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(o,"opsLimit must be an unsigned integer"),m(o,_,"r"),("number"!=typeof _||(0|_)!==_||_<0)&&f(o,"r must be an unsigned integer"),m(o,n,"p"),("number"!=typeof n||(0|n)!==n||n<0)&&f(o,"p must be an unsigned integer"),m(o,s,"keyLength"),("number"!=typeof s||(0|s)!==s||s<0)&&f(o,"keyLength must be an unsigned integer");var E=new u(0|s),k=E.address;if(o.push(k),!(0|t._crypto_pwhash_scryptsalsa208sha256_ll(p,y,d,v,a,0,_,n,k,s))){var S=h(E,c);return g(o),S}b(o,"invalid usage")}function rt(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"password")),c=e.length;n.push(s),m(n,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(n,"opsLimit must be an unsigned integer"),m(n,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(n,"memLimit must be an unsigned integer");var o=new u(0|t._crypto_pwhash_scryptsalsa208sha256_strbytes()).address;if(n.push(o),!(0|t._crypto_pwhash_scryptsalsa208sha256_str(o,s,c,0,r,0,a))){var p=t.UTF8ToString(o);return g(n),p}b(n,"invalid usage")}function tt(e,r,a){var n=[];i(a),"string"!=typeof e&&f(n,"hashed_password must be a string");var s=l(e=_(e+"\0"));e.length,n.push(s);var c=l(r=x(n,r,"password")),o=r.length;n.push(c);var p=!(0|t._crypto_pwhash_scryptsalsa208sha256_str_verify(s,c,o,0));return g(n),p}function at(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"password")),c=e.length;n.push(s),m(n,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(n,"opsLimit must be an unsigned integer"),m(n,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(n,"memLimit must be an unsigned integer");var o=new u(0|t._crypto_pwhash_strbytes()).address;if(n.push(o),!(0|t._crypto_pwhash_str(o,s,c,0,r,0,a))){var p=t.UTF8ToString(o);return g(n),p}b(n,"invalid usage")}function _t(e,r,a,n){var s=[];i(n),"string"!=typeof e&&f(s,"hashed_password must be a string");var c=l(e=_(e+"\0"));e.length,s.push(c),m(s,r,"opsLimit"),("number"!=typeof r||(0|r)!==r||r<0)&&f(s,"opsLimit must be an unsigned integer"),m(s,a,"memLimit"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"memLimit must be an unsigned integer");var o=!!(0|t._crypto_pwhash_str_needs_rehash(c,r,0,a));return g(s),o}function nt(e,r,a){var n=[];i(a),"string"!=typeof e&&f(n,"hashed_password must be a string");var s=l(e=_(e+"\0"));e.length,n.push(s);var c=l(r=x(n,r,"password")),o=r.length;n.push(c);var p=!(0|t._crypto_pwhash_str_verify(s,c,o,0));return g(n),p}function st(e,r,a){var _=[];i(a),e=x(_,e,"privateKey");var n,s=0|t._crypto_scalarmult_scalarbytes();e.length!==s&&f(_,"invalid privateKey length"),n=l(e),_.push(n),r=x(_,r,"publicKey");var c,o=0|t._crypto_scalarmult_bytes();r.length!==o&&f(_,"invalid publicKey length"),c=l(r),_.push(c);var p=new u(0|t._crypto_scalarmult_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_scalarmult(y,n,c))){var d=h(p,a);return g(_),d}b(_,"weak public key")}function ct(e,r){var a=[];i(r),e=x(a,e,"privateKey");var _,n=0|t._crypto_scalarmult_scalarbytes();e.length!==n&&f(a,"invalid privateKey length"),_=l(e),a.push(_);var s=new u(0|t._crypto_scalarmult_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_scalarmult_base(c,_))){var o=h(s,r);return g(a),o}b(a,"unknown error")}function ot(e,r,a){var _=[];i(a),e=x(_,e,"n");var n,s=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==s&&f(_,"invalid n length"),n=l(e),_.push(n),r=x(_,r,"p");var c,o=0|t._crypto_scalarmult_ed25519_bytes();r.length!==o&&f(_,"invalid p length"),c=l(r),_.push(c);var p=new u(0|t._crypto_scalarmult_ed25519_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_scalarmult_ed25519(y,n,c))){var d=h(p,a);return g(_),d}b(_,"invalid point or scalar is 0")}function pt(e,r){var a=[];i(r),e=x(a,e,"scalar");var _,n=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==n&&f(a,"invalid scalar length"),_=l(e),a.push(_);var s=new u(0|t._crypto_scalarmult_ed25519_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_scalarmult_ed25519_base(c,_))){var o=h(s,r);return g(a),o}b(a,"scalar is 0")}function ht(e,r){var a=[];i(r),e=x(a,e,"scalar");var _,n=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==n&&f(a,"invalid scalar length"),_=l(e),a.push(_);var s=new u(0|t._crypto_scalarmult_ed25519_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_scalarmult_ed25519_base_noclamp(c,_))){var o=h(s,r);return g(a),o}b(a,"scalar is 0")}function yt(e,r,a){var _=[];i(a),e=x(_,e,"n");var n,s=0|t._crypto_scalarmult_ed25519_scalarbytes();e.length!==s&&f(_,"invalid n length"),n=l(e),_.push(n),r=x(_,r,"p");var c,o=0|t._crypto_scalarmult_ed25519_bytes();r.length!==o&&f(_,"invalid p length"),c=l(r),_.push(c);var p=new u(0|t._crypto_scalarmult_ed25519_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_scalarmult_ed25519_noclamp(y,n,c))){var d=h(p,a);return g(_),d}b(_,"invalid point or scalar is 0")}function it(e,r,a){var _=[];i(a),e=x(_,e,"scalar");var n,s=0|t._crypto_scalarmult_ristretto255_scalarbytes();e.length!==s&&f(_,"invalid scalar length"),n=l(e),_.push(n),r=x(_,r,"element");var c,o=0|t._crypto_scalarmult_ristretto255_bytes();r.length!==o&&f(_,"invalid element length"),c=l(r),_.push(c);var p=new u(0|t._crypto_scalarmult_ristretto255_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_scalarmult_ristretto255(y,n,c))){var d=h(p,a);return g(_),d}b(_,"result is identity element")}function ut(e,r){var a=[];i(r),e=x(a,e,"scalar");var _,n=0|t._crypto_core_ristretto255_scalarbytes();e.length!==n&&f(a,"invalid scalar length"),_=l(e),a.push(_);var s=new u(0|t._crypto_core_ristretto255_bytes()),c=s.address;if(a.push(c),!(0|t._crypto_scalarmult_ristretto255_base(c,_))){var o=h(s,r);return g(a),o}b(a,"scalar is 0")}function lt(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_secretbox_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_secretbox_keybytes();a.length!==d&&f(n,"invalid key length"),y=l(a),n.push(y);var v=new u(0|c),m=v.address;n.push(m);var E=new u(0|t._crypto_secretbox_macbytes()),k=E.address;if(n.push(k),!(0|t._crypto_secretbox_detached(m,k,s,c,0,o,y))){var S=h({mac:E,cipher:v},_);return g(n),S}b(n,"invalid usage")}function dt(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_secretbox_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_secretbox_keybytes();a.length!==d&&f(n,"invalid key length"),y=l(a),n.push(y);var v=new u(c+t._crypto_secretbox_macbytes()|0),m=v.address;if(n.push(m),!(0|t._crypto_secretbox_easy(m,s,c,0,o,y))){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function vt(e){var r=[];i(e);var a=new u(0|t._crypto_secretbox_keybytes()),_=a.address;r.push(_),t._crypto_secretbox_keygen(_);var n=h(a,e);return g(r),n}function gt(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"ciphertext")),o=e.length;s.push(c),r=x(s,r,"mac");var p,y=0|t._crypto_secretbox_macbytes();r.length!==y&&f(s,"invalid mac length"),p=l(r),s.push(p),a=x(s,a,"nonce");var d,v=0|t._crypto_secretbox_noncebytes();a.length!==v&&f(s,"invalid nonce length"),d=l(a),s.push(d),_=x(s,_,"key");var m,E=0|t._crypto_secretbox_keybytes();_.length!==E&&f(s,"invalid key length"),m=l(_),s.push(m);var k=new u(0|o),S=k.address;if(s.push(S),!(0|t._crypto_secretbox_open_detached(S,c,p,o,0,d,m))){var T=h(k,n);return g(s),T}b(s,"wrong secret key for the given ciphertext")}function bt(e,r,a,_){var n=[];i(_),e=x(n,e,"ciphertext");var s,c=t._crypto_secretbox_macbytes(),o=e.length;o<c&&f(n,"ciphertext is too short"),s=l(e),n.push(s),r=x(n,r,"nonce");var p,y=0|t._crypto_secretbox_noncebytes();r.length!==y&&f(n,"invalid nonce length"),p=l(r),n.push(p),a=x(n,a,"key");var d,v=0|t._crypto_secretbox_keybytes();a.length!==v&&f(n,"invalid key length"),d=l(a),n.push(d);var m=new u(o-t._crypto_secretbox_macbytes()|0),E=m.address;if(n.push(E),!(0|t._crypto_secretbox_open_easy(E,s,o,0,p,d))){var k=h(m,_);return g(n),k}b(n,"wrong secret key for the given ciphertext")}function ft(e,r,a){var _=[];i(a),e=x(_,e,"header");var n,s=0|t._crypto_secretstream_xchacha20poly1305_headerbytes();e.length!==s&&f(_,"invalid header length"),n=l(e),_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_secretstream_xchacha20poly1305_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(52).address;if(!(0|t._crypto_secretstream_xchacha20poly1305_init_pull(p,n,c))){var h=p;return g(_),h}b(_,"invalid usage")}function mt(e,r){var a=[];i(r),e=x(a,e,"key");var _,n=0|t._crypto_secretstream_xchacha20poly1305_keybytes();e.length!==n&&f(a,"invalid key length"),_=l(e),a.push(_);var s=new u(52).address,c=new u(0|t._crypto_secretstream_xchacha20poly1305_headerbytes()),o=c.address;if(a.push(o),!(0|t._crypto_secretstream_xchacha20poly1305_init_push(s,o,_))){var p={state:s,header:h(c,r)};return g(a),p}b(a,"invalid usage")}function xt(e){var r=[];i(e);var a=new u(0|t._crypto_secretstream_xchacha20poly1305_keybytes()),_=a.address;r.push(_),t._crypto_secretstream_xchacha20poly1305_keygen(_);var n=h(a,e);return g(r),n}function Et(e,r,a,_){var n=[];i(_),m(n,e,"state_address"),r=x(n,r,"cipher");var s,c=t._crypto_secretstream_xchacha20poly1305_abytes(),o=r.length;o<c&&f(n,"cipher is too short"),s=l(r),n.push(s);var p=null,y=0;null!=a&&(p=l(a=x(n,a,"ad")),y=a.length,n.push(p));var v=new u(o-t._crypto_secretstream_xchacha20poly1305_abytes()|0),b=v.address;n.push(b);var E,k=(E=d(1),n.push(E),(k=0===t._crypto_secretstream_xchacha20poly1305_pull(e,b,0,E,s,o,0,p,y)&&{tag:t.HEAPU8[E],message:v})&&{message:h(k.message,_),tag:k.tag});return g(n),k}function kt(e,r,a,_,n){var s=[];i(n),m(s,e,"state_address");var c=l(r=x(s,r,"message_chunk")),o=r.length;s.push(c);var p=null,y=0;null!=a&&(p=l(a=x(s,a,"ad")),y=a.length,s.push(p)),m(s,_,"tag"),("number"!=typeof _||(0|_)!==_||_<0)&&f(s,"tag must be an unsigned integer");var d=new u(o+t._crypto_secretstream_xchacha20poly1305_abytes()|0),v=d.address;if(s.push(v),!(0|t._crypto_secretstream_xchacha20poly1305_push(e,v,0,c,o,0,p,y,0,_))){var E=h(d,n);return g(s),E}b(s,"invalid usage")}function St(e,r){var a=[];return i(r),m(a,e,"state_address"),t._crypto_secretstream_xchacha20poly1305_rekey(e),g(a),!0}function Tt(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_shorthash_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_shorthash_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_shorthash(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function wt(e){var r=[];i(e);var a=new u(0|t._crypto_shorthash_keybytes()),_=a.address;r.push(_),t._crypto_shorthash_keygen(_);var n=h(a,e);return g(r),n}function Yt(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"key");var c,o=0|t._crypto_shorthash_siphashx24_keybytes();r.length!==o&&f(_,"invalid key length"),c=l(r),_.push(c);var p=new u(0|t._crypto_shorthash_siphashx24_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_shorthash_siphashx24(y,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function Bt(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"privateKey");var c,o=0|t._crypto_sign_secretkeybytes();r.length!==o&&f(_,"invalid privateKey length"),c=l(r),_.push(c);var p=new u(e.length+t._crypto_sign_bytes()|0),y=p.address;if(_.push(y),!(0|t._crypto_sign(y,null,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function At(e,r,a){var _=[];i(a);var n=l(e=x(_,e,"message")),s=e.length;_.push(n),r=x(_,r,"privateKey");var c,o=0|t._crypto_sign_secretkeybytes();r.length!==o&&f(_,"invalid privateKey length"),c=l(r),_.push(c);var p=new u(0|t._crypto_sign_bytes()),y=p.address;if(_.push(y),!(0|t._crypto_sign_detached(y,null,n,s,0,c))){var d=h(p,a);return g(_),d}b(_,"invalid usage")}function Mt(e,r){var a=[];i(r),e=x(a,e,"edPk");var _,n=0|t._crypto_sign_publickeybytes();e.length!==n&&f(a,"invalid edPk length"),_=l(e),a.push(_);var s=new u(0|t._crypto_scalarmult_scalarbytes()),c=s.address;if(a.push(c),!(0|t._crypto_sign_ed25519_pk_to_curve25519(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid key")}function It(e,r){var a=[];i(r),e=x(a,e,"edSk");var _,n=0|t._crypto_sign_secretkeybytes();e.length!==n&&f(a,"invalid edSk length"),_=l(e),a.push(_);var s=new u(0|t._crypto_scalarmult_scalarbytes()),c=s.address;if(a.push(c),!(0|t._crypto_sign_ed25519_sk_to_curve25519(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid key")}function Kt(e,r){var a=[];i(r),e=x(a,e,"privateKey");var _,n=0|t._crypto_sign_secretkeybytes();e.length!==n&&f(a,"invalid privateKey length"),_=l(e),a.push(_);var s=new u(0|t._crypto_sign_publickeybytes()),c=s.address;if(a.push(c),!(0|t._crypto_sign_ed25519_sk_to_pk(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid key")}function Nt(e,r){var a=[];i(r),e=x(a,e,"privateKey");var _,n=0|t._crypto_sign_secretkeybytes();e.length!==n&&f(a,"invalid privateKey length"),_=l(e),a.push(_);var s=new u(0|t._crypto_sign_seedbytes()),c=s.address;if(a.push(c),!(0|t._crypto_sign_ed25519_sk_to_seed(c,_))){var o=h(s,r);return g(a),o}b(a,"invalid key")}function Lt(e,r,a){var _=[];i(a),m(_,e,"state_address"),r=x(_,r,"privateKey");var n,s=0|t._crypto_sign_secretkeybytes();r.length!==s&&f(_,"invalid privateKey length"),n=l(r),_.push(n);var c=new u(0|t._crypto_sign_bytes()),o=c.address;if(_.push(o),!(0|t._crypto_sign_final_create(e,o,null,n))){var p=(t._free(e),h(c,a));return g(_),p}b(_,"invalid usage")}function Ot(e,r,a,_){var n=[];i(_),m(n,e,"state_address"),r=x(n,r,"signature");var s,c=0|t._crypto_sign_bytes();r.length!==c&&f(n,"invalid signature length"),s=l(r),n.push(s),a=x(n,a,"publicKey");var o,p=0|t._crypto_sign_publickeybytes();a.length!==p&&f(n,"invalid publicKey length"),o=l(a),n.push(o);var h=!(0|t._crypto_sign_final_verify(e,s,o));return g(n),h}function Ut(e){var r=[];i(e);var a=new u(208).address;if(!(0|t._crypto_sign_init(a))){var _=a;return g(r),_}b(r,"internal error")}function Pt(e){var r=[];i(e);var a=new u(0|t._crypto_sign_publickeybytes()),_=a.address;r.push(_);var n=new u(0|t._crypto_sign_secretkeybytes()),s=n.address;if(r.push(s),!(0|t._crypto_sign_keypair(_,s))){var c={publicKey:h(a,e),privateKey:h(n,e),keyType:"ed25519"};return g(r),c}b(r,"internal error")}function Ct(e,r,a){var _=[];i(a),e=x(_,e,"signedMessage");var n,s=t._crypto_sign_bytes(),c=e.length;c<s&&f(_,"signedMessage is too short"),n=l(e),_.push(n),r=x(_,r,"publicKey");var o,p=0|t._crypto_sign_publickeybytes();r.length!==p&&f(_,"invalid publicKey length"),o=l(r),_.push(o);var y=new u(c-t._crypto_sign_bytes()|0),d=y.address;if(_.push(d),!(0|t._crypto_sign_open(d,null,n,c,0,o))){var v=h(y,a);return g(_),v}b(_,"incorrect signature for the given public key")}function Rt(e,r){var a=[];i(r),e=x(a,e,"seed");var _,n=0|t._crypto_sign_seedbytes();e.length!==n&&f(a,"invalid seed length"),_=l(e),a.push(_);var s=new u(0|t._crypto_sign_publickeybytes()),c=s.address;a.push(c);var o=new u(0|t._crypto_sign_secretkeybytes()),p=o.address;if(a.push(p),!(0|t._crypto_sign_seed_keypair(c,p,_))){var y={publicKey:h(s,r),privateKey:h(o,r),keyType:"ed25519"};return g(a),y}b(a,"invalid usage")}function Xt(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_sign_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function Dt(e,r,a){var _=[];e=x(_,e,"signature");var n,s=0|t._crypto_sign_bytes();e.length!==s&&f(_,"invalid signature length"),n=l(e),_.push(n);var c=l(r=x(_,r,"message")),o=r.length;_.push(c),a=x(_,a,"publicKey");var p,h=0|t._crypto_sign_publickeybytes();a.length!==h&&f(_,"invalid publicKey length"),p=l(a),_.push(p);var y=!(0|t._crypto_sign_verify_detached(n,c,o,0,p));return g(_),y}function Gt(e,r,a,_){var n=[];i(_),m(n,e,"outLength"),("number"!=typeof e||(0|e)!==e||e<0)&&f(n,"outLength must be an unsigned integer"),r=x(n,r,"key");var s,c=0|t._crypto_stream_chacha20_keybytes();r.length!==c&&f(n,"invalid key length"),s=l(r),n.push(s),a=x(n,a,"nonce");var o,p=0|t._crypto_stream_chacha20_noncebytes();a.length!==p&&f(n,"invalid nonce length"),o=l(a),n.push(o);var y=new u(0|e),d=y.address;n.push(d),t._crypto_stream_chacha20(d,e,0,o,s);var v=h(y,_);return g(n),v}function Ft(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"input_message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_stream_chacha20_ietf_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_stream_chacha20_ietf_keybytes();a.length!==d&&f(n,"invalid key length"),y=l(a),n.push(y);var v=new u(0|c),m=v.address;if(n.push(m),0===t._crypto_stream_chacha20_ietf_xor(m,s,c,0,o,y)){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function Vt(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"input_message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_stream_chacha20_ietf_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=l(r),s.push(p),m(s,a,"nonce_increment"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"nonce_increment must be an unsigned integer"),_=x(s,_,"key");var d,v=0|t._crypto_stream_chacha20_ietf_keybytes();_.length!==v&&f(s,"invalid key length"),d=l(_),s.push(d);var E=new u(0|o),k=E.address;if(s.push(k),0===t._crypto_stream_chacha20_ietf_xor_ic(k,c,o,0,p,a,d)){var S=h(E,n);return g(s),S}b(s,"invalid usage")}function qt(e){var r=[];i(e);var a=new u(0|t._crypto_stream_chacha20_keybytes()),_=a.address;r.push(_),t._crypto_stream_chacha20_keygen(_);var n=h(a,e);return g(r),n}function zt(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"input_message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_stream_chacha20_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_stream_chacha20_keybytes();a.length!==d&&f(n,"invalid key length"),y=l(a),n.push(y);var v=new u(0|c),m=v.address;if(n.push(m),0===t._crypto_stream_chacha20_xor(m,s,c,0,o,y)){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function Wt(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"input_message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_stream_chacha20_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=l(r),s.push(p),m(s,a,"nonce_increment"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"nonce_increment must be an unsigned integer"),_=x(s,_,"key");var d,v=0|t._crypto_stream_chacha20_keybytes();_.length!==v&&f(s,"invalid key length"),d=l(_),s.push(d);var E=new u(0|o),k=E.address;if(s.push(k),0===t._crypto_stream_chacha20_xor_ic(k,c,o,0,p,a,0,d)){var S=h(E,n);return g(s),S}b(s,"invalid usage")}function Ht(e){var r=[];i(e);var a=new u(0|t._crypto_stream_keybytes()),_=a.address;r.push(_),t._crypto_stream_keygen(_);var n=h(a,e);return g(r),n}function jt(e){var r=[];i(e);var a=new u(0|t._crypto_stream_xchacha20_keybytes()),_=a.address;r.push(_),t._crypto_stream_xchacha20_keygen(_);var n=h(a,e);return g(r),n}function Jt(e,r,a,_){var n=[];i(_);var s=l(e=x(n,e,"input_message")),c=e.length;n.push(s),r=x(n,r,"nonce");var o,p=0|t._crypto_stream_xchacha20_noncebytes();r.length!==p&&f(n,"invalid nonce length"),o=l(r),n.push(o),a=x(n,a,"key");var y,d=0|t._crypto_stream_xchacha20_keybytes();a.length!==d&&f(n,"invalid key length"),y=l(a),n.push(y);var v=new u(0|c),m=v.address;if(n.push(m),0===t._crypto_stream_xchacha20_xor(m,s,c,0,o,y)){var E=h(v,_);return g(n),E}b(n,"invalid usage")}function Qt(e,r,a,_,n){var s=[];i(n);var c=l(e=x(s,e,"input_message")),o=e.length;s.push(c),r=x(s,r,"nonce");var p,y=0|t._crypto_stream_xchacha20_noncebytes();r.length!==y&&f(s,"invalid nonce length"),p=l(r),s.push(p),m(s,a,"nonce_increment"),("number"!=typeof a||(0|a)!==a||a<0)&&f(s,"nonce_increment must be an unsigned integer"),_=x(s,_,"key");var d,v=0|t._crypto_stream_xchacha20_keybytes();_.length!==v&&f(s,"invalid key length"),d=l(_),s.push(d);var E=new u(0|o),k=E.address;if(s.push(k),0===t._crypto_stream_xchacha20_xor_ic(k,c,o,0,p,a,0,d)){var S=h(E,n);return g(s),S}b(s,"invalid usage")}function Zt(e,r,a){var _=[];i(a),m(_,e,"out_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"out_length must be an unsigned integer");var n=l(r=x(_,r,"message")),s=r.length;_.push(n);var c=new u(e|=0),o=c.address;if(_.push(o),!(0|t._crypto_xof_shake128(o,e,n,s,0))){var p=h(c,a);return g(_),p}b(_,"invalid usage")}function $t(e){var r=[];i(e);var a=new u(256).address;if(!(0|t._crypto_xof_shake128_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function ea(e,r){var a=[];i(r),m(a,e,"domain"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"domain must be an unsigned integer");var _=new u(256).address;if(!(0|t._crypto_xof_shake128_init_with_domain(_,e))){var n=_;return g(a),n}b(a,"invalid usage")}function ra(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"out_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"out_length must be an unsigned integer");var n=new u(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_xof_shake128_squeeze(e,s,r))){var c=h(n,a);return g(_),c}b(_,"invalid usage")}function ta(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_xof_shake128_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function aa(e,r,a){var _=[];i(a),m(_,e,"out_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"out_length must be an unsigned integer");var n=l(r=x(_,r,"message")),s=r.length;_.push(n);var c=new u(e|=0),o=c.address;if(_.push(o),!(0|t._crypto_xof_shake256(o,e,n,s,0))){var p=h(c,a);return g(_),p}b(_,"invalid usage")}function _a(e){var r=[];i(e);var a=new u(256).address;if(!(0|t._crypto_xof_shake256_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function na(e,r){var a=[];i(r),m(a,e,"domain"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"domain must be an unsigned integer");var _=new u(256).address;if(!(0|t._crypto_xof_shake256_init_with_domain(_,e))){var n=_;return g(a),n}b(a,"invalid usage")}function sa(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"out_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"out_length must be an unsigned integer");var n=new u(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_xof_shake256_squeeze(e,s,r))){var c=h(n,a);return g(_),c}b(_,"invalid usage")}function ca(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_xof_shake256_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function oa(e,r,a){var _=[];i(a),m(_,e,"out_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"out_length must be an unsigned integer");var n=l(r=x(_,r,"message")),s=r.length;_.push(n);var c=new u(e|=0),o=c.address;if(_.push(o),!(0|t._crypto_xof_turboshake128(o,e,n,s,0))){var p=h(c,a);return g(_),p}b(_,"invalid usage")}function pa(e){var r=[];i(e);var a=new u(256).address;if(!(0|t._crypto_xof_turboshake128_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function ha(e,r){var a=[];i(r),m(a,e,"domain"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"domain must be an unsigned integer");var _=new u(256).address;if(!(0|t._crypto_xof_turboshake128_init_with_domain(_,e))){var n=_;return g(a),n}b(a,"invalid usage")}function ya(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"out_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"out_length must be an unsigned integer");var n=new u(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_xof_turboshake128_squeeze(e,s,r))){var c=h(n,a);return g(_),c}b(_,"invalid usage")}function ia(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_xof_turboshake128_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function ua(e,r,a){var _=[];i(a),m(_,e,"out_length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"out_length must be an unsigned integer");var n=l(r=x(_,r,"message")),s=r.length;_.push(n);var c=new u(e|=0),o=c.address;if(_.push(o),!(0|t._crypto_xof_turboshake256(o,e,n,s,0))){var p=h(c,a);return g(_),p}b(_,"invalid usage")}function la(e){var r=[];i(e);var a=new u(256).address;if(!(0|t._crypto_xof_turboshake256_init(a))){var _=a;return g(r),_}b(r,"invalid usage")}function da(e,r){var a=[];i(r),m(a,e,"domain"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"domain must be an unsigned integer");var _=new u(256).address;if(!(0|t._crypto_xof_turboshake256_init_with_domain(_,e))){var n=_;return g(a),n}b(a,"invalid usage")}function va(e,r,a){var _=[];i(a),m(_,e,"state_address"),m(_,r,"out_length"),("number"!=typeof r||(0|r)!==r||r<0)&&f(_,"out_length must be an unsigned integer");var n=new u(r|=0),s=n.address;if(_.push(s),!(0|t._crypto_xof_turboshake256_squeeze(e,s,r))){var c=h(n,a);return g(_),c}b(_,"invalid usage")}function ga(e,r,a){var _=[];i(a),m(_,e,"state_address");var n=l(r=x(_,r,"message_chunk")),s=r.length;_.push(n),0|t._crypto_xof_turboshake256_update(e,n,s,0)&&b(_,"invalid usage"),g(_)}function ba(e,r){var a=[];i(r),m(a,e,"length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"length must be an unsigned integer");var _=new u(0|e),n=_.address;a.push(n),t._randombytes_buf(n,e);var s=h(_,r);return g(a),s}function fa(e,r,a){var _=[];i(a),m(_,e,"length"),("number"!=typeof e||(0|e)!==e||e<0)&&f(_,"length must be an unsigned integer"),r=x(_,r,"seed");var n,s=0|t._randombytes_seedbytes();r.length!==s&&f(_,"invalid seed length"),n=l(r),_.push(n);var c=new u(0|e),o=c.address;_.push(o),t._randombytes_buf_deterministic(o,e,n);var p=h(c,a);return g(_),p}function ma(e){i(e),t._randombytes_close()}function xa(e){i(e);var r=t._randombytes_random()>>>0;return g([]),r}function Ea(e,r){var a=[];i(r);for(var _=t._malloc(24),n=0;n<6;n++)t.setValue(_+4*n,t.Runtime.addFunction(e[["implementation_name","random","stir","uniform","buf","close"][n]]),"i32");0|t._randombytes_set_implementation(_)&&b(a,"unsupported implementation"),g(a)}function ka(e){i(e),t._randombytes_stir()}function Sa(e,r){var a=[];i(r),m(a,e,"upper_bound"),("number"!=typeof e||(0|e)!==e||e<0)&&f(a,"upper_bound must be an unsigned integer");var _=t._randombytes_uniform(e)>>>0;return g(a),_}function Ta(e){var r,a=[];16!==(e=x(a,e,"bin")).length&&f(a,"invalid bin length"),r=l(e),a.push(r);var _=new u(46).address;if(a.push(_),0!==t._sodium_bin2ip(_,46,r)){var n=t.UTF8ToString(_);return g(a),n}b(a,"conversion failed")}function wa(e,r){var a=[];i(r),"string"!=typeof e&&f(a,"ip must be a string");var n=l(e=_(e+"\0")),s=e.length-1;a.push(n);var c=new u(16),o=c.address;if(a.push(o),!(0|t._sodium_ip2bin(o,n,s))){var p=h(c,r);return g(a),p}b(a,"invalid IP address")}function Ya(){var e=t._sodium_version_string(),r=t.UTF8ToString(e);return g([]),r}return u.prototype.to_Uint8Array=function(){var e=new Uint8Array(this.length);return e.set(t.HEAPU8.subarray(this.address,this.address+this.length)),e},e.add=function(e,r){if(!(e instanceof Uint8Array&&r instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be added");var t=e.length,a=0,_=0;if(r.length!==e.length)throw new TypeError("Arguments must have the same length");for(_=0;_<t;_++)a>>=8,a+=e[_]+r[_],e[_]=255&a},e.base64_variants=c,e.compare=function(e,r){if(!(e instanceof Uint8Array&&r instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be compared");if(e.length!==r.length)throw new TypeError("Only instances of identical length can be compared");for(var t=0,a=1,_=e.length;_-- >0;)t|=r[_]-e[_]>>8&a,a&=(r[_]^e[_])-1>>8;return t+t+a-1},e.from_base64=function(e,r){r=o(r);var a,_=[],n=new u(3*(e=x(_,e,"input")).length/4),s=l(e),c=d(4),p=d(4);return _.push(s),_.push(n.address),_.push(c),_.push(p),0!==t._sodium_base642bin(n.address,n.length,s,e.length,0,c,p,r)&&b(_,"invalid input"),t.getValue(p,"i32")-s!==e.length&&b(_,"incomplete input"),n.length=t.getValue(c,"i32"),a=n.to_Uint8Array(),g(_),a},e.from_hex=function(e){var r,a=[],_=new u((e=x(a,e,"input")).length/2),n=l(e),s=d(4);return a.push(n),a.push(_.address),a.push(s),0!==t._sodium_hex2bin(_.address,_.length,n,e.length,0,0,s)&&b(a,"invalid input"),t.getValue(s,"i32")-n!==e.length&&b(a,"incomplete input"),r=_.to_Uint8Array(),g(a),r},e.from_string=_,e.increment=function(e){if(!(e instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be incremented");for(var r=256,t=0,a=e.length;t<a;t++)r>>=8,r+=e[t],e[t]=255&r},e.is_zero=function(e){if(!(e instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be checked");for(var r=0,t=0,a=e.length;t<a;t++)r|=e[t];return 0===r},e.libsodium=r,e.memcmp=function(e,r){if(!(e instanceof Uint8Array&&r instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be compared");if(e.length!==r.length)throw new TypeError("Only instances of identical length can be compared");for(var t=0,a=0,_=e.length;a<_;a++)t|=e[a]^r[a];return 0===t},e.memzero=function(e){if(!(e instanceof Uint8Array))throw new TypeError("Only Uint8Array instances can be wiped");for(var r=0,t=e.length;r<t;r++)e[r]=0},e.output_formats=function(){return["uint8array","text","hex","base64"]},e.pad=function(e,r){if(!(e instanceof Uint8Array))throw new TypeError("buffer must be a Uint8Array");if((r|=0)<=0)throw new Error("block size must be > 0");var a,_=[],n=d(4),s=1,c=0,o=0|e.length,p=new u(o+r);_.push(n),_.push(p.address);for(var h=p.address,y=p.address+o+r;h<y;h++)t.HEAPU8[h]=e[c],c+=s=1&~((65535&((o-=s)>>>48|o>>>32|o>>>16|o))-1>>16);return 0!==t._sodium_pad(n,p.address,e.length,r,p.length)&&b(_,"internal error"),p.length=t.getValue(n,"i32"),a=p.to_Uint8Array(),g(_),a},e.unpad=function(e,r){if(!(e instanceof Uint8Array))throw new TypeError("buffer must be a Uint8Array");if((r|=0)<=0)throw new Error("block size must be > 0");var a=[],_=l(e),n=d(4);return a.push(_),a.push(n),0!==t._sodium_unpad(n,_,e.length,r)&&b(a,"unsupported/invalid padding"),e=(e=new Uint8Array(e)).subarray(0,t.getValue(n,"i32")),g(a),e},e.ready=a,e.symbols=function(){return Object.keys(e).sort()},e.to_base64=p,e.to_hex=s,e.to_string=n,e}var t="object"==typeof e.sodium&&"function"==typeof e.sodium.onload?e.sodium.onload:null;"function"==typeof define&&define.amd?define(["exports","libsodium-sumo"],r):"object"==typeof exports&&"string"!=typeof exports.nodeName?r(exports,require("libsodium-sumo")):e.sodium=r(e.commonJsStrict={},e.libsodium),t&&e.sodium.ready.then(function(){t(e.sodium)})}(this);