{"version":3,"file":"nacl-fast.min.mjs","sources":["../../node_modules/@openpgp/tweetnacl/cryptoBrowser.js","../../node_modules/@openpgp/tweetnacl/nacl-fast.js"],"sourcesContent":["// declare const globalThis: Record<string, any> | undefined;\nexport const crypto =\n  typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n","import { crypto } from './crypto.js';\n\n'use strict';\nconst nacl = {};\nexport default nacl;\n\n// Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n//\n// Implementation derived from TweetNaCl version 20140427.\n// See for details: http://tweetnacl.cr.yp.to/\n\nvar gf = function(init) {\n  var i, r = new Float64Array(16);\n  if (init) for (i = 0; i < init.length; i++) r[i] = init[i];\n  return r;\n};\n\n//  Pluggable, initialized in high-level API below.\nvar randombytes = function(/* x, n */) { throw new Error('no PRNG'); };\n\nvar _9 = new Uint8Array(32); _9[0] = 9;\n\nvar gf0 = gf(),\n    gf1 = gf([1]),\n    _121665 = gf([0xdb41, 1]),\n    D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]),\n    D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]),\n    X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]),\n    Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]),\n    I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]);\n\nfunction ts64(x, i, h, l) {\n  x[i]   = (h >> 24) & 0xff;\n  x[i+1] = (h >> 16) & 0xff;\n  x[i+2] = (h >>  8) & 0xff;\n  x[i+3] = h & 0xff;\n  x[i+4] = (l >> 24)  & 0xff;\n  x[i+5] = (l >> 16)  & 0xff;\n  x[i+6] = (l >>  8)  & 0xff;\n  x[i+7] = l & 0xff;\n}\n\nfunction vn(x, xi, y, yi, n) {\n  var i,d = 0;\n  for (i = 0; i < n; i++) d |= x[xi+i]^y[yi+i];\n  return (1 & ((d - 1) >>> 8)) - 1;\n}\n\nfunction crypto_verify_32(x, xi, y, yi) {\n  return vn(x,xi,y,yi,32);\n}\n\nfunction set25519(r, a) {\n  var i;\n  for (i = 0; i < 16; i++) r[i] = a[i]|0;\n}\n\nfunction car25519(o) {\n  var i, v, c = 1;\n  for (i = 0; i < 16; i++) {\n    v = o[i] + c + 65535;\n    c = Math.floor(v / 65536);\n    o[i] = v - c * 65536;\n  }\n  o[0] += c-1 + 37 * (c-1);\n}\n\nfunction sel25519(p, q, b) {\n  var t, c = ~(b-1);\n  for (var i = 0; i < 16; i++) {\n    t = c & (p[i] ^ q[i]);\n    p[i] ^= t;\n    q[i] ^= t;\n  }\n}\n\nfunction pack25519(o, n) {\n  var i, j, b;\n  var m = gf(), t = gf();\n  for (i = 0; i < 16; i++) t[i] = n[i];\n  car25519(t);\n  car25519(t);\n  car25519(t);\n  for (j = 0; j < 2; j++) {\n    m[0] = t[0] - 0xffed;\n    for (i = 1; i < 15; i++) {\n      m[i] = t[i] - 0xffff - ((m[i-1]>>16) & 1);\n      m[i-1] &= 0xffff;\n    }\n    m[15] = t[15] - 0x7fff - ((m[14]>>16) & 1);\n    b = (m[15]>>16) & 1;\n    m[14] &= 0xffff;\n    sel25519(t, m, 1-b);\n  }\n  for (i = 0; i < 16; i++) {\n    o[2*i] = t[i] & 0xff;\n    o[2*i+1] = t[i]>>8;\n  }\n}\n\nfunction neq25519(a, b) {\n  var c = new Uint8Array(32), d = new Uint8Array(32);\n  pack25519(c, a);\n  pack25519(d, b);\n  return crypto_verify_32(c, 0, d, 0);\n}\n\nfunction par25519(a) {\n  var d = new Uint8Array(32);\n  pack25519(d, a);\n  return d[0] & 1;\n}\n\nfunction unpack25519(o, n) {\n  var i;\n  for (i = 0; i < 16; i++) o[i] = n[2*i] + (n[2*i+1] << 8);\n  o[15] &= 0x7fff;\n}\n\nfunction A(o, a, b) {\n  for (var i = 0; i < 16; i++) o[i] = a[i] + b[i];\n}\n\nfunction Z(o, a, b) {\n  for (var i = 0; i < 16; i++) o[i] = a[i] - b[i];\n}\n\nfunction M(o, a, b) {\n  var v, c,\n     t0 = 0,  t1 = 0,  t2 = 0,  t3 = 0,  t4 = 0,  t5 = 0,  t6 = 0,  t7 = 0,\n     t8 = 0,  t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n    t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n    t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n    b0 = b[0],\n    b1 = b[1],\n    b2 = b[2],\n    b3 = b[3],\n    b4 = b[4],\n    b5 = b[5],\n    b6 = b[6],\n    b7 = b[7],\n    b8 = b[8],\n    b9 = b[9],\n    b10 = b[10],\n    b11 = b[11],\n    b12 = b[12],\n    b13 = b[13],\n    b14 = b[14],\n    b15 = b[15];\n\n  v = a[0];\n  t0 += v * b0;\n  t1 += v * b1;\n  t2 += v * b2;\n  t3 += v * b3;\n  t4 += v * b4;\n  t5 += v * b5;\n  t6 += v * b6;\n  t7 += v * b7;\n  t8 += v * b8;\n  t9 += v * b9;\n  t10 += v * b10;\n  t11 += v * b11;\n  t12 += v * b12;\n  t13 += v * b13;\n  t14 += v * b14;\n  t15 += v * b15;\n  v = a[1];\n  t1 += v * b0;\n  t2 += v * b1;\n  t3 += v * b2;\n  t4 += v * b3;\n  t5 += v * b4;\n  t6 += v * b5;\n  t7 += v * b6;\n  t8 += v * b7;\n  t9 += v * b8;\n  t10 += v * b9;\n  t11 += v * b10;\n  t12 += v * b11;\n  t13 += v * b12;\n  t14 += v * b13;\n  t15 += v * b14;\n  t16 += v * b15;\n  v = a[2];\n  t2 += v * b0;\n  t3 += v * b1;\n  t4 += v * b2;\n  t5 += v * b3;\n  t6 += v * b4;\n  t7 += v * b5;\n  t8 += v * b6;\n  t9 += v * b7;\n  t10 += v * b8;\n  t11 += v * b9;\n  t12 += v * b10;\n  t13 += v * b11;\n  t14 += v * b12;\n  t15 += v * b13;\n  t16 += v * b14;\n  t17 += v * b15;\n  v = a[3];\n  t3 += v * b0;\n  t4 += v * b1;\n  t5 += v * b2;\n  t6 += v * b3;\n  t7 += v * b4;\n  t8 += v * b5;\n  t9 += v * b6;\n  t10 += v * b7;\n  t11 += v * b8;\n  t12 += v * b9;\n  t13 += v * b10;\n  t14 += v * b11;\n  t15 += v * b12;\n  t16 += v * b13;\n  t17 += v * b14;\n  t18 += v * b15;\n  v = a[4];\n  t4 += v * b0;\n  t5 += v * b1;\n  t6 += v * b2;\n  t7 += v * b3;\n  t8 += v * b4;\n  t9 += v * b5;\n  t10 += v * b6;\n  t11 += v * b7;\n  t12 += v * b8;\n  t13 += v * b9;\n  t14 += v * b10;\n  t15 += v * b11;\n  t16 += v * b12;\n  t17 += v * b13;\n  t18 += v * b14;\n  t19 += v * b15;\n  v = a[5];\n  t5 += v * b0;\n  t6 += v * b1;\n  t7 += v * b2;\n  t8 += v * b3;\n  t9 += v * b4;\n  t10 += v * b5;\n  t11 += v * b6;\n  t12 += v * b7;\n  t13 += v * b8;\n  t14 += v * b9;\n  t15 += v * b10;\n  t16 += v * b11;\n  t17 += v * b12;\n  t18 += v * b13;\n  t19 += v * b14;\n  t20 += v * b15;\n  v = a[6];\n  t6 += v * b0;\n  t7 += v * b1;\n  t8 += v * b2;\n  t9 += v * b3;\n  t10 += v * b4;\n  t11 += v * b5;\n  t12 += v * b6;\n  t13 += v * b7;\n  t14 += v * b8;\n  t15 += v * b9;\n  t16 += v * b10;\n  t17 += v * b11;\n  t18 += v * b12;\n  t19 += v * b13;\n  t20 += v * b14;\n  t21 += v * b15;\n  v = a[7];\n  t7 += v * b0;\n  t8 += v * b1;\n  t9 += v * b2;\n  t10 += v * b3;\n  t11 += v * b4;\n  t12 += v * b5;\n  t13 += v * b6;\n  t14 += v * b7;\n  t15 += v * b8;\n  t16 += v * b9;\n  t17 += v * b10;\n  t18 += v * b11;\n  t19 += v * b12;\n  t20 += v * b13;\n  t21 += v * b14;\n  t22 += v * b15;\n  v = a[8];\n  t8 += v * b0;\n  t9 += v * b1;\n  t10 += v * b2;\n  t11 += v * b3;\n  t12 += v * b4;\n  t13 += v * b5;\n  t14 += v * b6;\n  t15 += v * b7;\n  t16 += v * b8;\n  t17 += v * b9;\n  t18 += v * b10;\n  t19 += v * b11;\n  t20 += v * b12;\n  t21 += v * b13;\n  t22 += v * b14;\n  t23 += v * b15;\n  v = a[9];\n  t9 += v * b0;\n  t10 += v * b1;\n  t11 += v * b2;\n  t12 += v * b3;\n  t13 += v * b4;\n  t14 += v * b5;\n  t15 += v * b6;\n  t16 += v * b7;\n  t17 += v * b8;\n  t18 += v * b9;\n  t19 += v * b10;\n  t20 += v * b11;\n  t21 += v * b12;\n  t22 += v * b13;\n  t23 += v * b14;\n  t24 += v * b15;\n  v = a[10];\n  t10 += v * b0;\n  t11 += v * b1;\n  t12 += v * b2;\n  t13 += v * b3;\n  t14 += v * b4;\n  t15 += v * b5;\n  t16 += v * b6;\n  t17 += v * b7;\n  t18 += v * b8;\n  t19 += v * b9;\n  t20 += v * b10;\n  t21 += v * b11;\n  t22 += v * b12;\n  t23 += v * b13;\n  t24 += v * b14;\n  t25 += v * b15;\n  v = a[11];\n  t11 += v * b0;\n  t12 += v * b1;\n  t13 += v * b2;\n  t14 += v * b3;\n  t15 += v * b4;\n  t16 += v * b5;\n  t17 += v * b6;\n  t18 += v * b7;\n  t19 += v * b8;\n  t20 += v * b9;\n  t21 += v * b10;\n  t22 += v * b11;\n  t23 += v * b12;\n  t24 += v * b13;\n  t25 += v * b14;\n  t26 += v * b15;\n  v = a[12];\n  t12 += v * b0;\n  t13 += v * b1;\n  t14 += v * b2;\n  t15 += v * b3;\n  t16 += v * b4;\n  t17 += v * b5;\n  t18 += v * b6;\n  t19 += v * b7;\n  t20 += v * b8;\n  t21 += v * b9;\n  t22 += v * b10;\n  t23 += v * b11;\n  t24 += v * b12;\n  t25 += v * b13;\n  t26 += v * b14;\n  t27 += v * b15;\n  v = a[13];\n  t13 += v * b0;\n  t14 += v * b1;\n  t15 += v * b2;\n  t16 += v * b3;\n  t17 += v * b4;\n  t18 += v * b5;\n  t19 += v * b6;\n  t20 += v * b7;\n  t21 += v * b8;\n  t22 += v * b9;\n  t23 += v * b10;\n  t24 += v * b11;\n  t25 += v * b12;\n  t26 += v * b13;\n  t27 += v * b14;\n  t28 += v * b15;\n  v = a[14];\n  t14 += v * b0;\n  t15 += v * b1;\n  t16 += v * b2;\n  t17 += v * b3;\n  t18 += v * b4;\n  t19 += v * b5;\n  t20 += v * b6;\n  t21 += v * b7;\n  t22 += v * b8;\n  t23 += v * b9;\n  t24 += v * b10;\n  t25 += v * b11;\n  t26 += v * b12;\n  t27 += v * b13;\n  t28 += v * b14;\n  t29 += v * b15;\n  v = a[15];\n  t15 += v * b0;\n  t16 += v * b1;\n  t17 += v * b2;\n  t18 += v * b3;\n  t19 += v * b4;\n  t20 += v * b5;\n  t21 += v * b6;\n  t22 += v * b7;\n  t23 += v * b8;\n  t24 += v * b9;\n  t25 += v * b10;\n  t26 += v * b11;\n  t27 += v * b12;\n  t28 += v * b13;\n  t29 += v * b14;\n  t30 += v * b15;\n\n  t0  += 38 * t16;\n  t1  += 38 * t17;\n  t2  += 38 * t18;\n  t3  += 38 * t19;\n  t4  += 38 * t20;\n  t5  += 38 * t21;\n  t6  += 38 * t22;\n  t7  += 38 * t23;\n  t8  += 38 * t24;\n  t9  += 38 * t25;\n  t10 += 38 * t26;\n  t11 += 38 * t27;\n  t12 += 38 * t28;\n  t13 += 38 * t29;\n  t14 += 38 * t30;\n  // t15 left as is\n\n  // first car\n  c = 1;\n  v =  t0 + c + 65535; c = Math.floor(v / 65536);  t0 = v - c * 65536;\n  v =  t1 + c + 65535; c = Math.floor(v / 65536);  t1 = v - c * 65536;\n  v =  t2 + c + 65535; c = Math.floor(v / 65536);  t2 = v - c * 65536;\n  v =  t3 + c + 65535; c = Math.floor(v / 65536);  t3 = v - c * 65536;\n  v =  t4 + c + 65535; c = Math.floor(v / 65536);  t4 = v - c * 65536;\n  v =  t5 + c + 65535; c = Math.floor(v / 65536);  t5 = v - c * 65536;\n  v =  t6 + c + 65535; c = Math.floor(v / 65536);  t6 = v - c * 65536;\n  v =  t7 + c + 65535; c = Math.floor(v / 65536);  t7 = v - c * 65536;\n  v =  t8 + c + 65535; c = Math.floor(v / 65536);  t8 = v - c * 65536;\n  v =  t9 + c + 65535; c = Math.floor(v / 65536);  t9 = v - c * 65536;\n  v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n  v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n  v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n  v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n  v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n  v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n  t0 += c-1 + 37 * (c-1);\n\n  // second car\n  c = 1;\n  v =  t0 + c + 65535; c = Math.floor(v / 65536);  t0 = v - c * 65536;\n  v =  t1 + c + 65535; c = Math.floor(v / 65536);  t1 = v - c * 65536;\n  v =  t2 + c + 65535; c = Math.floor(v / 65536);  t2 = v - c * 65536;\n  v =  t3 + c + 65535; c = Math.floor(v / 65536);  t3 = v - c * 65536;\n  v =  t4 + c + 65535; c = Math.floor(v / 65536);  t4 = v - c * 65536;\n  v =  t5 + c + 65535; c = Math.floor(v / 65536);  t5 = v - c * 65536;\n  v =  t6 + c + 65535; c = Math.floor(v / 65536);  t6 = v - c * 65536;\n  v =  t7 + c + 65535; c = Math.floor(v / 65536);  t7 = v - c * 65536;\n  v =  t8 + c + 65535; c = Math.floor(v / 65536);  t8 = v - c * 65536;\n  v =  t9 + c + 65535; c = Math.floor(v / 65536);  t9 = v - c * 65536;\n  v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n  v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n  v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n  v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n  v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n  v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n  t0 += c-1 + 37 * (c-1);\n\n  o[ 0] = t0;\n  o[ 1] = t1;\n  o[ 2] = t2;\n  o[ 3] = t3;\n  o[ 4] = t4;\n  o[ 5] = t5;\n  o[ 6] = t6;\n  o[ 7] = t7;\n  o[ 8] = t8;\n  o[ 9] = t9;\n  o[10] = t10;\n  o[11] = t11;\n  o[12] = t12;\n  o[13] = t13;\n  o[14] = t14;\n  o[15] = t15;\n}\n\nfunction S(o, a) {\n  M(o, a, a);\n}\n\nfunction inv25519(o, i) {\n  var c = gf();\n  var a;\n  for (a = 0; a < 16; a++) c[a] = i[a];\n  for (a = 253; a >= 0; a--) {\n    S(c, c);\n    if(a !== 2 && a !== 4) M(c, c, i);\n  }\n  for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction pow2523(o, i) {\n  var c = gf();\n  var a;\n  for (a = 0; a < 16; a++) c[a] = i[a];\n  for (a = 250; a >= 0; a--) {\n      S(c, c);\n      if(a !== 1) M(c, c, i);\n  }\n  for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction crypto_scalarmult(q, n, p) {\n  var z = new Uint8Array(32);\n  var x = new Float64Array(80), r, i;\n  var a = gf(), b = gf(), c = gf(),\n      d = gf(), e = gf(), f = gf();\n  for (i = 0; i < 31; i++) z[i] = n[i];\n  z[31]=(n[31]&127)|64;\n  z[0]&=248;\n  unpack25519(x,p);\n  for (i = 0; i < 16; i++) {\n    b[i]=x[i];\n    d[i]=a[i]=c[i]=0;\n  }\n  a[0]=d[0]=1;\n  for (i=254; i>=0; --i) {\n    r=(z[i>>>3]>>>(i&7))&1;\n    sel25519(a,b,r);\n    sel25519(c,d,r);\n    A(e,a,c);\n    Z(a,a,c);\n    A(c,b,d);\n    Z(b,b,d);\n    S(d,e);\n    S(f,a);\n    M(a,c,a);\n    M(c,b,e);\n    A(e,a,c);\n    Z(a,a,c);\n    S(b,a);\n    Z(c,d,f);\n    M(a,c,_121665);\n    A(a,a,d);\n    M(c,c,a);\n    M(a,d,f);\n    M(d,b,x);\n    S(b,e);\n    sel25519(a,b,r);\n    sel25519(c,d,r);\n  }\n  for (i = 0; i < 16; i++) {\n    x[i+16]=a[i];\n    x[i+32]=c[i];\n    x[i+48]=b[i];\n    x[i+64]=d[i];\n  }\n  var x32 = x.subarray(32);\n  var x16 = x.subarray(16);\n  inv25519(x32,x32);\n  M(x16,x16,x32);\n  pack25519(q,x16);\n  return 0;\n}\n\nfunction crypto_scalarmult_base(q, n) {\n  return crypto_scalarmult(q, n, _9);\n}\n\nfunction crypto_box_keypair(y, x) {\n  randombytes(x, 32);\n  return crypto_scalarmult_base(y, x);\n}\n\nvar K = [\n  0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n  0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n  0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n  0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n  0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n  0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n  0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n  0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n  0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n  0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n  0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n  0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n  0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n  0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n  0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n  0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n  0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n  0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n  0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n  0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n  0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n  0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n  0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n  0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n  0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n  0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n  0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n  0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n  0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n  0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n  0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n  0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n  0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n  0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n  0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n  0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n  0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n  0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n  0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n  0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction crypto_hashblocks_hl(hh, hl, m, n) {\n  var wh = new Int32Array(16), wl = new Int32Array(16),\n      bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7,\n      bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7,\n      th, tl, i, j, h, l, a, b, c, d;\n\n  var ah0 = hh[0],\n      ah1 = hh[1],\n      ah2 = hh[2],\n      ah3 = hh[3],\n      ah4 = hh[4],\n      ah5 = hh[5],\n      ah6 = hh[6],\n      ah7 = hh[7],\n\n      al0 = hl[0],\n      al1 = hl[1],\n      al2 = hl[2],\n      al3 = hl[3],\n      al4 = hl[4],\n      al5 = hl[5],\n      al6 = hl[6],\n      al7 = hl[7];\n\n  var pos = 0;\n  while (n >= 128) {\n    for (i = 0; i < 16; i++) {\n      j = 8 * i + pos;\n      wh[i] = (m[j+0] << 24) | (m[j+1] << 16) | (m[j+2] << 8) | m[j+3];\n      wl[i] = (m[j+4] << 24) | (m[j+5] << 16) | (m[j+6] << 8) | m[j+7];\n    }\n    for (i = 0; i < 80; i++) {\n      bh0 = ah0;\n      bh1 = ah1;\n      bh2 = ah2;\n      bh3 = ah3;\n      bh4 = ah4;\n      bh5 = ah5;\n      bh6 = ah6;\n      bh7 = ah7;\n\n      bl0 = al0;\n      bl1 = al1;\n      bl2 = al2;\n      bl3 = al3;\n      bl4 = al4;\n      bl5 = al5;\n      bl6 = al6;\n      bl7 = al7;\n\n      // add\n      h = ah7;\n      l = al7;\n\n      a = l & 0xffff; b = l >>> 16;\n      c = h & 0xffff; d = h >>> 16;\n\n      // Sigma1\n      h = ((ah4 >>> 14) | (al4 << (32-14))) ^ ((ah4 >>> 18) | (al4 << (32-18))) ^ ((al4 >>> (41-32)) | (ah4 << (32-(41-32))));\n      l = ((al4 >>> 14) | (ah4 << (32-14))) ^ ((al4 >>> 18) | (ah4 << (32-18))) ^ ((ah4 >>> (41-32)) | (al4 << (32-(41-32))));\n\n      a += l & 0xffff; b += l >>> 16;\n      c += h & 0xffff; d += h >>> 16;\n\n      // Ch\n      h = (ah4 & ah5) ^ (~ah4 & ah6);\n      l = (al4 & al5) ^ (~al4 & al6);\n\n      a += l & 0xffff; b += l >>> 16;\n      c += h & 0xffff; d += h >>> 16;\n\n      // K\n      h = K[i*2];\n      l = K[i*2+1];\n\n      a += l & 0xffff; b += l >>> 16;\n      c += h & 0xffff; d += h >>> 16;\n\n      // w\n      h = wh[i%16];\n      l = wl[i%16];\n\n      a += l & 0xffff; b += l >>> 16;\n      c += h & 0xffff; d += h >>> 16;\n\n      b += a >>> 16;\n      c += b >>> 16;\n      d += c >>> 16;\n\n      th = c & 0xffff | d << 16;\n      tl = a & 0xffff | b << 16;\n\n      // add\n      h = th;\n      l = tl;\n\n      a = l & 0xffff; b = l >>> 16;\n      c = h & 0xffff; d = h >>> 16;\n\n      // Sigma0\n      h = ((ah0 >>> 28) | (al0 << (32-28))) ^ ((al0 >>> (34-32)) | (ah0 << (32-(34-32)))) ^ ((al0 >>> (39-32)) | (ah0 << (32-(39-32))));\n      l = ((al0 >>> 28) | (ah0 << (32-28))) ^ ((ah0 >>> (34-32)) | (al0 << (32-(34-32)))) ^ ((ah0 >>> (39-32)) | (al0 << (32-(39-32))));\n\n      a += l & 0xffff; b += l >>> 16;\n      c += h & 0xffff; d += h >>> 16;\n\n      // Maj\n      h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n      l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n      a += l & 0xffff; b += l >>> 16;\n      c += h & 0xffff; d += h >>> 16;\n\n      b += a >>> 16;\n      c += b >>> 16;\n      d += c >>> 16;\n\n      bh7 = (c & 0xffff) | (d << 16);\n      bl7 = (a & 0xffff) | (b << 16);\n\n      // add\n      h = bh3;\n      l = bl3;\n\n      a = l & 0xffff; b = l >>> 16;\n      c = h & 0xffff; d = h >>> 16;\n\n      h = th;\n      l = tl;\n\n      a += l & 0xffff; b += l >>> 16;\n      c += h & 0xffff; d += h >>> 16;\n\n      b += a >>> 16;\n      c += b >>> 16;\n      d += c >>> 16;\n\n      bh3 = (c & 0xffff) | (d << 16);\n      bl3 = (a & 0xffff) | (b << 16);\n\n      ah1 = bh0;\n      ah2 = bh1;\n      ah3 = bh2;\n      ah4 = bh3;\n      ah5 = bh4;\n      ah6 = bh5;\n      ah7 = bh6;\n      ah0 = bh7;\n\n      al1 = bl0;\n      al2 = bl1;\n      al3 = bl2;\n      al4 = bl3;\n      al5 = bl4;\n      al6 = bl5;\n      al7 = bl6;\n      al0 = bl7;\n\n      if (i%16 === 15) {\n        for (j = 0; j < 16; j++) {\n          // add\n          h = wh[j];\n          l = wl[j];\n\n          a = l & 0xffff; b = l >>> 16;\n          c = h & 0xffff; d = h >>> 16;\n\n          h = wh[(j+9)%16];\n          l = wl[(j+9)%16];\n\n          a += l & 0xffff; b += l >>> 16;\n          c += h & 0xffff; d += h >>> 16;\n\n          // sigma0\n          th = wh[(j+1)%16];\n          tl = wl[(j+1)%16];\n          h = ((th >>> 1) | (tl << (32-1))) ^ ((th >>> 8) | (tl << (32-8))) ^ (th >>> 7);\n          l = ((tl >>> 1) | (th << (32-1))) ^ ((tl >>> 8) | (th << (32-8))) ^ ((tl >>> 7) | (th << (32-7)));\n\n          a += l & 0xffff; b += l >>> 16;\n          c += h & 0xffff; d += h >>> 16;\n\n          // sigma1\n          th = wh[(j+14)%16];\n          tl = wl[(j+14)%16];\n          h = ((th >>> 19) | (tl << (32-19))) ^ ((tl >>> (61-32)) | (th << (32-(61-32)))) ^ (th >>> 6);\n          l = ((tl >>> 19) | (th << (32-19))) ^ ((th >>> (61-32)) | (tl << (32-(61-32)))) ^ ((tl >>> 6) | (th << (32-6)));\n\n          a += l & 0xffff; b += l >>> 16;\n          c += h & 0xffff; d += h >>> 16;\n\n          b += a >>> 16;\n          c += b >>> 16;\n          d += c >>> 16;\n\n          wh[j] = (c & 0xffff) | (d << 16);\n          wl[j] = (a & 0xffff) | (b << 16);\n        }\n      }\n    }\n\n    // add\n    h = ah0;\n    l = al0;\n\n    a = l & 0xffff; b = l >>> 16;\n    c = h & 0xffff; d = h >>> 16;\n\n    h = hh[0];\n    l = hl[0];\n\n    a += l & 0xffff; b += l >>> 16;\n    c += h & 0xffff; d += h >>> 16;\n\n    b += a >>> 16;\n    c += b >>> 16;\n    d += c >>> 16;\n\n    hh[0] = ah0 = (c & 0xffff) | (d << 16);\n    hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n    h = ah1;\n    l = al1;\n\n    a = l & 0xffff; b = l >>> 16;\n    c = h & 0xffff; d = h >>> 16;\n\n    h = hh[1];\n    l = hl[1];\n\n    a += l & 0xffff; b += l >>> 16;\n    c += h & 0xffff; d += h >>> 16;\n\n    b += a >>> 16;\n    c += b >>> 16;\n    d += c >>> 16;\n\n    hh[1] = ah1 = (c & 0xffff) | (d << 16);\n    hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n    h = ah2;\n    l = al2;\n\n    a = l & 0xffff; b = l >>> 16;\n    c = h & 0xffff; d = h >>> 16;\n\n    h = hh[2];\n    l = hl[2];\n\n    a += l & 0xffff; b += l >>> 16;\n    c += h & 0xffff; d += h >>> 16;\n\n    b += a >>> 16;\n    c += b >>> 16;\n    d += c >>> 16;\n\n    hh[2] = ah2 = (c & 0xffff) | (d << 16);\n    hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n    h = ah3;\n    l = al3;\n\n    a = l & 0xffff; b = l >>> 16;\n    c = h & 0xffff; d = h >>> 16;\n\n    h = hh[3];\n    l = hl[3];\n\n    a += l & 0xffff; b += l >>> 16;\n    c += h & 0xffff; d += h >>> 16;\n\n    b += a >>> 16;\n    c += b >>> 16;\n    d += c >>> 16;\n\n    hh[3] = ah3 = (c & 0xffff) | (d << 16);\n    hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n    h = ah4;\n    l = al4;\n\n    a = l & 0xffff; b = l >>> 16;\n    c = h & 0xffff; d = h >>> 16;\n\n    h = hh[4];\n    l = hl[4];\n\n    a += l & 0xffff; b += l >>> 16;\n    c += h & 0xffff; d += h >>> 16;\n\n    b += a >>> 16;\n    c += b >>> 16;\n    d += c >>> 16;\n\n    hh[4] = ah4 = (c & 0xffff) | (d << 16);\n    hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n    h = ah5;\n    l = al5;\n\n    a = l & 0xffff; b = l >>> 16;\n    c = h & 0xffff; d = h >>> 16;\n\n    h = hh[5];\n    l = hl[5];\n\n    a += l & 0xffff; b += l >>> 16;\n    c += h & 0xffff; d += h >>> 16;\n\n    b += a >>> 16;\n    c += b >>> 16;\n    d += c >>> 16;\n\n    hh[5] = ah5 = (c & 0xffff) | (d << 16);\n    hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n    h = ah6;\n    l = al6;\n\n    a = l & 0xffff; b = l >>> 16;\n    c = h & 0xffff; d = h >>> 16;\n\n    h = hh[6];\n    l = hl[6];\n\n    a += l & 0xffff; b += l >>> 16;\n    c += h & 0xffff; d += h >>> 16;\n\n    b += a >>> 16;\n    c += b >>> 16;\n    d += c >>> 16;\n\n    hh[6] = ah6 = (c & 0xffff) | (d << 16);\n    hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n    h = ah7;\n    l = al7;\n\n    a = l & 0xffff; b = l >>> 16;\n    c = h & 0xffff; d = h >>> 16;\n\n    h = hh[7];\n    l = hl[7];\n\n    a += l & 0xffff; b += l >>> 16;\n    c += h & 0xffff; d += h >>> 16;\n\n    b += a >>> 16;\n    c += b >>> 16;\n    d += c >>> 16;\n\n    hh[7] = ah7 = (c & 0xffff) | (d << 16);\n    hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n    pos += 128;\n    n -= 128;\n  }\n\n  return n;\n}\n\nfunction crypto_hash(out, m, n) {\n  var hh = new Int32Array(8),\n      hl = new Int32Array(8),\n      x = new Uint8Array(256),\n      i, b = n;\n\n  hh[0] = 0x6a09e667;\n  hh[1] = 0xbb67ae85;\n  hh[2] = 0x3c6ef372;\n  hh[3] = 0xa54ff53a;\n  hh[4] = 0x510e527f;\n  hh[5] = 0x9b05688c;\n  hh[6] = 0x1f83d9ab;\n  hh[7] = 0x5be0cd19;\n\n  hl[0] = 0xf3bcc908;\n  hl[1] = 0x84caa73b;\n  hl[2] = 0xfe94f82b;\n  hl[3] = 0x5f1d36f1;\n  hl[4] = 0xade682d1;\n  hl[5] = 0x2b3e6c1f;\n  hl[6] = 0xfb41bd6b;\n  hl[7] = 0x137e2179;\n\n  crypto_hashblocks_hl(hh, hl, m, n);\n  n %= 128;\n\n  for (i = 0; i < n; i++) x[i] = m[b-n+i];\n  x[n] = 128;\n\n  n = 256-128*(n<112?1:0);\n  x[n-9] = 0;\n  ts64(x, n-8,  (b / 0x20000000) | 0, b << 3);\n  crypto_hashblocks_hl(hh, hl, x, n);\n\n  for (i = 0; i < 8; i++) ts64(out, 8*i, hh[i], hl[i]);\n\n  return 0;\n}\n\nfunction add(p, q) {\n  var a = gf(), b = gf(), c = gf(),\n      d = gf(), e = gf(), f = gf(),\n      g = gf(), h = gf(), t = gf();\n\n  Z(a, p[1], p[0]);\n  Z(t, q[1], q[0]);\n  M(a, a, t);\n  A(b, p[0], p[1]);\n  A(t, q[0], q[1]);\n  M(b, b, t);\n  M(c, p[3], q[3]);\n  M(c, c, D2);\n  M(d, p[2], q[2]);\n  A(d, d, d);\n  Z(e, b, a);\n  Z(f, d, c);\n  A(g, d, c);\n  A(h, b, a);\n\n  M(p[0], e, f);\n  M(p[1], h, g);\n  M(p[2], g, f);\n  M(p[3], e, h);\n}\n\nfunction cswap(p, q, b) {\n  var i;\n  for (i = 0; i < 4; i++) {\n    sel25519(p[i], q[i], b);\n  }\n}\n\nfunction pack(r, p) {\n  var tx = gf(), ty = gf(), zi = gf();\n  inv25519(zi, p[2]);\n  M(tx, p[0], zi);\n  M(ty, p[1], zi);\n  pack25519(r, ty);\n  r[31] ^= par25519(tx) << 7;\n}\n\nfunction scalarmult(p, q, s) {\n  var b, i;\n  set25519(p[0], gf0);\n  set25519(p[1], gf1);\n  set25519(p[2], gf1);\n  set25519(p[3], gf0);\n  for (i = 255; i >= 0; --i) {\n    b = (s[(i/8)|0] >> (i&7)) & 1;\n    cswap(p, q, b);\n    add(q, p);\n    add(p, p);\n    cswap(p, q, b);\n  }\n}\n\nfunction scalarbase(p, s) {\n  var q = [gf(), gf(), gf(), gf()];\n  set25519(q[0], X);\n  set25519(q[1], Y);\n  set25519(q[2], gf1);\n  M(q[3], X, Y);\n  scalarmult(p, q, s);\n}\n\nfunction crypto_sign_keypair(pk, sk, seeded) {\n  var d = new Uint8Array(64);\n  var p = [gf(), gf(), gf(), gf()];\n  var i;\n\n  if (!seeded) randombytes(sk, 32);\n  crypto_hash(d, sk, 32);\n  d[0] &= 248;\n  d[31] &= 127;\n  d[31] |= 64;\n\n  scalarbase(p, d);\n  pack(pk, p);\n\n  for (i = 0; i < 32; i++) sk[i+32] = pk[i];\n  return 0;\n}\n\nvar L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]);\n\nfunction modL(r, x) {\n  var carry, i, j, k;\n  for (i = 63; i >= 32; --i) {\n    carry = 0;\n    for (j = i - 32, k = i - 12; j < k; ++j) {\n      x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n      carry = Math.floor((x[j] + 128) / 256);\n      x[j] -= carry * 256;\n    }\n    x[j] += carry;\n    x[i] = 0;\n  }\n  carry = 0;\n  for (j = 0; j < 32; j++) {\n    x[j] += carry - (x[31] >> 4) * L[j];\n    carry = x[j] >> 8;\n    x[j] &= 255;\n  }\n  for (j = 0; j < 32; j++) x[j] -= carry * L[j];\n  for (i = 0; i < 32; i++) {\n    x[i+1] += x[i] >> 8;\n    r[i] = x[i] & 255;\n  }\n}\n\nfunction reduce(r) {\n  var x = new Float64Array(64), i;\n  for (i = 0; i < 64; i++) x[i] = r[i];\n  for (i = 0; i < 64; i++) r[i] = 0;\n  modL(r, x);\n}\n\n// Note: difference from C - smlen returned, not passed as argument.\nfunction crypto_sign(sm, m, n, sk) {\n  var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64);\n  var i, j, x = new Float64Array(64);\n  var p = [gf(), gf(), gf(), gf()];\n\n  crypto_hash(d, sk, 32);\n  d[0] &= 248;\n  d[31] &= 127;\n  d[31] |= 64;\n\n  var smlen = n + 64;\n  for (i = 0; i < n; i++) sm[64 + i] = m[i];\n  for (i = 0; i < 32; i++) sm[32 + i] = d[32 + i];\n\n  crypto_hash(r, sm.subarray(32), n+32);\n  reduce(r);\n  scalarbase(p, r);\n  pack(sm, p);\n\n  for (i = 32; i < 64; i++) sm[i] = sk[i];\n  crypto_hash(h, sm, n + 64);\n  reduce(h);\n\n  for (i = 0; i < 64; i++) x[i] = 0;\n  for (i = 0; i < 32; i++) x[i] = r[i];\n  for (i = 0; i < 32; i++) {\n    for (j = 0; j < 32; j++) {\n      x[i+j] += h[i] * d[j];\n    }\n  }\n\n  modL(sm.subarray(32), x);\n  return smlen;\n}\n\nfunction unpackneg(r, p) {\n  var t = gf(), chk = gf(), num = gf(),\n      den = gf(), den2 = gf(), den4 = gf(),\n      den6 = gf();\n\n  set25519(r[2], gf1);\n  unpack25519(r[1], p);\n  S(num, r[1]);\n  M(den, num, D);\n  Z(num, num, r[2]);\n  A(den, r[2], den);\n\n  S(den2, den);\n  S(den4, den2);\n  M(den6, den4, den2);\n  M(t, den6, num);\n  M(t, t, den);\n\n  pow2523(t, t);\n  M(t, t, num);\n  M(t, t, den);\n  M(t, t, den);\n  M(r[0], t, den);\n\n  S(chk, r[0]);\n  M(chk, chk, den);\n  if (neq25519(chk, num)) M(r[0], r[0], I);\n\n  S(chk, r[0]);\n  M(chk, chk, den);\n  if (neq25519(chk, num)) return -1;\n\n  if (par25519(r[0]) === (p[31]>>7)) Z(r[0], gf0, r[0]);\n\n  M(r[3], r[0], r[1]);\n  return 0;\n}\n\nfunction crypto_sign_open(m, sm, n, pk) {\n  var i;\n  var t = new Uint8Array(32), h = new Uint8Array(64);\n  var p = [gf(), gf(), gf(), gf()],\n      q = [gf(), gf(), gf(), gf()];\n\n  if (n < 64) return -1;\n\n  if (unpackneg(q, pk)) return -1;\n\n  for (i = 0; i < n; i++) m[i] = sm[i];\n  for (i = 0; i < 32; i++) m[i+32] = pk[i];\n  crypto_hash(h, m, n);\n  reduce(h);\n  scalarmult(p, q, h);\n\n  scalarbase(q, sm.subarray(32));\n  add(p, q);\n  pack(t, p);\n\n  n -= 64;\n  if (crypto_verify_32(sm, 0, t, 0)) {\n    for (i = 0; i < n; i++) m[i] = 0;\n    return -1;\n  }\n\n  for (i = 0; i < n; i++) m[i] = sm[i + 64];\n  return n;\n}\n\nvar crypto_scalarmult_BYTES = 32,\n    crypto_scalarmult_SCALARBYTES = 32,\n    crypto_box_PUBLICKEYBYTES = 32,\n    crypto_box_SECRETKEYBYTES = 32,\n    crypto_sign_BYTES = 64,\n    crypto_sign_PUBLICKEYBYTES = 32,\n    crypto_sign_SECRETKEYBYTES = 64,\n    crypto_sign_SEEDBYTES = 32;\n\nfunction checkArrayTypes() {\n  for (var i = 0; i < arguments.length; i++) {\n    if (!(arguments[i] instanceof Uint8Array))\n      throw new TypeError('unexpected type, use Uint8Array');\n  }\n}\n\nfunction cleanup(arr) {\n  for (var i = 0; i < arr.length; i++) arr[i] = 0;\n}\n\nnacl.scalarMult = function(n, p) {\n  checkArrayTypes(n, p);\n  if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n  if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size');\n  var q = new Uint8Array(crypto_scalarmult_BYTES);\n  crypto_scalarmult(q, n, p);\n  return q;\n};\n\nnacl.box = {};\n\nnacl.box.keyPair = function() {\n  var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n  var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n  crypto_box_keypair(pk, sk);\n  return {publicKey: pk, secretKey: sk};\n};\n\nnacl.box.keyPair.fromSecretKey = function(secretKey) {\n  checkArrayTypes(secretKey);\n  if (secretKey.length !== crypto_box_SECRETKEYBYTES)\n    throw new Error('bad secret key size');\n  var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n  crypto_scalarmult_base(pk, secretKey);\n  return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.sign = function(msg, secretKey) {\n  checkArrayTypes(msg, secretKey);\n  if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n    throw new Error('bad secret key size');\n  var signedMsg = new Uint8Array(crypto_sign_BYTES+msg.length);\n  crypto_sign(signedMsg, msg, msg.length, secretKey);\n  return signedMsg;\n};\n\nnacl.sign.detached = function(msg, secretKey) {\n  var signedMsg = nacl.sign(msg, secretKey);\n  var sig = new Uint8Array(crypto_sign_BYTES);\n  for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i];\n  return sig;\n};\n\nnacl.sign.detached.verify = function(msg, sig, publicKey) {\n  checkArrayTypes(msg, sig, publicKey);\n  if (sig.length !== crypto_sign_BYTES)\n    throw new Error('bad signature size');\n  if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n    throw new Error('bad public key size');\n  var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n  var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n  var i;\n  for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i];\n  for (i = 0; i < msg.length; i++) sm[i+crypto_sign_BYTES] = msg[i];\n  return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0);\n};\n\nnacl.sign.keyPair = function() {\n  var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n  var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n  crypto_sign_keypair(pk, sk);\n  return {publicKey: pk, secretKey: sk};\n};\n\nnacl.sign.keyPair.fromSecretKey = function(secretKey) {\n  checkArrayTypes(secretKey);\n  if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n    throw new Error('bad secret key size');\n  var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n  for (var i = 0; i < pk.length; i++) pk[i] = secretKey[32+i];\n  return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.sign.keyPair.fromSeed = function(seed) {\n  checkArrayTypes(seed);\n  if (seed.length !== crypto_sign_SEEDBYTES)\n    throw new Error('bad seed size');\n  var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n  var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n  for (var i = 0; i < 32; i++) sk[i] = seed[i];\n  crypto_sign_keypair(pk, sk, true);\n  return {publicKey: pk, secretKey: sk};\n};\n\nnacl.setPRNG = function(fn) {\n  randombytes = fn;\n};\n\n(function() {\n  // Initialize PRNG if environment provides CSPRNG.\n  // If not, methods calling randombytes will throw.\n  if (crypto && crypto.getRandomValues) {\n    // Browsers and Node v16+\n    var QUOTA = 65536;\n    nacl.setPRNG(function(x, n) {\n      var i, v = new Uint8Array(n);\n      for (i = 0; i < n; i += QUOTA) {\n        crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA)));\n      }\n      for (i = 0; i < n; i++) x[i] = v[i];\n      cleanup(v);\n    });\n  }\n})();\n"],"names":["crypto","globalThis","undefined","nacl","gf","init","i","r","Float64Array","length","randombytes","Error","_9","Uint8Array","gf0","gf1","_121665","D","D2","X","Y","I","ts64","x","h","l","crypto_verify_32","xi","y","yi","n","d","vn","set25519","a","car25519","o","v","c","Math","floor","sel25519","p","q","b","t","pack25519","j","m","neq25519","par25519","unpack25519","A","Z","M","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","b10","b11","b12","b13","b14","b15","S","inv25519","crypto_scalarmult","z","e","f","x32","subarray","x16","crypto_scalarmult_base","K","crypto_hashblocks_hl","hh","hl","bh0","bh1","bh2","bh3","bh4","bh5","bh6","bh7","bl0","bl1","bl2","bl3","bl4","bl5","bl6","bl7","th","tl","wh","Int32Array","wl","ah0","ah1","ah2","ah3","ah4","ah5","ah6","ah7","al0","al1","al2","al3","al4","al5","al6","al7","pos","crypto_hash","out","add","g","cswap","pack","tx","ty","zi","scalarmult","s","scalarbase","crypto_sign_keypair","pk","sk","seeded","L","modL","carry","k","reduce","unpackneg","chk","num","den","den2","den4","den6","pow2523","crypto_sign_BYTES","checkArrayTypes","arguments","TypeError","scalarMult","box","keyPair","publicKey","secretKey","fromSecretKey","sign","msg","signedMsg","sm","smlen","crypto_sign","detached","sig","verify","crypto_sign_open","fromSeed","seed","setPRNG","fn","getRandomValues","min","arr","cleanup"],"mappings":"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","x_google_ignoreList":[0,1]}