{“ast”:null,“code”:“'use strict';nnvar utils = require('./utils');n/**n * The following functions come from pako, from pako/lib/zlib/crc32.jsn * released under the MIT license, see pako github.com/nodeca/pako/n */n// Use ordinary array, since untyped makes no boost herennnfunction makeTable() {n var c,n table = [];nn for (var n = 0; n < 256; n++) {n c = n;nn for (var k = 0; k < 8; k++) {n c = c & 1 ? 0xEDB88320 ^ c >>> 1 : c >>> 1;n }nn table = c;n }nn return table;n} // Create table on load. Just 255 signed longs. Not a problem.nnnvar crcTable = makeTable();nnfunction crc32(crc, buf, len, pos) {n var t = crcTable,n end = pos + len;n crc = crc ^ -1;nn for (var i = pos; i < end; i++) {n crc = crc >>> 8 ^ t[(crc ^ buf) & 0xFF];n }nn return crc ^ -1; // >>> 0;n} // That's all for the pako functions.nn/**n * Compute the crc32 of a string.n * This is almost the same as the function crc32, but for strings. Using then * same function for the two use cases leads to horrible performances.n * @param {Number} crc the starting value of the crc.n * @param {String} str the string to use.n * @param {Number} len the length of the string.n * @param {Number} pos the starting position for the crc32 computation.n * @return {Number} the computed crc32.n */nnnfunction crc32str(crc, str, len, pos) {n var t = crcTable,n end = pos + len;n crc = crc ^ -1;nn for (var i = pos; i < end; i++) {n crc = crc >>> 8 ^ t[(crc ^ str.charCodeAt(i)) & 0xFF];n }nn return crc ^ -1; // >>> 0;n}nnmodule.exports = function crc32wrapper(input, crc) {n if (typeof input === "undefined" || !input.length) {n return 0;n }nn var isArray = utils.getTypeOf(input) !== "string";nn if (isArray) {n return crc32(crc | 0, input, input.length, 0);n } else {n return crc32str(crc | 0, input, input.length, 0);n }n};”,“map”:null,“metadata”:{},“sourceType”:“module”}