1 |
- {"ast":null,"code":"(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n glob.SparkMD5 = factory();\n }\n})(function (undefined) {\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return a + b & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32(a << s | a >>> 32 - s, b);\n }\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 0x0F] + hex_chr[n >> j * 8 & 0x0F];\n }\n return s;\n }\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xFFFF;\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n return Math.min(val, length);\n }\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n if (to !== undefined) {\n end = clamp(to, length);\n }\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n return str;\n }\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n return returnUInt8Array ? arr : buff;\n }\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n this._finish(tail, length);\n ret = hex(this._hash);\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n this.reset();\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n return SparkMD5;\n});","map":{"version":3,"names":["factory","exports","module","define","amd","glob","window","e","self","SparkMD5","undefined","add32","a","b","hex_chr","cmn","q","x","s","t","md5cycle","k","c","d","md5blk","md5blks","i","charCodeAt","md5blk_array","md51","n","length","state","tail","tmp","lo","hi","substring","toString","match","parseInt","md51_array","subarray","Uint8Array","rhex","j","hex","join","y","lsw","msw","ArrayBuffer","prototype","slice","clamp","val","Math","max","min","from","to","byteLength","begin","end","num","target","targetArray","sourceArray","set","toUtf8","str","test","unescape","encodeURIComponent","utf8Str2ArrayBuffer","returnUInt8Array","buff","arr","arrayBuffer2Utf8Str","String","fromCharCode","apply","concatenateArrayBuffers","first","second","result","buffer","hexToBinaryString","bytes","push","substr","reset","append","appendBinary","contents","_buff","_length","_hash","raw","ret","_finish","getState","hash","setState","destroy","hashBinary","content","call"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/spark-md5/spark-md5.js"],"sourcesContent":["(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|