{"version":3,"sources":["jsdelivr-header.js","/npm/@noble/hashes@1.3.2/src/sha256.ts"],"names":[],"mappings":"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","file":"/npm/@noble/hashes@1.3.2/sha256.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.19.2.\n * Original file: /npm/@noble/hashes@1.3.2/sha256.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { SHA2 } from './_sha2.js';\nimport { rotr, wrapConstructor } from './utils.js';\n\n// SHA2-256 need to try 2^128 hashes to execute birthday attack.\n// BTC network is doing 2^67 hashes/sec as per early 2023.\n\n// Choice: a ? b : c\nconst Chi = (a: number, b: number, c: number) => (a & b) ^ (~a & c);\n// Majority function, true if any two inpust is true\nconst Maj = (a: number, b: number, c: number) => (a & b) ^ (a & c) ^ (b & c);\n\n// Round constants:\n// first 32 bits of the fractional parts of the cube roots of the first 64 primes 2..311)\n// prettier-ignore\nconst SHA256_K = /* @__PURE__ */new Uint32Array([\n  0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n  0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n  0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n  0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n  0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n  0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n  0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\n\n// Initial state (first 32 bits of the fractional parts of the square roots of the first 8 primes 2..19):\n// prettier-ignore\nconst IV = /* @__PURE__ */new Uint32Array([\n  0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n]);\n\n// Temporary buffer, not used to store anything between runs\n// Named this way because it matches specification.\nconst SHA256_W = /* @__PURE__ */ new Uint32Array(64);\nclass SHA256 extends SHA2<SHA256> {\n  // We cannot use array here since array allows indexing by variable\n  // which means optimizer/compiler cannot use registers.\n  A = IV[0] | 0;\n  B = IV[1] | 0;\n  C = IV[2] | 0;\n  D = IV[3] | 0;\n  E = IV[4] | 0;\n  F = IV[5] | 0;\n  G = IV[6] | 0;\n  H = IV[7] | 0;\n\n  constructor() {\n    super(64, 32, 8, false);\n  }\n  protected get(): [number, number, number, number, number, number, number, number] {\n    const { A, B, C, D, E, F, G, H } = this;\n    return [A, B, C, D, E, F, G, H];\n  }\n  // prettier-ignore\n  protected set(\n    A: number, B: number, C: number, D: number, E: number, F: number, G: number, H: number\n  ) {\n    this.A = A | 0;\n    this.B = B | 0;\n    this.C = C | 0;\n    this.D = D | 0;\n    this.E = E | 0;\n    this.F = F | 0;\n    this.G = G | 0;\n    this.H = H | 0;\n  }\n  protected process(view: DataView, offset: number): void {\n    // Extend the first 16 words into the remaining 48 words w[16..63] of the message schedule array\n    for (let i = 0; i < 16; i++, offset += 4) SHA256_W[i] = view.getUint32(offset, false);\n    for (let i = 16; i < 64; i++) {\n      const W15 = SHA256_W[i - 15];\n      const W2 = SHA256_W[i - 2];\n      const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ (W15 >>> 3);\n      const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ (W2 >>> 10);\n      SHA256_W[i] = (s1 + SHA256_W[i - 7] + s0 + SHA256_W[i - 16]) | 0;\n    }\n    // Compression function main loop, 64 rounds\n    let { A, B, C, D, E, F, G, H } = this;\n    for (let i = 0; i < 64; i++) {\n      const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25);\n      const T1 = (H + sigma1 + Chi(E, F, G) + SHA256_K[i] + SHA256_W[i]) | 0;\n      const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22);\n      const T2 = (sigma0 + Maj(A, B, C)) | 0;\n      H = G;\n      G = F;\n      F = E;\n      E = (D + T1) | 0;\n      D = C;\n      C = B;\n      B = A;\n      A = (T1 + T2) | 0;\n    }\n    // Add the compressed chunk to the current hash value\n    A = (A + this.A) | 0;\n    B = (B + this.B) | 0;\n    C = (C + this.C) | 0;\n    D = (D + this.D) | 0;\n    E = (E + this.E) | 0;\n    F = (F + this.F) | 0;\n    G = (G + this.G) | 0;\n    H = (H + this.H) | 0;\n    this.set(A, B, C, D, E, F, G, H);\n  }\n  protected roundClean() {\n    SHA256_W.fill(0);\n  }\n  destroy() {\n    this.set(0, 0, 0, 0, 0, 0, 0, 0);\n    this.buffer.fill(0);\n  }\n}\n// Constants from https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf\nclass SHA224 extends SHA256 {\n  A = 0xc1059ed8 | 0;\n  B = 0x367cd507 | 0;\n  C = 0x3070dd17 | 0;\n  D = 0xf70e5939 | 0;\n  E = 0xffc00b31 | 0;\n  F = 0x68581511 | 0;\n  G = 0x64f98fa7 | 0;\n  H = 0xbefa4fa4 | 0;\n  constructor() {\n    super();\n    this.outputLen = 28;\n  }\n}\n\n/**\n * SHA2-256 hash function\n * @param message - data that would be hashed\n */\nexport const sha256 = /* @__PURE__ */ wrapConstructor(() => new SHA256());\nexport const sha224 = /* @__PURE__ */ wrapConstructor(() => new SHA224());\n"]}