UNPKG

blocktrail-sdk

Version:

BlockTrail's Developer Friendly API binding for NodeJS

1,028 lines (943 loc) 191 kB
/*! asmCrypto, (c) 2013 Artem S Vybornov, opensource.org/licenses/MIT */ (function ( exports, global ) { function IllegalStateError () { var err = Error.apply( this, arguments ); this.message = err.message, this.stack = err.stack; } IllegalStateError.prototype = Object.create( Error.prototype, { name: { value: 'IllegalStateError' } } ); function IllegalArgumentError () { var err = Error.apply( this, arguments ); this.message = err.message, this.stack = err.stack; } IllegalArgumentError.prototype = Object.create( Error.prototype, { name: { value: 'IllegalArgumentError' } } ); function SecurityError () { var err = Error.apply( this, arguments ); this.message = err.message, this.stack = err.stack; } SecurityError.prototype = Object.create( Error.prototype, { name: { value: 'SecurityError' } } ); var FloatArray = global.Float64Array || global.Float32Array; // make PhantomJS happy function string_to_bytes ( str, utf8 ) { utf8 = !!utf8; var len = str.length, bytes = new Uint8Array( utf8 ? 4*len : len ); for ( var i = 0, j = 0; i < len; i++ ) { var c = str.charCodeAt(i); if ( utf8 && 0xd800 <= c && c <= 0xdbff ) { if ( ++i >= len ) throw new Error( "Malformed string, low surrogate expected at position " + i ); c = ( (c ^ 0xd800) << 10 ) | 0x10000 | ( str.charCodeAt(i) ^ 0xdc00 ); } else if ( !utf8 && c >>> 8 ) { throw new Error("Wide characters are not allowed."); } if ( !utf8 || c <= 0x7f ) { bytes[j++] = c; } else if ( c <= 0x7ff ) { bytes[j++] = 0xc0 | (c >> 6); bytes[j++] = 0x80 | (c & 0x3f); } else if ( c <= 0xffff ) { bytes[j++] = 0xe0 | (c >> 12); bytes[j++] = 0x80 | (c >> 6 & 0x3f); bytes[j++] = 0x80 | (c & 0x3f); } else { bytes[j++] = 0xf0 | (c >> 18); bytes[j++] = 0x80 | (c >> 12 & 0x3f); bytes[j++] = 0x80 | (c >> 6 & 0x3f); bytes[j++] = 0x80 | (c & 0x3f); } } return bytes.subarray(0, j); } function hex_to_bytes ( str ) { var len = str.length; if ( len & 1 ) { str = '0'+str; len++; } var bytes = new Uint8Array(len>>1); for ( var i = 0; i < len; i += 2 ) { bytes[i>>1] = parseInt( str.substr( i, 2), 16 ); } return bytes; } function base64_to_bytes ( str ) { return string_to_bytes( atob( str ) ); } function bytes_to_string ( bytes, utf8 ) { utf8 = !!utf8; var len = bytes.length, chars = new Array(len); for ( var i = 0, j = 0; i < len; i++ ) { var b = bytes[i]; if ( !utf8 || b < 128 ) { chars[j++] = b; } else if ( b >= 192 && b < 224 && i+1 < len ) { chars[j++] = ( (b & 0x1f) << 6 ) | (bytes[++i] & 0x3f); } else if ( b >= 224 && b < 240 && i+2 < len ) { chars[j++] = ( (b & 0xf) << 12 ) | ( (bytes[++i] & 0x3f) << 6 ) | (bytes[++i] & 0x3f); } else if ( b >= 240 && b < 248 && i+3 < len ) { var c = ( (b & 7) << 18 ) | ( (bytes[++i] & 0x3f) << 12 ) | ( (bytes[++i] & 0x3f) << 6 ) | (bytes[++i] & 0x3f); if ( c <= 0xffff ) { chars[j++] = c; } else { c ^= 0x10000; chars[j++] = 0xd800 | (c >> 10); chars[j++] = 0xdc00 | (c & 0x3ff); } } else { throw new Error("Malformed UTF8 character at byte offset " + i); } } var str = '', bs = 16384; for ( var i = 0; i < j; i += bs ) { str += String.fromCharCode.apply( String, chars.slice( i, i+bs <= j ? i+bs : j ) ); } return str; } function bytes_to_hex ( arr ) { var str = ''; for ( var i = 0; i < arr.length; i++ ) { var h = ( arr[i] & 0xff ).toString(16); if ( h.length < 2 ) str += '0'; str += h; } return str; } function bytes_to_base64 ( arr ) { return btoa( bytes_to_string(arr) ); } function pow2_ceil ( a ) { a -= 1; a |= a >>> 1; a |= a >>> 2; a |= a >>> 4; a |= a >>> 8; a |= a >>> 16; a += 1; return a; } function is_number ( a ) { return ( typeof a === 'number' ); } function is_string ( a ) { return ( typeof a === 'string' ); } function is_buffer ( a ) { return ( a instanceof ArrayBuffer ); } function is_bytes ( a ) { return ( a instanceof Uint8Array ); } function is_typed_array ( a ) { return ( a instanceof Int8Array ) || ( a instanceof Uint8Array ) || ( a instanceof Int16Array ) || ( a instanceof Uint16Array ) || ( a instanceof Int32Array ) || ( a instanceof Uint32Array ) || ( a instanceof Float32Array ) || ( a instanceof Float64Array ); } function _heap_init ( constructor, options ) { var heap = options.heap, size = heap ? heap.byteLength : options.heapSize || 65536; if ( size & 0xfff || size <= 0 ) throw new Error("heap size must be a positive integer and a multiple of 4096"); heap = heap || new constructor( new ArrayBuffer(size) ); return heap; } function _heap_write ( heap, hpos, data, dpos, dlen ) { var hlen = heap.length - hpos, wlen = ( hlen < dlen ) ? hlen : dlen; heap.set( data.subarray( dpos, dpos+wlen ), hpos ); return wlen; } function hash_reset () { this.result = null; this.pos = 0; this.len = 0; this.asm.reset(); return this; } function hash_process ( data ) { if ( this.result !== null ) throw new IllegalStateError("state must be reset before processing new data"); if ( is_string(data) ) data = string_to_bytes(data); if ( is_buffer(data) ) data = new Uint8Array(data); if ( !is_bytes(data) ) throw new TypeError("data isn't of expected type"); var asm = this.asm, heap = this.heap, hpos = this.pos, hlen = this.len, dpos = 0, dlen = data.length, wlen = 0; while ( dlen > 0 ) { wlen = _heap_write( heap, hpos+hlen, data, dpos, dlen ); hlen += wlen; dpos += wlen; dlen -= wlen; wlen = asm.process( hpos, hlen ); hpos += wlen; hlen -= wlen; if ( !hlen ) hpos = 0; } this.pos = hpos; this.len = hlen; return this; } function hash_finish () { if ( this.result !== null ) throw new IllegalStateError("state must be reset before processing new data"); this.asm.finish( this.pos, this.len, 0 ); this.result = new Uint8Array(this.HASH_SIZE); this.result.set( this.heap.subarray( 0, this.HASH_SIZE ) ); this.pos = 0; this.len = 0; return this; } function sha512_asm ( stdlib, foreign, buffer ) { "use asm"; // SHA512 state var H0h = 0, H0l = 0, H1h = 0, H1l = 0, H2h = 0, H2l = 0, H3h = 0, H3l = 0, H4h = 0, H4l = 0, H5h = 0, H5l = 0, H6h = 0, H6l = 0, H7h = 0, H7l = 0, TOTAL0 = 0, TOTAL1 = 0; // HMAC state var I0h = 0, I0l = 0, I1h = 0, I1l = 0, I2h = 0, I2l = 0, I3h = 0, I3l = 0, I4h = 0, I4l = 0, I5h = 0, I5l = 0, I6h = 0, I6l = 0, I7h = 0, I7l = 0, O0h = 0, O0l = 0, O1h = 0, O1l = 0, O2h = 0, O2l = 0, O3h = 0, O3l = 0, O4h = 0, O4l = 0, O5h = 0, O5l = 0, O6h = 0, O6l = 0, O7h = 0, O7l = 0; // I/O buffer var HEAP = new stdlib.Uint8Array(buffer); function _core ( w0h, w0l, w1h, w1l, w2h, w2l, w3h, w3l, w4h, w4l, w5h, w5l, w6h, w6l, w7h, w7l, w8h, w8l, w9h, w9l, w10h, w10l, w11h, w11l, w12h, w12l, w13h, w13l, w14h, w14l, w15h, w15l ) { w0h = w0h|0; w0l = w0l|0; w1h = w1h|0; w1l = w1l|0; w2h = w2h|0; w2l = w2l|0; w3h = w3h|0; w3l = w3l|0; w4h = w4h|0; w4l = w4l|0; w5h = w5h|0; w5l = w5l|0; w6h = w6h|0; w6l = w6l|0; w7h = w7h|0; w7l = w7l|0; w8h = w8h|0; w8l = w8l|0; w9h = w9h|0; w9l = w9l|0; w10h = w10h|0; w10l = w10l|0; w11h = w11h|0; w11l = w11l|0; w12h = w12h|0; w12l = w12l|0; w13h = w13h|0; w13l = w13l|0; w14h = w14h|0; w14l = w14l|0; w15h = w15h|0; w15l = w15l|0; var ah = 0, al = 0, bh = 0, bl = 0, ch = 0, cl = 0, dh = 0, dl = 0, eh = 0, el = 0, fh = 0, fl = 0, gh = 0, gl = 0, hh = 0, hl = 0, th = 0, tl = 0, xl = 0; ah = H0h; al = H0l; bh = H1h; bl = H1l; ch = H2h; cl = H2l; dh = H3h; dl = H3l; eh = H4h; el = H4l; fh = H5h; fl = H5l; gh = H6h; gl = H6l; hh = H7h; hl = H7l; // 0 tl = ( 0xd728ae22 + w0l )|0; th = ( 0x428a2f98 + w0h + ((tl >>> 0) < (w0l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 1 tl = ( 0x23ef65cd + w1l )|0; th = ( 0x71374491 + w1h + ((tl >>> 0) < (w1l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 2 tl = ( 0xec4d3b2f + w2l )|0; th = ( 0xb5c0fbcf + w2h + ((tl >>> 0) < (w2l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 3 tl = ( 0x8189dbbc + w3l )|0; th = ( 0xe9b5dba5 + w3h + ((tl >>> 0) < (w3l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 4 tl = ( 0xf348b538 + w4l )|0; th = ( 0x3956c25b + w4h + ((tl >>> 0) < (w4l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 5 tl = ( 0xb605d019 + w5l )|0; th = ( 0x59f111f1 + w5h + ((tl >>> 0) < (w5l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 6 tl = ( 0xaf194f9b + w6l )|0; th = ( 0x923f82a4 + w6h + ((tl >>> 0) < (w6l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 7 tl = ( 0xda6d8118 + w7l )|0; th = ( 0xab1c5ed5 + w7h + ((tl >>> 0) < (w7l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 8 tl = ( 0xa3030242 + w8l )|0; th = ( 0xd807aa98 + w8h + ((tl >>> 0) < (w8l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 9 tl = ( 0x45706fbe + w9l )|0; th = ( 0x12835b01 + w9h + ((tl >>> 0) < (w9l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 10 tl = ( 0x4ee4b28c + w10l )|0; th = ( 0x243185be + w10h + ((tl >>> 0) < (w10l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 11 tl = ( 0xd5ffb4e2 + w11l )|0; th = ( 0x550c7dc3 + w11h + ((tl >>> 0) < (w11l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 12 tl = ( 0xf27b896f + w12l )|0; th = ( 0x72be5d74 + w12h + ((tl >>> 0) < (w12l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 13 tl = ( 0x3b1696b1 + w13l )|0; th = ( 0x80deb1fe + w13h + ((tl >>> 0) < (w13l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 14 tl = ( 0x25c71235 + w14l )|0; th = ( 0x9bdc06a7 + w14h + ((tl >>> 0) < (w14l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 15 tl = ( 0xcf692694 + w15l )|0; th = ( 0xc19bf174 + w15h + ((tl >>> 0) < (w15l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 16 w0l = ( w0l + w9l )|0; w0h = ( w0h + w9h + ((w0l >>> 0) < (w9l >>> 0) ? 1 : 0) )|0; xl = ( ((w1l >>> 1) | (w1h << 31)) ^ ((w1l >>> 8) | (w1h << 24)) ^ ((w1l >>> 7) | (w1h << 25)) )|0; w0l = ( w0l + xl)|0; w0h = ( w0h + ( ((w1h >>> 1) | (w1l << 31)) ^ ((w1h >>> 8) | (w1l << 24)) ^ (w1h >>> 7) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w14l >>> 19) | (w14h << 13)) ^ ((w14l << 3) | (w14h >>> 29)) ^ ((w14l >>> 6) | (w14h << 26)) )|0; w0l = ( w0l + xl)|0; w0h = ( w0h + ( ((w14h >>> 19) | (w14l << 13)) ^ ((w14h << 3) | (w14l >>> 29)) ^ (w14h >>> 6) ) + ((w0l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0x9ef14ad2 + w0l )|0; th = ( 0xe49b69c1 + w0h + ((tl >>> 0) < (w0l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 17 w1l = ( w1l + w10l )|0; w1h = ( w1h + w10h + ((w1l >>> 0) < (w10l >>> 0) ? 1 : 0) )|0; xl = ( ((w2l >>> 1) | (w2h << 31)) ^ ((w2l >>> 8) | (w2h << 24)) ^ ((w2l >>> 7) | (w2h << 25)) )|0; w1l = ( w1l + xl)|0; w1h = ( w1h + ( ((w2h >>> 1) | (w2l << 31)) ^ ((w2h >>> 8) | (w2l << 24)) ^ (w2h >>> 7) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w15l >>> 19) | (w15h << 13)) ^ ((w15l << 3) | (w15h >>> 29)) ^ ((w15l >>> 6) | (w15h << 26)) )|0; w1l = ( w1l + xl)|0; w1h = ( w1h + ( ((w15h >>> 19) | (w15l << 13)) ^ ((w15h << 3) | (w15l >>> 29)) ^ (w15h >>> 6) ) + ((w1l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0x384f25e3 + w1l )|0; th = ( 0xefbe4786 + w1h + ((tl >>> 0) < (w1l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 18 w2l = ( w2l + w11l )|0; w2h = ( w2h + w11h + ((w2l >>> 0) < (w11l >>> 0) ? 1 : 0) )|0; xl = ( ((w3l >>> 1) | (w3h << 31)) ^ ((w3l >>> 8) | (w3h << 24)) ^ ((w3l >>> 7) | (w3h << 25)) )|0; w2l = ( w2l + xl)|0; w2h = ( w2h + ( ((w3h >>> 1) | (w3l << 31)) ^ ((w3h >>> 8) | (w3l << 24)) ^ (w3h >>> 7) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w0l >>> 19) | (w0h << 13)) ^ ((w0l << 3) | (w0h >>> 29)) ^ ((w0l >>> 6) | (w0h << 26)) )|0; w2l = ( w2l + xl)|0; w2h = ( w2h + ( ((w0h >>> 19) | (w0l << 13)) ^ ((w0h << 3) | (w0l >>> 29)) ^ (w0h >>> 6) ) + ((w2l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0x8b8cd5b5 + w2l )|0; th = ( 0xfc19dc6 + w2h + ((tl >>> 0) < (w2l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 19 w3l = ( w3l + w12l )|0; w3h = ( w3h + w12h + ((w3l >>> 0) < (w12l >>> 0) ? 1 : 0) )|0; xl = ( ((w4l >>> 1) | (w4h << 31)) ^ ((w4l >>> 8) | (w4h << 24)) ^ ((w4l >>> 7) | (w4h << 25)) )|0; w3l = ( w3l + xl)|0; w3h = ( w3h + ( ((w4h >>> 1) | (w4l << 31)) ^ ((w4h >>> 8) | (w4l << 24)) ^ (w4h >>> 7) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w1l >>> 19) | (w1h << 13)) ^ ((w1l << 3) | (w1h >>> 29)) ^ ((w1l >>> 6) | (w1h << 26)) )|0; w3l = ( w3l + xl)|0; w3h = ( w3h + ( ((w1h >>> 19) | (w1l << 13)) ^ ((w1h << 3) | (w1l >>> 29)) ^ (w1h >>> 6) ) + ((w3l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0x77ac9c65 + w3l )|0; th = ( 0x240ca1cc + w3h + ((tl >>> 0) < (w3l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 20 w4l = ( w4l + w13l )|0; w4h = ( w4h + w13h + ((w4l >>> 0) < (w13l >>> 0) ? 1 : 0) )|0; xl = ( ((w5l >>> 1) | (w5h << 31)) ^ ((w5l >>> 8) | (w5h << 24)) ^ ((w5l >>> 7) | (w5h << 25)) )|0; w4l = ( w4l + xl)|0; w4h = ( w4h + ( ((w5h >>> 1) | (w5l << 31)) ^ ((w5h >>> 8) | (w5l << 24)) ^ (w5h >>> 7) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w2l >>> 19) | (w2h << 13)) ^ ((w2l << 3) | (w2h >>> 29)) ^ ((w2l >>> 6) | (w2h << 26)) )|0; w4l = ( w4l + xl)|0; w4h = ( w4h + ( ((w2h >>> 19) | (w2l << 13)) ^ ((w2h << 3) | (w2l >>> 29)) ^ (w2h >>> 6) ) + ((w4l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0x592b0275 + w4l )|0; th = ( 0x2de92c6f + w4h + ((tl >>> 0) < (w4l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 21 w5l = ( w5l + w14l )|0; w5h = ( w5h + w14h + ((w5l >>> 0) < (w14l >>> 0) ? 1 : 0) )|0; xl = ( ((w6l >>> 1) | (w6h << 31)) ^ ((w6l >>> 8) | (w6h << 24)) ^ ((w6l >>> 7) | (w6h << 25)) )|0; w5l = ( w5l + xl)|0; w5h = ( w5h + ( ((w6h >>> 1) | (w6l << 31)) ^ ((w6h >>> 8) | (w6l << 24)) ^ (w6h >>> 7) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w3l >>> 19) | (w3h << 13)) ^ ((w3l << 3) | (w3h >>> 29)) ^ ((w3l >>> 6) | (w3h << 26)) )|0; w5l = ( w5l + xl)|0; w5h = ( w5h + ( ((w3h >>> 19) | (w3l << 13)) ^ ((w3h << 3) | (w3l >>> 29)) ^ (w3h >>> 6) ) + ((w5l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0x6ea6e483 + w5l )|0; th = ( 0x4a7484aa + w5h + ((tl >>> 0) < (w5l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 22 w6l = ( w6l + w15l )|0; w6h = ( w6h + w15h + ((w6l >>> 0) < (w15l >>> 0) ? 1 : 0) )|0; xl = ( ((w7l >>> 1) | (w7h << 31)) ^ ((w7l >>> 8) | (w7h << 24)) ^ ((w7l >>> 7) | (w7h << 25)) )|0; w6l = ( w6l + xl)|0; w6h = ( w6h + ( ((w7h >>> 1) | (w7l << 31)) ^ ((w7h >>> 8) | (w7l << 24)) ^ (w7h >>> 7) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w4l >>> 19) | (w4h << 13)) ^ ((w4l << 3) | (w4h >>> 29)) ^ ((w4l >>> 6) | (w4h << 26)) )|0; w6l = ( w6l + xl)|0; w6h = ( w6h + ( ((w4h >>> 19) | (w4l << 13)) ^ ((w4h << 3) | (w4l >>> 29)) ^ (w4h >>> 6) ) + ((w6l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0xbd41fbd4 + w6l )|0; th = ( 0x5cb0a9dc + w6h + ((tl >>> 0) < (w6l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 23 w7l = ( w7l + w0l )|0; w7h = ( w7h + w0h + ((w7l >>> 0) < (w0l >>> 0) ? 1 : 0) )|0; xl = ( ((w8l >>> 1) | (w8h << 31)) ^ ((w8l >>> 8) | (w8h << 24)) ^ ((w8l >>> 7) | (w8h << 25)) )|0; w7l = ( w7l + xl)|0; w7h = ( w7h + ( ((w8h >>> 1) | (w8l << 31)) ^ ((w8h >>> 8) | (w8l << 24)) ^ (w8h >>> 7) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w5l >>> 19) | (w5h << 13)) ^ ((w5l << 3) | (w5h >>> 29)) ^ ((w5l >>> 6) | (w5h << 26)) )|0; w7l = ( w7l + xl)|0; w7h = ( w7h + ( ((w5h >>> 19) | (w5l << 13)) ^ ((w5h << 3) | (w5l >>> 29)) ^ (w5h >>> 6) ) + ((w7l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0x831153b5 + w7l )|0; th = ( 0x76f988da + w7h + ((tl >>> 0) < (w7l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 24 w8l = ( w8l + w1l )|0; w8h = ( w8h + w1h + ((w8l >>> 0) < (w1l >>> 0) ? 1 : 0) )|0; xl = ( ((w9l >>> 1) | (w9h << 31)) ^ ((w9l >>> 8) | (w9h << 24)) ^ ((w9l >>> 7) | (w9h << 25)) )|0; w8l = ( w8l + xl)|0; w8h = ( w8h + ( ((w9h >>> 1) | (w9l << 31)) ^ ((w9h >>> 8) | (w9l << 24)) ^ (w9h >>> 7) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w6l >>> 19) | (w6h << 13)) ^ ((w6l << 3) | (w6h >>> 29)) ^ ((w6l >>> 6) | (w6h << 26)) )|0; w8l = ( w8l + xl)|0; w8h = ( w8h + ( ((w6h >>> 19) | (w6l << 13)) ^ ((w6h << 3) | (w6l >>> 29)) ^ (w6h >>> 6) ) + ((w8l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0xee66dfab + w8l )|0; th = ( 0x983e5152 + w8h + ((tl >>> 0) < (w8l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 25 w9l = ( w9l + w2l )|0; w9h = ( w9h + w2h + ((w9l >>> 0) < (w2l >>> 0) ? 1 : 0) )|0; xl = ( ((w10l >>> 1) | (w10h << 31)) ^ ((w10l >>> 8) | (w10h << 24)) ^ ((w10l >>> 7) | (w10h << 25)) )|0; w9l = ( w9l + xl)|0; w9h = ( w9h + ( ((w10h >>> 1) | (w10l << 31)) ^ ((w10h >>> 8) | (w10l << 24)) ^ (w10h >>> 7) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ((w7l >>> 19) | (w7h << 13)) ^ ((w7l << 3) | (w7h >>> 29)) ^ ((w7l >>> 6) | (w7h << 26)) )|0; w9l = ( w9l + xl)|0; w9h = ( w9h + ( ((w7h >>> 19) | (w7l << 13)) ^ ((w7h << 3) | (w7l >>> 29)) ^ (w7h >>> 6) ) + ((w9l >>> 0) < (xl >>> 0) ? 1 : 0) )|0; tl = ( 0x2db43210 + w9l )|0; th = ( 0xa831c66d + w9h + ((tl >>> 0) < (w9l >>> 0) ? 1 : 0) )|0; tl = ( tl + hl )|0; th = ( th + hh + ((tl >>> 0) < (hl >>> 0) ? 1 : 0) )|0; xl = ( ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)) )|0; tl = ( tl + xl )|0; th = ( th + (((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9))) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; xl = ( ( gl ^ el & (fl^gl) ) )|0; tl = ( tl + xl )|0; th = ( th + ( gh ^ eh & (fh^gh) ) + ((tl >>> 0) < (xl >>> 0) ? 1 : 0) )|0; hl = gl; hh = gh; gl = fl; gh = fh; fl = el; fh = eh; el = ( dl + tl )|0; eh = ( dh + th + ((el >>> 0) < (dl >>> 0) ? 1 : 0) )|0; dl = cl; dh = ch; cl = bl; ch = bh; bl = al; bh = ah; al = ( tl + ( (bl & cl) ^ ( dl & (bl ^ cl) ) ) )|0; ah = ( th + ( (bh & ch) ^ ( dh & (bh ^ ch) ) ) + ((al >>> 0) < (tl >>> 0) ? 1 : 0) )|0; xl = ( ((bl >>> 28) | (bh << 4)) ^ ((bl << 30) | (bh >>> 2)) ^ ((bl << 25) | (bh >>> 7)) )|0; al = ( al + xl )|0; ah = ( ah + (((bh >>> 28) | (bl << 4)) ^ ((bh << 30) | (bl >>> 2)) ^ ((bh << 25) | (bl >>> 7))) + ((al >>> 0) < (xl >>> 0) ? 1 : 0) )|0; // 26 w10l = ( w10l + w3l )|0; w10h = ( w10h + w3h + ((w10l >>> 0) < (w3l >>> 0) ? 1 : 0) )|0; xl = ( ((w11l >>> 1) | (w11h << 31)) ^ ((w11l >>> 8) | (w11h