Current Path : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/main/sha1/dist/ |
Current File : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/main/sha1/dist/sha1.bundle.js.map |
{"version":3,"file":"sha1.bundle.js","sources":["../src/sha1.js"],"sourcesContent":["/**\n * [js-sha1]{@link https://github.com/emn178/js-sha1}\n *\n * @namespace sha1\n * @version 0.6.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n\n/**\n * Modify list for integration with Bitrix Framework:\n * - removed integration with third-party package builders;\n * - add import & export for work in Bitrix CoreJS extensions;\n */\n\nvar sha1 = (function() {\n\t'use strict';\n\n\tvar root = typeof window === 'object' ? window : {};\n\tvar NODE_JS = !root.JS_SHA1_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n\tif (NODE_JS) {\n\t\troot = global;\n\t}\n\tvar COMMON_JS = !root.JS_SHA1_NO_COMMON_JS && typeof module === 'object' && module.exports;\n\tvar AMD = typeof define === 'function' && define.amd;\n\tvar HEX_CHARS = '0123456789abcdef'.split('');\n\tvar EXTRA = [-2147483648, 8388608, 32768, 128];\n\tvar SHIFT = [24, 16, 8, 0];\n\tvar OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n\tvar blocks = [];\n\n\tvar createOutputMethod = function (outputType) {\n\t\treturn function (message) {\n\t\t\treturn new Sha1(true).update(message)[outputType]();\n\t\t};\n\t};\n\n\tvar createMethod = function () {\n\t\tvar method = createOutputMethod('hex');\n\t\tif (NODE_JS) {\n\t\t\tmethod = nodeWrap(method);\n\t\t}\n\t\tmethod.create = function () {\n\t\t\treturn new Sha1();\n\t\t};\n\t\tmethod.update = function (message) {\n\t\t\treturn method.create().update(message);\n\t\t};\n\t\tfor (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n\t\t\tvar type = OUTPUT_TYPES[i];\n\t\t\tmethod[type] = createOutputMethod(type);\n\t\t}\n\t\treturn method;\n\t};\n\n\tvar nodeWrap = function (method) {\n\t\tvar crypto = eval(\"require('crypto')\");\n\t\tvar Buffer = eval(\"require('buffer').Buffer\");\n\t\tvar nodeMethod = function (message) {\n\t\t\tif (typeof message === 'string') {\n\t\t\t\treturn crypto.createHash('sha1').update(message, 'utf8').digest('hex');\n\t\t\t} else if (message.constructor === ArrayBuffer) {\n\t\t\t\tmessage = new Uint8Array(message);\n\t\t\t} else if (message.length === undefined) {\n\t\t\t\treturn method(message);\n\t\t\t}\n\t\t\treturn crypto.createHash('sha1').update(new Buffer(message)).digest('hex');\n\t\t};\n\t\treturn nodeMethod;\n\t};\n\n\tfunction Sha1(sharedMemory) {\n\t\tif (sharedMemory) {\n\t\t\tblocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n\t\t\t\tblocks[4] = blocks[5] = blocks[6] = blocks[7] =\n\t\t\t\t\tblocks[8] = blocks[9] = blocks[10] = blocks[11] =\n\t\t\t\t\t\tblocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n\t\t\tthis.blocks = blocks;\n\t\t} else {\n\t\t\tthis.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\t\t}\n\n\t\tthis.h0 = 0x67452301;\n\t\tthis.h1 = 0xEFCDAB89;\n\t\tthis.h2 = 0x98BADCFE;\n\t\tthis.h3 = 0x10325476;\n\t\tthis.h4 = 0xC3D2E1F0;\n\n\t\tthis.block = this.start = this.bytes = this.hBytes = 0;\n\t\tthis.finalized = this.hashed = false;\n\t\tthis.first = true;\n\t}\n\n\tSha1.prototype.update = function (message) {\n\t\tif (this.finalized) {\n\t\t\treturn;\n\t\t}\n\t\tvar notString = typeof(message) !== 'string';\n\t\tif (notString && message.constructor === root.ArrayBuffer) {\n\t\t\tmessage = new Uint8Array(message);\n\t\t}\n\t\tvar code, index = 0, i, length = message.length || 0, blocks = this.blocks;\n\n\t\twhile (index < length) {\n\t\t\tif (this.hashed) {\n\t\t\t\tthis.hashed = false;\n\t\t\t\tblocks[0] = this.block;\n\t\t\t\tblocks[16] = blocks[1] = blocks[2] = blocks[3] =\n\t\t\t\t\tblocks[4] = blocks[5] = blocks[6] = blocks[7] =\n\t\t\t\t\t\tblocks[8] = blocks[9] = blocks[10] = blocks[11] =\n\t\t\t\t\t\t\tblocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n\t\t\t}\n\n\t\t\tif(notString) {\n\t\t\t\tfor (i = this.start; index < length && i < 64; ++index) {\n\t\t\t\t\tblocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (i = this.start; index < length && i < 64; ++index) {\n\t\t\t\t\tcode = message.charCodeAt(index);\n\t\t\t\t\tif (code < 0x80) {\n\t\t\t\t\t\tblocks[i >> 2] |= code << SHIFT[i++ & 3];\n\t\t\t\t\t} else if (code < 0x800) {\n\t\t\t\t\t\tblocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n\t\t\t\t\t\tblocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n\t\t\t\t\t} else if (code < 0xd800 || code >= 0xe000) {\n\t\t\t\t\t\tblocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n\t\t\t\t\t\tblocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n\t\t\t\t\t\tblocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcode = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n\t\t\t\t\t\tblocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n\t\t\t\t\t\tblocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n\t\t\t\t\t\tblocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n\t\t\t\t\t\tblocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.lastByteIndex = i;\n\t\t\tthis.bytes += i - this.start;\n\t\t\tif (i >= 64) {\n\t\t\t\tthis.block = blocks[16];\n\t\t\t\tthis.start = i - 64;\n\t\t\t\tthis.hash();\n\t\t\t\tthis.hashed = true;\n\t\t\t} else {\n\t\t\t\tthis.start = i;\n\t\t\t}\n\t\t}\n\t\tif (this.bytes > 4294967295) {\n\t\t\tthis.hBytes += this.bytes / 4294967296 << 0;\n\t\t\tthis.bytes = this.bytes % 4294967296;\n\t\t}\n\t\treturn this;\n\t};\n\n\tSha1.prototype.finalize = function () {\n\t\tif (this.finalized) {\n\t\t\treturn;\n\t\t}\n\t\tthis.finalized = true;\n\t\tvar blocks = this.blocks, i = this.lastByteIndex;\n\t\tblocks[16] = this.block;\n\t\tblocks[i >> 2] |= EXTRA[i & 3];\n\t\tthis.block = blocks[16];\n\t\tif (i >= 56) {\n\t\t\tif (!this.hashed) {\n\t\t\t\tthis.hash();\n\t\t\t}\n\t\t\tblocks[0] = this.block;\n\t\t\tblocks[16] = blocks[1] = blocks[2] = blocks[3] =\n\t\t\t\tblocks[4] = blocks[5] = blocks[6] = blocks[7] =\n\t\t\t\t\tblocks[8] = blocks[9] = blocks[10] = blocks[11] =\n\t\t\t\t\t\tblocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n\t\t}\n\t\tblocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n\t\tblocks[15] = this.bytes << 3;\n\t\tthis.hash();\n\t};\n\n\tSha1.prototype.hash = function () {\n\t\tvar a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4;\n\t\tvar f, j, t, blocks = this.blocks;\n\n\t\tfor(j = 16; j < 80; ++j) {\n\t\t\tt = blocks[j - 3] ^ blocks[j - 8] ^ blocks[j - 14] ^ blocks[j - 16];\n\t\t\tblocks[j] = (t << 1) | (t >>> 31);\n\t\t}\n\n\t\tfor(j = 0; j < 20; j += 5) {\n\t\t\tf = (b & c) | ((~b) & d);\n\t\t\tt = (a << 5) | (a >>> 27);\n\t\t\te = t + f + e + 1518500249 + blocks[j] << 0;\n\t\t\tb = (b << 30) | (b >>> 2);\n\n\t\t\tf = (a & b) | ((~a) & c);\n\t\t\tt = (e << 5) | (e >>> 27);\n\t\t\td = t + f + d + 1518500249 + blocks[j + 1] << 0;\n\t\t\ta = (a << 30) | (a >>> 2);\n\n\t\t\tf = (e & a) | ((~e) & b);\n\t\t\tt = (d << 5) | (d >>> 27);\n\t\t\tc = t + f + c + 1518500249 + blocks[j + 2] << 0;\n\t\t\te = (e << 30) | (e >>> 2);\n\n\t\t\tf = (d & e) | ((~d) & a);\n\t\t\tt = (c << 5) | (c >>> 27);\n\t\t\tb = t + f + b + 1518500249 + blocks[j + 3] << 0;\n\t\t\td = (d << 30) | (d >>> 2);\n\n\t\t\tf = (c & d) | ((~c) & e);\n\t\t\tt = (b << 5) | (b >>> 27);\n\t\t\ta = t + f + a + 1518500249 + blocks[j + 4] << 0;\n\t\t\tc = (c << 30) | (c >>> 2);\n\t\t}\n\n\t\tfor(; j < 40; j += 5) {\n\t\t\tf = b ^ c ^ d;\n\t\t\tt = (a << 5) | (a >>> 27);\n\t\t\te = t + f + e + 1859775393 + blocks[j] << 0;\n\t\t\tb = (b << 30) | (b >>> 2);\n\n\t\t\tf = a ^ b ^ c;\n\t\t\tt = (e << 5) | (e >>> 27);\n\t\t\td = t + f + d + 1859775393 + blocks[j + 1] << 0;\n\t\t\ta = (a << 30) | (a >>> 2);\n\n\t\t\tf = e ^ a ^ b;\n\t\t\tt = (d << 5) | (d >>> 27);\n\t\t\tc = t + f + c + 1859775393 + blocks[j + 2] << 0;\n\t\t\te = (e << 30) | (e >>> 2);\n\n\t\t\tf = d ^ e ^ a;\n\t\t\tt = (c << 5) | (c >>> 27);\n\t\t\tb = t + f + b + 1859775393 + blocks[j + 3] << 0;\n\t\t\td = (d << 30) | (d >>> 2);\n\n\t\t\tf = c ^ d ^ e;\n\t\t\tt = (b << 5) | (b >>> 27);\n\t\t\ta = t + f + a + 1859775393 + blocks[j + 4] << 0;\n\t\t\tc = (c << 30) | (c >>> 2);\n\t\t}\n\n\t\tfor(; j < 60; j += 5) {\n\t\t\tf = (b & c) | (b & d) | (c & d);\n\t\t\tt = (a << 5) | (a >>> 27);\n\t\t\te = t + f + e - 1894007588 + blocks[j] << 0;\n\t\t\tb = (b << 30) | (b >>> 2);\n\n\t\t\tf = (a & b) | (a & c) | (b & c);\n\t\t\tt = (e << 5) | (e >>> 27);\n\t\t\td = t + f + d - 1894007588 + blocks[j + 1] << 0;\n\t\t\ta = (a << 30) | (a >>> 2);\n\n\t\t\tf = (e & a) | (e & b) | (a & b);\n\t\t\tt = (d << 5) | (d >>> 27);\n\t\t\tc = t + f + c - 1894007588 + blocks[j + 2] << 0;\n\t\t\te = (e << 30) | (e >>> 2);\n\n\t\t\tf = (d & e) | (d & a) | (e & a);\n\t\t\tt = (c << 5) | (c >>> 27);\n\t\t\tb = t + f + b - 1894007588 + blocks[j + 3] << 0;\n\t\t\td = (d << 30) | (d >>> 2);\n\n\t\t\tf = (c & d) | (c & e) | (d & e);\n\t\t\tt = (b << 5) | (b >>> 27);\n\t\t\ta = t + f + a - 1894007588 + blocks[j + 4] << 0;\n\t\t\tc = (c << 30) | (c >>> 2);\n\t\t}\n\n\t\tfor(; j < 80; j += 5) {\n\t\t\tf = b ^ c ^ d;\n\t\t\tt = (a << 5) | (a >>> 27);\n\t\t\te = t + f + e - 899497514 + blocks[j] << 0;\n\t\t\tb = (b << 30) | (b >>> 2);\n\n\t\t\tf = a ^ b ^ c;\n\t\t\tt = (e << 5) | (e >>> 27);\n\t\t\td = t + f + d - 899497514 + blocks[j + 1] << 0;\n\t\t\ta = (a << 30) | (a >>> 2);\n\n\t\t\tf = e ^ a ^ b;\n\t\t\tt = (d << 5) | (d >>> 27);\n\t\t\tc = t + f + c - 899497514 + blocks[j + 2] << 0;\n\t\t\te = (e << 30) | (e >>> 2);\n\n\t\t\tf = d ^ e ^ a;\n\t\t\tt = (c << 5) | (c >>> 27);\n\t\t\tb = t + f + b - 899497514 + blocks[j + 3] << 0;\n\t\t\td = (d << 30) | (d >>> 2);\n\n\t\t\tf = c ^ d ^ e;\n\t\t\tt = (b << 5) | (b >>> 27);\n\t\t\ta = t + f + a - 899497514 + blocks[j + 4] << 0;\n\t\t\tc = (c << 30) | (c >>> 2);\n\t\t}\n\n\t\tthis.h0 = this.h0 + a << 0;\n\t\tthis.h1 = this.h1 + b << 0;\n\t\tthis.h2 = this.h2 + c << 0;\n\t\tthis.h3 = this.h3 + d << 0;\n\t\tthis.h4 = this.h4 + e << 0;\n\t};\n\n\tSha1.prototype.hex = function () {\n\t\tthis.finalize();\n\n\t\tvar h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;\n\n\t\treturn HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n\t\t\tHEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n\t\t\tHEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n\t\t\tHEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n\t\t\tHEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n\t\t\tHEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n\t\t\tHEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n\t\t\tHEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n\t\t\tHEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n\t\t\tHEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n\t\t\tHEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n\t\t\tHEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n\t\t\tHEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +\n\t\t\tHEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n\t\t\tHEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n\t\t\tHEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n\t\t\tHEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +\n\t\t\tHEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +\n\t\t\tHEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +\n\t\t\tHEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F];\n\t};\n\n\tSha1.prototype.toString = Sha1.prototype.hex;\n\n\tSha1.prototype.digest = function () {\n\t\tthis.finalize();\n\n\t\tvar h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;\n\n\t\treturn [\n\t\t\t(h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,\n\t\t\t(h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,\n\t\t\t(h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,\n\t\t\t(h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,\n\t\t\t(h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF\n\t\t];\n\t};\n\n\tSha1.prototype.array = Sha1.prototype.digest;\n\n\tSha1.prototype.arrayBuffer = function () {\n\t\tthis.finalize();\n\n\t\tvar buffer = new ArrayBuffer(20);\n\t\tvar dataView = new DataView(buffer);\n\t\tdataView.setUint32(0, this.h0);\n\t\tdataView.setUint32(4, this.h1);\n\t\tdataView.setUint32(8, this.h2);\n\t\tdataView.setUint32(12, this.h3);\n\t\tdataView.setUint32(16, this.h4);\n\t\treturn buffer;\n\t};\n\n\treturn createMethod();\n})();\n\nexport {sha1};"],"names":["sha1","root","window","NODE_JS","JS_SHA1_NO_NODE_JS","process","versions","node","global","COMMON_JS","JS_SHA1_NO_COMMON_JS","module","exports","AMD","define","amd","HEX_CHARS","split","EXTRA","SHIFT","OUTPUT_TYPES","blocks","createOutputMethod","outputType","message","Sha1","update","createMethod","method","nodeWrap","create","i","length","type","crypto","eval","Buffer","nodeMethod","createHash","digest","constructor","ArrayBuffer","Uint8Array","undefined","sharedMemory","h0","h1","h2","h3","h4","block","start","bytes","hBytes","finalized","hashed","first","prototype","notString","code","index","charCodeAt","lastByteIndex","hash","finalize","a","b","c","d","e","f","j","t","hex","toString","array","arrayBuffer","buffer","dataView","DataView","setUint32"],"mappings":"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"}