pixel-react 1.15.21 → 1.15.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_virtual/aesCipherSuites.js +4 -0
- package/lib/_virtual/aesCipherSuites.js.map +1 -0
- package/lib/_virtual/asn1-validator.js +4 -0
- package/lib/_virtual/asn1-validator.js.map +1 -0
- package/lib/_virtual/asn1.js +4 -0
- package/lib/_virtual/asn1.js.map +1 -0
- package/lib/_virtual/cipherModes.js +4 -0
- package/lib/_virtual/cipherModes.js.map +1 -0
- package/lib/_virtual/hmac.js +4 -0
- package/lib/_virtual/hmac.js.map +1 -0
- package/lib/_virtual/index11.js +2 -2
- package/lib/_virtual/index12.js +2 -2
- package/lib/_virtual/index13.js +2 -2
- package/lib/_virtual/index14.js +4 -0
- package/lib/_virtual/index14.js.map +1 -0
- package/lib/_virtual/index2.js +5 -3
- package/lib/_virtual/index2.js.map +1 -1
- package/lib/_virtual/index3.js +4 -2
- package/lib/_virtual/index3.js.map +1 -1
- package/lib/_virtual/index4.js +2 -4
- package/lib/_virtual/index4.js.map +1 -1
- package/lib/_virtual/index5.js +4 -2
- package/lib/_virtual/index5.js.map +1 -1
- package/lib/_virtual/index6.js +2 -2
- package/lib/_virtual/index7.js +2 -6
- package/lib/_virtual/index7.js.map +1 -1
- package/lib/_virtual/index8.js +6 -2
- package/lib/_virtual/index8.js.map +1 -1
- package/lib/_virtual/index9.js +2 -2
- package/lib/_virtual/md5.js +4 -0
- package/lib/_virtual/md5.js.map +1 -0
- package/lib/_virtual/mgf1.js +4 -0
- package/lib/_virtual/mgf1.js.map +1 -0
- package/lib/_virtual/oids.js +4 -0
- package/lib/_virtual/oids.js.map +1 -0
- package/lib/_virtual/pem.js +4 -0
- package/lib/_virtual/pem.js.map +1 -0
- package/lib/_virtual/pkcs1.js +4 -0
- package/lib/_virtual/pkcs1.js.map +1 -0
- package/lib/_virtual/pkcs12.js +4 -0
- package/lib/_virtual/pkcs12.js.map +1 -0
- package/lib/_virtual/pkcs7.js +4 -0
- package/lib/_virtual/pkcs7.js.map +1 -0
- package/lib/_virtual/pkcs7asn1.js +4 -0
- package/lib/_virtual/pkcs7asn1.js.map +1 -0
- package/lib/_virtual/pki.js +4 -0
- package/lib/_virtual/pki.js.map +1 -0
- package/lib/_virtual/prime.js +4 -0
- package/lib/_virtual/prime.js.map +1 -0
- package/lib/_virtual/prng.js +4 -0
- package/lib/_virtual/prng.js.map +1 -0
- package/lib/_virtual/pss.js +4 -0
- package/lib/_virtual/pss.js.map +1 -0
- package/lib/_virtual/random.js +4 -0
- package/lib/_virtual/random.js.map +1 -0
- package/lib/_virtual/sha1.js +4 -0
- package/lib/_virtual/sha1.js.map +1 -0
- package/lib/_virtual/sha256.js +4 -0
- package/lib/_virtual/sha256.js.map +1 -0
- package/lib/_virtual/sha512.js +4 -0
- package/lib/_virtual/sha512.js.map +1 -0
- package/lib/_virtual/ssh.js +4 -0
- package/lib/_virtual/ssh.js.map +1 -0
- package/lib/_virtual/util.js +4 -0
- package/lib/_virtual/util.js.map +1 -0
- package/lib/_virtual/x509.js +4 -0
- package/lib/_virtual/x509.js.map +1 -0
- package/lib/assets/icons/testify_icon.svg.js +6 -0
- package/lib/assets/icons/testify_icon.svg.js.map +1 -0
- package/lib/assets/icons/testify_loader.svg.js +6 -0
- package/lib/assets/icons/testify_loader.svg.js.map +1 -0
- package/lib/assets/icons/testify_logo_name.svg.js +6 -0
- package/lib/assets/icons/testify_logo_name.svg.js.map +1 -0
- package/lib/components/AllProjectsDropdown/AllProjectsDropdown.js +3 -1
- package/lib/components/AllProjectsDropdown/AllProjectsDropdown.js.map +1 -1
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js +2 -9
- package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js.map +1 -1
- package/lib/components/Charts/DashboardDonutChart/types.d.ts +1 -1
- package/lib/components/ConditionalDropdown/ConditionalDropdown.js +2 -9
- package/lib/components/ConditionalDropdown/ConditionalDropdown.js.map +1 -1
- package/lib/components/Editor/Editor.js +37 -17
- package/lib/components/Editor/Editor.js.map +1 -1
- package/lib/components/Icon/iconList.js +6 -0
- package/lib/components/Icon/iconList.js.map +1 -1
- package/lib/components/MultiSelect/MultiSelect.js +9 -10
- package/lib/components/MultiSelect/MultiSelect.js.map +1 -1
- package/lib/components/PhoneInput/PhoneInput.js +1 -0
- package/lib/components/PhoneInput/PhoneInput.js.map +1 -1
- package/lib/components/SessionDropdown/SessionDropdown.js +4 -2
- package/lib/components/SessionDropdown/SessionDropdown.js.map +1 -1
- package/lib/index.cjs +27423 -379
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/node_modules/classnames/index.js +1 -1
- package/lib/node_modules/input-format/modules/react/Input.js +1 -1
- package/lib/node_modules/js-beautify/js/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
- package/lib/node_modules/js-beautify/js/src/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
- package/lib/node_modules/node-forge/lib/aes.js +1014 -0
- package/lib/node_modules/node-forge/lib/aes.js.map +1 -0
- package/lib/node_modules/node-forge/lib/aesCipherSuites.js +286 -0
- package/lib/node_modules/node-forge/lib/aesCipherSuites.js.map +1 -0
- package/lib/node_modules/node-forge/lib/asn1-validator.js +100 -0
- package/lib/node_modules/node-forge/lib/asn1-validator.js.map +1 -0
- package/lib/node_modules/node-forge/lib/asn1.js +1379 -0
- package/lib/node_modules/node-forge/lib/asn1.js.map +1 -0
- package/lib/node_modules/node-forge/lib/baseN.js +181 -0
- package/lib/node_modules/node-forge/lib/baseN.js.map +1 -0
- package/lib/node_modules/node-forge/lib/cipher.js +236 -0
- package/lib/node_modules/node-forge/lib/cipher.js.map +1 -0
- package/lib/node_modules/node-forge/lib/cipherModes.js +936 -0
- package/lib/node_modules/node-forge/lib/cipherModes.js.map +1 -0
- package/lib/node_modules/node-forge/lib/des.js +467 -0
- package/lib/node_modules/node-forge/lib/des.js.map +1 -0
- package/lib/node_modules/node-forge/lib/ed25519.js +1108 -0
- package/lib/node_modules/node-forge/lib/ed25519.js.map +1 -0
- package/lib/node_modules/node-forge/lib/forge.js +23 -0
- package/lib/node_modules/node-forge/lib/forge.js.map +1 -0
- package/lib/node_modules/node-forge/lib/hmac.js +158 -0
- package/lib/node_modules/node-forge/lib/hmac.js.map +1 -0
- package/lib/node_modules/node-forge/lib/index.js +70 -0
- package/lib/node_modules/node-forge/lib/index.js.map +1 -0
- package/lib/node_modules/node-forge/lib/jsbn.js +1481 -0
- package/lib/node_modules/node-forge/lib/jsbn.js.map +1 -0
- package/lib/node_modules/node-forge/lib/kem.js +178 -0
- package/lib/node_modules/node-forge/lib/kem.js.map +1 -0
- package/lib/node_modules/node-forge/lib/log.js +325 -0
- package/lib/node_modules/node-forge/lib/log.js.map +1 -0
- package/lib/node_modules/node-forge/lib/md.all.js +28 -0
- package/lib/node_modules/node-forge/lib/md.all.js.map +1 -0
- package/lib/node_modules/node-forge/lib/md.js +22 -0
- package/lib/node_modules/node-forge/lib/md.js.map +1 -0
- package/lib/node_modules/node-forge/lib/md5.js +288 -0
- package/lib/node_modules/node-forge/lib/md5.js.map +1 -0
- package/lib/node_modules/node-forge/lib/mgf.js +24 -0
- package/lib/node_modules/node-forge/lib/mgf.js.map +1 -0
- package/lib/node_modules/node-forge/lib/mgf1.js +68 -0
- package/lib/node_modules/node-forge/lib/mgf1.js.map +1 -0
- package/lib/node_modules/node-forge/lib/oids.js +185 -0
- package/lib/node_modules/node-forge/lib/oids.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pbe.js +966 -0
- package/lib/node_modules/node-forge/lib/pbe.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pbkdf2.js +209 -0
- package/lib/node_modules/node-forge/lib/pbkdf2.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pem.js +250 -0
- package/lib/node_modules/node-forge/lib/pem.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pkcs1.js +273 -0
- package/lib/node_modules/node-forge/lib/pkcs1.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pkcs12.js +980 -0
- package/lib/node_modules/node-forge/lib/pkcs12.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pkcs7.js +1073 -0
- package/lib/node_modules/node-forge/lib/pkcs7.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pkcs7asn1.js +415 -0
- package/lib/node_modules/node-forge/lib/pkcs7asn1.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pki.js +125 -0
- package/lib/node_modules/node-forge/lib/pki.js.map +1 -0
- package/lib/node_modules/node-forge/lib/prime.js +297 -0
- package/lib/node_modules/node-forge/lib/prime.js.map +1 -0
- package/lib/node_modules/node-forge/lib/prng.js +433 -0
- package/lib/node_modules/node-forge/lib/prng.js.map +1 -0
- package/lib/node_modules/node-forge/lib/pss.js +246 -0
- package/lib/node_modules/node-forge/lib/pss.js.map +1 -0
- package/lib/node_modules/node-forge/lib/random.js +191 -0
- package/lib/node_modules/node-forge/lib/random.js.map +1 -0
- package/lib/node_modules/node-forge/lib/rc2.js +382 -0
- package/lib/node_modules/node-forge/lib/rc2.js.map +1 -0
- package/lib/node_modules/node-forge/lib/rsa.js +1815 -0
- package/lib/node_modules/node-forge/lib/rsa.js.map +1 -0
- package/lib/node_modules/node-forge/lib/sha1.js +325 -0
- package/lib/node_modules/node-forge/lib/sha1.js.map +1 -0
- package/lib/node_modules/node-forge/lib/sha256.js +306 -0
- package/lib/node_modules/node-forge/lib/sha256.js.map +1 -0
- package/lib/node_modules/node-forge/lib/sha512.js +479 -0
- package/lib/node_modules/node-forge/lib/sha512.js.map +1 -0
- package/lib/node_modules/node-forge/lib/ssh.js +244 -0
- package/lib/node_modules/node-forge/lib/ssh.js.map +1 -0
- package/lib/node_modules/node-forge/lib/tls.js +4207 -0
- package/lib/node_modules/node-forge/lib/tls.js.map +1 -0
- package/lib/node_modules/node-forge/lib/util.js +2565 -0
- package/lib/node_modules/node-forge/lib/util.js.map +1 -0
- package/lib/node_modules/node-forge/lib/x509.js +2986 -0
- package/lib/node_modules/node-forge/lib/x509.js.map +1 -0
- package/lib/node_modules/prop-types/index.js +1 -1
- package/lib/node_modules/react-async-script/lib/esm/async-script-loader.js +1 -1
- package/lib/node_modules/react-google-recaptcha/lib/esm/recaptcha.js +1 -1
- package/lib/node_modules/react-is/index.js +1 -1
- package/lib/node_modules/react-phone-number-input/modules/CountryIcon.js +1 -1
- package/lib/node_modules/react-phone-number-input/modules/CountrySelect.js +1 -1
- package/lib/node_modules/react-phone-number-input/modules/Flag.js +1 -1
- package/lib/node_modules/react-phone-number-input/modules/InputBasic.js +1 -1
- package/lib/node_modules/react-phone-number-input/modules/InputSmart.js +1 -1
- package/lib/node_modules/react-phone-number-input/modules/InternationalIcon.js +1 -1
- package/lib/node_modules/react-phone-number-input/modules/PhoneInputWithCountry.js +1 -1
- package/lib/node_modules/react-phone-number-input/modules/PropTypes.js +1 -1
- package/lib/node_modules/scheduler/index.js +1 -1
- package/lib/node_modules/use-context-selector/dist/index.js +1 -1
- package/lib/styles.css +1 -1
- package/lib/styles.css.map +1 -1
- package/lib/utils/getEncryptedData/getEncryptedData.js +10 -13
- package/lib/utils/getEncryptedData/getEncryptedData.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519.js","sources":["../../../../node_modules/node-forge/lib/ed25519.js"],"sourcesContent":["/**\n * JavaScript implementation of Ed25519.\n *\n * Copyright (c) 2017-2019 Digital Bazaar, Inc.\n *\n * This implementation is based on the most excellent TweetNaCl which is\n * in the public domain. Many thanks to its contributors:\n *\n * https://github.com/dchest/tweetnacl-js\n */\nvar forge = require('./forge');\nrequire('./jsbn');\nrequire('./random');\nrequire('./sha512');\nrequire('./util');\nvar asn1Validator = require('./asn1-validator');\nvar publicKeyValidator = asn1Validator.publicKeyValidator;\nvar privateKeyValidator = asn1Validator.privateKeyValidator;\n\nif(typeof BigInteger === 'undefined') {\n var BigInteger = forge.jsbn.BigInteger;\n}\n\nvar ByteBuffer = forge.util.ByteBuffer;\nvar NativeBuffer = typeof Buffer === 'undefined' ? Uint8Array : Buffer;\n\n/*\n * Ed25519 algorithms, see RFC 8032:\n * https://tools.ietf.org/html/rfc8032\n */\nforge.pki = forge.pki || {};\nmodule.exports = forge.pki.ed25519 = forge.ed25519 = forge.ed25519 || {};\nvar ed25519 = forge.ed25519;\n\ned25519.constants = {};\ned25519.constants.PUBLIC_KEY_BYTE_LENGTH = 32;\ned25519.constants.PRIVATE_KEY_BYTE_LENGTH = 64;\ned25519.constants.SEED_BYTE_LENGTH = 32;\ned25519.constants.SIGN_BYTE_LENGTH = 64;\ned25519.constants.HASH_BYTE_LENGTH = 64;\n\ned25519.generateKeyPair = function(options) {\n options = options || {};\n var seed = options.seed;\n if(seed === undefined) {\n // generate seed\n seed = forge.random.getBytesSync(ed25519.constants.SEED_BYTE_LENGTH);\n } else if(typeof seed === 'string') {\n if(seed.length !== ed25519.constants.SEED_BYTE_LENGTH) {\n throw new TypeError(\n '\"seed\" must be ' + ed25519.constants.SEED_BYTE_LENGTH +\n ' bytes in length.');\n }\n } else if(!(seed instanceof Uint8Array)) {\n throw new TypeError(\n '\"seed\" must be a node.js Buffer, Uint8Array, or a binary string.');\n }\n\n seed = messageToNativeBuffer({message: seed, encoding: 'binary'});\n\n var pk = new NativeBuffer(ed25519.constants.PUBLIC_KEY_BYTE_LENGTH);\n var sk = new NativeBuffer(ed25519.constants.PRIVATE_KEY_BYTE_LENGTH);\n for(var i = 0; i < 32; ++i) {\n sk[i] = seed[i];\n }\n crypto_sign_keypair(pk, sk);\n return {publicKey: pk, privateKey: sk};\n};\n\n/**\n * Converts a private key from a RFC8410 ASN.1 encoding.\n *\n * @param obj - The asn1 representation of a private key.\n *\n * @returns {Object} keyInfo - The key information.\n * @returns {Buffer|Uint8Array} keyInfo.privateKeyBytes - 32 private key bytes.\n */\ned25519.privateKeyFromAsn1 = function(obj) {\n var capture = {};\n var errors = [];\n var valid = forge.asn1.validate(obj, privateKeyValidator, capture, errors);\n if(!valid) {\n var error = new Error('Invalid Key.');\n error.errors = errors;\n throw error;\n }\n var oid = forge.asn1.derToOid(capture.privateKeyOid);\n var ed25519Oid = forge.oids.EdDSA25519;\n if(oid !== ed25519Oid) {\n throw new Error('Invalid OID \"' + oid + '\"; OID must be \"' +\n ed25519Oid + '\".');\n }\n var privateKey = capture.privateKey;\n // manually extract the private key bytes from nested octet string, see FIXME:\n // https://github.com/digitalbazaar/forge/blob/master/lib/asn1.js#L542\n var privateKeyBytes = messageToNativeBuffer({\n message: forge.asn1.fromDer(privateKey).value,\n encoding: 'binary'\n });\n // TODO: RFC8410 specifies a format for encoding the public key bytes along\n // with the private key bytes. `publicKeyBytes` can be returned in the\n // future. https://tools.ietf.org/html/rfc8410#section-10.3\n return {privateKeyBytes: privateKeyBytes};\n};\n\n/**\n * Converts a public key from a RFC8410 ASN.1 encoding.\n *\n * @param obj - The asn1 representation of a public key.\n *\n * @return {Buffer|Uint8Array} - 32 public key bytes.\n */\ned25519.publicKeyFromAsn1 = function(obj) {\n // get SubjectPublicKeyInfo\n var capture = {};\n var errors = [];\n var valid = forge.asn1.validate(obj, publicKeyValidator, capture, errors);\n if(!valid) {\n var error = new Error('Invalid Key.');\n error.errors = errors;\n throw error;\n }\n var oid = forge.asn1.derToOid(capture.publicKeyOid);\n var ed25519Oid = forge.oids.EdDSA25519;\n if(oid !== ed25519Oid) {\n throw new Error('Invalid OID \"' + oid + '\"; OID must be \"' +\n ed25519Oid + '\".');\n }\n var publicKeyBytes = capture.ed25519PublicKey;\n if(publicKeyBytes.length !== ed25519.constants.PUBLIC_KEY_BYTE_LENGTH) {\n throw new Error('Key length is invalid.');\n }\n return messageToNativeBuffer({\n message: publicKeyBytes,\n encoding: 'binary'\n });\n};\n\ned25519.publicKeyFromPrivateKey = function(options) {\n options = options || {};\n var privateKey = messageToNativeBuffer({\n message: options.privateKey, encoding: 'binary'\n });\n if(privateKey.length !== ed25519.constants.PRIVATE_KEY_BYTE_LENGTH) {\n throw new TypeError(\n '\"options.privateKey\" must have a byte length of ' +\n ed25519.constants.PRIVATE_KEY_BYTE_LENGTH);\n }\n\n var pk = new NativeBuffer(ed25519.constants.PUBLIC_KEY_BYTE_LENGTH);\n for(var i = 0; i < pk.length; ++i) {\n pk[i] = privateKey[32 + i];\n }\n return pk;\n};\n\ned25519.sign = function(options) {\n options = options || {};\n var msg = messageToNativeBuffer(options);\n var privateKey = messageToNativeBuffer({\n message: options.privateKey,\n encoding: 'binary'\n });\n if(privateKey.length === ed25519.constants.SEED_BYTE_LENGTH) {\n var keyPair = ed25519.generateKeyPair({seed: privateKey});\n privateKey = keyPair.privateKey;\n } else if(privateKey.length !== ed25519.constants.PRIVATE_KEY_BYTE_LENGTH) {\n throw new TypeError(\n '\"options.privateKey\" must have a byte length of ' +\n ed25519.constants.SEED_BYTE_LENGTH + ' or ' +\n ed25519.constants.PRIVATE_KEY_BYTE_LENGTH);\n }\n\n var signedMsg = new NativeBuffer(\n ed25519.constants.SIGN_BYTE_LENGTH + msg.length);\n crypto_sign(signedMsg, msg, msg.length, privateKey);\n\n var sig = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH);\n for(var i = 0; i < sig.length; ++i) {\n sig[i] = signedMsg[i];\n }\n return sig;\n};\n\ned25519.verify = function(options) {\n options = options || {};\n var msg = messageToNativeBuffer(options);\n if(options.signature === undefined) {\n throw new TypeError(\n '\"options.signature\" must be a node.js Buffer, a Uint8Array, a forge ' +\n 'ByteBuffer, or a binary string.');\n }\n var sig = messageToNativeBuffer({\n message: options.signature,\n encoding: 'binary'\n });\n if(sig.length !== ed25519.constants.SIGN_BYTE_LENGTH) {\n throw new TypeError(\n '\"options.signature\" must have a byte length of ' +\n ed25519.constants.SIGN_BYTE_LENGTH);\n }\n var publicKey = messageToNativeBuffer({\n message: options.publicKey,\n encoding: 'binary'\n });\n if(publicKey.length !== ed25519.constants.PUBLIC_KEY_BYTE_LENGTH) {\n throw new TypeError(\n '\"options.publicKey\" must have a byte length of ' +\n ed25519.constants.PUBLIC_KEY_BYTE_LENGTH);\n }\n\n var sm = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH + msg.length);\n var m = new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH + msg.length);\n var i;\n for(i = 0; i < ed25519.constants.SIGN_BYTE_LENGTH; ++i) {\n sm[i] = sig[i];\n }\n for(i = 0; i < msg.length; ++i) {\n sm[i + ed25519.constants.SIGN_BYTE_LENGTH] = msg[i];\n }\n return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0);\n};\n\nfunction messageToNativeBuffer(options) {\n var message = options.message;\n if(message instanceof Uint8Array || message instanceof NativeBuffer) {\n return message;\n }\n\n var encoding = options.encoding;\n if(message === undefined) {\n if(options.md) {\n // TODO: more rigorous validation that `md` is a MessageDigest\n message = options.md.digest().getBytes();\n encoding = 'binary';\n } else {\n throw new TypeError('\"options.message\" or \"options.md\" not specified.');\n }\n }\n\n if(typeof message === 'string' && !encoding) {\n throw new TypeError('\"options.encoding\" must be \"binary\" or \"utf8\".');\n }\n\n if(typeof message === 'string') {\n if(typeof Buffer !== 'undefined') {\n return Buffer.from(message, encoding);\n }\n message = new ByteBuffer(message, encoding);\n } else if(!(message instanceof ByteBuffer)) {\n throw new TypeError(\n '\"options.message\" must be a node.js Buffer, a Uint8Array, a forge ' +\n 'ByteBuffer, or a string with \"options.encoding\" specifying its ' +\n 'encoding.');\n }\n\n // convert to native buffer\n var buffer = new NativeBuffer(message.length());\n for(var i = 0; i < buffer.length; ++i) {\n buffer[i] = message.at(i);\n }\n return buffer;\n}\n\nvar gf0 = gf();\nvar gf1 = gf([1]);\nvar D = gf([\n 0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,\n 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]);\nvar D2 = gf([\n 0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,\n 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]);\nvar X = gf([\n 0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,\n 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]);\nvar Y = gf([\n 0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,\n 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]);\nvar L = new Float64Array([\n 0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58,\n 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]);\nvar I = gf([\n 0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,\n 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]);\n\n// TODO: update forge buffer implementation to use `Buffer` or `Uint8Array`,\n// whichever is available, to improve performance\nfunction sha512(msg, msgLen) {\n // Note: `out` and `msg` are NativeBuffer\n var md = forge.md.sha512.create();\n var buffer = new ByteBuffer(msg);\n md.update(buffer.getBytes(msgLen), 'binary');\n var hash = md.digest().getBytes();\n if(typeof Buffer !== 'undefined') {\n return Buffer.from(hash, 'binary');\n }\n var out = new NativeBuffer(ed25519.constants.HASH_BYTE_LENGTH);\n for(var i = 0; i < 64; ++i) {\n out[i] = hash.charCodeAt(i);\n }\n return out;\n}\n\nfunction crypto_sign_keypair(pk, sk) {\n var p = [gf(), gf(), gf(), gf()];\n var i;\n\n var d = sha512(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) {\n sk[i + 32] = pk[i];\n }\n return 0;\n}\n\n// Note: difference from C - smlen returned, not passed as argument.\nfunction crypto_sign(sm, m, n, sk) {\n var i, j, x = new Float64Array(64);\n var p = [gf(), gf(), gf(), gf()];\n\n var d = sha512(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) {\n sm[64 + i] = m[i];\n }\n for(i = 0; i < 32; ++i) {\n sm[32 + i] = d[32 + i];\n }\n\n var r = sha512(sm.subarray(32), n + 32);\n reduce(r);\n scalarbase(p, r);\n pack(sm, p);\n\n for(i = 32; i < 64; ++i) {\n sm[i] = sk[i];\n }\n var h = sha512(sm, n + 64);\n reduce(h);\n\n for(i = 32; i < 64; ++i) {\n x[i] = 0;\n }\n for(i = 0; i < 32; ++i) {\n x[i] = r[i];\n }\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 crypto_sign_open(m, sm, n, pk) {\n var i, mlen;\n var t = new NativeBuffer(32);\n var p = [gf(), gf(), gf(), gf()],\n q = [gf(), gf(), gf(), gf()];\n\n mlen = -1;\n if(n < 64) {\n return -1;\n }\n\n if(unpackneg(q, pk)) {\n return -1;\n }\n\n for(i = 0; i < n; ++i) {\n m[i] = sm[i];\n }\n for(i = 0; i < 32; ++i) {\n m[i + 32] = pk[i];\n }\n var h = sha512(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) {\n m[i] = 0;\n }\n return -1;\n }\n\n for(i = 0; i < n; ++i) {\n m[i] = sm[i + 64];\n }\n mlen = n;\n return mlen;\n}\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 = (x[j] + 128) >> 8;\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) {\n x[j] -= carry * L[j];\n }\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);\n for(var i = 0; i < 64; ++i) {\n x[i] = r[i];\n r[i] = 0;\n }\n modL(r, x);\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 for(var 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 pack25519(o, n) {\n var i, j, b;\n var m = gf(), t = gf();\n for(i = 0; i < 16; ++i) {\n t[i] = n[i];\n }\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 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)) {\n M(r[0], r[0], I);\n }\n\n S(chk, r[0]);\n M(chk, chk, den);\n if(neq25519(chk, num)) {\n return -1;\n }\n\n if(par25519(r[0]) === (p[31] >> 7)) {\n Z(r[0], gf0, r[0]);\n }\n\n M(r[3], r[0], r[1]);\n return 0;\n}\n\nfunction unpack25519(o, n) {\n var i;\n for(i = 0; i < 16; ++i) {\n o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n }\n o[15] &= 0x7fff;\n}\n\nfunction pow2523(o, i) {\n var c = gf();\n var a;\n for(a = 0; a < 16; ++a) {\n c[a] = i[a];\n }\n for(a = 250; a >= 0; --a) {\n S(c, c);\n if(a !== 1) {\n M(c, c, i);\n }\n }\n for(a = 0; a < 16; ++a) {\n o[a] = c[a];\n }\n}\n\nfunction neq25519(a, b) {\n var c = new NativeBuffer(32);\n var d = new NativeBuffer(32);\n pack25519(c, a);\n pack25519(d, b);\n return crypto_verify_32(c, 0, d, 0);\n}\n\nfunction crypto_verify_32(x, xi, y, yi) {\n return vn(x, xi, y, yi, 32);\n}\n\nfunction vn(x, xi, y, yi, n) {\n var i, d = 0;\n for(i = 0; i < n; ++i) {\n d |= x[xi + i] ^ y[yi + i];\n }\n return (1 & ((d - 1) >>> 8)) - 1;\n}\n\nfunction par25519(a) {\n var d = new NativeBuffer(32);\n pack25519(d, a);\n return d[0] & 1;\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 set25519(r, a) {\n var i;\n for(i = 0; i < 16; i++) {\n r[i] = a[i] | 0;\n }\n}\n\nfunction inv25519(o, i) {\n var c = gf();\n var a;\n for(a = 0; a < 16; ++a) {\n c[a] = i[a];\n }\n for(a = 253; a >= 0; --a) {\n S(c, c);\n if(a !== 2 && a !== 4) {\n M(c, c, i);\n }\n }\n for(a = 0; a < 16; ++a) {\n o[a] = c[a];\n }\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 gf(init) {\n var i, r = new Float64Array(16);\n if(init) {\n for(i = 0; i < init.length; ++i) {\n r[i] = init[i];\n }\n }\n return r;\n}\n\nfunction A(o, a, b) {\n for(var i = 0; i < 16; ++i) {\n o[i] = a[i] + b[i];\n }\n}\n\nfunction Z(o, a, b) {\n for(var i = 0; i < 16; ++i) {\n o[i] = a[i] - b[i];\n }\n}\n\nfunction S(o, a) {\n M(o, a, a);\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"],"names":["forge","require$$0","require$$1","require$$2","require$$3","require$$4","asn1Validator","require$$5","publicKeyValidator","privateKeyValidator","BigInteger","jsbn","ByteBuffer","util","NativeBuffer","Buffer","Uint8Array","pki","ed25519_1","ed25519","constants","PUBLIC_KEY_BYTE_LENGTH","PRIVATE_KEY_BYTE_LENGTH","SEED_BYTE_LENGTH","SIGN_BYTE_LENGTH","HASH_BYTE_LENGTH","generateKeyPair","options","seed","undefined","random","getBytesSync","length","TypeError","messageToNativeBuffer","message","encoding","pk","sk","i","crypto_sign_keypair","publicKey","privateKey","privateKeyFromAsn1","obj","capture","errors","valid","asn1","validate","error","Error","oid","derToOid","privateKeyOid","ed25519Oid","oids","EdDSA25519","privateKeyBytes","fromDer","value","publicKeyFromAsn1","publicKeyOid","publicKeyBytes","ed25519PublicKey","publicKeyFromPrivateKey","sign","msg","keyPair","signedMsg","crypto_sign","sig","verify","signature","sm","m","crypto_sign_open","md","digest","getBytes","from","buffer","at","gf0","gf","gf1","D","D2","X","Y","L","Float64Array","I","sha512","msgLen","create","update","hash","out","charCodeAt","p","d","scalarbase","pack","n","j","x","smlen","r","subarray","reduce","h","modL","mlen","t","q","unpackneg","scalarmult","add","crypto_verify_32","carry","k","a","b","c","e","f","g","Z","M","A","cswap","sel25519","tx","ty","zi","inv25519","pack25519","par25519","o","car25519","chk","num","den","den2","den4","den6","set25519","unpack25519","S","pow2523","neq25519","xi","y","yi","vn","s","v","Math","floor","init","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"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js module for Forge.
|
|
3
|
+
*
|
|
4
|
+
* @author Dave Longley
|
|
5
|
+
*
|
|
6
|
+
* Copyright 2011-2016 Digital Bazaar, Inc.
|
|
7
|
+
*/
|
|
8
|
+
var forge;
|
|
9
|
+
var hasRequiredForge;
|
|
10
|
+
function requireForge() {
|
|
11
|
+
if (hasRequiredForge) return forge;
|
|
12
|
+
hasRequiredForge = 1;
|
|
13
|
+
forge = {
|
|
14
|
+
// default options
|
|
15
|
+
options: {
|
|
16
|
+
usePureJavaScript: false
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
return forge;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { requireForge as __require };
|
|
23
|
+
//# sourceMappingURL=forge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forge.js","sources":["../../../../node_modules/node-forge/lib/forge.js"],"sourcesContent":["/**\n * Node.js module for Forge.\n *\n * @author Dave Longley\n *\n * Copyright 2011-2016 Digital Bazaar, Inc.\n */\nmodule.exports = {\n // default options\n options: {\n usePureJavaScript: false\n }\n};\n"],"names":["forge","options","usePureJavaScript"],"mappings":";;;;;;;;;;;;AAOAA,EAAAA,KAAc,GAAG;AACjB;AACEC,IAAAA,OAAO,EAAE;AACPC,MAAAA,iBAAiB,EAAE;AACvB;GACC;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { __module as hmac } from '../../../_virtual/hmac.js';
|
|
2
|
+
import { __require as requireForge } from './forge.js';
|
|
3
|
+
import { __require as requireMd } from './md.js';
|
|
4
|
+
import { __require as requireUtil } from './util.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Hash-based Message Authentication Code implementation. Requires a message
|
|
8
|
+
* digest object that can be obtained, for example, from forge.md.sha1 or
|
|
9
|
+
* forge.md.md5.
|
|
10
|
+
*
|
|
11
|
+
* @author Dave Longley
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) 2010-2012 Digital Bazaar, Inc. All rights reserved.
|
|
14
|
+
*/
|
|
15
|
+
var hasRequiredHmac;
|
|
16
|
+
function requireHmac() {
|
|
17
|
+
if (hasRequiredHmac) return hmac.exports;
|
|
18
|
+
hasRequiredHmac = 1;
|
|
19
|
+
var forge = requireForge();
|
|
20
|
+
requireMd();
|
|
21
|
+
requireUtil();
|
|
22
|
+
|
|
23
|
+
/* HMAC API */
|
|
24
|
+
var hmac$1 = hmac.exports = forge.hmac = forge.hmac || {};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Creates an HMAC object that uses the given message digest object.
|
|
28
|
+
*
|
|
29
|
+
* @return an HMAC object.
|
|
30
|
+
*/
|
|
31
|
+
hmac$1.create = function () {
|
|
32
|
+
// the hmac key to use
|
|
33
|
+
var _key = null;
|
|
34
|
+
|
|
35
|
+
// the message digest to use
|
|
36
|
+
var _md = null;
|
|
37
|
+
|
|
38
|
+
// the inner padding
|
|
39
|
+
var _ipadding = null;
|
|
40
|
+
|
|
41
|
+
// the outer padding
|
|
42
|
+
var _opadding = null;
|
|
43
|
+
|
|
44
|
+
// hmac context
|
|
45
|
+
var ctx = {};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Starts or restarts the HMAC with the given key and message digest.
|
|
49
|
+
*
|
|
50
|
+
* @param md the message digest to use, null to reuse the previous one,
|
|
51
|
+
* a string to use builtin 'sha1', 'md5', 'sha256'.
|
|
52
|
+
* @param key the key to use as a string, array of bytes, byte buffer,
|
|
53
|
+
* or null to reuse the previous key.
|
|
54
|
+
*/
|
|
55
|
+
ctx.start = function (md, key) {
|
|
56
|
+
if (md !== null) {
|
|
57
|
+
if (typeof md === 'string') {
|
|
58
|
+
// create builtin message digest
|
|
59
|
+
md = md.toLowerCase();
|
|
60
|
+
if (md in forge.md.algorithms) {
|
|
61
|
+
_md = forge.md.algorithms[md].create();
|
|
62
|
+
} else {
|
|
63
|
+
throw new Error('Unknown hash algorithm "' + md + '"');
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
// store message digest
|
|
67
|
+
_md = md;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (key === null) {
|
|
71
|
+
// reuse previous key
|
|
72
|
+
key = _key;
|
|
73
|
+
} else {
|
|
74
|
+
if (typeof key === 'string') {
|
|
75
|
+
// convert string into byte buffer
|
|
76
|
+
key = forge.util.createBuffer(key);
|
|
77
|
+
} else if (forge.util.isArray(key)) {
|
|
78
|
+
// convert byte array into byte buffer
|
|
79
|
+
var tmp = key;
|
|
80
|
+
key = forge.util.createBuffer();
|
|
81
|
+
for (var i = 0; i < tmp.length; ++i) {
|
|
82
|
+
key.putByte(tmp[i]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// if key is longer than blocksize, hash it
|
|
87
|
+
var keylen = key.length();
|
|
88
|
+
if (keylen > _md.blockLength) {
|
|
89
|
+
_md.start();
|
|
90
|
+
_md.update(key.bytes());
|
|
91
|
+
key = _md.digest();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// mix key into inner and outer padding
|
|
95
|
+
// ipadding = [0x36 * blocksize] ^ key
|
|
96
|
+
// opadding = [0x5C * blocksize] ^ key
|
|
97
|
+
_ipadding = forge.util.createBuffer();
|
|
98
|
+
_opadding = forge.util.createBuffer();
|
|
99
|
+
keylen = key.length();
|
|
100
|
+
for (var i = 0; i < keylen; ++i) {
|
|
101
|
+
var tmp = key.at(i);
|
|
102
|
+
_ipadding.putByte(0x36 ^ tmp);
|
|
103
|
+
_opadding.putByte(0x5C ^ tmp);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// if key is shorter than blocksize, add additional padding
|
|
107
|
+
if (keylen < _md.blockLength) {
|
|
108
|
+
var tmp = _md.blockLength - keylen;
|
|
109
|
+
for (var i = 0; i < tmp; ++i) {
|
|
110
|
+
_ipadding.putByte(0x36);
|
|
111
|
+
_opadding.putByte(0x5C);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
_key = key;
|
|
115
|
+
_ipadding = _ipadding.bytes();
|
|
116
|
+
_opadding = _opadding.bytes();
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// digest is done like so: hash(opadding | hash(ipadding | message))
|
|
120
|
+
|
|
121
|
+
// prepare to do inner hash
|
|
122
|
+
// hash(ipadding | message)
|
|
123
|
+
_md.start();
|
|
124
|
+
_md.update(_ipadding);
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Updates the HMAC with the given message bytes.
|
|
129
|
+
*
|
|
130
|
+
* @param bytes the bytes to update with.
|
|
131
|
+
*/
|
|
132
|
+
ctx.update = function (bytes) {
|
|
133
|
+
_md.update(bytes);
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Produces the Message Authentication Code (MAC).
|
|
138
|
+
*
|
|
139
|
+
* @return a byte buffer containing the digest value.
|
|
140
|
+
*/
|
|
141
|
+
ctx.getMac = function () {
|
|
142
|
+
// digest is done like so: hash(opadding | hash(ipadding | message))
|
|
143
|
+
// here we do the outer hashing
|
|
144
|
+
var inner = _md.digest().bytes();
|
|
145
|
+
_md.start();
|
|
146
|
+
_md.update(_opadding);
|
|
147
|
+
_md.update(inner);
|
|
148
|
+
return _md.digest();
|
|
149
|
+
};
|
|
150
|
+
// alias for getMac
|
|
151
|
+
ctx.digest = ctx.getMac;
|
|
152
|
+
return ctx;
|
|
153
|
+
};
|
|
154
|
+
return hmac.exports;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export { requireHmac as __require };
|
|
158
|
+
//# sourceMappingURL=hmac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hmac.js","sources":["../../../../node_modules/node-forge/lib/hmac.js"],"sourcesContent":["/**\n * Hash-based Message Authentication Code implementation. Requires a message\n * digest object that can be obtained, for example, from forge.md.sha1 or\n * forge.md.md5.\n *\n * @author Dave Longley\n *\n * Copyright (c) 2010-2012 Digital Bazaar, Inc. All rights reserved.\n */\nvar forge = require('./forge');\nrequire('./md');\nrequire('./util');\n\n/* HMAC API */\nvar hmac = module.exports = forge.hmac = forge.hmac || {};\n\n/**\n * Creates an HMAC object that uses the given message digest object.\n *\n * @return an HMAC object.\n */\nhmac.create = function() {\n // the hmac key to use\n var _key = null;\n\n // the message digest to use\n var _md = null;\n\n // the inner padding\n var _ipadding = null;\n\n // the outer padding\n var _opadding = null;\n\n // hmac context\n var ctx = {};\n\n /**\n * Starts or restarts the HMAC with the given key and message digest.\n *\n * @param md the message digest to use, null to reuse the previous one,\n * a string to use builtin 'sha1', 'md5', 'sha256'.\n * @param key the key to use as a string, array of bytes, byte buffer,\n * or null to reuse the previous key.\n */\n ctx.start = function(md, key) {\n if(md !== null) {\n if(typeof md === 'string') {\n // create builtin message digest\n md = md.toLowerCase();\n if(md in forge.md.algorithms) {\n _md = forge.md.algorithms[md].create();\n } else {\n throw new Error('Unknown hash algorithm \"' + md + '\"');\n }\n } else {\n // store message digest\n _md = md;\n }\n }\n\n if(key === null) {\n // reuse previous key\n key = _key;\n } else {\n if(typeof key === 'string') {\n // convert string into byte buffer\n key = forge.util.createBuffer(key);\n } else if(forge.util.isArray(key)) {\n // convert byte array into byte buffer\n var tmp = key;\n key = forge.util.createBuffer();\n for(var i = 0; i < tmp.length; ++i) {\n key.putByte(tmp[i]);\n }\n }\n\n // if key is longer than blocksize, hash it\n var keylen = key.length();\n if(keylen > _md.blockLength) {\n _md.start();\n _md.update(key.bytes());\n key = _md.digest();\n }\n\n // mix key into inner and outer padding\n // ipadding = [0x36 * blocksize] ^ key\n // opadding = [0x5C * blocksize] ^ key\n _ipadding = forge.util.createBuffer();\n _opadding = forge.util.createBuffer();\n keylen = key.length();\n for(var i = 0; i < keylen; ++i) {\n var tmp = key.at(i);\n _ipadding.putByte(0x36 ^ tmp);\n _opadding.putByte(0x5C ^ tmp);\n }\n\n // if key is shorter than blocksize, add additional padding\n if(keylen < _md.blockLength) {\n var tmp = _md.blockLength - keylen;\n for(var i = 0; i < tmp; ++i) {\n _ipadding.putByte(0x36);\n _opadding.putByte(0x5C);\n }\n }\n _key = key;\n _ipadding = _ipadding.bytes();\n _opadding = _opadding.bytes();\n }\n\n // digest is done like so: hash(opadding | hash(ipadding | message))\n\n // prepare to do inner hash\n // hash(ipadding | message)\n _md.start();\n _md.update(_ipadding);\n };\n\n /**\n * Updates the HMAC with the given message bytes.\n *\n * @param bytes the bytes to update with.\n */\n ctx.update = function(bytes) {\n _md.update(bytes);\n };\n\n /**\n * Produces the Message Authentication Code (MAC).\n *\n * @return a byte buffer containing the digest value.\n */\n ctx.getMac = function() {\n // digest is done like so: hash(opadding | hash(ipadding | message))\n // here we do the outer hashing\n var inner = _md.digest().bytes();\n _md.start();\n _md.update(_opadding);\n _md.update(inner);\n return _md.digest();\n };\n // alias for getMac\n ctx.digest = ctx.getMac;\n\n return ctx;\n};\n"],"names":["forge","require$$0","require$$1","require$$2","hmac","hmacModule","exports","create","_key","_md","_ipadding","_opadding","ctx","start","md","key","toLowerCase","algorithms","Error","util","createBuffer","isArray","tmp","i","length","putByte","keylen","blockLength","update","bytes","digest","at","getMac","inner"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { __require as requireForge } from './forge.js';
|
|
2
|
+
import { __require as requireAes } from './aes.js';
|
|
3
|
+
import { __require as requireAesCipherSuites } from './aesCipherSuites.js';
|
|
4
|
+
import { __require as requireAsn1 } from './asn1.js';
|
|
5
|
+
import { __require as requireCipher } from './cipher.js';
|
|
6
|
+
import { __require as requireDes } from './des.js';
|
|
7
|
+
import { __require as requireEd25519 } from './ed25519.js';
|
|
8
|
+
import { __require as requireHmac } from './hmac.js';
|
|
9
|
+
import { __require as requireKem } from './kem.js';
|
|
10
|
+
import { __require as requireLog } from './log.js';
|
|
11
|
+
import { __require as requireMd_all } from './md.all.js';
|
|
12
|
+
import { __require as requireMgf1 } from './mgf1.js';
|
|
13
|
+
import { __require as requirePbkdf2 } from './pbkdf2.js';
|
|
14
|
+
import { __require as requirePem } from './pem.js';
|
|
15
|
+
import { __require as requirePkcs1 } from './pkcs1.js';
|
|
16
|
+
import { __require as requirePkcs12 } from './pkcs12.js';
|
|
17
|
+
import { __require as requirePkcs7 } from './pkcs7.js';
|
|
18
|
+
import { __require as requirePki } from './pki.js';
|
|
19
|
+
import { __require as requirePrime } from './prime.js';
|
|
20
|
+
import { __require as requirePrng } from './prng.js';
|
|
21
|
+
import { __require as requirePss } from './pss.js';
|
|
22
|
+
import { __require as requireRandom } from './random.js';
|
|
23
|
+
import { __require as requireRc2 } from './rc2.js';
|
|
24
|
+
import { __require as requireSsh } from './ssh.js';
|
|
25
|
+
import { __require as requireTls } from './tls.js';
|
|
26
|
+
import { __require as requireUtil } from './util.js';
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Node.js module for Forge.
|
|
30
|
+
*
|
|
31
|
+
* @author Dave Longley
|
|
32
|
+
*
|
|
33
|
+
* Copyright 2011-2016 Digital Bazaar, Inc.
|
|
34
|
+
*/
|
|
35
|
+
var lib;
|
|
36
|
+
var hasRequiredLib;
|
|
37
|
+
function requireLib() {
|
|
38
|
+
if (hasRequiredLib) return lib;
|
|
39
|
+
hasRequiredLib = 1;
|
|
40
|
+
lib = requireForge();
|
|
41
|
+
requireAes();
|
|
42
|
+
requireAesCipherSuites();
|
|
43
|
+
requireAsn1();
|
|
44
|
+
requireCipher();
|
|
45
|
+
requireDes();
|
|
46
|
+
requireEd25519();
|
|
47
|
+
requireHmac();
|
|
48
|
+
requireKem();
|
|
49
|
+
requireLog();
|
|
50
|
+
requireMd_all();
|
|
51
|
+
requireMgf1();
|
|
52
|
+
requirePbkdf2();
|
|
53
|
+
requirePem();
|
|
54
|
+
requirePkcs1();
|
|
55
|
+
requirePkcs12();
|
|
56
|
+
requirePkcs7();
|
|
57
|
+
requirePki();
|
|
58
|
+
requirePrime();
|
|
59
|
+
requirePrng();
|
|
60
|
+
requirePss();
|
|
61
|
+
requireRandom();
|
|
62
|
+
requireRc2();
|
|
63
|
+
requireSsh();
|
|
64
|
+
requireTls();
|
|
65
|
+
requireUtil();
|
|
66
|
+
return lib;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { requireLib as __require };
|
|
70
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/node-forge/lib/index.js"],"sourcesContent":["/**\n * Node.js module for Forge.\n *\n * @author Dave Longley\n *\n * Copyright 2011-2016 Digital Bazaar, Inc.\n */\nmodule.exports = require('./forge');\nrequire('./aes');\nrequire('./aesCipherSuites');\nrequire('./asn1');\nrequire('./cipher');\nrequire('./des');\nrequire('./ed25519');\nrequire('./hmac');\nrequire('./kem');\nrequire('./log');\nrequire('./md.all');\nrequire('./mgf1');\nrequire('./pbkdf2');\nrequire('./pem');\nrequire('./pkcs1');\nrequire('./pkcs12');\nrequire('./pkcs7');\nrequire('./pki');\nrequire('./prime');\nrequire('./prng');\nrequire('./pss');\nrequire('./random');\nrequire('./rc2');\nrequire('./ssh');\nrequire('./tls');\nrequire('./util');\n"],"names":["lib","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOAA,GAAc,GAAGC,YAAA,EAAkB;AACnCC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,sBAAA,EAA4B;AAC5BC,EAAAA,WAAA,EAAiB;AACjBC,EAAAA,aAAA,EAAmB;AACnBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,cAAA,EAAoB;AACpBC,EAAAA,WAAA,EAAiB;AACjBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,aAAA,EAAmB;AACnBC,EAAAA,WAAA,EAAiB;AACjBC,EAAAA,aAAA,EAAmB;AACnBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,YAAA,EAAkB;AAClBC,EAAAA,aAAA,EAAmB;AACnBC,EAAAA,YAAA,EAAkB;AAClBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,YAAA,EAAkB;AAClBC,EAAAA,WAAA,EAAiB;AACjBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,aAAA,EAAmB;AACnBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,UAAA,EAAgB;AAChBC,EAAAA,WAAA,EAAiB;;;;;;","x_google_ignoreList":[0]}
|