Skip to content

Instantly share code, notes, and snippets.

@webeli
Created September 20, 2017 13:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save webeli/d28664f5166ab44fe5271d5cdb5c2343 to your computer and use it in GitHub Desktop.
Save webeli/d28664f5166ab44fe5271d5cdb5c2343 to your computer and use it in GitHub Desktop.
javascript zcash miner core
it's a core of miner, compiled to find solutions of all-zero block with nonces from 0 to 9,
so 10 total hashes calculated that produce total 20 valid solutions.
target was set to constant all-zero too, so the -O3 even drops comparison with target
(see 'solutions' function).
it's without debug info, so it just prints 10 times "job", steps from 1 to 9 in each job,
and total 20 times "above" (means solution found but above the target).
To run in browser use html file like
<script async src="jazecminer.js"></script>
Firefox will hang until main is finished. Chrome needs enabling of some flags to have
decent speed, see my post.
var TOTAL_MEMORY = 352321536;
function _puts(ptr) {
var eos = ptr;
while (HEAPU8[eos] != 0) {
eos++;
}
var str = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, eos));
console.log(str);
}
function _exit() {
throw "exit";
}
var buffer;
try {
buffer = new ArrayBuffer(TOTAL_MEMORY);
} catch (err) {
console.log(err);
throw err;
}
var global = {
"Int8Array": Int8Array,
"Int16Array": Int16Array,
"Int32Array": Int32Array,
"Uint8Array": Uint8Array,
"Uint16Array": Uint16Array,
"Uint32Array": Uint32Array
};
var lib = {
"_puts": _puts,
"_exit": _exit
};
var HEAPU8 = new Int8Array(buffer);
HEAPU8.set(
[8,201,188,243,103,230,9,106,59,167,202,132,133,174,103,187,43,248,148,
254,114,243,110,60,241,54,29,95,58,245,79,165,209,130,230,173,127,82,
14,81,31,108,62,43,140,104,5,155,107,189,65,251,171,217,131,31,121,33,
126,19,25,205,224,91,103,230,9,106,133,174,103,187,114,243,110,60,58,
245,79,165,127,82,14,81,140,104,5,155,171,217,131,31,25,205,224,91,152,
47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,
241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,
190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,
155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,
161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,
82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,
71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,
109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,
44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,
25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,
8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,
202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,
132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,
113,198,108,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,183,138,128,20,0,4,0,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,1,0,0,0,1,2,3,4,5,6,
7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,
0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,
0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,
1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,
8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,
9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,
6,1,12,0,2,11,7,5,3,119,116,102,0,97,98,111,118,101,0,106,111,98,0,115,
116,101,112,0], 8);
var asm = (function(global, lib, buffer) {
'use asm';
var HEAP8 = new global.Int8Array(buffer);
var HEAP16 = new global.Int16Array(buffer);
var HEAP32 = new global.Int32Array(buffer);
var HEAPU8 = new global.Uint8Array(buffer);
var HEAPU16 = new global.Uint16Array(buffer);
var HEAPU32 = new global.Uint32Array(buffer);
var STACKTOP = 343969480;
var tempRet0 = 0;
var _puts = lib._puts;
var _exit = lib._exit;
function _memset(ptr, value, num) {
ptr = ptr | 0;
value = value | 0;
num = num | 0;
var stop = 0, value4 = 0, stop4 = 0, unaligned = 0;
stop = ptr + num | 0;
if ((num | 0) >= 20) {
value = value & 255;
unaligned = ptr & 3;
value4 = value | value << 8 | value << 16 | value << 24;
stop4 = stop & ~3;
if (unaligned) {
unaligned = ptr + 4 - unaligned | 0;
while ((ptr | 0) < (unaligned | 0)) {
HEAP8[ptr >> 0] = value;
ptr = ptr + 1 | 0;
}
}
while ((ptr | 0) < (stop4 | 0)) {
HEAP32[ptr >> 2] = value4;
ptr = ptr + 4 | 0;
}
}
while ((ptr | 0) < (stop | 0)) {
HEAP8[ptr >> 0] = value;
ptr = ptr + 1 | 0;
}
return ptr - num | 0;
}
function _bitshift64Shl(low, high, bits) {
low = low | 0;
high = high | 0;
bits = bits | 0;
if ((bits | 0) < 32) {
tempRet0 = high << bits | (low & (1 << bits) - 1 << 32 - bits) >>> 32 - bits;
return low << bits;
}
tempRet0 = low << bits - 32;
return 0;
}
function _blake2b_init_param($S, $P) {
$S = $S | 0;
$P = $P | 0;
var $1 = 0, $10 = 0, $14 = 0, $15 = 0, $20 = 0, $23 = 0, $27 = 0, $3 = 0, $34 = 0, $38 = 0, $41 = 0, $45 = 0, $48 = 0, $52 = 0, $59 = 0, $6 = 0, $8 = 0, $i$01 = 0;
_memset($S | 0, 0, 200) | 0;
$i$01 = 0;
do {
$1 = 8 + ($i$01 << 3) | 0;
$3 = HEAP32[$1 >> 2] | 0;
$6 = HEAP32[$1 + 4 >> 2] | 0;
$8 = $P + ($i$01 << 3) | 0;
$10 = HEAPU8[$8 >> 0] | 0;
$14 = _bitshift64Shl(HEAPU8[$8 + 1 >> 0] | 0 | 0, 0, 8) | 0;
$15 = tempRet0;
$20 = _bitshift64Shl(HEAPU8[$8 + 2 >> 0] | 0 | 0, 0, 16) | 0;
$23 = $15 | tempRet0;
$27 = _bitshift64Shl(HEAPU8[$8 + 3 >> 0] | 0 | 0, 0, 24) | 0;
$34 = $23 | tempRet0 | (HEAPU8[$8 + 4 >> 0] | 0);
$38 = _bitshift64Shl(HEAPU8[$8 + 5 >> 0] | 0 | 0, 0, 40) | 0;
$41 = $34 | tempRet0;
$45 = _bitshift64Shl(HEAPU8[$8 + 6 >> 0] | 0 | 0, 0, 48) | 0;
$48 = $41 | tempRet0;
$52 = _bitshift64Shl(HEAPU8[$8 + 7 >> 0] | 0 | 0, 0, 56) | 0;
$59 = $S + ($i$01 << 3) | 0;
HEAP32[$59 >> 2] = ($14 | $10 | $20 | $27 | $38 | $45 | $52) ^ $3;
HEAP32[$59 + 4 >> 2] = ($48 | tempRet0) ^ $6;
$i$01 = $i$01 + 1 | 0;
} while (($i$01 | 0) != 8);
return 0;
}
function _memcpy(dest, src, num) {
dest = dest | 0;
src = src | 0;
num = num | 0;
var ret = 0;
ret = dest | 0;
if ((dest & 3) == (src & 3)) {
while (dest & 3) {
if (!num) return ret | 0;
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
dest = dest + 1 | 0;
src = src + 1 | 0;
num = num - 1 | 0;
}
while ((num | 0) >= 4) {
HEAP32[dest >> 2] = HEAP32[src >> 2];
dest = dest + 4 | 0;
src = src + 4 | 0;
num = num - 4 | 0;
}
}
while ((num | 0) > 0) {
HEAP8[dest >> 0] = HEAP8[src >> 0] | 0;
dest = dest + 1 | 0;
src = src + 1 | 0;
num = num - 1 | 0;
}
return ret | 0;
}
function _i64Add(a, b, c, d) {
a = a | 0;
b = b | 0;
c = c | 0;
d = d | 0;
var l = 0;
l = a + c >>> 0;
return (tempRet0 = b + d + (l >>> 0 < a >>> 0 | 0) >>> 0, l | 0) | 0;
}
function _bitshift64Lshr(low, high, bits) {
low = low | 0;
high = high | 0;
bits = bits | 0;
if ((bits | 0) < 32) {
tempRet0 = high >>> bits;
return low >>> bits | (high & (1 << bits) - 1) << 32 - bits;
}
tempRet0 = 0;
return high >>> bits - 32 | 0;
}
function _blake2b_compress($S, $block) {
$S = $S | 0;
$block = $block | 0;
var $1 = 0, $100 = 0, $111 = 0, $117 = 0, $123 = 0, $129 = 0, $13 = 0, $135 = 0, $141 = 0, $147 = 0, $153 = 0, $159 = 0, $16 = 0, $166 = 0, $168 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $177 = 0, $178 = 0, $185 = 0, $187 = 0, $189 = 0, $190 = 0, $191 = 0, $192 = 0, $196 = 0, $197 = 0, $20 = 0, $204 = 0, $206 = 0, $208 = 0, $209 = 0, $210 = 0, $211 = 0, $215 = 0, $216 = 0, $223 = 0, $225 = 0, $227 = 0, $228 = 0, $229 = 0, $230 = 0, $234 = 0, $235 = 0, $242 = 0, $244 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $253 = 0, $254 = 0, $261 = 0, $263 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $27 = 0, $272 = 0, $273 = 0, $280 = 0, $282 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $291 = 0, $292 = 0, $299 = 0, $3 = 0, $301 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $320 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $342 = 0, $343 = 0, $348 = 0, $354 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $360 = 0, $361 = 0, $362 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $370 = 0, $371 = 0, $372 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $386 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $408 = 0, $409 = 0, $41 = 0, $414 = 0, $420 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $45 = 0, $452 = 0, $458 = 0, $459 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $470 = 0, $471 = 0, $472 = 0, $474 = 0, $475 = 0, $480 = 0, $486 = 0, $488 = 0, $489 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $510 = 0, $511 = 0, $512 = 0, $518 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $540 = 0, $541 = 0, $546 = 0, $552 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $570 = 0, $572 = 0, $573 = 0, $574 = 0, $580 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $598 = 0, $599 = 0, $604 = 0, $61 = 0, $610 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $630 = 0, $631 = 0, $632 = 0, $638 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $656 = 0, $657 = 0, $66 = 0, $662 = 0, $668 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $678 = 0, $679 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $688 = 0, $689 = 0, $690 = 0, $696 = 0, $7 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $714 = 0, $715 = 0, $716 = 0, $722 = 0, $728 = 0, $729 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $746 = 0, $747 = 0, $748 = 0, $754 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $772 = 0, $773 = 0, $778 = 0, $784 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $800 = 0, $801 = 0, $802 = 0, $804 = 0, $805 = 0, $84 = 0, $89 = 0, $92 = 0, $93 = 0, $95 = 0, $i$05 = 0, $i$23 = 0, $m = 0, $v = 0, dest = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 256 | 0;
$m = sp + 128 | 0;
$v = sp;
$i$05 = 0;
do {
$1 = $block + ($i$05 << 3) | 0;
$3 = HEAPU8[$1 >> 0] | 0;
$7 = _bitshift64Shl(HEAPU8[$1 + 1 >> 0] | 0 | 0, 0, 8) | 0;
$8 = tempRet0;
$13 = _bitshift64Shl(HEAPU8[$1 + 2 >> 0] | 0 | 0, 0, 16) | 0;
$16 = $8 | tempRet0;
$20 = _bitshift64Shl(HEAPU8[$1 + 3 >> 0] | 0 | 0, 0, 24) | 0;
$27 = $16 | tempRet0 | (HEAPU8[$1 + 4 >> 0] | 0);
$31 = _bitshift64Shl(HEAPU8[$1 + 5 >> 0] | 0 | 0, 0, 40) | 0;
$34 = $27 | tempRet0;
$38 = _bitshift64Shl(HEAPU8[$1 + 6 >> 0] | 0 | 0, 0, 48) | 0;
$41 = $34 | tempRet0;
$45 = _bitshift64Shl(HEAPU8[$1 + 7 >> 0] | 0 | 0, 0, 56) | 0;
$50 = $m + ($i$05 << 3) | 0;
HEAP32[$50 >> 2] = $7 | $3 | $13 | $20 | $31 | $38 | $45;
HEAP32[$50 + 4 >> 2] = $41 | tempRet0;
$i$05 = $i$05 + 1 | 0;
} while (($i$05 | 0) != 16);
dest = $v;
src = $S;
stop = dest + 64 | 0;
do {
HEAP32[dest >> 2] = HEAP32[src >> 2];
dest = dest + 4 | 0;
src = src + 4 | 0;
} while ((dest | 0) < (stop | 0));
$56 = $v + 64 | 0;
HEAP32[$56 >> 2] = -205731576;
HEAP32[$56 + 4 >> 2] = 1779033703;
$61 = $v + 72 | 0;
HEAP32[$61 >> 2] = -2067093701;
HEAP32[$61 + 4 >> 2] = -1150833019;
$66 = $v + 80 | 0;
HEAP32[$66 >> 2] = -23791573;
HEAP32[$66 + 4 >> 2] = 1013904242;
$71 = $v + 88 | 0;
HEAP32[$71 >> 2] = 1595750129;
HEAP32[$71 + 4 >> 2] = -1521486534;
$76 = HEAP32[$S + 192 >> 2] | 0;
$77 = $76 & 65535 ^ -1377402159;
$79 = $v + 96 | 0;
HEAP32[$79 >> 2] = $77;
HEAP32[$79 + 4 >> 2] = 1359893119;
$84 = $v + 104 | 0;
HEAP32[$84 >> 2] = 725511199;
HEAP32[$84 + 4 >> 2] = -1694144372;
$89 = ($76 >>> 0 > 16777215) << 31 >> 31;
$92 = $89 ^ -79577749;
$93 = (($89 | 0) < 0) << 31 >> 31 ^ 528734635;
$95 = $v + 112 | 0;
HEAP32[$95 >> 2] = $92;
HEAP32[$95 + 4 >> 2] = $93;
$100 = $v + 120 | 0;
HEAP32[$100 >> 2] = 327033209;
HEAP32[$100 + 4 >> 2] = 1541459225;
$111 = $v;
$117 = $v + 32 | 0;
$123 = $v + 8 | 0;
$129 = $v + 40 | 0;
$135 = $v + 16 | 0;
$141 = $v + 48 | 0;
$147 = $v + 24 | 0;
$153 = $v + 56 | 0;
$310 = HEAP32[$117 >> 2] | 0;
$311 = HEAP32[$117 + 4 >> 2] | 0;
$312 = HEAP32[$111 >> 2] | 0;
$313 = HEAP32[$111 + 4 >> 2] | 0;
$329 = $77;
$331 = 1359893119;
$332 = -205731576;
$333 = 1779033703;
$376 = HEAP32[$129 >> 2] | 0;
$377 = HEAP32[$129 + 4 >> 2] | 0;
$378 = HEAP32[$123 >> 2] | 0;
$379 = HEAP32[$123 + 4 >> 2] | 0;
$395 = 725511199;
$397 = -1694144372;
$398 = -2067093701;
$399 = -1150833019;
$442 = HEAP32[$141 >> 2] | 0;
$443 = HEAP32[$141 + 4 >> 2] | 0;
$444 = HEAP32[$135 >> 2] | 0;
$445 = HEAP32[$135 + 4 >> 2] | 0;
$461 = $92;
$463 = $93;
$464 = -23791573;
$465 = 1013904242;
$508 = HEAP32[$153 >> 2] | 0;
$509 = HEAP32[$153 + 4 >> 2] | 0;
$510 = HEAP32[$147 >> 2] | 0;
$511 = HEAP32[$147 + 4 >> 2] | 0;
$527 = 327033209;
$529 = 1541459225;
$530 = 1595750129;
$531 = -1521486534;
$i$23 = 0;
while (1) {
$314 = _i64Add($310 | 0, $311 | 0, $312 | 0, $313 | 0) | 0;
$320 = $m + ((HEAPU8[480 + ($i$23 << 4) >> 0] | 0) << 3) | 0;
$326 = _i64Add($314 | 0, tempRet0 | 0, HEAP32[$320 >> 2] | 0, HEAP32[$320 + 4 >> 2] | 0) | 0;
$327 = tempRet0;
$328 = $329 ^ $326;
$330 = $331 ^ $327;
$334 = _i64Add($330 | 0, $328 | 0, $332 | 0, $333 | 0) | 0;
$335 = tempRet0;
$336 = $334 ^ $310;
$337 = $335 ^ $311;
$338 = _bitshift64Lshr($336 | 0, $337 | 0, 24) | 0;
$339 = tempRet0;
$340 = _bitshift64Shl($336 | 0, $337 | 0, 40) | 0;
$342 = $340 | $338;
$343 = tempRet0 | $339;
$348 = $m + ((HEAPU8[480 + ($i$23 << 4) + 1 >> 0] | 0) << 3) | 0;
$354 = _i64Add(HEAP32[$348 >> 2] | 0, HEAP32[$348 + 4 >> 2] | 0, $326 | 0, $327 | 0) | 0;
$356 = _i64Add($354 | 0, tempRet0 | 0, $342 | 0, $343 | 0) | 0;
$357 = tempRet0;
$358 = $356 ^ $330;
$359 = $357 ^ $328;
$360 = _bitshift64Lshr($358 | 0, $359 | 0, 16) | 0;
$361 = tempRet0;
$362 = _bitshift64Shl($358 | 0, $359 | 0, 48) | 0;
$364 = $362 | $360;
$365 = tempRet0 | $361;
$366 = _i64Add($364 | 0, $365 | 0, $334 | 0, $335 | 0) | 0;
$367 = tempRet0;
$368 = $366 ^ $342;
$369 = $367 ^ $343;
$370 = _bitshift64Lshr($368 | 0, $369 | 0, 63) | 0;
$371 = tempRet0;
$372 = _bitshift64Shl($368 | 0, $369 | 0, 1) | 0;
$374 = $372 | $370;
$375 = tempRet0 | $371;
$380 = _i64Add($376 | 0, $377 | 0, $378 | 0, $379 | 0) | 0;
$386 = $m + ((HEAPU8[480 + ($i$23 << 4) + 2 >> 0] | 0) << 3) | 0;
$392 = _i64Add($380 | 0, tempRet0 | 0, HEAP32[$386 >> 2] | 0, HEAP32[$386 + 4 >> 2] | 0) | 0;
$393 = tempRet0;
$394 = $395 ^ $392;
$396 = $397 ^ $393;
$400 = _i64Add($396 | 0, $394 | 0, $398 | 0, $399 | 0) | 0;
$401 = tempRet0;
$402 = $400 ^ $376;
$403 = $401 ^ $377;
$404 = _bitshift64Lshr($402 | 0, $403 | 0, 24) | 0;
$405 = tempRet0;
$406 = _bitshift64Shl($402 | 0, $403 | 0, 40) | 0;
$408 = $406 | $404;
$409 = tempRet0 | $405;
$414 = $m + ((HEAPU8[480 + ($i$23 << 4) + 3 >> 0] | 0) << 3) | 0;
$420 = _i64Add(HEAP32[$414 >> 2] | 0, HEAP32[$414 + 4 >> 2] | 0, $392 | 0, $393 | 0) | 0;
$422 = _i64Add($420 | 0, tempRet0 | 0, $408 | 0, $409 | 0) | 0;
$423 = tempRet0;
$424 = $422 ^ $396;
$425 = $423 ^ $394;
$426 = _bitshift64Lshr($424 | 0, $425 | 0, 16) | 0;
$427 = tempRet0;
$428 = _bitshift64Shl($424 | 0, $425 | 0, 48) | 0;
$430 = $428 | $426;
$431 = tempRet0 | $427;
$432 = _i64Add($430 | 0, $431 | 0, $400 | 0, $401 | 0) | 0;
$433 = tempRet0;
$434 = $432 ^ $408;
$435 = $433 ^ $409;
$436 = _bitshift64Lshr($434 | 0, $435 | 0, 63) | 0;
$437 = tempRet0;
$438 = _bitshift64Shl($434 | 0, $435 | 0, 1) | 0;
$440 = $438 | $436;
$441 = tempRet0 | $437;
$446 = _i64Add($442 | 0, $443 | 0, $444 | 0, $445 | 0) | 0;
$452 = $m + ((HEAPU8[480 + ($i$23 << 4) + 4 >> 0] | 0) << 3) | 0;
$458 = _i64Add($446 | 0, tempRet0 | 0, HEAP32[$452 >> 2] | 0, HEAP32[$452 + 4 >> 2] | 0) | 0;
$459 = tempRet0;
$460 = $461 ^ $458;
$462 = $463 ^ $459;
$466 = _i64Add($462 | 0, $460 | 0, $464 | 0, $465 | 0) | 0;
$467 = tempRet0;
$468 = $466 ^ $442;
$469 = $467 ^ $443;
$470 = _bitshift64Lshr($468 | 0, $469 | 0, 24) | 0;
$471 = tempRet0;
$472 = _bitshift64Shl($468 | 0, $469 | 0, 40) | 0;
$474 = $472 | $470;
$475 = tempRet0 | $471;
$480 = $m + ((HEAPU8[480 + ($i$23 << 4) + 5 >> 0] | 0) << 3) | 0;
$486 = _i64Add(HEAP32[$480 >> 2] | 0, HEAP32[$480 + 4 >> 2] | 0, $458 | 0, $459 | 0) | 0;
$488 = _i64Add($486 | 0, tempRet0 | 0, $474 | 0, $475 | 0) | 0;
$489 = tempRet0;
$490 = $488 ^ $462;
$491 = $489 ^ $460;
$492 = _bitshift64Lshr($490 | 0, $491 | 0, 16) | 0;
$493 = tempRet0;
$494 = _bitshift64Shl($490 | 0, $491 | 0, 48) | 0;
$496 = $494 | $492;
$497 = tempRet0 | $493;
$498 = _i64Add($496 | 0, $497 | 0, $466 | 0, $467 | 0) | 0;
$499 = tempRet0;
$500 = $498 ^ $474;
$501 = $499 ^ $475;
$502 = _bitshift64Lshr($500 | 0, $501 | 0, 63) | 0;
$503 = tempRet0;
$504 = _bitshift64Shl($500 | 0, $501 | 0, 1) | 0;
$506 = $504 | $502;
$507 = tempRet0 | $503;
$512 = _i64Add($508 | 0, $509 | 0, $510 | 0, $511 | 0) | 0;
$518 = $m + ((HEAPU8[480 + ($i$23 << 4) + 6 >> 0] | 0) << 3) | 0;
$524 = _i64Add($512 | 0, tempRet0 | 0, HEAP32[$518 >> 2] | 0, HEAP32[$518 + 4 >> 2] | 0) | 0;
$525 = tempRet0;
$526 = $527 ^ $524;
$528 = $529 ^ $525;
$532 = _i64Add($528 | 0, $526 | 0, $530 | 0, $531 | 0) | 0;
$533 = tempRet0;
$534 = $532 ^ $508;
$535 = $533 ^ $509;
$536 = _bitshift64Lshr($534 | 0, $535 | 0, 24) | 0;
$537 = tempRet0;
$538 = _bitshift64Shl($534 | 0, $535 | 0, 40) | 0;
$540 = $538 | $536;
$541 = tempRet0 | $537;
$546 = $m + ((HEAPU8[480 + ($i$23 << 4) + 7 >> 0] | 0) << 3) | 0;
$552 = _i64Add(HEAP32[$546 >> 2] | 0, HEAP32[$546 + 4 >> 2] | 0, $524 | 0, $525 | 0) | 0;
$554 = _i64Add($552 | 0, tempRet0 | 0, $540 | 0, $541 | 0) | 0;
$555 = tempRet0;
$556 = $554 ^ $528;
$557 = $555 ^ $526;
$558 = _bitshift64Lshr($556 | 0, $557 | 0, 16) | 0;
$559 = tempRet0;
$560 = _bitshift64Shl($556 | 0, $557 | 0, 48) | 0;
$562 = $560 | $558;
$563 = tempRet0 | $559;
$564 = _i64Add($562 | 0, $563 | 0, $532 | 0, $533 | 0) | 0;
$565 = tempRet0;
$566 = $564 ^ $540;
$567 = $565 ^ $541;
$568 = _bitshift64Lshr($566 | 0, $567 | 0, 63) | 0;
$569 = tempRet0;
$570 = _bitshift64Shl($566 | 0, $567 | 0, 1) | 0;
$572 = $570 | $568;
$573 = tempRet0 | $569;
$574 = _i64Add($356 | 0, $357 | 0, $440 | 0, $441 | 0) | 0;
$580 = $m + ((HEAPU8[480 + ($i$23 << 4) + 8 >> 0] | 0) << 3) | 0;
$586 = _i64Add($574 | 0, tempRet0 | 0, HEAP32[$580 >> 2] | 0, HEAP32[$580 + 4 >> 2] | 0) | 0;
$587 = tempRet0;
$588 = $586 ^ $562;
$589 = $587 ^ $563;
$590 = _i64Add($589 | 0, $588 | 0, $498 | 0, $499 | 0) | 0;
$591 = tempRet0;
$592 = $590 ^ $440;
$593 = $591 ^ $441;
$594 = _bitshift64Lshr($592 | 0, $593 | 0, 24) | 0;
$595 = tempRet0;
$596 = _bitshift64Shl($592 | 0, $593 | 0, 40) | 0;
$598 = $596 | $594;
$599 = tempRet0 | $595;
$604 = $m + ((HEAPU8[480 + ($i$23 << 4) + 9 >> 0] | 0) << 3) | 0;
$610 = _i64Add(HEAP32[$604 >> 2] | 0, HEAP32[$604 + 4 >> 2] | 0, $586 | 0, $587 | 0) | 0;
$612 = _i64Add($610 | 0, tempRet0 | 0, $598 | 0, $599 | 0) | 0;
$613 = tempRet0;
$614 = $612 ^ $589;
$615 = $613 ^ $588;
$616 = _bitshift64Lshr($614 | 0, $615 | 0, 16) | 0;
$617 = tempRet0;
$618 = _bitshift64Shl($614 | 0, $615 | 0, 48) | 0;
$620 = $618 | $616;
$621 = tempRet0 | $617;
$622 = _i64Add($620 | 0, $621 | 0, $590 | 0, $591 | 0) | 0;
$623 = tempRet0;
$624 = $622 ^ $598;
$625 = $623 ^ $599;
$626 = _bitshift64Lshr($624 | 0, $625 | 0, 63) | 0;
$627 = tempRet0;
$628 = _bitshift64Shl($624 | 0, $625 | 0, 1) | 0;
$630 = $628 | $626;
$631 = tempRet0 | $627;
$632 = _i64Add($422 | 0, $423 | 0, $506 | 0, $507 | 0) | 0;
$638 = $m + ((HEAPU8[480 + ($i$23 << 4) + 10 >> 0] | 0) << 3) | 0;
$644 = _i64Add($632 | 0, tempRet0 | 0, HEAP32[$638 >> 2] | 0, HEAP32[$638 + 4 >> 2] | 0) | 0;
$645 = tempRet0;
$646 = $364 ^ $644;
$647 = $365 ^ $645;
$648 = _i64Add($647 | 0, $646 | 0, $564 | 0, $565 | 0) | 0;
$649 = tempRet0;
$650 = $648 ^ $506;
$651 = $649 ^ $507;
$652 = _bitshift64Lshr($650 | 0, $651 | 0, 24) | 0;
$653 = tempRet0;
$654 = _bitshift64Shl($650 | 0, $651 | 0, 40) | 0;
$656 = $654 | $652;
$657 = tempRet0 | $653;
$662 = $m + ((HEAPU8[480 + ($i$23 << 4) + 11 >> 0] | 0) << 3) | 0;
$668 = _i64Add(HEAP32[$662 >> 2] | 0, HEAP32[$662 + 4 >> 2] | 0, $644 | 0, $645 | 0) | 0;
$670 = _i64Add($668 | 0, tempRet0 | 0, $656 | 0, $657 | 0) | 0;
$671 = tempRet0;
$672 = $670 ^ $647;
$673 = $671 ^ $646;
$674 = _bitshift64Lshr($672 | 0, $673 | 0, 16) | 0;
$675 = tempRet0;
$676 = _bitshift64Shl($672 | 0, $673 | 0, 48) | 0;
$678 = $676 | $674;
$679 = tempRet0 | $675;
$680 = _i64Add($678 | 0, $679 | 0, $648 | 0, $649 | 0) | 0;
$681 = tempRet0;
$682 = $680 ^ $656;
$683 = $681 ^ $657;
$684 = _bitshift64Lshr($682 | 0, $683 | 0, 63) | 0;
$685 = tempRet0;
$686 = _bitshift64Shl($682 | 0, $683 | 0, 1) | 0;
$688 = $686 | $684;
$689 = tempRet0 | $685;
$690 = _i64Add($488 | 0, $489 | 0, $572 | 0, $573 | 0) | 0;
$696 = $m + ((HEAPU8[480 + ($i$23 << 4) + 12 >> 0] | 0) << 3) | 0;
$702 = _i64Add($690 | 0, tempRet0 | 0, HEAP32[$696 >> 2] | 0, HEAP32[$696 + 4 >> 2] | 0) | 0;
$703 = tempRet0;
$704 = $430 ^ $702;
$705 = $431 ^ $703;
$706 = _i64Add($705 | 0, $704 | 0, $366 | 0, $367 | 0) | 0;
$707 = tempRet0;
$708 = $572 ^ $706;
$709 = $573 ^ $707;
$710 = _bitshift64Lshr($708 | 0, $709 | 0, 24) | 0;
$711 = tempRet0;
$712 = _bitshift64Shl($708 | 0, $709 | 0, 40) | 0;
$714 = $712 | $710;
$715 = tempRet0 | $711;
$716 = _i64Add($714 | 0, $715 | 0, $702 | 0, $703 | 0) | 0;
$722 = $m + ((HEAPU8[480 + ($i$23 << 4) + 13 >> 0] | 0) << 3) | 0;
$728 = _i64Add($716 | 0, tempRet0 | 0, HEAP32[$722 >> 2] | 0, HEAP32[$722 + 4 >> 2] | 0) | 0;
$729 = tempRet0;
$730 = $728 ^ $705;
$731 = $729 ^ $704;
$732 = _bitshift64Lshr($730 | 0, $731 | 0, 16) | 0;
$733 = tempRet0;
$734 = _bitshift64Shl($730 | 0, $731 | 0, 48) | 0;
$736 = $734 | $732;
$737 = tempRet0 | $733;
$738 = _i64Add($736 | 0, $737 | 0, $706 | 0, $707 | 0) | 0;
$739 = tempRet0;
$740 = $738 ^ $714;
$741 = $739 ^ $715;
$742 = _bitshift64Lshr($740 | 0, $741 | 0, 63) | 0;
$743 = tempRet0;
$744 = _bitshift64Shl($740 | 0, $741 | 0, 1) | 0;
$746 = $744 | $742;
$747 = tempRet0 | $743;
$748 = _i64Add($374 | 0, $375 | 0, $554 | 0, $555 | 0) | 0;
$754 = $m + ((HEAPU8[480 + ($i$23 << 4) + 14 >> 0] | 0) << 3) | 0;
$760 = _i64Add($748 | 0, tempRet0 | 0, HEAP32[$754 >> 2] | 0, HEAP32[$754 + 4 >> 2] | 0) | 0;
$761 = tempRet0;
$762 = $496 ^ $760;
$763 = $497 ^ $761;
$764 = _i64Add($763 | 0, $762 | 0, $432 | 0, $433 | 0) | 0;
$765 = tempRet0;
$766 = $764 ^ $374;
$767 = $765 ^ $375;
$768 = _bitshift64Lshr($766 | 0, $767 | 0, 24) | 0;
$769 = tempRet0;
$770 = _bitshift64Shl($766 | 0, $767 | 0, 40) | 0;
$772 = $770 | $768;
$773 = tempRet0 | $769;
$778 = $m + ((HEAPU8[480 + ($i$23 << 4) + 15 >> 0] | 0) << 3) | 0;
$784 = _i64Add(HEAP32[$778 >> 2] | 0, HEAP32[$778 + 4 >> 2] | 0, $760 | 0, $761 | 0) | 0;
$786 = _i64Add($784 | 0, tempRet0 | 0, $772 | 0, $773 | 0) | 0;
$787 = tempRet0;
$788 = $786 ^ $763;
$789 = $787 ^ $762;
$790 = _bitshift64Lshr($788 | 0, $789 | 0, 16) | 0;
$791 = tempRet0;
$792 = _bitshift64Shl($788 | 0, $789 | 0, 48) | 0;
$794 = $792 | $790;
$795 = tempRet0 | $791;
$796 = _i64Add($794 | 0, $795 | 0, $764 | 0, $765 | 0) | 0;
$797 = tempRet0;
$798 = $796 ^ $772;
$799 = $797 ^ $773;
$800 = _bitshift64Lshr($798 | 0, $799 | 0, 63) | 0;
$801 = tempRet0;
$802 = _bitshift64Shl($798 | 0, $799 | 0, 1) | 0;
$804 = $802 | $800;
$805 = tempRet0 | $801;
$i$23 = $i$23 + 1 | 0;
if (($i$23 | 0) == 12) {
$166 = $612;
$168 = $613;
$170 = $738;
$172 = $739;
$185 = $670;
$187 = $671;
$189 = $796;
$191 = $797;
$204 = $728;
$206 = $729;
$208 = $622;
$210 = $623;
$223 = $786;
$225 = $787;
$227 = $680;
$229 = $681;
$242 = $804;
$244 = $805;
$246 = $678;
$248 = $679;
$261 = $630;
$263 = $631;
$265 = $736;
$267 = $737;
$280 = $688;
$282 = $689;
$284 = $794;
$286 = $795;
$299 = $746;
$301 = $747;
$303 = $620;
$305 = $621;
break;
} else {
$310 = $804;
$311 = $805;
$312 = $612;
$313 = $613;
$329 = $678;
$331 = $679;
$332 = $738;
$333 = $739;
$376 = $630;
$377 = $631;
$378 = $670;
$379 = $671;
$395 = $736;
$397 = $737;
$398 = $796;
$399 = $797;
$442 = $688;
$443 = $689;
$444 = $728;
$445 = $729;
$461 = $794;
$463 = $795;
$464 = $622;
$465 = $623;
$508 = $746;
$509 = $747;
$510 = $786;
$511 = $787;
$527 = $620;
$529 = $621;
$530 = $680;
$531 = $681;
}
}
$159 = $S;
$171 = $168 ^ HEAP32[$159 + 4 >> 2] ^ $172;
$173 = $S;
HEAP32[$173 >> 2] = $166 ^ HEAP32[$159 >> 2] ^ $170;
HEAP32[$173 + 4 >> 2] = $171;
$177 = $S + 8 | 0;
$178 = $177;
$190 = $187 ^ HEAP32[$178 + 4 >> 2] ^ $191;
$192 = $177;
HEAP32[$192 >> 2] = $185 ^ HEAP32[$178 >> 2] ^ $189;
HEAP32[$192 + 4 >> 2] = $190;
$196 = $S + 16 | 0;
$197 = $196;
$209 = $206 ^ HEAP32[$197 + 4 >> 2] ^ $210;
$211 = $196;
HEAP32[$211 >> 2] = $204 ^ HEAP32[$197 >> 2] ^ $208;
HEAP32[$211 + 4 >> 2] = $209;
$215 = $S + 24 | 0;
$216 = $215;
$228 = $225 ^ HEAP32[$216 + 4 >> 2] ^ $229;
$230 = $215;
HEAP32[$230 >> 2] = $223 ^ HEAP32[$216 >> 2] ^ $227;
HEAP32[$230 + 4 >> 2] = $228;
$234 = $S + 32 | 0;
$235 = $234;
$247 = $244 ^ HEAP32[$235 + 4 >> 2] ^ $248;
$249 = $234;
HEAP32[$249 >> 2] = $242 ^ HEAP32[$235 >> 2] ^ $246;
HEAP32[$249 + 4 >> 2] = $247;
$253 = $S + 40 | 0;
$254 = $253;
$266 = $263 ^ HEAP32[$254 + 4 >> 2] ^ $267;
$268 = $253;
HEAP32[$268 >> 2] = $261 ^ HEAP32[$254 >> 2] ^ $265;
HEAP32[$268 + 4 >> 2] = $266;
$272 = $S + 48 | 0;
$273 = $272;
$285 = $282 ^ HEAP32[$273 + 4 >> 2] ^ $286;
$287 = $272;
HEAP32[$287 >> 2] = $280 ^ HEAP32[$273 >> 2] ^ $284;
HEAP32[$287 + 4 >> 2] = $285;
$291 = $S + 56 | 0;
$292 = $291;
$304 = $301 ^ HEAP32[$292 + 4 >> 2] ^ $305;
$306 = $291;
HEAP32[$306 >> 2] = $299 ^ HEAP32[$292 >> 2] ^ $303;
HEAP32[$306 + 4 >> 2] = $304;
STACKTOP = sp;
return;
}
function _blake2b_update($S, $in, $inlen) {
$S = $S | 0;
$in = $in | 0;
$inlen = $inlen | 0;
var $$013 = 0, $$04 = 0, $$1 = 0, $$12 = 0, $$lcssa = 0, $$lcssa10 = 0, $0 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $22 = 0, $23 = 0, $24 = 0, $30 = 0, $4 = 0, $5 = 0, $9 = 0;
$0 = $inlen & 65535;
if (!($inlen << 16 >> 16)) return 0;
$2 = $S + 194 | 0;
$4 = HEAPU8[$2 >> 0] | 0;
$5 = 128 - $4 | 0;
if ($0 >>> 0 > $5 >>> 0) {
HEAP8[$2 >> 0] = 0;
_memcpy($S + 64 + $4 | 0, $in | 0, $5 | 0) | 0;
$9 = $S + 192 | 0;
HEAP16[$9 >> 1] = (HEAPU16[$9 >> 1] | 0) + 128;
_blake2b_compress($S, $S + 64 | 0);
$14 = $in + $5 | 0;
$15 = $0 - $5 | 0;
$$013 = $15 & 65535;
$16 = $15 & 65535;
if ($16 >>> 0 > 128) {
$$04 = $14;
$24 = $16;
while (1) {
HEAP16[$9 >> 1] = (HEAPU16[$9 >> 1] | 0) + 128;
_blake2b_compress($S, $$04);
$22 = $$04 + 128 | 0;
$23 = $24 + -128 | 0;
$24 = $23 & 65535;
if ($24 >>> 0 <= 128) {
$$lcssa = $22;
$$lcssa10 = $23;
break;
} else $$04 = $22;
}
$$1 = $$lcssa;
$$12 = $$lcssa10 & 65535;
} else {
$$1 = $14;
$$12 = $$013;
}
} else {
$$1 = $in;
$$12 = $inlen;
}
$30 = $$12 & 65535;
_memcpy((HEAPU8[$2 >> 0] | 0) + ($S + 64) | 0, $$1 | 0, $30 | 0) | 0;
HEAP8[$2 >> 0] = (HEAPU8[$2 >> 0] | 0) + $30;
return 0;
}
function _blake2b_zcash($S, $w3, $out) {
$S = $S | 0;
$w3 = $w3 | 0;
$out = $out | 0;
var $0 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1009 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1043 = 0, $1047 = 0, $105 = 0, $1053 = 0, $1055 = 0, $1057 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1089 = 0, $109 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $11 = 0, $110 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1119 = 0, $112 = 0, $1123 = 0, $1129 = 0, $113 = 0, $1131 = 0, $1134 = 0, $1135 = 0, $1137 = 0, $114 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1171 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1207 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1225 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $1240 = 0, $1241 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1263 = 0, $1267 = 0, $127 = 0, $1273 = 0, $1275 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1281 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1299 = 0, $13 = 0, $1300 = 0, $1301 = 0, $1303 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1339 = 0, $1340 = 0, $1341 = 0, $1347 = 0, $1349 = 0, $1352 = 0, $1353 = 0, $1355 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $137 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1383 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1423 = 0, $1425 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1431 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $145 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1465 = 0, $147 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $1480 = 0, $1481 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $150 = 0, $1501 = 0, $1503 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1525 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $1540 = 0, $1541 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1549 = 0, $1550 = 0, $1551 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $1563 = 0, $1567 = 0, $1573 = 0, $1575 = 0, $158 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1599 = 0, $1600 = 0, $1601 = 0, $1603 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1629 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1637 = 0, $164 = 0, $1641 = 0, $1647 = 0, $1649 = 0, $165 = 0, $1651 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $166 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $167 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1683 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1713 = 0, $1717 = 0, $172 = 0, $1723 = 0, $1725 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1731 = 0, $1733 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $175 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1765 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $18 = 0, $180 = 0, $1801 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1851 = 0, $1855 = 0, $1861 = 0, $1863 = 0, $1866 = 0, $1867 = 0, $1869 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1891 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $1935 = 0, $1937 = 0, $1940 = 0, $1941 = 0, $1943 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1971 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $2000 = 0, $2001 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $201 = 0, $2011 = 0, $2013 = 0, $2016 = 0, $2017 = 0, $2019 = 0, $202 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $203 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2049 = 0, $2050 = 0, $2051 = 0, $2053 = 0, $2059 = 0, $2060 = 0, $2061 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2089 = 0, $209 = 0, $2091 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2113 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $215 = 0, $2151 = 0, $2155 = 0, $216 = 0, $2161 = 0, $2163 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $2191 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2209 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $2220 = 0, $2221 = 0, $2225 = 0, $2229 = 0, $2235 = 0, $2237 = 0, $224 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $225 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2259 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2271 = 0, $2273 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2289 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $230 = 0, $2301 = 0, $2305 = 0, $231 = 0, $2311 = 0, $2313 = 0, $2316 = 0, $2317 = 0, $2319 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $233 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $234 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2349 = 0, $2350 = 0, $2351 = 0, $2353 = 0, $2359 = 0, $2360 = 0, $2361 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2389 = 0, $2391 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $2440 = 0, $2441 = 0, $2445 = 0, $2449 = 0, $2455 = 0, $2457 = 0, $2460 = 0, $2461 = 0, $2463 = 0, $2469 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2485 = 0, $249 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2509 = 0, $2510 = 0, $2511 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2529 = 0, $2531 = 0, $2534 = 0, $2535 = 0, $2537 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2565 = 0, $257 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $260 = 0, $2605 = 0, $2607 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2613 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2647 = 0, $265 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $268 = 0, $2683 = 0, $2685 = 0, $269 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $2700 = 0, $2701 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2707 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2719 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $2740 = 0, $2741 = 0, $2745 = 0, $2749 = 0, $275 = 0, $2755 = 0, $2757 = 0, $276 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $277 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2785 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $2800 = 0, $2801 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $281 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2819 = 0, $282 = 0, $2823 = 0, $2829 = 0, $283 = 0, $2831 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $285 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2865 = 0, $287 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2895 = 0, $2899 = 0, $290 = 0, $2905 = 0, $2907 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2913 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2947 = 0, $295 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2959 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $298 = 0, $2983 = 0, $2985 = 0, $299 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3000 = 0, $3001 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3007 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3019 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $3040 = 0, $3041 = 0, $3045 = 0, $3049 = 0, $305 = 0, $3055 = 0, $3057 = 0, $3060 = 0, $3061 = 0, $3063 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3085 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $3100 = 0, $3101 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3109 = 0, $3110 = 0, $3111 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3129 = 0, $3131 = 0, $3134 = 0, $3135 = 0, $3137 = 0, $314 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $315 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3165 = 0, $317 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3205 = 0, $3207 = 0, $321 = 0, $3210 = 0, $3211 = 0, $3213 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3247 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $328 = 0, $3283 = 0, $3285 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $330 = 0, $3300 = 0, $3301 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3307 = 0, $331 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3319 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $3340 = 0, $3341 = 0, $3345 = 0, $3349 = 0, $3355 = 0, $3357 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $337 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3385 = 0, $339 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $3400 = 0, $3401 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3419 = 0, $3423 = 0, $3429 = 0, $343 = 0, $3431 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $345 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3465 = 0, $347 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $3480 = 0, $3481 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3495 = 0, $3499 = 0, $350 = 0, $3505 = 0, $3507 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3513 = 0, $3515 = 0, $3518 = 0, $3519 = 0, $3520 = 0, $3521 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $3540 = 0, $3541 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3547 = 0, $355 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3583 = 0, $3585 = 0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0, $3599 = 0, $3600 = 0, $3601 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3607 = 0, $361 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3625 = 0, $3626 = 0, $3627 = 0, $363 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3645 = 0, $3649 = 0, $365 = 0, $3655 = 0, $3657 = 0, $3660 = 0, $3661 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3679 = 0, $3685 = 0, $3686 = 0, $3687 = 0, $369 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3697 = 0, $3698 = 0, $3699 = 0, $37 = 0, $3703 = 0, $3704 = 0, $3705 = 0, $3709 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0, $3715 = 0, $3716 = 0, $3717 = 0, $3723 = 0, $3725 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3731 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $3740 = 0, $3741 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $3750 = 0, $3751 = 0, $3752 = 0, $3753 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3759 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3777 = 0, $3778 = 0, $3779 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0, $3787 = 0, $3788 = 0, $3789 = 0, $379 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3799 = 0, $38 = 0, $3801 = 0, $3804 = 0, $3805 = 0, $3807 = 0, $381 = 0, $3813 = 0, $3814 = 0, $3815 = 0, $382 = 0, $3821 = 0, $3822 = 0, $3823 = 0, $3829 = 0, $3830 = 0, $3831 = 0, $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $3841 = 0, $3847 = 0, $3848 = 0, $3849 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3859 = 0, $3860 = 0, $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0, $3867 = 0, $3869 = 0, $3870 = 0, $3871 = 0, $3877 = 0, $3879 = 0, $388 = 0, $3885 = 0, $3886 = 0, $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0, $3895 = 0, $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3901 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $3913 = 0, $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3919 = 0, $3920 = 0, $3921 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3931 = 0, $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3939 = 0, $3943 = 0, $3949 = 0, $3951 = 0, $3957 = 0, $3958 = 0, $3959 = 0, $396 = 0, $3965 = 0, $3966 = 0, $3967 = 0, $3968 = 0, $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3975 = 0, $3976 = 0, $3977 = 0, $3979 = 0, $398 = 0, $3985 = 0, $3986 = 0, $3987 = 0, $399 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0, $3995 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0, $4001 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4013 = 0, $4017 = 0, $402 = 0, $4023 = 0, $4025 = 0, $403 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4039 = 0, $404 = 0, $4040 = 0, $4041 = 0, $4047 = 0, $4048 = 0, $4049 = 0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4055 = 0, $4056 = 0, $4057 = 0, $4059 = 0, $406 = 0, $4065 = 0, $4066 = 0, $4067 = 0, $407 = 0, $4071 = 0, $4072 = 0, $4073 = 0, $4074 = 0, $4075 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0, $4084 = 0, $4085 = 0, $4089 = 0, $4093 = 0, $4099 = 0, $41 = 0, $410 = 0, $4101 = 0, $4104 = 0, $4105 = 0, $4107 = 0, $411 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4129 = 0, $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0, $4137 = 0, $4138 = 0, $4139 = 0, $4141 = 0, $4143 = 0, $4146 = 0, $4147 = 0, $4148 = 0, $4149 = 0, $4153 = 0, $4154 = 0, $4155 = 0, $4156 = 0, $4157 = 0, $4159 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0, $4164 = 0, $4165 = 0, $4166 = 0, $4167 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0, $4177 = 0, $4179 = 0, $418 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0, $4190 = 0, $4191 = 0, $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0, $4201 = 0, $4202 = 0, $4203 = 0, $4207 = 0, $4208 = 0, $4209 = 0, $4210 = 0, $4211 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4219 = 0, $4220 = 0, $4221 = 0, $4225 = 0, $4226 = 0, $4227 = 0, $4228 = 0, $4229 = 0, $423 = 0, $4233 = 0, $4237 = 0, $424 = 0, $4243 = 0, $4245 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4251 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0, $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0, $4273 = 0, $4279 = 0, $4280 = 0, $4281 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0, $4291 = 0, $4292 = 0, $4293 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0, $430 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0, $4309 = 0, $431 = 0, $4310 = 0, $4311 = 0, $4317 = 0, $4319 = 0, $432 = 0, $4322 = 0, $4323 = 0, $4325 = 0, $433 = 0, $4331 = 0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0, $4341 = 0, $4342 = 0, $4343 = 0, $4344 = 0, $4345 = 0, $4346 = 0, $4347 = 0, $4349 = 0, $4350 = 0, $4351 = 0, $4353 = 0, $4359 = 0, $4360 = 0, $4361 = 0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4371 = 0, $4372 = 0, $4373 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0, $4380 = 0, $4381 = 0, $4382 = 0, $4383 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $439 = 0, $4393 = 0, $4395 = 0, $4398 = 0, $4399 = 0, $44 = 0, $440 = 0, $4401 = 0, $4407 = 0, $4408 = 0, $4409 = 0, $441 = 0, $4415 = 0, $4416 = 0, $4417 = 0, $4423 = 0, $4424 = 0, $4425 = 0, $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $4431 = 0, $4432 = 0, $4433 = 0, $4435 = 0, $4441 = 0, $4442 = 0, $4443 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0, $4453 = 0, $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $4460 = 0, $4461 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4471 = 0, $4473 = 0, $4479 = 0, $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0, $4489 = 0, $449 = 0, $4491 = 0, $4492 = 0, $4493 = 0, $4495 = 0, $45 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4507 = 0, $4508 = 0, $4509 = 0, $4510 = 0, $4511 = 0, $4513 = 0, $4514 = 0, $4515 = 0, $4519 = 0, $4520 = 0, $4521 = 0, $4525 = 0, $4526 = 0, $4527 = 0, $4528 = 0, $4529 = 0, $4533 = 0, $4537 = 0, $4543 = 0, $4545 = 0, $455 = 0, $4551 = 0, $4552 = 0, $4553 = 0, $4559 = 0, $4560 = 0, $4561 = 0, $4562 = 0, $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4569 = 0, $457 = 0, $4570 = 0, $4571 = 0, $4573 = 0, $4579 = 0, $458 = 0, $4580 = 0, $4581 = 0, $4585 = 0, $4586 = 0, $4587 = 0, $4588 = 0, $4589 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4599 = 0, $46 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0, $4607 = 0, $4611 = 0, $4617 = 0, $4619 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4633 = 0, $4634 = 0, $4635 = 0, $464 = 0, $4641 = 0, $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4649 = 0, $465 = 0, $4650 = 0, $4651 = 0, $4653 = 0, $4655 = 0, $4658 = 0, $4659 = 0, $466 = 0, $4660 = 0, $4661 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0, $4669 = 0, $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0, $4677 = 0, $4678 = 0, $4679 = 0, $4683 = 0, $4687 = 0, $4693 = 0, $4695 = 0, $4698 = 0, $4699 = 0, $47 = 0, $4701 = 0, $4707 = 0, $4708 = 0, $4709 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $472 = 0, $4723 = 0, $4724 = 0, $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0, $4731 = 0, $4732 = 0, $4733 = 0, $4735 = 0, $474 = 0, $4741 = 0, $4742 = 0, $4743 = 0, $4747 = 0, $4748 = 0, $4749 = 0, $4750 = 0, $4751 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0, $4759 = 0, $4760 = 0, $4761 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4771 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0, $4777 = 0, $4778 = 0, $4779 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4785 = 0, $4786 = 0, $4787 = 0, $4789 = 0, $4795 = 0, $4796 = 0, $4797 = 0, $48 = 0, $480 = 0, $4801 = 0, $4802 = 0, $4803 = 0, $4804 = 0, $4805 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4813 = 0, $4814 = 0, $4815 = 0, $4819 = 0, $482 = 0, $4820 = 0, $4821 = 0, $4822 = 0, $4823 = 0, $4827 = 0, $483 = 0, $4831 = 0, $4837 = 0, $4839 = 0, $484 = 0, $4842 = 0, $4843 = 0, $4845 = 0, $485 = 0, $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0, $4857 = 0, $4858 = 0, $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4867 = 0, $4873 = 0, $4874 = 0, $4875 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4885 = 0, $4886 = 0, $4887 = 0, $489 = 0, $4891 = 0, $4892 = 0, $4893 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $490 = 0, $4900 = 0, $4901 = 0, $4903 = 0, $4904 = 0, $4905 = 0, $4911 = 0, $4913 = 0, $4916 = 0, $4917 = 0, $4919 = 0, $492 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0, $4939 = 0, $4940 = 0, $4941 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4947 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4959 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4965 = 0, $4966 = 0, $4967 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0, $4975 = 0, $4976 = 0, $4977 = 0, $4979 = 0, $4980 = 0, $4981 = 0, $4987 = 0, $4989 = 0, $499 = 0, $4992 = 0, $4993 = 0, $4995 = 0, $5 = 0, $50 = 0, $500 = 0, $5001 = 0, $5002 = 0, $5003 = 0, $5009 = 0, $501 = 0, $5010 = 0, $5011 = 0, $5017 = 0, $5018 = 0, $5019 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5025 = 0, $5026 = 0, $5027 = 0, $5029 = 0, $5035 = 0, $5036 = 0, $5037 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0, $5047 = 0, $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5065 = 0, $5067 = 0, $507 = 0, $5073 = 0, $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0, $5082 = 0, $5083 = 0, $5085 = 0, $5086 = 0, $5087 = 0, $5089 = 0, $509 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $51 = 0, $5101 = 0, $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5107 = 0, $5108 = 0, $5109 = 0, $511 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5119 = 0, $512 = 0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5127 = 0, $513 = 0, $5131 = 0, $5137 = 0, $5139 = 0, $514 = 0, $5145 = 0, $5146 = 0, $5147 = 0, $515 = 0, $5153 = 0, $5154 = 0, $5155 = 0, $5156 = 0, $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0, $5163 = 0, $5164 = 0, $5165 = 0, $5167 = 0, $517 = 0, $5173 = 0, $5174 = 0, $5175 = 0, $5179 = 0, $518 = 0, $5180 = 0, $5181 = 0, $5182 = 0, $5183 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $52 = 0, $5201 = 0, $5205 = 0, $5211 = 0, $5213 = 0, $5219 = 0, $5220 = 0, $5221 = 0, $5227 = 0, $5228 = 0, $5229 = 0, $523 = 0, $5235 = 0, $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $5240 = 0, $5241 = 0, $5243 = 0, $5244 = 0, $5245 = 0, $5247 = 0, $5253 = 0, $5254 = 0, $5255 = 0, $5259 = 0, $5260 = 0, $5261 = 0, $5262 = 0, $5263 = 0, $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0, $5270 = 0, $5271 = 0, $5272 = 0, $5273 = 0, $5277 = 0, $5281 = 0, $5287 = 0, $5289 = 0, $5292 = 0, $5293 = 0, $5295 = 0, $5297 = 0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5309 = 0, $5310 = 0, $5311 = 0, $5317 = 0, $5318 = 0, $5319 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0, $5325 = 0, $5326 = 0, $5327 = 0, $5329 = 0, $533 = 0, $5335 = 0, $5336 = 0, $5337 = 0, $5341 = 0, $5342 = 0, $5343 = 0, $5344 = 0, $5345 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0, $5352 = 0, $5353 = 0, $5354 = 0, $5355 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $5365 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $5370 = 0, $5371 = 0, $5372 = 0, $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5379 = 0, $538 = 0, $5380 = 0, $5381 = 0, $5383 = 0, $5389 = 0, $539 = 0, $5390 = 0, $5391 = 0, $5395 = 0, $5396 = 0, $5397 = 0, $5398 = 0, $5399 = 0, $54 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5407 = 0, $5408 = 0, $5409 = 0, $541 = 0, $5413 = 0, $5414 = 0, $5415 = 0, $5416 = 0, $5417 = 0, $542 = 0, $5421 = 0, $5425 = 0, $5431 = 0, $5433 = 0, $5436 = 0, $5437 = 0, $5439 = 0, $544 = 0, $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $5450 = 0, $5451 = 0, $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $5461 = 0, $5467 = 0, $5468 = 0, $5469 = 0, $547 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5479 = 0, $548 = 0, $5480 = 0, $5481 = 0, $5485 = 0, $5486 = 0, $5487 = 0, $549 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5497 = 0, $5498 = 0, $5499 = 0, $55 = 0, $550 = 0, $5505 = 0, $5507 = 0, $5510 = 0, $5511 = 0, $5513 = 0, $5519 = 0, $5520 = 0, $5521 = 0, $5522 = 0, $5523 = 0, $5529 = 0, $5530 = 0, $5531 = 0, $5532 = 0, $5533 = 0, $5534 = 0, $5535 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $5541 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5559 = 0, $556 = 0, $5560 = 0, $5561 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0, $5569 = 0, $557 = 0, $5570 = 0, $5571 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $558 = 0, $5581 = 0, $5583 = 0, $5586 = 0, $5587 = 0, $5589 = 0, $5595 = 0, $5596 = 0, $5597 = 0, $56 = 0, $5603 = 0, $5604 = 0, $5605 = 0, $5611 = 0, $5612 = 0, $5613 = 0, $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5619 = 0, $5620 = 0, $5621 = 0, $5623 = 0, $5629 = 0, $5630 = 0, $5631 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0, $5641 = 0, $5642 = 0, $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0, $5649 = 0, $565 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5659 = 0, $566 = 0, $5661 = 0, $5667 = 0, $5668 = 0, $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0, $5677 = 0, $5679 = 0, $568 = 0, $5680 = 0, $5681 = 0, $5683 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5695 = 0, $5696 = 0, $5697 = 0, $5698 = 0, $5699 = 0, $570 = 0, $5701 = 0, $5702 = 0, $5703 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $5713 = 0, $5714 = 0, $5715 = 0, $5716 = 0, $5717 = 0, $572 = 0, $5721 = 0, $5725 = 0, $573 = 0, $5731 = 0, $5733 = 0, $5739 = 0, $574 = 0, $5740 = 0, $5741 = 0, $5747 = 0, $5748 = 0, $5749 = 0, $5750 = 0, $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5757 = 0, $5758 = 0, $5759 = 0, $576 = 0, $5761 = 0, $5767 = 0, $5768 = 0, $5769 = 0, $577 = 0, $5773 = 0, $5774 = 0, $5775 = 0, $5776 = 0, $5777 = 0, $5779 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5787 = 0, $5788 = 0, $5789 = 0, $5790 = 0, $5791 = 0, $5795 = 0, $5799 = 0, $5805 = 0, $5807 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5821 = 0, $5822 = 0, $5823 = 0, $5829 = 0, $583 = 0, $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5837 = 0, $5838 = 0, $5839 = 0, $584 = 0, $5841 = 0, $5847 = 0, $5848 = 0, $5849 = 0, $585 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0, $5857 = 0, $5859 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0, $5865 = 0, $5866 = 0, $5867 = 0, $5871 = 0, $5875 = 0, $5881 = 0, $5883 = 0, $5886 = 0, $5887 = 0, $5889 = 0, $589 = 0, $5895 = 0, $5896 = 0, $5897 = 0, $590 = 0, $5903 = 0, $5904 = 0, $5905 = 0, $591 = 0, $5911 = 0, $5912 = 0, $5913 = 0, $5914 = 0, $5915 = 0, $5916 = 0, $5917 = 0, $5919 = 0, $592 = 0, $5920 = 0, $5921 = 0, $5923 = 0, $5925 = 0, $5928 = 0, $5929 = 0, $593 = 0, $5930 = 0, $5931 = 0, $5935 = 0, $5936 = 0, $5937 = 0, $5938 = 0, $5939 = 0, $5941 = 0, $5942 = 0, $5943 = 0, $5944 = 0, $5945 = 0, $5946 = 0, $5947 = 0, $5948 = 0, $5949 = 0, $595 = 0, $5951 = 0, $5952 = 0, $5953 = 0, $5959 = 0, $596 = 0, $5961 = 0, $5962 = 0, $5963 = 0, $5964 = 0, $5965 = 0, $5966 = 0, $5967 = 0, $5968 = 0, $5969 = 0, $597 = 0, $5970 = 0, $5971 = 0, $5973 = 0, $5974 = 0, $5975 = 0, $5977 = 0, $598 = 0, $5983 = 0, $5984 = 0, $5985 = 0, $5989 = 0, $599 = 0, $5990 = 0, $5991 = 0, $5992 = 0, $5993 = 0, $5995 = 0, $5996 = 0, $5997 = 0, $60 = 0, $600 = 0, $6001 = 0, $6002 = 0, $6003 = 0, $6007 = 0, $6008 = 0, $6009 = 0, $601 = 0, $6010 = 0, $6011 = 0, $6015 = 0, $6019 = 0, $602 = 0, $6025 = 0, $6027 = 0, $603 = 0, $6030 = 0, $6031 = 0, $6033 = 0, $6039 = 0, $6040 = 0, $6041 = 0, $6042 = 0, $6043 = 0, $6044 = 0, $6045 = 0, $6046 = 0, $6047 = 0, $6048 = 0, $6049 = 0, $605 = 0, $6051 = 0, $6052 = 0, $6053 = 0, $6055 = 0, $606 = 0, $6061 = 0, $6062 = 0, $6063 = 0, $6067 = 0, $6068 = 0, $6069 = 0, $607 = 0, $6070 = 0, $6071 = 0, $6073 = 0, $6074 = 0, $6075 = 0, $6079 = 0, $6080 = 0, $6081 = 0, $6085 = 0, $6086 = 0, $6087 = 0, $6088 = 0, $6089 = 0, $6091 = 0, $6092 = 0, $6093 = 0, $6099 = 0, $61 = 0, $6101 = 0, $6104 = 0, $6105 = 0, $6107 = 0, $6113 = 0, $6114 = 0, $6115 = 0, $6116 = 0, $6117 = 0, $6123 = 0, $6124 = 0, $6125 = 0, $6126 = 0, $6127 = 0, $6128 = 0, $6129 = 0, $613 = 0, $6131 = 0, $6132 = 0, $6133 = 0, $6135 = 0, $6141 = 0, $6142 = 0, $6143 = 0, $6147 = 0, $6148 = 0, $6149 = 0, $615 = 0, $6150 = 0, $6151 = 0, $6153 = 0, $6154 = 0, $6155 = 0, $6159 = 0, $616 = 0, $6160 = 0, $6161 = 0, $6162 = 0, $6163 = 0, $6164 = 0, $6165 = 0, $6167 = 0, $6168 = 0, $6169 = 0, $617 = 0, $6175 = 0, $6177 = 0, $618 = 0, $6180 = 0, $6181 = 0, $6183 = 0, $6189 = 0, $619 = 0, $6190 = 0, $6191 = 0, $6197 = 0, $6198 = 0, $6199 = 0, $62 = 0, $620 = 0, $6205 = 0, $6206 = 0, $6207 = 0, $6208 = 0, $6209 = 0, $621 = 0, $6210 = 0, $6211 = 0, $6213 = 0, $6214 = 0, $6215 = 0, $6217 = 0, $622 = 0, $6223 = 0, $6224 = 0, $6225 = 0, $6229 = 0, $623 = 0, $6230 = 0, $6231 = 0, $6232 = 0, $6233 = 0, $6235 = 0, $6236 = 0, $6237 = 0, $6238 = 0, $6239 = 0, $624 = 0, $6240 = 0, $6241 = 0, $6242 = 0, $6243 = 0, $6245 = 0, $6246 = 0, $6247 = 0, $625 = 0, $6253 = 0, $6255 = 0, $6261 = 0, $6262 = 0, $6263 = 0, $6264 = 0, $6265 = 0, $6266 = 0, $6267 = 0, $6268 = 0, $6269 = 0, $627 = 0, $6270 = 0, $6271 = 0, $6273 = 0, $6274 = 0, $6275 = 0, $6277 = 0, $628 = 0, $6283 = 0, $6284 = 0, $6285 = 0, $6289 = 0, $629 = 0, $6290 = 0, $6291 = 0, $6292 = 0, $6293 = 0, $6295 = 0, $6296 = 0, $6297 = 0, $63 = 0, $6301 = 0, $6302 = 0, $6303 = 0, $6307 = 0, $6308 = 0, $6309 = 0, $631 = 0, $6310 = 0, $6311 = 0, $6315 = 0, $6319 = 0, $6325 = 0, $6327 = 0, $6333 = 0, $6334 = 0, $6335 = 0, $6341 = 0, $6342 = 0, $6343 = 0, $6344 = 0, $6345 = 0, $6346 = 0, $6347 = 0, $6348 = 0, $6349 = 0, $6351 = 0, $6352 = 0, $6353 = 0, $6355 = 0, $6361 = 0, $6362 = 0, $6363 = 0, $6367 = 0, $6368 = 0, $6369 = 0, $637 = 0, $6370 = 0, $6371 = 0, $6373 = 0, $6374 = 0, $6375 = 0, $6376 = 0, $6377 = 0, $638 = 0, $6381 = 0, $6382 = 0, $6383 = 0, $6384 = 0, $6385 = 0, $6389 = 0, $639 = 0, $6393 = 0, $6399 = 0, $64 = 0, $6401 = 0, $6407 = 0, $6408 = 0, $6409 = 0, $6415 = 0, $6416 = 0, $6417 = 0, $6423 = 0, $6424 = 0, $6425 = 0, $6426 = 0, $6427 = 0, $6428 = 0, $6429 = 0, $643 = 0, $6431 = 0, $6432 = 0, $6433 = 0, $6435 = 0, $644 = 0, $6441 = 0, $6442 = 0, $6443 = 0, $6447 = 0, $6448 = 0, $6449 = 0, $645 = 0, $6450 = 0, $6451 = 0, $6453 = 0, $6454 = 0, $6455 = 0, $6456 = 0, $6457 = 0, $6458 = 0, $6459 = 0, $646 = 0, $6460 = 0, $6461 = 0, $6465 = 0, $6469 = 0, $647 = 0, $6475 = 0, $6477 = 0, $6480 = 0, $6481 = 0, $6483 = 0, $6485 = 0, $6488 = 0, $6489 = 0, $649 = 0, $6490 = 0, $6491 = 0, $6497 = 0, $6498 = 0, $6499 = 0, $650 = 0, $6505 = 0, $6506 = 0, $6507 = 0, $6508 = 0, $6509 = 0, $651 = 0, $6510 = 0, $6511 = 0, $6513 = 0, $6514 = 0, $6515 = 0, $6517 = 0, $6523 = 0, $6524 = 0, $6525 = 0, $6529 = 0, $6530 = 0, $6531 = 0, $6532 = 0, $6533 = 0, $6535 = 0, $6536 = 0, $6537 = 0, $6538 = 0, $6539 = 0, $6540 = 0, $6541 = 0, $6542 = 0, $6543 = 0, $6545 = 0, $6546 = 0, $6547 = 0, $655 = 0, $6553 = 0, $6555 = 0, $6556 = 0, $6557 = 0, $6558 = 0, $6559 = 0, $656 = 0, $6560 = 0, $6561 = 0, $6562 = 0, $6563 = 0, $6564 = 0, $6565 = 0, $6567 = 0, $6568 = 0, $6569 = 0, $657 = 0, $6571 = 0, $6577 = 0, $6578 = 0, $6579 = 0, $6583 = 0, $6584 = 0, $6585 = 0, $6586 = 0, $6587 = 0, $6589 = 0, $6590 = 0, $6591 = 0, $6595 = 0, $6596 = 0, $6597 = 0, $66 = 0, $6601 = 0, $6602 = 0, $6603 = 0, $6604 = 0, $6605 = 0, $6609 = 0, $661 = 0, $6613 = 0, $6619 = 0, $662 = 0, $6621 = 0, $6624 = 0, $6625 = 0, $6627 = 0, $663 = 0, $6633 = 0, $6634 = 0, $6635 = 0, $6636 = 0, $6637 = 0, $6638 = 0, $6639 = 0, $664 = 0, $6640 = 0, $6641 = 0, $6642 = 0, $6643 = 0, $6645 = 0, $6646 = 0, $6647 = 0, $6649 = 0, $665 = 0, $6655 = 0, $6656 = 0, $6657 = 0, $6661 = 0, $6662 = 0, $6663 = 0, $6664 = 0, $6665 = 0, $6667 = 0, $6668 = 0, $6669 = 0, $6673 = 0, $6674 = 0, $6675 = 0, $6679 = 0, $6680 = 0, $6681 = 0, $6682 = 0, $6683 = 0, $6685 = 0, $6686 = 0, $6687 = 0, $669 = 0, $6693 = 0, $6695 = 0, $6698 = 0, $6699 = 0, $67 = 0, $6701 = 0, $6707 = 0, $6708 = 0, $6709 = 0, $6710 = 0, $6711 = 0, $6717 = 0, $6718 = 0, $6719 = 0, $6720 = 0, $6721 = 0, $6722 = 0, $6723 = 0, $6725 = 0, $6726 = 0, $6727 = 0, $6729 = 0, $673 = 0, $6735 = 0, $6736 = 0, $6737 = 0, $6741 = 0, $6742 = 0, $6743 = 0, $6744 = 0, $6745 = 0, $6747 = 0, $6748 = 0, $6749 = 0, $6753 = 0, $6754 = 0, $6755 = 0, $6756 = 0, $6757 = 0, $6758 = 0, $6759 = 0, $6761 = 0, $6762 = 0, $6763 = 0, $6769 = 0, $6771 = 0, $6774 = 0, $6775 = 0, $6777 = 0, $6783 = 0, $6784 = 0, $6785 = 0, $679 = 0, $6791 = 0, $6792 = 0, $6793 = 0, $6799 = 0, $68 = 0, $6800 = 0, $6801 = 0, $6802 = 0, $6803 = 0, $6804 = 0, $6805 = 0, $6807 = 0, $6808 = 0, $6809 = 0, $681 = 0, $6811 = 0, $6817 = 0, $6818 = 0, $6819 = 0, $6823 = 0, $6824 = 0, $6825 = 0, $6826 = 0, $6827 = 0, $6829 = 0, $6830 = 0, $6831 = 0, $6832 = 0, $6833 = 0, $6834 = 0, $6835 = 0, $6836 = 0, $6837 = 0, $6839 = 0, $684 = 0, $6840 = 0, $6841 = 0, $6847 = 0, $6849 = 0, $685 = 0, $6855 = 0, $6856 = 0, $6857 = 0, $6858 = 0, $6859 = 0, $6860 = 0, $6861 = 0, $6862 = 0, $6863 = 0, $6864 = 0, $6865 = 0, $6867 = 0, $6868 = 0, $6869 = 0, $687 = 0, $6871 = 0, $6877 = 0, $6878 = 0, $6879 = 0, $6883 = 0, $6884 = 0, $6885 = 0, $6886 = 0, $6887 = 0, $6889 = 0, $6890 = 0, $6891 = 0, $6895 = 0, $6896 = 0, $6897 = 0, $6901 = 0, $6902 = 0, $6903 = 0, $6904 = 0, $6905 = 0, $6909 = 0, $6913 = 0, $6919 = 0, $6921 = 0, $6927 = 0, $6928 = 0, $6929 = 0, $693 = 0, $6935 = 0, $6936 = 0, $6937 = 0, $6938 = 0, $6939 = 0, $694 = 0, $6940 = 0, $6941 = 0, $6942 = 0, $6943 = 0, $6945 = 0, $6946 = 0, $6947 = 0, $6949 = 0, $695 = 0, $6955 = 0, $6956 = 0, $6957 = 0, $696 = 0, $6961 = 0, $6962 = 0, $6963 = 0, $6964 = 0, $6965 = 0, $6967 = 0, $6968 = 0, $6969 = 0, $697 = 0, $6973 = 0, $6974 = 0, $6975 = 0, $6979 = 0, $698 = 0, $6980 = 0, $6981 = 0, $6982 = 0, $6983 = 0, $6987 = 0, $699 = 0, $6991 = 0, $6997 = 0, $6999 = 0, $700 = 0, $7005 = 0, $7006 = 0, $7007 = 0, $701 = 0, $7013 = 0, $7014 = 0, $7015 = 0, $702 = 0, $7021 = 0, $7022 = 0, $7023 = 0, $7024 = 0, $7025 = 0, $7026 = 0, $7027 = 0, $7029 = 0, $703 = 0, $7030 = 0, $7031 = 0, $7033 = 0, $7039 = 0, $7040 = 0, $7041 = 0, $7045 = 0, $7046 = 0, $7047 = 0, $7048 = 0, $7049 = 0, $705 = 0, $7051 = 0, $7052 = 0, $7053 = 0, $7057 = 0, $7058 = 0, $7059 = 0, $706 = 0, $7063 = 0, $7064 = 0, $7065 = 0, $7066 = 0, $7067 = 0, $707 = 0, $7071 = 0, $7075 = 0, $7081 = 0, $7083 = 0, $7086 = 0, $7087 = 0, $7089 = 0, $709 = 0, $7095 = 0, $7096 = 0, $7097 = 0, $7103 = 0, $7104 = 0, $7105 = 0, $7111 = 0, $7112 = 0, $7113 = 0, $7114 = 0, $7115 = 0, $7116 = 0, $7117 = 0, $7119 = 0, $7120 = 0, $7121 = 0, $7123 = 0, $7129 = 0, $7130 = 0, $7131 = 0, $7135 = 0, $7136 = 0, $7137 = 0, $7138 = 0, $7139 = 0, $7141 = 0, $7142 = 0, $7143 = 0, $7147 = 0, $7148 = 0, $7149 = 0, $715 = 0, $7153 = 0, $7154 = 0, $7155 = 0, $7156 = 0, $7157 = 0, $7159 = 0, $716 = 0, $7160 = 0, $7161 = 0, $7165 = 0, $717 = 0, $7171 = 0, $7180 = 0, $7181 = 0, $7186 = 0, $7195 = 0, $7197 = 0, $72 = 0, $7202 = 0, $721 = 0, $7210 = 0, $7217 = 0, $7219 = 0, $722 = 0, $7224 = 0, $723 = 0, $7232 = 0, $7239 = 0, $724 = 0, $7241 = 0, $7246 = 0, $725 = 0, $7254 = 0, $7261 = 0, $7263 = 0, $7268 = 0, $727 = 0, $7274 = 0, $728 = 0, $7283 = 0, $7285 = 0, $729 = 0, $7290 = 0, $7296 = 0, $73 = 0, $733 = 0, $734 = 0, $735 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $745 = 0, $746 = 0, $747 = 0, $753 = 0, $755 = 0, $758 = 0, $759 = 0, $761 = 0, $767 = 0, $768 = 0, $769 = 0, $770 = 0, $771 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $785 = 0, $786 = 0, $787 = 0, $789 = 0, $79 = 0, $795 = 0, $796 = 0, $797 = 0, $80 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $821 = 0, $822 = 0, $823 = 0, $829 = 0, $831 = 0, $834 = 0, $835 = 0, $837 = 0, $843 = 0, $844 = 0, $845 = 0, $851 = 0, $852 = 0, $853 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $867 = 0, $868 = 0, $869 = 0, $871 = 0, $877 = 0, $878 = 0, $879 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $889 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $907 = 0, $909 = 0, $91 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $927 = 0, $928 = 0, $929 = 0, $931 = 0, $937 = 0, $938 = 0, $939 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $949 = 0, $950 = 0, $951 = 0, $955 = 0, $956 = 0, $957 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $969 = 0, $97 = 0, $973 = 0, $979 = 0, $98 = 0, $981 = 0, $987 = 0, $988 = 0, $989 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $m = 0, $scevgep = 0, $v = 0, dest = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 256 | 0;
$m = sp + 128 | 0;
$v = sp;
$0 = $m;
HEAP32[$0 >> 2] = 0;
HEAP32[$0 + 4 >> 2] = 0;
$4 = $m + 8 | 0;
$5 = $4;
HEAP32[$5 >> 2] = 0;
HEAP32[$5 + 4 >> 2] = $w3;
$scevgep = $m + 16 | 0;
dest = $scevgep;
stop = dest + 112 | 0;
do {
HEAP32[dest >> 2] = 0;
dest = dest + 4 | 0;
} while ((dest | 0) < (stop | 0));
dest = $v;
src = $S;
stop = dest + 64 | 0;
do {
HEAP32[dest >> 2] = HEAP32[src >> 2];
dest = dest + 4 | 0;
src = src + 4 | 0;
} while ((dest | 0) < (stop | 0));
$9 = $v + 64 | 0;
$10 = $v + 72 | 0;
$11 = $v + 80 | 0;
$12 = $v + 88 | 0;
$13 = $12;
HEAP32[$13 >> 2] = 1595750129;
HEAP32[$13 + 4 >> 2] = -1521486534;
$17 = $v + 96 | 0;
$18 = $v + 104 | 0;
$19 = $v + 112 | 0;
$20 = $v + 120 | 0;
$21 = $20;
HEAP32[$21 >> 2] = 327033209;
HEAP32[$21 + 4 >> 2] = 1541459225;
$25 = $v;
$31 = $v + 32 | 0;
$32 = $31;
$34 = HEAP32[$32 >> 2] | 0;
$37 = HEAP32[$32 + 4 >> 2] | 0;
$38 = _i64Add($34 | 0, $37 | 0, HEAP32[$25 >> 2] | 0, HEAP32[$25 + 4 >> 2] | 0) | 0;
$39 = tempRet0;
$40 = $38 ^ -1377402303;
$41 = $39 ^ 1359893119;
$42 = _i64Add($41 | 0, $40 | 0, -205731576, 1779033703) | 0;
$43 = tempRet0;
$44 = $34 ^ $42;
$45 = $37 ^ $43;
$46 = _bitshift64Lshr($44 | 0, $45 | 0, 24) | 0;
$47 = tempRet0;
$48 = _bitshift64Shl($44 | 0, $45 | 0, 40) | 0;
$50 = $48 | $46;
$51 = tempRet0 | $47;
$52 = _i64Add($50 | 0, $51 | 0, $38 | 0, $39 | 0) | 0;
$54 = _i64Add($52 | 0, tempRet0 | 0, 0, $w3 | 0) | 0;
$55 = tempRet0;
$56 = $v;
HEAP32[$56 >> 2] = $54;
HEAP32[$56 + 4 >> 2] = $55;
$60 = $41 ^ $54;
$61 = $40 ^ $55;
$62 = _bitshift64Lshr($60 | 0, $61 | 0, 16) | 0;
$63 = tempRet0;
$64 = _bitshift64Shl($60 | 0, $61 | 0, 48) | 0;
$66 = $64 | $62;
$67 = tempRet0 | $63;
$68 = $17;
HEAP32[$68 >> 2] = $66;
HEAP32[$68 + 4 >> 2] = $67;
$72 = _i64Add($66 | 0, $67 | 0, $42 | 0, $43 | 0) | 0;
$73 = tempRet0;
$74 = $9;
HEAP32[$74 >> 2] = $72;
HEAP32[$74 + 4 >> 2] = $73;
$78 = $50 ^ $72;
$79 = $51 ^ $73;
$80 = _bitshift64Lshr($78 | 0, $79 | 0, 63) | 0;
$81 = tempRet0;
$82 = _bitshift64Shl($78 | 0, $79 | 0, 1) | 0;
$86 = $31;
HEAP32[$86 >> 2] = $82 | $80;
HEAP32[$86 + 4 >> 2] = tempRet0 | $81;
$90 = $v + 8 | 0;
$91 = $90;
$97 = $v + 40 | 0;
$98 = $97;
$100 = HEAP32[$98 >> 2] | 0;
$103 = HEAP32[$98 + 4 >> 2] | 0;
$104 = _i64Add($100 | 0, $103 | 0, HEAP32[$91 >> 2] | 0, HEAP32[$91 + 4 >> 2] | 0) | 0;
$105 = tempRet0;
$106 = $104 ^ 725511199;
$107 = $105 ^ -1694144372;
$108 = _i64Add($107 | 0, $106 | 0, -2067093701, -1150833019) | 0;
$109 = tempRet0;
$110 = $100 ^ $108;
$111 = $103 ^ $109;
$112 = _bitshift64Lshr($110 | 0, $111 | 0, 24) | 0;
$113 = tempRet0;
$114 = _bitshift64Shl($110 | 0, $111 | 0, 40) | 0;
$116 = $114 | $112;
$117 = tempRet0 | $113;
$118 = _i64Add($116 | 0, $117 | 0, $104 | 0, $105 | 0) | 0;
$119 = tempRet0;
$120 = $m + 24 | 0;
$121 = $90;
HEAP32[$121 >> 2] = $118;
HEAP32[$121 + 4 >> 2] = $119;
$125 = $107 ^ $118;
$126 = $106 ^ $119;
$127 = _bitshift64Lshr($125 | 0, $126 | 0, 16) | 0;
$128 = tempRet0;
$129 = _bitshift64Shl($125 | 0, $126 | 0, 48) | 0;
$131 = $129 | $127;
$132 = tempRet0 | $128;
$133 = $18;
HEAP32[$133 >> 2] = $131;
HEAP32[$133 + 4 >> 2] = $132;
$137 = _i64Add($131 | 0, $132 | 0, $108 | 0, $109 | 0) | 0;
$138 = tempRet0;
$139 = $10;
HEAP32[$139 >> 2] = $137;
HEAP32[$139 + 4 >> 2] = $138;
$143 = $116 ^ $137;
$144 = $117 ^ $138;
$145 = _bitshift64Lshr($143 | 0, $144 | 0, 63) | 0;
$146 = tempRet0;
$147 = _bitshift64Shl($143 | 0, $144 | 0, 1) | 0;
$149 = $147 | $145;
$150 = tempRet0 | $146;
$151 = $v + 16 | 0;
$152 = $151;
$158 = $v + 48 | 0;
$159 = $158;
$161 = HEAP32[$159 >> 2] | 0;
$164 = HEAP32[$159 + 4 >> 2] | 0;
$165 = _i64Add($161 | 0, $164 | 0, HEAP32[$152 >> 2] | 0, HEAP32[$152 + 4 >> 2] | 0) | 0;
$166 = tempRet0;
$167 = $m + 32 | 0;
$168 = $165 ^ 79577748;
$169 = $166 ^ -528734636;
$170 = _i64Add($169 | 0, $168 | 0, -23791573, 1013904242) | 0;
$171 = tempRet0;
$172 = $161 ^ $170;
$173 = $164 ^ $171;
$174 = _bitshift64Lshr($172 | 0, $173 | 0, 24) | 0;
$175 = tempRet0;
$176 = _bitshift64Shl($172 | 0, $173 | 0, 40) | 0;
$178 = $176 | $174;
$179 = tempRet0 | $175;
$180 = _i64Add($178 | 0, $179 | 0, $165 | 0, $166 | 0) | 0;
$182 = $m + 40 | 0;
$183 = $182;
$189 = _i64Add($180 | 0, tempRet0 | 0, HEAP32[$183 >> 2] | 0, HEAP32[$183 + 4 >> 2] | 0) | 0;
$190 = tempRet0;
$191 = $151;
HEAP32[$191 >> 2] = $189;
HEAP32[$191 + 4 >> 2] = $190;
$195 = $169 ^ $189;
$196 = $168 ^ $190;
$197 = _bitshift64Lshr($195 | 0, $196 | 0, 16) | 0;
$198 = tempRet0;
$199 = _bitshift64Shl($195 | 0, $196 | 0, 48) | 0;
$201 = $199 | $197;
$202 = tempRet0 | $198;
$203 = $19;
HEAP32[$203 >> 2] = $201;
HEAP32[$203 + 4 >> 2] = $202;
$207 = _i64Add($201 | 0, $202 | 0, $170 | 0, $171 | 0) | 0;
$208 = tempRet0;
$209 = $178 ^ $207;
$210 = $179 ^ $208;
$211 = _bitshift64Lshr($209 | 0, $210 | 0, 63) | 0;
$212 = tempRet0;
$213 = _bitshift64Shl($209 | 0, $210 | 0, 1) | 0;
$215 = $213 | $211;
$216 = tempRet0 | $212;
$217 = $v + 24 | 0;
$218 = $217;
$224 = $v + 56 | 0;
$225 = $224;
$227 = HEAP32[$225 >> 2] | 0;
$230 = HEAP32[$225 + 4 >> 2] | 0;
$231 = _i64Add($227 | 0, $230 | 0, HEAP32[$218 >> 2] | 0, HEAP32[$218 + 4 >> 2] | 0) | 0;
$233 = $m + 48 | 0;
$234 = $233;
$240 = _i64Add($231 | 0, tempRet0 | 0, HEAP32[$234 >> 2] | 0, HEAP32[$234 + 4 >> 2] | 0) | 0;
$241 = tempRet0;
$242 = $20;
$248 = HEAP32[$242 >> 2] ^ $240;
$249 = HEAP32[$242 + 4 >> 2] ^ $241;
$250 = $12;
$256 = _i64Add($249 | 0, $248 | 0, HEAP32[$250 >> 2] | 0, HEAP32[$250 + 4 >> 2] | 0) | 0;
$257 = tempRet0;
$258 = $227 ^ $256;
$259 = $230 ^ $257;
$260 = _bitshift64Lshr($258 | 0, $259 | 0, 24) | 0;
$261 = tempRet0;
$262 = _bitshift64Shl($258 | 0, $259 | 0, 40) | 0;
$264 = $262 | $260;
$265 = tempRet0 | $261;
$266 = _i64Add($264 | 0, $265 | 0, $240 | 0, $241 | 0) | 0;
$268 = $m + 56 | 0;
$269 = $268;
$275 = _i64Add($266 | 0, tempRet0 | 0, HEAP32[$269 >> 2] | 0, HEAP32[$269 + 4 >> 2] | 0) | 0;
$276 = tempRet0;
$277 = $217;
HEAP32[$277 >> 2] = $275;
HEAP32[$277 + 4 >> 2] = $276;
$281 = $249 ^ $275;
$282 = $248 ^ $276;
$283 = _bitshift64Lshr($281 | 0, $282 | 0, 16) | 0;
$284 = tempRet0;
$285 = _bitshift64Shl($281 | 0, $282 | 0, 48) | 0;
$287 = $285 | $283;
$288 = tempRet0 | $284;
$289 = _i64Add($287 | 0, $288 | 0, $256 | 0, $257 | 0) | 0;
$290 = tempRet0;
$291 = $264 ^ $289;
$292 = $265 ^ $290;
$293 = _bitshift64Lshr($291 | 0, $292 | 0, 63) | 0;
$294 = tempRet0;
$295 = _bitshift64Shl($291 | 0, $292 | 0, 1) | 0;
$297 = $295 | $293;
$298 = tempRet0 | $294;
$299 = $v;
$305 = _i64Add($149 | 0, $150 | 0, HEAP32[$299 >> 2] | 0, HEAP32[$299 + 4 >> 2] | 0) | 0;
$307 = $m + 64 | 0;
$308 = $307;
$314 = _i64Add($305 | 0, tempRet0 | 0, HEAP32[$308 >> 2] | 0, HEAP32[$308 + 4 >> 2] | 0) | 0;
$315 = tempRet0;
$316 = $287 ^ $314;
$317 = $288 ^ $315;
$318 = _i64Add($317 | 0, $316 | 0, $207 | 0, $208 | 0) | 0;
$319 = tempRet0;
$320 = $149 ^ $318;
$321 = $150 ^ $319;
$322 = _bitshift64Lshr($320 | 0, $321 | 0, 24) | 0;
$323 = tempRet0;
$324 = _bitshift64Shl($320 | 0, $321 | 0, 40) | 0;
$326 = $324 | $322;
$327 = tempRet0 | $323;
$328 = _i64Add($326 | 0, $327 | 0, $314 | 0, $315 | 0) | 0;
$330 = $m + 72 | 0;
$331 = $330;
$337 = _i64Add($328 | 0, tempRet0 | 0, HEAP32[$331 >> 2] | 0, HEAP32[$331 + 4 >> 2] | 0) | 0;
$338 = tempRet0;
$339 = $v;
HEAP32[$339 >> 2] = $337;
HEAP32[$339 + 4 >> 2] = $338;
$343 = $317 ^ $337;
$344 = $316 ^ $338;
$345 = _bitshift64Lshr($343 | 0, $344 | 0, 16) | 0;
$346 = tempRet0;
$347 = _bitshift64Shl($343 | 0, $344 | 0, 48) | 0;
$349 = $347 | $345;
$350 = tempRet0 | $346;
$351 = $20;
HEAP32[$351 >> 2] = $349;
HEAP32[$351 + 4 >> 2] = $350;
$355 = _i64Add($349 | 0, $350 | 0, $318 | 0, $319 | 0) | 0;
$356 = tempRet0;
$357 = $11;
HEAP32[$357 >> 2] = $355;
HEAP32[$357 + 4 >> 2] = $356;
$361 = $326 ^ $355;
$362 = $327 ^ $356;
$363 = _bitshift64Lshr($361 | 0, $362 | 0, 63) | 0;
$364 = tempRet0;
$365 = _bitshift64Shl($361 | 0, $362 | 0, 1) | 0;
$369 = $97;
HEAP32[$369 >> 2] = $365 | $363;
HEAP32[$369 + 4 >> 2] = tempRet0 | $364;
$373 = $90;
$379 = _i64Add($215 | 0, $216 | 0, HEAP32[$373 >> 2] | 0, HEAP32[$373 + 4 >> 2] | 0) | 0;
$381 = $m + 80 | 0;
$382 = $381;
$388 = _i64Add($379 | 0, tempRet0 | 0, HEAP32[$382 >> 2] | 0, HEAP32[$382 + 4 >> 2] | 0) | 0;
$389 = tempRet0;
$390 = $17;
$396 = HEAP32[$390 >> 2] ^ $388;
$397 = HEAP32[$390 + 4 >> 2] ^ $389;
$398 = _i64Add($397 | 0, $396 | 0, $289 | 0, $290 | 0) | 0;
$399 = tempRet0;
$400 = $215 ^ $398;
$401 = $216 ^ $399;
$402 = _bitshift64Lshr($400 | 0, $401 | 0, 24) | 0;
$403 = tempRet0;
$404 = _bitshift64Shl($400 | 0, $401 | 0, 40) | 0;
$406 = $404 | $402;
$407 = tempRet0 | $403;
$408 = _i64Add($406 | 0, $407 | 0, $388 | 0, $389 | 0) | 0;
$410 = $m + 88 | 0;
$411 = $410;
$417 = _i64Add($408 | 0, tempRet0 | 0, HEAP32[$411 >> 2] | 0, HEAP32[$411 + 4 >> 2] | 0) | 0;
$418 = tempRet0;
$419 = $90;
HEAP32[$419 >> 2] = $417;
HEAP32[$419 + 4 >> 2] = $418;
$423 = $397 ^ $417;
$424 = $396 ^ $418;
$425 = _bitshift64Lshr($423 | 0, $424 | 0, 16) | 0;
$426 = tempRet0;
$427 = _bitshift64Shl($423 | 0, $424 | 0, 48) | 0;
$429 = $427 | $425;
$430 = tempRet0 | $426;
$431 = _i64Add($429 | 0, $430 | 0, $398 | 0, $399 | 0) | 0;
$432 = tempRet0;
$433 = $12;
HEAP32[$433 >> 2] = $431;
HEAP32[$433 + 4 >> 2] = $432;
$437 = $406 ^ $431;
$438 = $407 ^ $432;
$439 = _bitshift64Lshr($437 | 0, $438 | 0, 63) | 0;
$440 = tempRet0;
$441 = _bitshift64Shl($437 | 0, $438 | 0, 1) | 0;
$445 = $158;
HEAP32[$445 >> 2] = $441 | $439;
HEAP32[$445 + 4 >> 2] = tempRet0 | $440;
$449 = $151;
$455 = _i64Add($297 | 0, $298 | 0, HEAP32[$449 >> 2] | 0, HEAP32[$449 + 4 >> 2] | 0) | 0;
$457 = $m + 96 | 0;
$458 = $457;
$464 = _i64Add($455 | 0, tempRet0 | 0, HEAP32[$458 >> 2] | 0, HEAP32[$458 + 4 >> 2] | 0) | 0;
$465 = tempRet0;
$466 = $18;
$472 = HEAP32[$466 >> 2] ^ $464;
$473 = HEAP32[$466 + 4 >> 2] ^ $465;
$474 = $9;
$480 = _i64Add($473 | 0, $472 | 0, HEAP32[$474 >> 2] | 0, HEAP32[$474 + 4 >> 2] | 0) | 0;
$481 = tempRet0;
$482 = $297 ^ $480;
$483 = $298 ^ $481;
$484 = _bitshift64Lshr($482 | 0, $483 | 0, 24) | 0;
$485 = tempRet0;
$486 = _bitshift64Shl($482 | 0, $483 | 0, 40) | 0;
$488 = $486 | $484;
$489 = tempRet0 | $485;
$490 = _i64Add($488 | 0, $489 | 0, $464 | 0, $465 | 0) | 0;
$492 = $m + 104 | 0;
$493 = $492;
$499 = _i64Add($490 | 0, tempRet0 | 0, HEAP32[$493 >> 2] | 0, HEAP32[$493 + 4 >> 2] | 0) | 0;
$500 = tempRet0;
$501 = $151;
HEAP32[$501 >> 2] = $499;
HEAP32[$501 + 4 >> 2] = $500;
$505 = $473 ^ $499;
$506 = $472 ^ $500;
$507 = _bitshift64Lshr($505 | 0, $506 | 0, 16) | 0;
$508 = tempRet0;
$509 = _bitshift64Shl($505 | 0, $506 | 0, 48) | 0;
$511 = $509 | $507;
$512 = tempRet0 | $508;
$513 = _i64Add($511 | 0, $512 | 0, $480 | 0, $481 | 0) | 0;
$514 = tempRet0;
$515 = $488 ^ $513;
$516 = $489 ^ $514;
$517 = _bitshift64Lshr($515 | 0, $516 | 0, 63) | 0;
$518 = tempRet0;
$519 = _bitshift64Shl($515 | 0, $516 | 0, 1) | 0;
$523 = $224;
HEAP32[$523 >> 2] = $519 | $517;
HEAP32[$523 + 4 >> 2] = tempRet0 | $518;
$527 = $217;
$533 = $31;
$535 = HEAP32[$533 >> 2] | 0;
$538 = HEAP32[$533 + 4 >> 2] | 0;
$539 = _i64Add($535 | 0, $538 | 0, HEAP32[$527 >> 2] | 0, HEAP32[$527 + 4 >> 2] | 0) | 0;
$541 = $m + 112 | 0;
$542 = $541;
$544 = HEAP32[$542 >> 2] | 0;
$547 = HEAP32[$542 + 4 >> 2] | 0;
$548 = _i64Add($539 | 0, tempRet0 | 0, $544 | 0, $547 | 0) | 0;
$549 = tempRet0;
$550 = $19;
$556 = HEAP32[$550 >> 2] ^ $548;
$557 = HEAP32[$550 + 4 >> 2] ^ $549;
$558 = $10;
$564 = _i64Add($557 | 0, $556 | 0, HEAP32[$558 >> 2] | 0, HEAP32[$558 + 4 >> 2] | 0) | 0;
$565 = tempRet0;
$566 = $535 ^ $564;
$567 = $538 ^ $565;
$568 = _bitshift64Lshr($566 | 0, $567 | 0, 24) | 0;
$569 = tempRet0;
$570 = _bitshift64Shl($566 | 0, $567 | 0, 40) | 0;
$572 = $570 | $568;
$573 = tempRet0 | $569;
$574 = _i64Add($572 | 0, $573 | 0, $548 | 0, $549 | 0) | 0;
$576 = $m + 120 | 0;
$577 = $576;
$583 = _i64Add($574 | 0, tempRet0 | 0, HEAP32[$577 >> 2] | 0, HEAP32[$577 + 4 >> 2] | 0) | 0;
$584 = tempRet0;
$585 = $217;
HEAP32[$585 >> 2] = $583;
HEAP32[$585 + 4 >> 2] = $584;
$589 = $557 ^ $583;
$590 = $556 ^ $584;
$591 = _bitshift64Lshr($589 | 0, $590 | 0, 16) | 0;
$592 = tempRet0;
$593 = _bitshift64Shl($589 | 0, $590 | 0, 48) | 0;
$595 = $593 | $591;
$596 = tempRet0 | $592;
$597 = _i64Add($595 | 0, $596 | 0, $564 | 0, $565 | 0) | 0;
$598 = tempRet0;
$599 = $572 ^ $597;
$600 = $573 ^ $598;
$601 = _bitshift64Lshr($599 | 0, $600 | 0, 63) | 0;
$602 = tempRet0;
$603 = _bitshift64Shl($599 | 0, $600 | 0, 1) | 0;
$605 = $603 | $601;
$606 = tempRet0 | $602;
$607 = $v;
$613 = _i64Add($605 | 0, $606 | 0, HEAP32[$607 >> 2] | 0, HEAP32[$607 + 4 >> 2] | 0) | 0;
$615 = _i64Add($613 | 0, tempRet0 | 0, $544 | 0, $547 | 0) | 0;
$616 = tempRet0;
$617 = $429 ^ $615;
$618 = $430 ^ $616;
$619 = _i64Add($618 | 0, $617 | 0, $513 | 0, $514 | 0) | 0;
$620 = tempRet0;
$621 = $605 ^ $619;
$622 = $606 ^ $620;
$623 = _bitshift64Lshr($621 | 0, $622 | 0, 24) | 0;
$624 = tempRet0;
$625 = _bitshift64Shl($621 | 0, $622 | 0, 40) | 0;
$627 = $625 | $623;
$628 = tempRet0 | $624;
$629 = _i64Add($627 | 0, $628 | 0, $615 | 0, $616 | 0) | 0;
$631 = $381;
$637 = _i64Add($629 | 0, tempRet0 | 0, HEAP32[$631 >> 2] | 0, HEAP32[$631 + 4 >> 2] | 0) | 0;
$638 = tempRet0;
$639 = $v;
HEAP32[$639 >> 2] = $637;
HEAP32[$639 + 4 >> 2] = $638;
$643 = $618 ^ $637;
$644 = $617 ^ $638;
$645 = _bitshift64Lshr($643 | 0, $644 | 0, 16) | 0;
$646 = tempRet0;
$647 = _bitshift64Shl($643 | 0, $644 | 0, 48) | 0;
$649 = $647 | $645;
$650 = tempRet0 | $646;
$651 = $17;
HEAP32[$651 >> 2] = $649;
HEAP32[$651 + 4 >> 2] = $650;
$655 = _i64Add($649 | 0, $650 | 0, $619 | 0, $620 | 0) | 0;
$656 = tempRet0;
$657 = $9;
HEAP32[$657 >> 2] = $655;
HEAP32[$657 + 4 >> 2] = $656;
$661 = $627 ^ $655;
$662 = $628 ^ $656;
$663 = _bitshift64Lshr($661 | 0, $662 | 0, 63) | 0;
$664 = tempRet0;
$665 = _bitshift64Shl($661 | 0, $662 | 0, 1) | 0;
$669 = $31;
HEAP32[$669 >> 2] = $665 | $663;
HEAP32[$669 + 4 >> 2] = tempRet0 | $664;
$673 = $90;
$679 = $97;
$681 = HEAP32[$679 >> 2] | 0;
$684 = HEAP32[$679 + 4 >> 2] | 0;
$685 = _i64Add($681 | 0, $684 | 0, HEAP32[$673 >> 2] | 0, HEAP32[$673 + 4 >> 2] | 0) | 0;
$687 = $167;
$693 = _i64Add($685 | 0, tempRet0 | 0, HEAP32[$687 >> 2] | 0, HEAP32[$687 + 4 >> 2] | 0) | 0;
$694 = tempRet0;
$695 = $511 ^ $693;
$696 = $512 ^ $694;
$697 = _i64Add($696 | 0, $695 | 0, $597 | 0, $598 | 0) | 0;
$698 = tempRet0;
$699 = $681 ^ $697;
$700 = $684 ^ $698;
$701 = _bitshift64Lshr($699 | 0, $700 | 0, 24) | 0;
$702 = tempRet0;
$703 = _bitshift64Shl($699 | 0, $700 | 0, 40) | 0;
$705 = $703 | $701;
$706 = tempRet0 | $702;
$707 = _i64Add($705 | 0, $706 | 0, $693 | 0, $694 | 0) | 0;
$709 = $307;
$715 = _i64Add($707 | 0, tempRet0 | 0, HEAP32[$709 >> 2] | 0, HEAP32[$709 + 4 >> 2] | 0) | 0;
$716 = tempRet0;
$717 = $90;
HEAP32[$717 >> 2] = $715;
HEAP32[$717 + 4 >> 2] = $716;
$721 = $696 ^ $715;
$722 = $695 ^ $716;
$723 = _bitshift64Lshr($721 | 0, $722 | 0, 16) | 0;
$724 = tempRet0;
$725 = _bitshift64Shl($721 | 0, $722 | 0, 48) | 0;
$727 = $725 | $723;
$728 = tempRet0 | $724;
$729 = $18;
HEAP32[$729 >> 2] = $727;
HEAP32[$729 + 4 >> 2] = $728;
$733 = _i64Add($727 | 0, $728 | 0, $697 | 0, $698 | 0) | 0;
$734 = tempRet0;
$735 = $10;
HEAP32[$735 >> 2] = $733;
HEAP32[$735 + 4 >> 2] = $734;
$739 = $705 ^ $733;
$740 = $706 ^ $734;
$741 = _bitshift64Lshr($739 | 0, $740 | 0, 63) | 0;
$742 = tempRet0;
$743 = _bitshift64Shl($739 | 0, $740 | 0, 1) | 0;
$745 = $743 | $741;
$746 = tempRet0 | $742;
$747 = $151;
$753 = $158;
$755 = HEAP32[$753 >> 2] | 0;
$758 = HEAP32[$753 + 4 >> 2] | 0;
$759 = _i64Add($755 | 0, $758 | 0, HEAP32[$747 >> 2] | 0, HEAP32[$747 + 4 >> 2] | 0) | 0;
$761 = $330;
$767 = _i64Add($759 | 0, tempRet0 | 0, HEAP32[$761 >> 2] | 0, HEAP32[$761 + 4 >> 2] | 0) | 0;
$768 = tempRet0;
$769 = $595 ^ $767;
$770 = $596 ^ $768;
$771 = $11;
$777 = _i64Add($770 | 0, $769 | 0, HEAP32[$771 >> 2] | 0, HEAP32[$771 + 4 >> 2] | 0) | 0;
$778 = tempRet0;
$779 = $755 ^ $777;
$780 = $758 ^ $778;
$781 = _bitshift64Lshr($779 | 0, $780 | 0, 24) | 0;
$782 = tempRet0;
$783 = _bitshift64Shl($779 | 0, $780 | 0, 40) | 0;
$785 = $783 | $781;
$786 = tempRet0 | $782;
$787 = _i64Add($785 | 0, $786 | 0, $767 | 0, $768 | 0) | 0;
$789 = $576;
$795 = _i64Add($787 | 0, tempRet0 | 0, HEAP32[$789 >> 2] | 0, HEAP32[$789 + 4 >> 2] | 0) | 0;
$796 = tempRet0;
$797 = $151;
HEAP32[$797 >> 2] = $795;
HEAP32[$797 + 4 >> 2] = $796;
$801 = $770 ^ $795;
$802 = $769 ^ $796;
$803 = _bitshift64Lshr($801 | 0, $802 | 0, 16) | 0;
$804 = tempRet0;
$805 = _bitshift64Shl($801 | 0, $802 | 0, 48) | 0;
$807 = $805 | $803;
$808 = tempRet0 | $804;
$809 = $19;
HEAP32[$809 >> 2] = $807;
HEAP32[$809 + 4 >> 2] = $808;
$813 = _i64Add($807 | 0, $808 | 0, $777 | 0, $778 | 0) | 0;
$814 = tempRet0;
$815 = $785 ^ $813;
$816 = $786 ^ $814;
$817 = _bitshift64Lshr($815 | 0, $816 | 0, 63) | 0;
$818 = tempRet0;
$819 = _bitshift64Shl($815 | 0, $816 | 0, 1) | 0;
$821 = $819 | $817;
$822 = tempRet0 | $818;
$823 = $217;
$829 = $224;
$831 = HEAP32[$829 >> 2] | 0;
$834 = HEAP32[$829 + 4 >> 2] | 0;
$835 = _i64Add($831 | 0, $834 | 0, HEAP32[$823 >> 2] | 0, HEAP32[$823 + 4 >> 2] | 0) | 0;
$837 = $492;
$843 = _i64Add($835 | 0, tempRet0 | 0, HEAP32[$837 >> 2] | 0, HEAP32[$837 + 4 >> 2] | 0) | 0;
$844 = tempRet0;
$845 = $20;
$851 = HEAP32[$845 >> 2] ^ $843;
$852 = HEAP32[$845 + 4 >> 2] ^ $844;
$853 = $12;
$859 = _i64Add($852 | 0, $851 | 0, HEAP32[$853 >> 2] | 0, HEAP32[$853 + 4 >> 2] | 0) | 0;
$860 = tempRet0;
$861 = $831 ^ $859;
$862 = $834 ^ $860;
$863 = _bitshift64Lshr($861 | 0, $862 | 0, 24) | 0;
$864 = tempRet0;
$865 = _bitshift64Shl($861 | 0, $862 | 0, 40) | 0;
$867 = $865 | $863;
$868 = tempRet0 | $864;
$869 = _i64Add($867 | 0, $868 | 0, $843 | 0, $844 | 0) | 0;
$871 = $233;
$877 = _i64Add($869 | 0, tempRet0 | 0, HEAP32[$871 >> 2] | 0, HEAP32[$871 + 4 >> 2] | 0) | 0;
$878 = tempRet0;
$879 = $217;
HEAP32[$879 >> 2] = $877;
HEAP32[$879 + 4 >> 2] = $878;
$883 = $852 ^ $877;
$884 = $851 ^ $878;
$885 = _bitshift64Lshr($883 | 0, $884 | 0, 16) | 0;
$886 = tempRet0;
$887 = _bitshift64Shl($883 | 0, $884 | 0, 48) | 0;
$889 = $887 | $885;
$890 = tempRet0 | $886;
$891 = _i64Add($889 | 0, $890 | 0, $859 | 0, $860 | 0) | 0;
$892 = tempRet0;
$893 = $867 ^ $891;
$894 = $868 ^ $892;
$895 = _bitshift64Lshr($893 | 0, $894 | 0, 63) | 0;
$896 = tempRet0;
$897 = _bitshift64Shl($893 | 0, $894 | 0, 1) | 0;
$899 = $897 | $895;
$900 = tempRet0 | $896;
$901 = $v;
$907 = _i64Add($745 | 0, $746 | 0, HEAP32[$901 >> 2] | 0, HEAP32[$901 + 4 >> 2] | 0) | 0;
$909 = $4;
$915 = _i64Add($907 | 0, tempRet0 | 0, HEAP32[$909 >> 2] | 0, HEAP32[$909 + 4 >> 2] | 0) | 0;
$916 = tempRet0;
$917 = $889 ^ $915;
$918 = $890 ^ $916;
$919 = _i64Add($918 | 0, $917 | 0, $813 | 0, $814 | 0) | 0;
$920 = tempRet0;
$921 = $745 ^ $919;
$922 = $746 ^ $920;
$923 = _bitshift64Lshr($921 | 0, $922 | 0, 24) | 0;
$924 = tempRet0;
$925 = _bitshift64Shl($921 | 0, $922 | 0, 40) | 0;
$927 = $925 | $923;
$928 = tempRet0 | $924;
$929 = _i64Add($927 | 0, $928 | 0, $915 | 0, $916 | 0) | 0;
$931 = $457;
$937 = _i64Add($929 | 0, tempRet0 | 0, HEAP32[$931 >> 2] | 0, HEAP32[$931 + 4 >> 2] | 0) | 0;
$938 = tempRet0;
$939 = $v;
HEAP32[$939 >> 2] = $937;
HEAP32[$939 + 4 >> 2] = $938;
$943 = $918 ^ $937;
$944 = $917 ^ $938;
$945 = _bitshift64Lshr($943 | 0, $944 | 0, 16) | 0;
$946 = tempRet0;
$947 = _bitshift64Shl($943 | 0, $944 | 0, 48) | 0;
$949 = $947 | $945;
$950 = tempRet0 | $946;
$951 = $20;
HEAP32[$951 >> 2] = $949;
HEAP32[$951 + 4 >> 2] = $950;
$955 = _i64Add($949 | 0, $950 | 0, $919 | 0, $920 | 0) | 0;
$956 = tempRet0;
$957 = $11;
HEAP32[$957 >> 2] = $955;
HEAP32[$957 + 4 >> 2] = $956;
$961 = $927 ^ $955;
$962 = $928 ^ $956;
$963 = _bitshift64Lshr($961 | 0, $962 | 0, 63) | 0;
$964 = tempRet0;
$965 = _bitshift64Shl($961 | 0, $962 | 0, 1) | 0;
$969 = $97;
HEAP32[$969 >> 2] = $965 | $963;
HEAP32[$969 + 4 >> 2] = tempRet0 | $964;
$973 = $90;
$979 = _i64Add($821 | 0, $822 | 0, HEAP32[$973 >> 2] | 0, HEAP32[$973 + 4 >> 2] | 0) | 0;
$981 = $m;
$987 = _i64Add($979 | 0, tempRet0 | 0, HEAP32[$981 >> 2] | 0, HEAP32[$981 + 4 >> 2] | 0) | 0;
$988 = tempRet0;
$989 = $17;
$995 = HEAP32[$989 >> 2] ^ $987;
$996 = HEAP32[$989 + 4 >> 2] ^ $988;
$997 = _i64Add($996 | 0, $995 | 0, $891 | 0, $892 | 0) | 0;
$998 = tempRet0;
$999 = $821 ^ $997;
$1000 = $822 ^ $998;
$1001 = _bitshift64Lshr($999 | 0, $1000 | 0, 24) | 0;
$1002 = tempRet0;
$1003 = _bitshift64Shl($999 | 0, $1000 | 0, 40) | 0;
$1005 = $1003 | $1001;
$1006 = tempRet0 | $1002;
$1007 = _i64Add($1005 | 0, $1006 | 0, $987 | 0, $988 | 0) | 0;
$1009 = $scevgep;
$1015 = _i64Add($1007 | 0, tempRet0 | 0, HEAP32[$1009 >> 2] | 0, HEAP32[$1009 + 4 >> 2] | 0) | 0;
$1016 = tempRet0;
$1017 = $90;
HEAP32[$1017 >> 2] = $1015;
HEAP32[$1017 + 4 >> 2] = $1016;
$1021 = $996 ^ $1015;
$1022 = $995 ^ $1016;
$1023 = _bitshift64Lshr($1021 | 0, $1022 | 0, 16) | 0;
$1024 = tempRet0;
$1025 = _bitshift64Shl($1021 | 0, $1022 | 0, 48) | 0;
$1027 = $1025 | $1023;
$1028 = tempRet0 | $1024;
$1029 = _i64Add($1027 | 0, $1028 | 0, $997 | 0, $998 | 0) | 0;
$1030 = tempRet0;
$1031 = $12;
HEAP32[$1031 >> 2] = $1029;
HEAP32[$1031 + 4 >> 2] = $1030;
$1035 = $1005 ^ $1029;
$1036 = $1006 ^ $1030;
$1037 = _bitshift64Lshr($1035 | 0, $1036 | 0, 63) | 0;
$1038 = tempRet0;
$1039 = _bitshift64Shl($1035 | 0, $1036 | 0, 1) | 0;
$1043 = $158;
HEAP32[$1043 >> 2] = $1039 | $1037;
HEAP32[$1043 + 4 >> 2] = tempRet0 | $1038;
$1047 = $151;
$1053 = _i64Add($899 | 0, $900 | 0, HEAP32[$1047 >> 2] | 0, HEAP32[$1047 + 4 >> 2] | 0) | 0;
$1055 = $410;
$1057 = HEAP32[$1055 >> 2] | 0;
$1060 = HEAP32[$1055 + 4 >> 2] | 0;
$1061 = _i64Add($1053 | 0, tempRet0 | 0, $1057 | 0, $1060 | 0) | 0;
$1062 = tempRet0;
$1063 = $18;
$1069 = HEAP32[$1063 >> 2] ^ $1061;
$1070 = HEAP32[$1063 + 4 >> 2] ^ $1062;
$1071 = $9;
$1077 = _i64Add($1070 | 0, $1069 | 0, HEAP32[$1071 >> 2] | 0, HEAP32[$1071 + 4 >> 2] | 0) | 0;
$1078 = tempRet0;
$1079 = $899 ^ $1077;
$1080 = $900 ^ $1078;
$1081 = _bitshift64Lshr($1079 | 0, $1080 | 0, 24) | 0;
$1082 = tempRet0;
$1083 = _bitshift64Shl($1079 | 0, $1080 | 0, 40) | 0;
$1085 = $1083 | $1081;
$1086 = tempRet0 | $1082;
$1087 = _i64Add($1085 | 0, $1086 | 0, $1061 | 0, $1062 | 0) | 0;
$1089 = $268;
$1095 = _i64Add($1087 | 0, tempRet0 | 0, HEAP32[$1089 >> 2] | 0, HEAP32[$1089 + 4 >> 2] | 0) | 0;
$1096 = tempRet0;
$1097 = $151;
HEAP32[$1097 >> 2] = $1095;
HEAP32[$1097 + 4 >> 2] = $1096;
$1101 = $1070 ^ $1095;
$1102 = $1069 ^ $1096;
$1103 = _bitshift64Lshr($1101 | 0, $1102 | 0, 16) | 0;
$1104 = tempRet0;
$1105 = _bitshift64Shl($1101 | 0, $1102 | 0, 48) | 0;
$1107 = $1105 | $1103;
$1108 = tempRet0 | $1104;
$1109 = _i64Add($1107 | 0, $1108 | 0, $1077 | 0, $1078 | 0) | 0;
$1110 = tempRet0;
$1111 = $1085 ^ $1109;
$1112 = $1086 ^ $1110;
$1113 = _bitshift64Lshr($1111 | 0, $1112 | 0, 63) | 0;
$1114 = tempRet0;
$1115 = _bitshift64Shl($1111 | 0, $1112 | 0, 1) | 0;
$1119 = $224;
HEAP32[$1119 >> 2] = $1115 | $1113;
HEAP32[$1119 + 4 >> 2] = tempRet0 | $1114;
$1123 = $217;
$1129 = $31;
$1131 = HEAP32[$1129 >> 2] | 0;
$1134 = HEAP32[$1129 + 4 >> 2] | 0;
$1135 = _i64Add($1131 | 0, $1134 | 0, HEAP32[$1123 >> 2] | 0, HEAP32[$1123 + 4 >> 2] | 0) | 0;
$1137 = $182;
$1143 = _i64Add($1135 | 0, tempRet0 | 0, HEAP32[$1137 >> 2] | 0, HEAP32[$1137 + 4 >> 2] | 0) | 0;
$1144 = tempRet0;
$1145 = $19;
$1151 = HEAP32[$1145 >> 2] ^ $1143;
$1152 = HEAP32[$1145 + 4 >> 2] ^ $1144;
$1153 = $10;
$1159 = _i64Add($1152 | 0, $1151 | 0, HEAP32[$1153 >> 2] | 0, HEAP32[$1153 + 4 >> 2] | 0) | 0;
$1160 = tempRet0;
$1161 = $1131 ^ $1159;
$1162 = $1134 ^ $1160;
$1163 = _bitshift64Lshr($1161 | 0, $1162 | 0, 24) | 0;
$1164 = tempRet0;
$1165 = _bitshift64Shl($1161 | 0, $1162 | 0, 40) | 0;
$1167 = $1165 | $1163;
$1168 = tempRet0 | $1164;
$1169 = _i64Add($1167 | 0, $1168 | 0, $1143 | 0, $1144 | 0) | 0;
$1171 = $120;
$1177 = _i64Add($1169 | 0, tempRet0 | 0, HEAP32[$1171 >> 2] | 0, HEAP32[$1171 + 4 >> 2] | 0) | 0;
$1178 = tempRet0;
$1179 = $217;
HEAP32[$1179 >> 2] = $1177;
HEAP32[$1179 + 4 >> 2] = $1178;
$1183 = $1152 ^ $1177;
$1184 = $1151 ^ $1178;
$1185 = _bitshift64Lshr($1183 | 0, $1184 | 0, 16) | 0;
$1186 = tempRet0;
$1187 = _bitshift64Shl($1183 | 0, $1184 | 0, 48) | 0;
$1189 = $1187 | $1185;
$1190 = tempRet0 | $1186;
$1191 = _i64Add($1189 | 0, $1190 | 0, $1159 | 0, $1160 | 0) | 0;
$1192 = tempRet0;
$1193 = $1167 ^ $1191;
$1194 = $1168 ^ $1192;
$1195 = _bitshift64Lshr($1193 | 0, $1194 | 0, 63) | 0;
$1196 = tempRet0;
$1197 = _bitshift64Shl($1193 | 0, $1194 | 0, 1) | 0;
$1199 = $1197 | $1195;
$1200 = tempRet0 | $1196;
$1201 = $v;
$1207 = _i64Add($1199 | 0, $1200 | 0, HEAP32[$1201 >> 2] | 0, HEAP32[$1201 + 4 >> 2] | 0) | 0;
$1209 = _i64Add($1207 | 0, tempRet0 | 0, $1057 | 0, $1060 | 0) | 0;
$1210 = tempRet0;
$1211 = $1027 ^ $1209;
$1212 = $1028 ^ $1210;
$1213 = _i64Add($1212 | 0, $1211 | 0, $1109 | 0, $1110 | 0) | 0;
$1214 = tempRet0;
$1215 = $1199 ^ $1213;
$1216 = $1200 ^ $1214;
$1217 = _bitshift64Lshr($1215 | 0, $1216 | 0, 24) | 0;
$1218 = tempRet0;
$1219 = _bitshift64Shl($1215 | 0, $1216 | 0, 40) | 0;
$1221 = $1219 | $1217;
$1222 = tempRet0 | $1218;
$1223 = _i64Add($1221 | 0, $1222 | 0, $1209 | 0, $1210 | 0) | 0;
$1225 = $307;
$1231 = _i64Add($1223 | 0, tempRet0 | 0, HEAP32[$1225 >> 2] | 0, HEAP32[$1225 + 4 >> 2] | 0) | 0;
$1232 = tempRet0;
$1233 = $v;
HEAP32[$1233 >> 2] = $1231;
HEAP32[$1233 + 4 >> 2] = $1232;
$1237 = $1212 ^ $1231;
$1238 = $1211 ^ $1232;
$1239 = _bitshift64Lshr($1237 | 0, $1238 | 0, 16) | 0;
$1240 = tempRet0;
$1241 = _bitshift64Shl($1237 | 0, $1238 | 0, 48) | 0;
$1243 = $1241 | $1239;
$1244 = tempRet0 | $1240;
$1245 = $17;
HEAP32[$1245 >> 2] = $1243;
HEAP32[$1245 + 4 >> 2] = $1244;
$1249 = _i64Add($1243 | 0, $1244 | 0, $1213 | 0, $1214 | 0) | 0;
$1250 = tempRet0;
$1251 = $9;
HEAP32[$1251 >> 2] = $1249;
HEAP32[$1251 + 4 >> 2] = $1250;
$1255 = $1221 ^ $1249;
$1256 = $1222 ^ $1250;
$1257 = _bitshift64Lshr($1255 | 0, $1256 | 0, 63) | 0;
$1258 = tempRet0;
$1259 = _bitshift64Shl($1255 | 0, $1256 | 0, 1) | 0;
$1263 = $31;
HEAP32[$1263 >> 2] = $1259 | $1257;
HEAP32[$1263 + 4 >> 2] = tempRet0 | $1258;
$1267 = $90;
$1273 = $97;
$1275 = HEAP32[$1273 >> 2] | 0;
$1278 = HEAP32[$1273 + 4 >> 2] | 0;
$1279 = _i64Add($1275 | 0, $1278 | 0, HEAP32[$1267 >> 2] | 0, HEAP32[$1267 + 4 >> 2] | 0) | 0;
$1281 = $457;
$1287 = _i64Add($1279 | 0, tempRet0 | 0, HEAP32[$1281 >> 2] | 0, HEAP32[$1281 + 4 >> 2] | 0) | 0;
$1288 = tempRet0;
$1289 = $1107 ^ $1287;
$1290 = $1108 ^ $1288;
$1291 = _i64Add($1290 | 0, $1289 | 0, $1191 | 0, $1192 | 0) | 0;
$1292 = tempRet0;
$1293 = $1275 ^ $1291;
$1294 = $1278 ^ $1292;
$1295 = _bitshift64Lshr($1293 | 0, $1294 | 0, 24) | 0;
$1296 = tempRet0;
$1297 = _bitshift64Shl($1293 | 0, $1294 | 0, 40) | 0;
$1299 = $1297 | $1295;
$1300 = tempRet0 | $1296;
$1301 = _i64Add($1299 | 0, $1300 | 0, $1287 | 0, $1288 | 0) | 0;
$1303 = $m;
$1309 = _i64Add($1301 | 0, tempRet0 | 0, HEAP32[$1303 >> 2] | 0, HEAP32[$1303 + 4 >> 2] | 0) | 0;
$1310 = tempRet0;
$1311 = $90;
HEAP32[$1311 >> 2] = $1309;
HEAP32[$1311 + 4 >> 2] = $1310;
$1315 = $1290 ^ $1309;
$1316 = $1289 ^ $1310;
$1317 = _bitshift64Lshr($1315 | 0, $1316 | 0, 16) | 0;
$1318 = tempRet0;
$1319 = _bitshift64Shl($1315 | 0, $1316 | 0, 48) | 0;
$1321 = $1319 | $1317;
$1322 = tempRet0 | $1318;
$1323 = $18;
HEAP32[$1323 >> 2] = $1321;
HEAP32[$1323 + 4 >> 2] = $1322;
$1327 = _i64Add($1321 | 0, $1322 | 0, $1291 | 0, $1292 | 0) | 0;
$1328 = tempRet0;
$1329 = $10;
HEAP32[$1329 >> 2] = $1327;
HEAP32[$1329 + 4 >> 2] = $1328;
$1333 = $1299 ^ $1327;
$1334 = $1300 ^ $1328;
$1335 = _bitshift64Lshr($1333 | 0, $1334 | 0, 63) | 0;
$1336 = tempRet0;
$1337 = _bitshift64Shl($1333 | 0, $1334 | 0, 1) | 0;
$1339 = $1337 | $1335;
$1340 = tempRet0 | $1336;
$1341 = $151;
$1347 = $158;
$1349 = HEAP32[$1347 >> 2] | 0;
$1352 = HEAP32[$1347 + 4 >> 2] | 0;
$1353 = _i64Add($1349 | 0, $1352 | 0, HEAP32[$1341 >> 2] | 0, HEAP32[$1341 + 4 >> 2] | 0) | 0;
$1355 = $182;
$1361 = _i64Add($1353 | 0, tempRet0 | 0, HEAP32[$1355 >> 2] | 0, HEAP32[$1355 + 4 >> 2] | 0) | 0;
$1362 = tempRet0;
$1363 = $1189 ^ $1361;
$1364 = $1190 ^ $1362;
$1365 = $11;
$1371 = _i64Add($1364 | 0, $1363 | 0, HEAP32[$1365 >> 2] | 0, HEAP32[$1365 + 4 >> 2] | 0) | 0;
$1372 = tempRet0;
$1373 = $1349 ^ $1371;
$1374 = $1352 ^ $1372;
$1375 = _bitshift64Lshr($1373 | 0, $1374 | 0, 24) | 0;
$1376 = tempRet0;
$1377 = _bitshift64Shl($1373 | 0, $1374 | 0, 40) | 0;
$1379 = $1377 | $1375;
$1380 = tempRet0 | $1376;
$1381 = _i64Add($1379 | 0, $1380 | 0, $1361 | 0, $1362 | 0) | 0;
$1383 = $scevgep;
$1389 = _i64Add($1381 | 0, tempRet0 | 0, HEAP32[$1383 >> 2] | 0, HEAP32[$1383 + 4 >> 2] | 0) | 0;
$1390 = tempRet0;
$1391 = $151;
HEAP32[$1391 >> 2] = $1389;
HEAP32[$1391 + 4 >> 2] = $1390;
$1395 = $1364 ^ $1389;
$1396 = $1363 ^ $1390;
$1397 = _bitshift64Lshr($1395 | 0, $1396 | 0, 16) | 0;
$1398 = tempRet0;
$1399 = _bitshift64Shl($1395 | 0, $1396 | 0, 48) | 0;
$1401 = $1399 | $1397;
$1402 = tempRet0 | $1398;
$1403 = $19;
HEAP32[$1403 >> 2] = $1401;
HEAP32[$1403 + 4 >> 2] = $1402;
$1407 = _i64Add($1401 | 0, $1402 | 0, $1371 | 0, $1372 | 0) | 0;
$1408 = tempRet0;
$1409 = $1379 ^ $1407;
$1410 = $1380 ^ $1408;
$1411 = _bitshift64Lshr($1409 | 0, $1410 | 0, 63) | 0;
$1412 = tempRet0;
$1413 = _bitshift64Shl($1409 | 0, $1410 | 0, 1) | 0;
$1415 = $1413 | $1411;
$1416 = tempRet0 | $1412;
$1417 = $217;
$1423 = $224;
$1425 = HEAP32[$1423 >> 2] | 0;
$1428 = HEAP32[$1423 + 4 >> 2] | 0;
$1429 = _i64Add($1425 | 0, $1428 | 0, HEAP32[$1417 >> 2] | 0, HEAP32[$1417 + 4 >> 2] | 0) | 0;
$1431 = $576;
$1437 = _i64Add($1429 | 0, tempRet0 | 0, HEAP32[$1431 >> 2] | 0, HEAP32[$1431 + 4 >> 2] | 0) | 0;
$1438 = tempRet0;
$1439 = $20;
$1445 = HEAP32[$1439 >> 2] ^ $1437;
$1446 = HEAP32[$1439 + 4 >> 2] ^ $1438;
$1447 = $12;
$1453 = _i64Add($1446 | 0, $1445 | 0, HEAP32[$1447 >> 2] | 0, HEAP32[$1447 + 4 >> 2] | 0) | 0;
$1454 = tempRet0;
$1455 = $1425 ^ $1453;
$1456 = $1428 ^ $1454;
$1457 = _bitshift64Lshr($1455 | 0, $1456 | 0, 24) | 0;
$1458 = tempRet0;
$1459 = _bitshift64Shl($1455 | 0, $1456 | 0, 40) | 0;
$1461 = $1459 | $1457;
$1462 = tempRet0 | $1458;
$1463 = _i64Add($1461 | 0, $1462 | 0, $1437 | 0, $1438 | 0) | 0;
$1465 = $492;
$1471 = _i64Add($1463 | 0, tempRet0 | 0, HEAP32[$1465 >> 2] | 0, HEAP32[$1465 + 4 >> 2] | 0) | 0;
$1472 = tempRet0;
$1473 = $217;
HEAP32[$1473 >> 2] = $1471;
HEAP32[$1473 + 4 >> 2] = $1472;
$1477 = $1446 ^ $1471;
$1478 = $1445 ^ $1472;
$1479 = _bitshift64Lshr($1477 | 0, $1478 | 0, 16) | 0;
$1480 = tempRet0;
$1481 = _bitshift64Shl($1477 | 0, $1478 | 0, 48) | 0;
$1483 = $1481 | $1479;
$1484 = tempRet0 | $1480;
$1485 = _i64Add($1483 | 0, $1484 | 0, $1453 | 0, $1454 | 0) | 0;
$1486 = tempRet0;
$1487 = $1461 ^ $1485;
$1488 = $1462 ^ $1486;
$1489 = _bitshift64Lshr($1487 | 0, $1488 | 0, 63) | 0;
$1490 = tempRet0;
$1491 = _bitshift64Shl($1487 | 0, $1488 | 0, 1) | 0;
$1493 = $1491 | $1489;
$1494 = tempRet0 | $1490;
$1495 = $v;
$1501 = _i64Add($1339 | 0, $1340 | 0, HEAP32[$1495 >> 2] | 0, HEAP32[$1495 + 4 >> 2] | 0) | 0;
$1503 = $381;
$1509 = _i64Add($1501 | 0, tempRet0 | 0, HEAP32[$1503 >> 2] | 0, HEAP32[$1503 + 4 >> 2] | 0) | 0;
$1510 = tempRet0;
$1511 = $1483 ^ $1509;
$1512 = $1484 ^ $1510;
$1513 = _i64Add($1512 | 0, $1511 | 0, $1407 | 0, $1408 | 0) | 0;
$1514 = tempRet0;
$1515 = $1339 ^ $1513;
$1516 = $1340 ^ $1514;
$1517 = _bitshift64Lshr($1515 | 0, $1516 | 0, 24) | 0;
$1518 = tempRet0;
$1519 = _bitshift64Shl($1515 | 0, $1516 | 0, 40) | 0;
$1521 = $1519 | $1517;
$1522 = tempRet0 | $1518;
$1523 = _i64Add($1521 | 0, $1522 | 0, $1509 | 0, $1510 | 0) | 0;
$1525 = $541;
$1531 = _i64Add($1523 | 0, tempRet0 | 0, HEAP32[$1525 >> 2] | 0, HEAP32[$1525 + 4 >> 2] | 0) | 0;
$1532 = tempRet0;
$1533 = $v;
HEAP32[$1533 >> 2] = $1531;
HEAP32[$1533 + 4 >> 2] = $1532;
$1537 = $1512 ^ $1531;
$1538 = $1511 ^ $1532;
$1539 = _bitshift64Lshr($1537 | 0, $1538 | 0, 16) | 0;
$1540 = tempRet0;
$1541 = _bitshift64Shl($1537 | 0, $1538 | 0, 48) | 0;
$1543 = $1541 | $1539;
$1544 = tempRet0 | $1540;
$1545 = $20;
HEAP32[$1545 >> 2] = $1543;
HEAP32[$1545 + 4 >> 2] = $1544;
$1549 = _i64Add($1543 | 0, $1544 | 0, $1513 | 0, $1514 | 0) | 0;
$1550 = tempRet0;
$1551 = $11;
HEAP32[$1551 >> 2] = $1549;
HEAP32[$1551 + 4 >> 2] = $1550;
$1555 = $1521 ^ $1549;
$1556 = $1522 ^ $1550;
$1557 = _bitshift64Lshr($1555 | 0, $1556 | 0, 63) | 0;
$1558 = tempRet0;
$1559 = _bitshift64Shl($1555 | 0, $1556 | 0, 1) | 0;
$1563 = $97;
HEAP32[$1563 >> 2] = $1559 | $1557;
HEAP32[$1563 + 4 >> 2] = tempRet0 | $1558;
$1567 = $90;
$1573 = _i64Add($1415 | 0, $1416 | 0, HEAP32[$1567 >> 2] | 0, HEAP32[$1567 + 4 >> 2] | 0) | 0;
$1575 = $120;
$1581 = _i64Add($1573 | 0, tempRet0 | 0, HEAP32[$1575 >> 2] | 0, HEAP32[$1575 + 4 >> 2] | 0) | 0;
$1582 = tempRet0;
$1583 = $17;
$1589 = HEAP32[$1583 >> 2] ^ $1581;
$1590 = HEAP32[$1583 + 4 >> 2] ^ $1582;
$1591 = _i64Add($1590 | 0, $1589 | 0, $1485 | 0, $1486 | 0) | 0;
$1592 = tempRet0;
$1593 = $1415 ^ $1591;
$1594 = $1416 ^ $1592;
$1595 = _bitshift64Lshr($1593 | 0, $1594 | 0, 24) | 0;
$1596 = tempRet0;
$1597 = _bitshift64Shl($1593 | 0, $1594 | 0, 40) | 0;
$1599 = $1597 | $1595;
$1600 = tempRet0 | $1596;
$1601 = _i64Add($1599 | 0, $1600 | 0, $1581 | 0, $1582 | 0) | 0;
$1603 = $233;
$1609 = _i64Add($1601 | 0, tempRet0 | 0, HEAP32[$1603 >> 2] | 0, HEAP32[$1603 + 4 >> 2] | 0) | 0;
$1610 = tempRet0;
$1611 = $90;
HEAP32[$1611 >> 2] = $1609;
HEAP32[$1611 + 4 >> 2] = $1610;
$1615 = $1590 ^ $1609;
$1616 = $1589 ^ $1610;
$1617 = _bitshift64Lshr($1615 | 0, $1616 | 0, 16) | 0;
$1618 = tempRet0;
$1619 = _bitshift64Shl($1615 | 0, $1616 | 0, 48) | 0;
$1621 = $1619 | $1617;
$1622 = tempRet0 | $1618;
$1623 = _i64Add($1621 | 0, $1622 | 0, $1591 | 0, $1592 | 0) | 0;
$1624 = tempRet0;
$1625 = $12;
HEAP32[$1625 >> 2] = $1623;
HEAP32[$1625 + 4 >> 2] = $1624;
$1629 = $1599 ^ $1623;
$1630 = $1600 ^ $1624;
$1631 = _bitshift64Lshr($1629 | 0, $1630 | 0, 63) | 0;
$1632 = tempRet0;
$1633 = _bitshift64Shl($1629 | 0, $1630 | 0, 1) | 0;
$1637 = $158;
HEAP32[$1637 >> 2] = $1633 | $1631;
HEAP32[$1637 + 4 >> 2] = tempRet0 | $1632;
$1641 = $151;
$1647 = _i64Add($1493 | 0, $1494 | 0, HEAP32[$1641 >> 2] | 0, HEAP32[$1641 + 4 >> 2] | 0) | 0;
$1649 = $268;
$1651 = HEAP32[$1649 >> 2] | 0;
$1654 = HEAP32[$1649 + 4 >> 2] | 0;
$1655 = _i64Add($1647 | 0, tempRet0 | 0, $1651 | 0, $1654 | 0) | 0;
$1656 = tempRet0;
$1657 = $18;
$1663 = HEAP32[$1657 >> 2] ^ $1655;
$1664 = HEAP32[$1657 + 4 >> 2] ^ $1656;
$1665 = $9;
$1671 = _i64Add($1664 | 0, $1663 | 0, HEAP32[$1665 >> 2] | 0, HEAP32[$1665 + 4 >> 2] | 0) | 0;
$1672 = tempRet0;
$1673 = $1493 ^ $1671;
$1674 = $1494 ^ $1672;
$1675 = _bitshift64Lshr($1673 | 0, $1674 | 0, 24) | 0;
$1676 = tempRet0;
$1677 = _bitshift64Shl($1673 | 0, $1674 | 0, 40) | 0;
$1679 = $1677 | $1675;
$1680 = tempRet0 | $1676;
$1681 = _i64Add($1679 | 0, $1680 | 0, $1655 | 0, $1656 | 0) | 0;
$1683 = $4;
$1689 = _i64Add($1681 | 0, tempRet0 | 0, HEAP32[$1683 >> 2] | 0, HEAP32[$1683 + 4 >> 2] | 0) | 0;
$1690 = tempRet0;
$1691 = $151;
HEAP32[$1691 >> 2] = $1689;
HEAP32[$1691 + 4 >> 2] = $1690;
$1695 = $1664 ^ $1689;
$1696 = $1663 ^ $1690;
$1697 = _bitshift64Lshr($1695 | 0, $1696 | 0, 16) | 0;
$1698 = tempRet0;
$1699 = _bitshift64Shl($1695 | 0, $1696 | 0, 48) | 0;
$1701 = $1699 | $1697;
$1702 = tempRet0 | $1698;
$1703 = _i64Add($1701 | 0, $1702 | 0, $1671 | 0, $1672 | 0) | 0;
$1704 = tempRet0;
$1705 = $1679 ^ $1703;
$1706 = $1680 ^ $1704;
$1707 = _bitshift64Lshr($1705 | 0, $1706 | 0, 63) | 0;
$1708 = tempRet0;
$1709 = _bitshift64Shl($1705 | 0, $1706 | 0, 1) | 0;
$1713 = $224;
HEAP32[$1713 >> 2] = $1709 | $1707;
HEAP32[$1713 + 4 >> 2] = tempRet0 | $1708;
$1717 = $217;
$1723 = $31;
$1725 = HEAP32[$1723 >> 2] | 0;
$1728 = HEAP32[$1723 + 4 >> 2] | 0;
$1729 = _i64Add($1725 | 0, $1728 | 0, HEAP32[$1717 >> 2] | 0, HEAP32[$1717 + 4 >> 2] | 0) | 0;
$1731 = $330;
$1733 = HEAP32[$1731 >> 2] | 0;
$1736 = HEAP32[$1731 + 4 >> 2] | 0;
$1737 = _i64Add($1729 | 0, tempRet0 | 0, $1733 | 0, $1736 | 0) | 0;
$1738 = tempRet0;
$1739 = $19;
$1745 = HEAP32[$1739 >> 2] ^ $1737;
$1746 = HEAP32[$1739 + 4 >> 2] ^ $1738;
$1747 = $10;
$1753 = _i64Add($1746 | 0, $1745 | 0, HEAP32[$1747 >> 2] | 0, HEAP32[$1747 + 4 >> 2] | 0) | 0;
$1754 = tempRet0;
$1755 = $1725 ^ $1753;
$1756 = $1728 ^ $1754;
$1757 = _bitshift64Lshr($1755 | 0, $1756 | 0, 24) | 0;
$1758 = tempRet0;
$1759 = _bitshift64Shl($1755 | 0, $1756 | 0, 40) | 0;
$1761 = $1759 | $1757;
$1762 = tempRet0 | $1758;
$1763 = _i64Add($1761 | 0, $1762 | 0, $1737 | 0, $1738 | 0) | 0;
$1765 = $167;
$1771 = _i64Add($1763 | 0, tempRet0 | 0, HEAP32[$1765 >> 2] | 0, HEAP32[$1765 + 4 >> 2] | 0) | 0;
$1772 = tempRet0;
$1773 = $217;
HEAP32[$1773 >> 2] = $1771;
HEAP32[$1773 + 4 >> 2] = $1772;
$1777 = $1746 ^ $1771;
$1778 = $1745 ^ $1772;
$1779 = _bitshift64Lshr($1777 | 0, $1778 | 0, 16) | 0;
$1780 = tempRet0;
$1781 = _bitshift64Shl($1777 | 0, $1778 | 0, 48) | 0;
$1783 = $1781 | $1779;
$1784 = tempRet0 | $1780;
$1785 = _i64Add($1783 | 0, $1784 | 0, $1753 | 0, $1754 | 0) | 0;
$1786 = tempRet0;
$1787 = $1761 ^ $1785;
$1788 = $1762 ^ $1786;
$1789 = _bitshift64Lshr($1787 | 0, $1788 | 0, 63) | 0;
$1790 = tempRet0;
$1791 = _bitshift64Shl($1787 | 0, $1788 | 0, 1) | 0;
$1793 = $1791 | $1789;
$1794 = tempRet0 | $1790;
$1795 = $v;
$1801 = _i64Add($1793 | 0, $1794 | 0, HEAP32[$1795 >> 2] | 0, HEAP32[$1795 + 4 >> 2] | 0) | 0;
$1803 = _i64Add($1801 | 0, tempRet0 | 0, $1651 | 0, $1654 | 0) | 0;
$1804 = tempRet0;
$1805 = $1621 ^ $1803;
$1806 = $1622 ^ $1804;
$1807 = _i64Add($1806 | 0, $1805 | 0, $1703 | 0, $1704 | 0) | 0;
$1808 = tempRet0;
$1809 = $1793 ^ $1807;
$1810 = $1794 ^ $1808;
$1811 = _bitshift64Lshr($1809 | 0, $1810 | 0, 24) | 0;
$1812 = tempRet0;
$1813 = _bitshift64Shl($1809 | 0, $1810 | 0, 40) | 0;
$1815 = $1813 | $1811;
$1816 = tempRet0 | $1812;
$1817 = _i64Add($1815 | 0, $1816 | 0, $1803 | 0, $1804 | 0) | 0;
$1819 = _i64Add($1817 | 0, tempRet0 | 0, $1733 | 0, $1736 | 0) | 0;
$1820 = tempRet0;
$1821 = $v;
HEAP32[$1821 >> 2] = $1819;
HEAP32[$1821 + 4 >> 2] = $1820;
$1825 = $1806 ^ $1819;
$1826 = $1805 ^ $1820;
$1827 = _bitshift64Lshr($1825 | 0, $1826 | 0, 16) | 0;
$1828 = tempRet0;
$1829 = _bitshift64Shl($1825 | 0, $1826 | 0, 48) | 0;
$1831 = $1829 | $1827;
$1832 = tempRet0 | $1828;
$1833 = $17;
HEAP32[$1833 >> 2] = $1831;
HEAP32[$1833 + 4 >> 2] = $1832;
$1837 = _i64Add($1831 | 0, $1832 | 0, $1807 | 0, $1808 | 0) | 0;
$1838 = tempRet0;
$1839 = $9;
HEAP32[$1839 >> 2] = $1837;
HEAP32[$1839 + 4 >> 2] = $1838;
$1843 = $1815 ^ $1837;
$1844 = $1816 ^ $1838;
$1845 = _bitshift64Lshr($1843 | 0, $1844 | 0, 63) | 0;
$1846 = tempRet0;
$1847 = _bitshift64Shl($1843 | 0, $1844 | 0, 1) | 0;
$1851 = $31;
HEAP32[$1851 >> 2] = $1847 | $1845;
HEAP32[$1851 + 4 >> 2] = tempRet0 | $1846;
$1855 = $90;
$1861 = $97;
$1863 = HEAP32[$1861 >> 2] | 0;
$1866 = HEAP32[$1861 + 4 >> 2] | 0;
$1867 = _i64Add($1863 | 0, $1866 | 0, HEAP32[$1855 >> 2] | 0, HEAP32[$1855 + 4 >> 2] | 0) | 0;
$1869 = $120;
$1875 = _i64Add($1867 | 0, tempRet0 | 0, HEAP32[$1869 >> 2] | 0, HEAP32[$1869 + 4 >> 2] | 0) | 0;
$1876 = tempRet0;
$1877 = $1701 ^ $1875;
$1878 = $1702 ^ $1876;
$1879 = _i64Add($1878 | 0, $1877 | 0, $1785 | 0, $1786 | 0) | 0;
$1880 = tempRet0;
$1881 = $1863 ^ $1879;
$1882 = $1866 ^ $1880;
$1883 = _bitshift64Lshr($1881 | 0, $1882 | 0, 24) | 0;
$1884 = tempRet0;
$1885 = _bitshift64Shl($1881 | 0, $1882 | 0, 40) | 0;
$1887 = $1885 | $1883;
$1888 = tempRet0 | $1884;
$1889 = _i64Add($1887 | 0, $1888 | 0, $1875 | 0, $1876 | 0) | 0;
$1891 = $4;
$1897 = _i64Add($1889 | 0, tempRet0 | 0, HEAP32[$1891 >> 2] | 0, HEAP32[$1891 + 4 >> 2] | 0) | 0;
$1898 = tempRet0;
$1899 = $90;
HEAP32[$1899 >> 2] = $1897;
HEAP32[$1899 + 4 >> 2] = $1898;
$1903 = $1878 ^ $1897;
$1904 = $1877 ^ $1898;
$1905 = _bitshift64Lshr($1903 | 0, $1904 | 0, 16) | 0;
$1906 = tempRet0;
$1907 = _bitshift64Shl($1903 | 0, $1904 | 0, 48) | 0;
$1909 = $1907 | $1905;
$1910 = tempRet0 | $1906;
$1911 = $18;
HEAP32[$1911 >> 2] = $1909;
HEAP32[$1911 + 4 >> 2] = $1910;
$1915 = _i64Add($1909 | 0, $1910 | 0, $1879 | 0, $1880 | 0) | 0;
$1916 = tempRet0;
$1917 = $10;
HEAP32[$1917 >> 2] = $1915;
HEAP32[$1917 + 4 >> 2] = $1916;
$1921 = $1887 ^ $1915;
$1922 = $1888 ^ $1916;
$1923 = _bitshift64Lshr($1921 | 0, $1922 | 0, 63) | 0;
$1924 = tempRet0;
$1925 = _bitshift64Shl($1921 | 0, $1922 | 0, 1) | 0;
$1927 = $1925 | $1923;
$1928 = tempRet0 | $1924;
$1929 = $151;
$1935 = $158;
$1937 = HEAP32[$1935 >> 2] | 0;
$1940 = HEAP32[$1935 + 4 >> 2] | 0;
$1941 = _i64Add($1937 | 0, $1940 | 0, HEAP32[$1929 >> 2] | 0, HEAP32[$1929 + 4 >> 2] | 0) | 0;
$1943 = $492;
$1949 = _i64Add($1941 | 0, tempRet0 | 0, HEAP32[$1943 >> 2] | 0, HEAP32[$1943 + 4 >> 2] | 0) | 0;
$1950 = tempRet0;
$1951 = $1783 ^ $1949;
$1952 = $1784 ^ $1950;
$1953 = $11;
$1959 = _i64Add($1952 | 0, $1951 | 0, HEAP32[$1953 >> 2] | 0, HEAP32[$1953 + 4 >> 2] | 0) | 0;
$1960 = tempRet0;
$1961 = $1937 ^ $1959;
$1962 = $1940 ^ $1960;
$1963 = _bitshift64Lshr($1961 | 0, $1962 | 0, 24) | 0;
$1964 = tempRet0;
$1965 = _bitshift64Shl($1961 | 0, $1962 | 0, 40) | 0;
$1967 = $1965 | $1963;
$1968 = tempRet0 | $1964;
$1969 = _i64Add($1967 | 0, $1968 | 0, $1949 | 0, $1950 | 0) | 0;
$1971 = $457;
$1977 = _i64Add($1969 | 0, tempRet0 | 0, HEAP32[$1971 >> 2] | 0, HEAP32[$1971 + 4 >> 2] | 0) | 0;
$1978 = tempRet0;
$1979 = $151;
HEAP32[$1979 >> 2] = $1977;
HEAP32[$1979 + 4 >> 2] = $1978;
$1983 = $1952 ^ $1977;
$1984 = $1951 ^ $1978;
$1985 = _bitshift64Lshr($1983 | 0, $1984 | 0, 16) | 0;
$1986 = tempRet0;
$1987 = _bitshift64Shl($1983 | 0, $1984 | 0, 48) | 0;
$1989 = $1987 | $1985;
$1990 = tempRet0 | $1986;
$1991 = $19;
HEAP32[$1991 >> 2] = $1989;
HEAP32[$1991 + 4 >> 2] = $1990;
$1995 = _i64Add($1989 | 0, $1990 | 0, $1959 | 0, $1960 | 0) | 0;
$1996 = tempRet0;
$1997 = $1967 ^ $1995;
$1998 = $1968 ^ $1996;
$1999 = _bitshift64Lshr($1997 | 0, $1998 | 0, 63) | 0;
$2000 = tempRet0;
$2001 = _bitshift64Shl($1997 | 0, $1998 | 0, 1) | 0;
$2003 = $2001 | $1999;
$2004 = tempRet0 | $2000;
$2005 = $217;
$2011 = $224;
$2013 = HEAP32[$2011 >> 2] | 0;
$2016 = HEAP32[$2011 + 4 >> 2] | 0;
$2017 = _i64Add($2013 | 0, $2016 | 0, HEAP32[$2005 >> 2] | 0, HEAP32[$2005 + 4 >> 2] | 0) | 0;
$2019 = $410;
$2025 = _i64Add($2017 | 0, tempRet0 | 0, HEAP32[$2019 >> 2] | 0, HEAP32[$2019 + 4 >> 2] | 0) | 0;
$2026 = tempRet0;
$2027 = $20;
$2033 = HEAP32[$2027 >> 2] ^ $2025;
$2034 = HEAP32[$2027 + 4 >> 2] ^ $2026;
$2035 = $12;
$2041 = _i64Add($2034 | 0, $2033 | 0, HEAP32[$2035 >> 2] | 0, HEAP32[$2035 + 4 >> 2] | 0) | 0;
$2042 = tempRet0;
$2043 = $2013 ^ $2041;
$2044 = $2016 ^ $2042;
$2045 = _bitshift64Lshr($2043 | 0, $2044 | 0, 24) | 0;
$2046 = tempRet0;
$2047 = _bitshift64Shl($2043 | 0, $2044 | 0, 40) | 0;
$2049 = $2047 | $2045;
$2050 = tempRet0 | $2046;
$2051 = _i64Add($2049 | 0, $2050 | 0, $2025 | 0, $2026 | 0) | 0;
$2053 = $541;
$2059 = _i64Add($2051 | 0, tempRet0 | 0, HEAP32[$2053 >> 2] | 0, HEAP32[$2053 + 4 >> 2] | 0) | 0;
$2060 = tempRet0;
$2061 = $217;
HEAP32[$2061 >> 2] = $2059;
HEAP32[$2061 + 4 >> 2] = $2060;
$2065 = $2034 ^ $2059;
$2066 = $2033 ^ $2060;
$2067 = _bitshift64Lshr($2065 | 0, $2066 | 0, 16) | 0;
$2068 = tempRet0;
$2069 = _bitshift64Shl($2065 | 0, $2066 | 0, 48) | 0;
$2071 = $2069 | $2067;
$2072 = tempRet0 | $2068;
$2073 = _i64Add($2071 | 0, $2072 | 0, $2041 | 0, $2042 | 0) | 0;
$2074 = tempRet0;
$2075 = $2049 ^ $2073;
$2076 = $2050 ^ $2074;
$2077 = _bitshift64Lshr($2075 | 0, $2076 | 0, 63) | 0;
$2078 = tempRet0;
$2079 = _bitshift64Shl($2075 | 0, $2076 | 0, 1) | 0;
$2081 = $2079 | $2077;
$2082 = tempRet0 | $2078;
$2083 = $v;
$2089 = _i64Add($1927 | 0, $1928 | 0, HEAP32[$2083 >> 2] | 0, HEAP32[$2083 + 4 >> 2] | 0) | 0;
$2091 = $scevgep;
$2097 = _i64Add($2089 | 0, tempRet0 | 0, HEAP32[$2091 >> 2] | 0, HEAP32[$2091 + 4 >> 2] | 0) | 0;
$2098 = tempRet0;
$2099 = $2071 ^ $2097;
$2100 = $2072 ^ $2098;
$2101 = _i64Add($2100 | 0, $2099 | 0, $1995 | 0, $1996 | 0) | 0;
$2102 = tempRet0;
$2103 = $1927 ^ $2101;
$2104 = $1928 ^ $2102;
$2105 = _bitshift64Lshr($2103 | 0, $2104 | 0, 24) | 0;
$2106 = tempRet0;
$2107 = _bitshift64Shl($2103 | 0, $2104 | 0, 40) | 0;
$2109 = $2107 | $2105;
$2110 = tempRet0 | $2106;
$2111 = _i64Add($2109 | 0, $2110 | 0, $2097 | 0, $2098 | 0) | 0;
$2113 = $233;
$2119 = _i64Add($2111 | 0, tempRet0 | 0, HEAP32[$2113 >> 2] | 0, HEAP32[$2113 + 4 >> 2] | 0) | 0;
$2120 = tempRet0;
$2121 = $v;
HEAP32[$2121 >> 2] = $2119;
HEAP32[$2121 + 4 >> 2] = $2120;
$2125 = $2100 ^ $2119;
$2126 = $2099 ^ $2120;
$2127 = _bitshift64Lshr($2125 | 0, $2126 | 0, 16) | 0;
$2128 = tempRet0;
$2129 = _bitshift64Shl($2125 | 0, $2126 | 0, 48) | 0;
$2131 = $2129 | $2127;
$2132 = tempRet0 | $2128;
$2133 = $20;
HEAP32[$2133 >> 2] = $2131;
HEAP32[$2133 + 4 >> 2] = $2132;
$2137 = _i64Add($2131 | 0, $2132 | 0, $2101 | 0, $2102 | 0) | 0;
$2138 = tempRet0;
$2139 = $11;
HEAP32[$2139 >> 2] = $2137;
HEAP32[$2139 + 4 >> 2] = $2138;
$2143 = $2109 ^ $2137;
$2144 = $2110 ^ $2138;
$2145 = _bitshift64Lshr($2143 | 0, $2144 | 0, 63) | 0;
$2146 = tempRet0;
$2147 = _bitshift64Shl($2143 | 0, $2144 | 0, 1) | 0;
$2151 = $97;
HEAP32[$2151 >> 2] = $2147 | $2145;
HEAP32[$2151 + 4 >> 2] = tempRet0 | $2146;
$2155 = $90;
$2161 = _i64Add($2003 | 0, $2004 | 0, HEAP32[$2155 >> 2] | 0, HEAP32[$2155 + 4 >> 2] | 0) | 0;
$2163 = $182;
$2169 = _i64Add($2161 | 0, tempRet0 | 0, HEAP32[$2163 >> 2] | 0, HEAP32[$2163 + 4 >> 2] | 0) | 0;
$2170 = tempRet0;
$2171 = $17;
$2177 = HEAP32[$2171 >> 2] ^ $2169;
$2178 = HEAP32[$2171 + 4 >> 2] ^ $2170;
$2179 = _i64Add($2178 | 0, $2177 | 0, $2073 | 0, $2074 | 0) | 0;
$2180 = tempRet0;
$2181 = $2003 ^ $2179;
$2182 = $2004 ^ $2180;
$2183 = _bitshift64Lshr($2181 | 0, $2182 | 0, 24) | 0;
$2184 = tempRet0;
$2185 = _bitshift64Shl($2181 | 0, $2182 | 0, 40) | 0;
$2187 = $2185 | $2183;
$2188 = tempRet0 | $2184;
$2189 = _i64Add($2187 | 0, $2188 | 0, $2169 | 0, $2170 | 0) | 0;
$2191 = $381;
$2197 = _i64Add($2189 | 0, tempRet0 | 0, HEAP32[$2191 >> 2] | 0, HEAP32[$2191 + 4 >> 2] | 0) | 0;
$2198 = tempRet0;
$2199 = $90;
HEAP32[$2199 >> 2] = $2197;
HEAP32[$2199 + 4 >> 2] = $2198;
$2203 = $2178 ^ $2197;
$2204 = $2177 ^ $2198;
$2205 = _bitshift64Lshr($2203 | 0, $2204 | 0, 16) | 0;
$2206 = tempRet0;
$2207 = _bitshift64Shl($2203 | 0, $2204 | 0, 48) | 0;
$2209 = $2207 | $2205;
$2210 = tempRet0 | $2206;
$2211 = _i64Add($2209 | 0, $2210 | 0, $2179 | 0, $2180 | 0) | 0;
$2212 = tempRet0;
$2213 = $12;
HEAP32[$2213 >> 2] = $2211;
HEAP32[$2213 + 4 >> 2] = $2212;
$2217 = $2187 ^ $2211;
$2218 = $2188 ^ $2212;
$2219 = _bitshift64Lshr($2217 | 0, $2218 | 0, 63) | 0;
$2220 = tempRet0;
$2221 = _bitshift64Shl($2217 | 0, $2218 | 0, 1) | 0;
$2225 = $158;
HEAP32[$2225 >> 2] = $2221 | $2219;
HEAP32[$2225 + 4 >> 2] = tempRet0 | $2220;
$2229 = $151;
$2235 = _i64Add($2081 | 0, $2082 | 0, HEAP32[$2229 >> 2] | 0, HEAP32[$2229 + 4 >> 2] | 0) | 0;
$2237 = $167;
$2243 = _i64Add($2235 | 0, tempRet0 | 0, HEAP32[$2237 >> 2] | 0, HEAP32[$2237 + 4 >> 2] | 0) | 0;
$2244 = tempRet0;
$2245 = $18;
$2251 = HEAP32[$2245 >> 2] ^ $2243;
$2252 = HEAP32[$2245 + 4 >> 2] ^ $2244;
$2253 = $9;
$2259 = _i64Add($2252 | 0, $2251 | 0, HEAP32[$2253 >> 2] | 0, HEAP32[$2253 + 4 >> 2] | 0) | 0;
$2260 = tempRet0;
$2261 = $2081 ^ $2259;
$2262 = $2082 ^ $2260;
$2263 = _bitshift64Lshr($2261 | 0, $2262 | 0, 24) | 0;
$2264 = tempRet0;
$2265 = _bitshift64Shl($2261 | 0, $2262 | 0, 40) | 0;
$2267 = $2265 | $2263;
$2268 = tempRet0 | $2264;
$2269 = _i64Add($2267 | 0, $2268 | 0, $2243 | 0, $2244 | 0) | 0;
$2271 = $m;
$2273 = HEAP32[$2271 >> 2] | 0;
$2276 = HEAP32[$2271 + 4 >> 2] | 0;
$2277 = _i64Add($2269 | 0, tempRet0 | 0, $2273 | 0, $2276 | 0) | 0;
$2278 = tempRet0;
$2279 = $151;
HEAP32[$2279 >> 2] = $2277;
HEAP32[$2279 + 4 >> 2] = $2278;
$2283 = $2252 ^ $2277;
$2284 = $2251 ^ $2278;
$2285 = _bitshift64Lshr($2283 | 0, $2284 | 0, 16) | 0;
$2286 = tempRet0;
$2287 = _bitshift64Shl($2283 | 0, $2284 | 0, 48) | 0;
$2289 = $2287 | $2285;
$2290 = tempRet0 | $2286;
$2291 = _i64Add($2289 | 0, $2290 | 0, $2259 | 0, $2260 | 0) | 0;
$2292 = tempRet0;
$2293 = $2267 ^ $2291;
$2294 = $2268 ^ $2292;
$2295 = _bitshift64Lshr($2293 | 0, $2294 | 0, 63) | 0;
$2296 = tempRet0;
$2297 = _bitshift64Shl($2293 | 0, $2294 | 0, 1) | 0;
$2301 = $224;
HEAP32[$2301 >> 2] = $2297 | $2295;
HEAP32[$2301 + 4 >> 2] = tempRet0 | $2296;
$2305 = $217;
$2311 = $31;
$2313 = HEAP32[$2311 >> 2] | 0;
$2316 = HEAP32[$2311 + 4 >> 2] | 0;
$2317 = _i64Add($2313 | 0, $2316 | 0, HEAP32[$2305 >> 2] | 0, HEAP32[$2305 + 4 >> 2] | 0) | 0;
$2319 = $576;
$2325 = _i64Add($2317 | 0, tempRet0 | 0, HEAP32[$2319 >> 2] | 0, HEAP32[$2319 + 4 >> 2] | 0) | 0;
$2326 = tempRet0;
$2327 = $19;
$2333 = HEAP32[$2327 >> 2] ^ $2325;
$2334 = HEAP32[$2327 + 4 >> 2] ^ $2326;
$2335 = $10;
$2341 = _i64Add($2334 | 0, $2333 | 0, HEAP32[$2335 >> 2] | 0, HEAP32[$2335 + 4 >> 2] | 0) | 0;
$2342 = tempRet0;
$2343 = $2313 ^ $2341;
$2344 = $2316 ^ $2342;
$2345 = _bitshift64Lshr($2343 | 0, $2344 | 0, 24) | 0;
$2346 = tempRet0;
$2347 = _bitshift64Shl($2343 | 0, $2344 | 0, 40) | 0;
$2349 = $2347 | $2345;
$2350 = tempRet0 | $2346;
$2351 = _i64Add($2349 | 0, $2350 | 0, $2325 | 0, $2326 | 0) | 0;
$2353 = $307;
$2359 = _i64Add($2351 | 0, tempRet0 | 0, HEAP32[$2353 >> 2] | 0, HEAP32[$2353 + 4 >> 2] | 0) | 0;
$2360 = tempRet0;
$2361 = $217;
HEAP32[$2361 >> 2] = $2359;
HEAP32[$2361 + 4 >> 2] = $2360;
$2365 = $2334 ^ $2359;
$2366 = $2333 ^ $2360;
$2367 = _bitshift64Lshr($2365 | 0, $2366 | 0, 16) | 0;
$2368 = tempRet0;
$2369 = _bitshift64Shl($2365 | 0, $2366 | 0, 48) | 0;
$2371 = $2369 | $2367;
$2372 = tempRet0 | $2368;
$2373 = _i64Add($2371 | 0, $2372 | 0, $2341 | 0, $2342 | 0) | 0;
$2374 = tempRet0;
$2375 = $2349 ^ $2373;
$2376 = $2350 ^ $2374;
$2377 = _bitshift64Lshr($2375 | 0, $2376 | 0, 63) | 0;
$2378 = tempRet0;
$2379 = _bitshift64Shl($2375 | 0, $2376 | 0, 1) | 0;
$2381 = $2379 | $2377;
$2382 = tempRet0 | $2378;
$2383 = $v;
$2389 = _i64Add($2381 | 0, $2382 | 0, HEAP32[$2383 >> 2] | 0, HEAP32[$2383 + 4 >> 2] | 0) | 0;
$2391 = $330;
$2397 = _i64Add($2389 | 0, tempRet0 | 0, HEAP32[$2391 >> 2] | 0, HEAP32[$2391 + 4 >> 2] | 0) | 0;
$2398 = tempRet0;
$2399 = $2209 ^ $2397;
$2400 = $2210 ^ $2398;
$2401 = _i64Add($2400 | 0, $2399 | 0, $2291 | 0, $2292 | 0) | 0;
$2402 = tempRet0;
$2403 = $2381 ^ $2401;
$2404 = $2382 ^ $2402;
$2405 = _bitshift64Lshr($2403 | 0, $2404 | 0, 24) | 0;
$2406 = tempRet0;
$2407 = _bitshift64Shl($2403 | 0, $2404 | 0, 40) | 0;
$2409 = $2407 | $2405;
$2410 = tempRet0 | $2406;
$2411 = _i64Add($2409 | 0, $2410 | 0, $2397 | 0, $2398 | 0) | 0;
$2413 = _i64Add($2411 | 0, tempRet0 | 0, $2273 | 0, $2276 | 0) | 0;
$2414 = tempRet0;
$2415 = $v;
HEAP32[$2415 >> 2] = $2413;
HEAP32[$2415 + 4 >> 2] = $2414;
$2419 = $2400 ^ $2413;
$2420 = $2399 ^ $2414;
$2421 = _bitshift64Lshr($2419 | 0, $2420 | 0, 16) | 0;
$2422 = tempRet0;
$2423 = _bitshift64Shl($2419 | 0, $2420 | 0, 48) | 0;
$2425 = $2423 | $2421;
$2426 = tempRet0 | $2422;
$2427 = $17;
HEAP32[$2427 >> 2] = $2425;
HEAP32[$2427 + 4 >> 2] = $2426;
$2431 = _i64Add($2425 | 0, $2426 | 0, $2401 | 0, $2402 | 0) | 0;
$2432 = tempRet0;
$2433 = $9;
HEAP32[$2433 >> 2] = $2431;
HEAP32[$2433 + 4 >> 2] = $2432;
$2437 = $2409 ^ $2431;
$2438 = $2410 ^ $2432;
$2439 = _bitshift64Lshr($2437 | 0, $2438 | 0, 63) | 0;
$2440 = tempRet0;
$2441 = _bitshift64Shl($2437 | 0, $2438 | 0, 1) | 0;
$2445 = $31;
HEAP32[$2445 >> 2] = $2441 | $2439;
HEAP32[$2445 + 4 >> 2] = tempRet0 | $2440;
$2449 = $90;
$2455 = $97;
$2457 = HEAP32[$2455 >> 2] | 0;
$2460 = HEAP32[$2455 + 4 >> 2] | 0;
$2461 = _i64Add($2457 | 0, $2460 | 0, HEAP32[$2449 >> 2] | 0, HEAP32[$2449 + 4 >> 2] | 0) | 0;
$2463 = $182;
$2469 = _i64Add($2461 | 0, tempRet0 | 0, HEAP32[$2463 >> 2] | 0, HEAP32[$2463 + 4 >> 2] | 0) | 0;
$2470 = tempRet0;
$2471 = $2289 ^ $2469;
$2472 = $2290 ^ $2470;
$2473 = _i64Add($2472 | 0, $2471 | 0, $2373 | 0, $2374 | 0) | 0;
$2474 = tempRet0;
$2475 = $2457 ^ $2473;
$2476 = $2460 ^ $2474;
$2477 = _bitshift64Lshr($2475 | 0, $2476 | 0, 24) | 0;
$2478 = tempRet0;
$2479 = _bitshift64Shl($2475 | 0, $2476 | 0, 40) | 0;
$2481 = $2479 | $2477;
$2482 = tempRet0 | $2478;
$2483 = _i64Add($2481 | 0, $2482 | 0, $2469 | 0, $2470 | 0) | 0;
$2485 = $268;
$2491 = _i64Add($2483 | 0, tempRet0 | 0, HEAP32[$2485 >> 2] | 0, HEAP32[$2485 + 4 >> 2] | 0) | 0;
$2492 = tempRet0;
$2493 = $90;
HEAP32[$2493 >> 2] = $2491;
HEAP32[$2493 + 4 >> 2] = $2492;
$2497 = $2472 ^ $2491;
$2498 = $2471 ^ $2492;
$2499 = _bitshift64Lshr($2497 | 0, $2498 | 0, 16) | 0;
$2500 = tempRet0;
$2501 = _bitshift64Shl($2497 | 0, $2498 | 0, 48) | 0;
$2503 = $2501 | $2499;
$2504 = tempRet0 | $2500;
$2505 = $18;
HEAP32[$2505 >> 2] = $2503;
HEAP32[$2505 + 4 >> 2] = $2504;
$2509 = _i64Add($2503 | 0, $2504 | 0, $2473 | 0, $2474 | 0) | 0;
$2510 = tempRet0;
$2511 = $10;
HEAP32[$2511 >> 2] = $2509;
HEAP32[$2511 + 4 >> 2] = $2510;
$2515 = $2481 ^ $2509;
$2516 = $2482 ^ $2510;
$2517 = _bitshift64Lshr($2515 | 0, $2516 | 0, 63) | 0;
$2518 = tempRet0;
$2519 = _bitshift64Shl($2515 | 0, $2516 | 0, 1) | 0;
$2521 = $2519 | $2517;
$2522 = tempRet0 | $2518;
$2523 = $151;
$2529 = $158;
$2531 = HEAP32[$2529 >> 2] | 0;
$2534 = HEAP32[$2529 + 4 >> 2] | 0;
$2535 = _i64Add($2531 | 0, $2534 | 0, HEAP32[$2523 >> 2] | 0, HEAP32[$2523 + 4 >> 2] | 0) | 0;
$2537 = $scevgep;
$2543 = _i64Add($2535 | 0, tempRet0 | 0, HEAP32[$2537 >> 2] | 0, HEAP32[$2537 + 4 >> 2] | 0) | 0;
$2544 = tempRet0;
$2545 = $2371 ^ $2543;
$2546 = $2372 ^ $2544;
$2547 = $11;
$2553 = _i64Add($2546 | 0, $2545 | 0, HEAP32[$2547 >> 2] | 0, HEAP32[$2547 + 4 >> 2] | 0) | 0;
$2554 = tempRet0;
$2555 = $2531 ^ $2553;
$2556 = $2534 ^ $2554;
$2557 = _bitshift64Lshr($2555 | 0, $2556 | 0, 24) | 0;
$2558 = tempRet0;
$2559 = _bitshift64Shl($2555 | 0, $2556 | 0, 40) | 0;
$2561 = $2559 | $2557;
$2562 = tempRet0 | $2558;
$2563 = _i64Add($2561 | 0, $2562 | 0, $2543 | 0, $2544 | 0) | 0;
$2565 = $167;
$2571 = _i64Add($2563 | 0, tempRet0 | 0, HEAP32[$2565 >> 2] | 0, HEAP32[$2565 + 4 >> 2] | 0) | 0;
$2572 = tempRet0;
$2573 = $151;
HEAP32[$2573 >> 2] = $2571;
HEAP32[$2573 + 4 >> 2] = $2572;
$2577 = $2546 ^ $2571;
$2578 = $2545 ^ $2572;
$2579 = _bitshift64Lshr($2577 | 0, $2578 | 0, 16) | 0;
$2580 = tempRet0;
$2581 = _bitshift64Shl($2577 | 0, $2578 | 0, 48) | 0;
$2583 = $2581 | $2579;
$2584 = tempRet0 | $2580;
$2585 = $19;
HEAP32[$2585 >> 2] = $2583;
HEAP32[$2585 + 4 >> 2] = $2584;
$2589 = _i64Add($2583 | 0, $2584 | 0, $2553 | 0, $2554 | 0) | 0;
$2590 = tempRet0;
$2591 = $2561 ^ $2589;
$2592 = $2562 ^ $2590;
$2593 = _bitshift64Lshr($2591 | 0, $2592 | 0, 63) | 0;
$2594 = tempRet0;
$2595 = _bitshift64Shl($2591 | 0, $2592 | 0, 1) | 0;
$2597 = $2595 | $2593;
$2598 = tempRet0 | $2594;
$2599 = $217;
$2605 = $224;
$2607 = HEAP32[$2605 >> 2] | 0;
$2610 = HEAP32[$2605 + 4 >> 2] | 0;
$2611 = _i64Add($2607 | 0, $2610 | 0, HEAP32[$2599 >> 2] | 0, HEAP32[$2599 + 4 >> 2] | 0) | 0;
$2613 = $381;
$2619 = _i64Add($2611 | 0, tempRet0 | 0, HEAP32[$2613 >> 2] | 0, HEAP32[$2613 + 4 >> 2] | 0) | 0;
$2620 = tempRet0;
$2621 = $20;
$2627 = HEAP32[$2621 >> 2] ^ $2619;
$2628 = HEAP32[$2621 + 4 >> 2] ^ $2620;
$2629 = $12;
$2635 = _i64Add($2628 | 0, $2627 | 0, HEAP32[$2629 >> 2] | 0, HEAP32[$2629 + 4 >> 2] | 0) | 0;
$2636 = tempRet0;
$2637 = $2607 ^ $2635;
$2638 = $2610 ^ $2636;
$2639 = _bitshift64Lshr($2637 | 0, $2638 | 0, 24) | 0;
$2640 = tempRet0;
$2641 = _bitshift64Shl($2637 | 0, $2638 | 0, 40) | 0;
$2643 = $2641 | $2639;
$2644 = tempRet0 | $2640;
$2645 = _i64Add($2643 | 0, $2644 | 0, $2619 | 0, $2620 | 0) | 0;
$2647 = $576;
$2653 = _i64Add($2645 | 0, tempRet0 | 0, HEAP32[$2647 >> 2] | 0, HEAP32[$2647 + 4 >> 2] | 0) | 0;
$2654 = tempRet0;
$2655 = $217;
HEAP32[$2655 >> 2] = $2653;
HEAP32[$2655 + 4 >> 2] = $2654;
$2659 = $2628 ^ $2653;
$2660 = $2627 ^ $2654;
$2661 = _bitshift64Lshr($2659 | 0, $2660 | 0, 16) | 0;
$2662 = tempRet0;
$2663 = _bitshift64Shl($2659 | 0, $2660 | 0, 48) | 0;
$2665 = $2663 | $2661;
$2666 = tempRet0 | $2662;
$2667 = _i64Add($2665 | 0, $2666 | 0, $2635 | 0, $2636 | 0) | 0;
$2668 = tempRet0;
$2669 = $2643 ^ $2667;
$2670 = $2644 ^ $2668;
$2671 = _bitshift64Lshr($2669 | 0, $2670 | 0, 63) | 0;
$2672 = tempRet0;
$2673 = _bitshift64Shl($2669 | 0, $2670 | 0, 1) | 0;
$2675 = $2673 | $2671;
$2676 = tempRet0 | $2672;
$2677 = $v;
$2683 = _i64Add($2521 | 0, $2522 | 0, HEAP32[$2677 >> 2] | 0, HEAP32[$2677 + 4 >> 2] | 0) | 0;
$2685 = $541;
$2691 = _i64Add($2683 | 0, tempRet0 | 0, HEAP32[$2685 >> 2] | 0, HEAP32[$2685 + 4 >> 2] | 0) | 0;
$2692 = tempRet0;
$2693 = $2665 ^ $2691;
$2694 = $2666 ^ $2692;
$2695 = _i64Add($2694 | 0, $2693 | 0, $2589 | 0, $2590 | 0) | 0;
$2696 = tempRet0;
$2697 = $2521 ^ $2695;
$2698 = $2522 ^ $2696;
$2699 = _bitshift64Lshr($2697 | 0, $2698 | 0, 24) | 0;
$2700 = tempRet0;
$2701 = _bitshift64Shl($2697 | 0, $2698 | 0, 40) | 0;
$2703 = $2701 | $2699;
$2704 = tempRet0 | $2700;
$2705 = _i64Add($2703 | 0, $2704 | 0, $2691 | 0, $2692 | 0) | 0;
$2707 = $4;
$2713 = _i64Add($2705 | 0, tempRet0 | 0, HEAP32[$2707 >> 2] | 0, HEAP32[$2707 + 4 >> 2] | 0) | 0;
$2714 = tempRet0;
$2715 = $v;
HEAP32[$2715 >> 2] = $2713;
HEAP32[$2715 + 4 >> 2] = $2714;
$2719 = $2694 ^ $2713;
$2720 = $2693 ^ $2714;
$2721 = _bitshift64Lshr($2719 | 0, $2720 | 0, 16) | 0;
$2722 = tempRet0;
$2723 = _bitshift64Shl($2719 | 0, $2720 | 0, 48) | 0;
$2725 = $2723 | $2721;
$2726 = tempRet0 | $2722;
$2727 = $20;
HEAP32[$2727 >> 2] = $2725;
HEAP32[$2727 + 4 >> 2] = $2726;
$2731 = _i64Add($2725 | 0, $2726 | 0, $2695 | 0, $2696 | 0) | 0;
$2732 = tempRet0;
$2733 = $11;
HEAP32[$2733 >> 2] = $2731;
HEAP32[$2733 + 4 >> 2] = $2732;
$2737 = $2703 ^ $2731;
$2738 = $2704 ^ $2732;
$2739 = _bitshift64Lshr($2737 | 0, $2738 | 0, 63) | 0;
$2740 = tempRet0;
$2741 = _bitshift64Shl($2737 | 0, $2738 | 0, 1) | 0;
$2745 = $97;
HEAP32[$2745 >> 2] = $2741 | $2739;
HEAP32[$2745 + 4 >> 2] = tempRet0 | $2740;
$2749 = $90;
$2755 = _i64Add($2597 | 0, $2598 | 0, HEAP32[$2749 >> 2] | 0, HEAP32[$2749 + 4 >> 2] | 0) | 0;
$2757 = $410;
$2763 = _i64Add($2755 | 0, tempRet0 | 0, HEAP32[$2757 >> 2] | 0, HEAP32[$2757 + 4 >> 2] | 0) | 0;
$2764 = tempRet0;
$2765 = $17;
$2771 = HEAP32[$2765 >> 2] ^ $2763;
$2772 = HEAP32[$2765 + 4 >> 2] ^ $2764;
$2773 = _i64Add($2772 | 0, $2771 | 0, $2667 | 0, $2668 | 0) | 0;
$2774 = tempRet0;
$2775 = $2597 ^ $2773;
$2776 = $2598 ^ $2774;
$2777 = _bitshift64Lshr($2775 | 0, $2776 | 0, 24) | 0;
$2778 = tempRet0;
$2779 = _bitshift64Shl($2775 | 0, $2776 | 0, 40) | 0;
$2781 = $2779 | $2777;
$2782 = tempRet0 | $2778;
$2783 = _i64Add($2781 | 0, $2782 | 0, $2763 | 0, $2764 | 0) | 0;
$2785 = $457;
$2791 = _i64Add($2783 | 0, tempRet0 | 0, HEAP32[$2785 >> 2] | 0, HEAP32[$2785 + 4 >> 2] | 0) | 0;
$2792 = tempRet0;
$2793 = $90;
HEAP32[$2793 >> 2] = $2791;
HEAP32[$2793 + 4 >> 2] = $2792;
$2797 = $2772 ^ $2791;
$2798 = $2771 ^ $2792;
$2799 = _bitshift64Lshr($2797 | 0, $2798 | 0, 16) | 0;
$2800 = tempRet0;
$2801 = _bitshift64Shl($2797 | 0, $2798 | 0, 48) | 0;
$2803 = $2801 | $2799;
$2804 = tempRet0 | $2800;
$2805 = _i64Add($2803 | 0, $2804 | 0, $2773 | 0, $2774 | 0) | 0;
$2806 = tempRet0;
$2807 = $12;
HEAP32[$2807 >> 2] = $2805;
HEAP32[$2807 + 4 >> 2] = $2806;
$2811 = $2781 ^ $2805;
$2812 = $2782 ^ $2806;
$2813 = _bitshift64Lshr($2811 | 0, $2812 | 0, 63) | 0;
$2814 = tempRet0;
$2815 = _bitshift64Shl($2811 | 0, $2812 | 0, 1) | 0;
$2819 = $158;
HEAP32[$2819 >> 2] = $2815 | $2813;
HEAP32[$2819 + 4 >> 2] = tempRet0 | $2814;
$2823 = $151;
$2829 = _i64Add($2675 | 0, $2676 | 0, HEAP32[$2823 >> 2] | 0, HEAP32[$2823 + 4 >> 2] | 0) | 0;
$2831 = $233;
$2837 = _i64Add($2829 | 0, tempRet0 | 0, HEAP32[$2831 >> 2] | 0, HEAP32[$2831 + 4 >> 2] | 0) | 0;
$2838 = tempRet0;
$2839 = $18;
$2845 = HEAP32[$2839 >> 2] ^ $2837;
$2846 = HEAP32[$2839 + 4 >> 2] ^ $2838;
$2847 = $9;
$2853 = _i64Add($2846 | 0, $2845 | 0, HEAP32[$2847 >> 2] | 0, HEAP32[$2847 + 4 >> 2] | 0) | 0;
$2854 = tempRet0;
$2855 = $2675 ^ $2853;
$2856 = $2676 ^ $2854;
$2857 = _bitshift64Lshr($2855 | 0, $2856 | 0, 24) | 0;
$2858 = tempRet0;
$2859 = _bitshift64Shl($2855 | 0, $2856 | 0, 40) | 0;
$2861 = $2859 | $2857;
$2862 = tempRet0 | $2858;
$2863 = _i64Add($2861 | 0, $2862 | 0, $2837 | 0, $2838 | 0) | 0;
$2865 = $307;
$2871 = _i64Add($2863 | 0, tempRet0 | 0, HEAP32[$2865 >> 2] | 0, HEAP32[$2865 + 4 >> 2] | 0) | 0;
$2872 = tempRet0;
$2873 = $151;
HEAP32[$2873 >> 2] = $2871;
HEAP32[$2873 + 4 >> 2] = $2872;
$2877 = $2846 ^ $2871;
$2878 = $2845 ^ $2872;
$2879 = _bitshift64Lshr($2877 | 0, $2878 | 0, 16) | 0;
$2880 = tempRet0;
$2881 = _bitshift64Shl($2877 | 0, $2878 | 0, 48) | 0;
$2883 = $2881 | $2879;
$2884 = tempRet0 | $2880;
$2885 = _i64Add($2883 | 0, $2884 | 0, $2853 | 0, $2854 | 0) | 0;
$2886 = tempRet0;
$2887 = $2861 ^ $2885;
$2888 = $2862 ^ $2886;
$2889 = _bitshift64Lshr($2887 | 0, $2888 | 0, 63) | 0;
$2890 = tempRet0;
$2891 = _bitshift64Shl($2887 | 0, $2888 | 0, 1) | 0;
$2895 = $224;
HEAP32[$2895 >> 2] = $2891 | $2889;
HEAP32[$2895 + 4 >> 2] = tempRet0 | $2890;
$2899 = $217;
$2905 = $31;
$2907 = HEAP32[$2905 >> 2] | 0;
$2910 = HEAP32[$2905 + 4 >> 2] | 0;
$2911 = _i64Add($2907 | 0, $2910 | 0, HEAP32[$2899 >> 2] | 0, HEAP32[$2899 + 4 >> 2] | 0) | 0;
$2913 = $120;
$2919 = _i64Add($2911 | 0, tempRet0 | 0, HEAP32[$2913 >> 2] | 0, HEAP32[$2913 + 4 >> 2] | 0) | 0;
$2920 = tempRet0;
$2921 = $19;
$2927 = HEAP32[$2921 >> 2] ^ $2919;
$2928 = HEAP32[$2921 + 4 >> 2] ^ $2920;
$2929 = $10;
$2935 = _i64Add($2928 | 0, $2927 | 0, HEAP32[$2929 >> 2] | 0, HEAP32[$2929 + 4 >> 2] | 0) | 0;
$2936 = tempRet0;
$2937 = $2907 ^ $2935;
$2938 = $2910 ^ $2936;
$2939 = _bitshift64Lshr($2937 | 0, $2938 | 0, 24) | 0;
$2940 = tempRet0;
$2941 = _bitshift64Shl($2937 | 0, $2938 | 0, 40) | 0;
$2943 = $2941 | $2939;
$2944 = tempRet0 | $2940;
$2945 = _i64Add($2943 | 0, $2944 | 0, $2919 | 0, $2920 | 0) | 0;
$2947 = $492;
$2953 = _i64Add($2945 | 0, tempRet0 | 0, HEAP32[$2947 >> 2] | 0, HEAP32[$2947 + 4 >> 2] | 0) | 0;
$2954 = tempRet0;
$2955 = $217;
HEAP32[$2955 >> 2] = $2953;
HEAP32[$2955 + 4 >> 2] = $2954;
$2959 = $2928 ^ $2953;
$2960 = $2927 ^ $2954;
$2961 = _bitshift64Lshr($2959 | 0, $2960 | 0, 16) | 0;
$2962 = tempRet0;
$2963 = _bitshift64Shl($2959 | 0, $2960 | 0, 48) | 0;
$2965 = $2963 | $2961;
$2966 = tempRet0 | $2962;
$2967 = _i64Add($2965 | 0, $2966 | 0, $2935 | 0, $2936 | 0) | 0;
$2968 = tempRet0;
$2969 = $2943 ^ $2967;
$2970 = $2944 ^ $2968;
$2971 = _bitshift64Lshr($2969 | 0, $2970 | 0, 63) | 0;
$2972 = tempRet0;
$2973 = _bitshift64Shl($2969 | 0, $2970 | 0, 1) | 0;
$2975 = $2973 | $2971;
$2976 = tempRet0 | $2972;
$2977 = $v;
$2983 = _i64Add($2975 | 0, $2976 | 0, HEAP32[$2977 >> 2] | 0, HEAP32[$2977 + 4 >> 2] | 0) | 0;
$2985 = $scevgep;
$2991 = _i64Add($2983 | 0, tempRet0 | 0, HEAP32[$2985 >> 2] | 0, HEAP32[$2985 + 4 >> 2] | 0) | 0;
$2992 = tempRet0;
$2993 = $2803 ^ $2991;
$2994 = $2804 ^ $2992;
$2995 = _i64Add($2994 | 0, $2993 | 0, $2885 | 0, $2886 | 0) | 0;
$2996 = tempRet0;
$2997 = $2975 ^ $2995;
$2998 = $2976 ^ $2996;
$2999 = _bitshift64Lshr($2997 | 0, $2998 | 0, 24) | 0;
$3000 = tempRet0;
$3001 = _bitshift64Shl($2997 | 0, $2998 | 0, 40) | 0;
$3003 = $3001 | $2999;
$3004 = tempRet0 | $3000;
$3005 = _i64Add($3003 | 0, $3004 | 0, $2991 | 0, $2992 | 0) | 0;
$3007 = $457;
$3013 = _i64Add($3005 | 0, tempRet0 | 0, HEAP32[$3007 >> 2] | 0, HEAP32[$3007 + 4 >> 2] | 0) | 0;
$3014 = tempRet0;
$3015 = $v;
HEAP32[$3015 >> 2] = $3013;
HEAP32[$3015 + 4 >> 2] = $3014;
$3019 = $2994 ^ $3013;
$3020 = $2993 ^ $3014;
$3021 = _bitshift64Lshr($3019 | 0, $3020 | 0, 16) | 0;
$3022 = tempRet0;
$3023 = _bitshift64Shl($3019 | 0, $3020 | 0, 48) | 0;
$3025 = $3023 | $3021;
$3026 = tempRet0 | $3022;
$3027 = $17;
HEAP32[$3027 >> 2] = $3025;
HEAP32[$3027 + 4 >> 2] = $3026;
$3031 = _i64Add($3025 | 0, $3026 | 0, $2995 | 0, $2996 | 0) | 0;
$3032 = tempRet0;
$3033 = $9;
HEAP32[$3033 >> 2] = $3031;
HEAP32[$3033 + 4 >> 2] = $3032;
$3037 = $3003 ^ $3031;
$3038 = $3004 ^ $3032;
$3039 = _bitshift64Lshr($3037 | 0, $3038 | 0, 63) | 0;
$3040 = tempRet0;
$3041 = _bitshift64Shl($3037 | 0, $3038 | 0, 1) | 0;
$3045 = $31;
HEAP32[$3045 >> 2] = $3041 | $3039;
HEAP32[$3045 + 4 >> 2] = tempRet0 | $3040;
$3049 = $90;
$3055 = $97;
$3057 = HEAP32[$3055 >> 2] | 0;
$3060 = HEAP32[$3055 + 4 >> 2] | 0;
$3061 = _i64Add($3057 | 0, $3060 | 0, HEAP32[$3049 >> 2] | 0, HEAP32[$3049 + 4 >> 2] | 0) | 0;
$3063 = $233;
$3069 = _i64Add($3061 | 0, tempRet0 | 0, HEAP32[$3063 >> 2] | 0, HEAP32[$3063 + 4 >> 2] | 0) | 0;
$3070 = tempRet0;
$3071 = $2883 ^ $3069;
$3072 = $2884 ^ $3070;
$3073 = _i64Add($3072 | 0, $3071 | 0, $2967 | 0, $2968 | 0) | 0;
$3074 = tempRet0;
$3075 = $3057 ^ $3073;
$3076 = $3060 ^ $3074;
$3077 = _bitshift64Lshr($3075 | 0, $3076 | 0, 24) | 0;
$3078 = tempRet0;
$3079 = _bitshift64Shl($3075 | 0, $3076 | 0, 40) | 0;
$3081 = $3079 | $3077;
$3082 = tempRet0 | $3078;
$3083 = _i64Add($3081 | 0, $3082 | 0, $3069 | 0, $3070 | 0) | 0;
$3085 = $381;
$3091 = _i64Add($3083 | 0, tempRet0 | 0, HEAP32[$3085 >> 2] | 0, HEAP32[$3085 + 4 >> 2] | 0) | 0;
$3092 = tempRet0;
$3093 = $90;
HEAP32[$3093 >> 2] = $3091;
HEAP32[$3093 + 4 >> 2] = $3092;
$3097 = $3072 ^ $3091;
$3098 = $3071 ^ $3092;
$3099 = _bitshift64Lshr($3097 | 0, $3098 | 0, 16) | 0;
$3100 = tempRet0;
$3101 = _bitshift64Shl($3097 | 0, $3098 | 0, 48) | 0;
$3103 = $3101 | $3099;
$3104 = tempRet0 | $3100;
$3105 = $18;
HEAP32[$3105 >> 2] = $3103;
HEAP32[$3105 + 4 >> 2] = $3104;
$3109 = _i64Add($3103 | 0, $3104 | 0, $3073 | 0, $3074 | 0) | 0;
$3110 = tempRet0;
$3111 = $10;
HEAP32[$3111 >> 2] = $3109;
HEAP32[$3111 + 4 >> 2] = $3110;
$3115 = $3081 ^ $3109;
$3116 = $3082 ^ $3110;
$3117 = _bitshift64Lshr($3115 | 0, $3116 | 0, 63) | 0;
$3118 = tempRet0;
$3119 = _bitshift64Shl($3115 | 0, $3116 | 0, 1) | 0;
$3121 = $3119 | $3117;
$3122 = tempRet0 | $3118;
$3123 = $151;
$3129 = $158;
$3131 = HEAP32[$3129 >> 2] | 0;
$3134 = HEAP32[$3129 + 4 >> 2] | 0;
$3135 = _i64Add($3131 | 0, $3134 | 0, HEAP32[$3123 >> 2] | 0, HEAP32[$3123 + 4 >> 2] | 0) | 0;
$3137 = $m;
$3143 = _i64Add($3135 | 0, tempRet0 | 0, HEAP32[$3137 >> 2] | 0, HEAP32[$3137 + 4 >> 2] | 0) | 0;
$3144 = tempRet0;
$3145 = $2965 ^ $3143;
$3146 = $2966 ^ $3144;
$3147 = $11;
$3153 = _i64Add($3146 | 0, $3145 | 0, HEAP32[$3147 >> 2] | 0, HEAP32[$3147 + 4 >> 2] | 0) | 0;
$3154 = tempRet0;
$3155 = $3131 ^ $3153;
$3156 = $3134 ^ $3154;
$3157 = _bitshift64Lshr($3155 | 0, $3156 | 0, 24) | 0;
$3158 = tempRet0;
$3159 = _bitshift64Shl($3155 | 0, $3156 | 0, 40) | 0;
$3161 = $3159 | $3157;
$3162 = tempRet0 | $3158;
$3163 = _i64Add($3161 | 0, $3162 | 0, $3143 | 0, $3144 | 0) | 0;
$3165 = $410;
$3171 = _i64Add($3163 | 0, tempRet0 | 0, HEAP32[$3165 >> 2] | 0, HEAP32[$3165 + 4 >> 2] | 0) | 0;
$3172 = tempRet0;
$3173 = $151;
HEAP32[$3173 >> 2] = $3171;
HEAP32[$3173 + 4 >> 2] = $3172;
$3177 = $3146 ^ $3171;
$3178 = $3145 ^ $3172;
$3179 = _bitshift64Lshr($3177 | 0, $3178 | 0, 16) | 0;
$3180 = tempRet0;
$3181 = _bitshift64Shl($3177 | 0, $3178 | 0, 48) | 0;
$3183 = $3181 | $3179;
$3184 = tempRet0 | $3180;
$3185 = $19;
HEAP32[$3185 >> 2] = $3183;
HEAP32[$3185 + 4 >> 2] = $3184;
$3189 = _i64Add($3183 | 0, $3184 | 0, $3153 | 0, $3154 | 0) | 0;
$3190 = tempRet0;
$3191 = $3161 ^ $3189;
$3192 = $3162 ^ $3190;
$3193 = _bitshift64Lshr($3191 | 0, $3192 | 0, 63) | 0;
$3194 = tempRet0;
$3195 = _bitshift64Shl($3191 | 0, $3192 | 0, 1) | 0;
$3197 = $3195 | $3193;
$3198 = tempRet0 | $3194;
$3199 = $217;
$3205 = $224;
$3207 = HEAP32[$3205 >> 2] | 0;
$3210 = HEAP32[$3205 + 4 >> 2] | 0;
$3211 = _i64Add($3207 | 0, $3210 | 0, HEAP32[$3199 >> 2] | 0, HEAP32[$3199 + 4 >> 2] | 0) | 0;
$3213 = $307;
$3219 = _i64Add($3211 | 0, tempRet0 | 0, HEAP32[$3213 >> 2] | 0, HEAP32[$3213 + 4 >> 2] | 0) | 0;
$3220 = tempRet0;
$3221 = $20;
$3227 = HEAP32[$3221 >> 2] ^ $3219;
$3228 = HEAP32[$3221 + 4 >> 2] ^ $3220;
$3229 = $12;
$3235 = _i64Add($3228 | 0, $3227 | 0, HEAP32[$3229 >> 2] | 0, HEAP32[$3229 + 4 >> 2] | 0) | 0;
$3236 = tempRet0;
$3237 = $3207 ^ $3235;
$3238 = $3210 ^ $3236;
$3239 = _bitshift64Lshr($3237 | 0, $3238 | 0, 24) | 0;
$3240 = tempRet0;
$3241 = _bitshift64Shl($3237 | 0, $3238 | 0, 40) | 0;
$3243 = $3241 | $3239;
$3244 = tempRet0 | $3240;
$3245 = _i64Add($3243 | 0, $3244 | 0, $3219 | 0, $3220 | 0) | 0;
$3247 = $120;
$3253 = _i64Add($3245 | 0, tempRet0 | 0, HEAP32[$3247 >> 2] | 0, HEAP32[$3247 + 4 >> 2] | 0) | 0;
$3254 = tempRet0;
$3255 = $217;
HEAP32[$3255 >> 2] = $3253;
HEAP32[$3255 + 4 >> 2] = $3254;
$3259 = $3228 ^ $3253;
$3260 = $3227 ^ $3254;
$3261 = _bitshift64Lshr($3259 | 0, $3260 | 0, 16) | 0;
$3262 = tempRet0;
$3263 = _bitshift64Shl($3259 | 0, $3260 | 0, 48) | 0;
$3265 = $3263 | $3261;
$3266 = tempRet0 | $3262;
$3267 = _i64Add($3265 | 0, $3266 | 0, $3235 | 0, $3236 | 0) | 0;
$3268 = tempRet0;
$3269 = $3243 ^ $3267;
$3270 = $3244 ^ $3268;
$3271 = _bitshift64Lshr($3269 | 0, $3270 | 0, 63) | 0;
$3272 = tempRet0;
$3273 = _bitshift64Shl($3269 | 0, $3270 | 0, 1) | 0;
$3275 = $3273 | $3271;
$3276 = tempRet0 | $3272;
$3277 = $v;
$3283 = _i64Add($3121 | 0, $3122 | 0, HEAP32[$3277 >> 2] | 0, HEAP32[$3277 + 4 >> 2] | 0) | 0;
$3285 = $167;
$3291 = _i64Add($3283 | 0, tempRet0 | 0, HEAP32[$3285 >> 2] | 0, HEAP32[$3285 + 4 >> 2] | 0) | 0;
$3292 = tempRet0;
$3293 = $3265 ^ $3291;
$3294 = $3266 ^ $3292;
$3295 = _i64Add($3294 | 0, $3293 | 0, $3189 | 0, $3190 | 0) | 0;
$3296 = tempRet0;
$3297 = $3121 ^ $3295;
$3298 = $3122 ^ $3296;
$3299 = _bitshift64Lshr($3297 | 0, $3298 | 0, 24) | 0;
$3300 = tempRet0;
$3301 = _bitshift64Shl($3297 | 0, $3298 | 0, 40) | 0;
$3303 = $3301 | $3299;
$3304 = tempRet0 | $3300;
$3305 = _i64Add($3303 | 0, $3304 | 0, $3291 | 0, $3292 | 0) | 0;
$3307 = $492;
$3313 = _i64Add($3305 | 0, tempRet0 | 0, HEAP32[$3307 >> 2] | 0, HEAP32[$3307 + 4 >> 2] | 0) | 0;
$3314 = tempRet0;
$3315 = $v;
HEAP32[$3315 >> 2] = $3313;
HEAP32[$3315 + 4 >> 2] = $3314;
$3319 = $3294 ^ $3313;
$3320 = $3293 ^ $3314;
$3321 = _bitshift64Lshr($3319 | 0, $3320 | 0, 16) | 0;
$3322 = tempRet0;
$3323 = _bitshift64Shl($3319 | 0, $3320 | 0, 48) | 0;
$3325 = $3323 | $3321;
$3326 = tempRet0 | $3322;
$3327 = $20;
HEAP32[$3327 >> 2] = $3325;
HEAP32[$3327 + 4 >> 2] = $3326;
$3331 = _i64Add($3325 | 0, $3326 | 0, $3295 | 0, $3296 | 0) | 0;
$3332 = tempRet0;
$3333 = $11;
HEAP32[$3333 >> 2] = $3331;
HEAP32[$3333 + 4 >> 2] = $3332;
$3337 = $3303 ^ $3331;
$3338 = $3304 ^ $3332;
$3339 = _bitshift64Lshr($3337 | 0, $3338 | 0, 63) | 0;
$3340 = tempRet0;
$3341 = _bitshift64Shl($3337 | 0, $3338 | 0, 1) | 0;
$3345 = $97;
HEAP32[$3345 >> 2] = $3341 | $3339;
HEAP32[$3345 + 4 >> 2] = tempRet0 | $3340;
$3349 = $90;
$3355 = _i64Add($3197 | 0, $3198 | 0, HEAP32[$3349 >> 2] | 0, HEAP32[$3349 + 4 >> 2] | 0) | 0;
$3357 = $268;
$3363 = _i64Add($3355 | 0, tempRet0 | 0, HEAP32[$3357 >> 2] | 0, HEAP32[$3357 + 4 >> 2] | 0) | 0;
$3364 = tempRet0;
$3365 = $17;
$3371 = HEAP32[$3365 >> 2] ^ $3363;
$3372 = HEAP32[$3365 + 4 >> 2] ^ $3364;
$3373 = _i64Add($3372 | 0, $3371 | 0, $3267 | 0, $3268 | 0) | 0;
$3374 = tempRet0;
$3375 = $3197 ^ $3373;
$3376 = $3198 ^ $3374;
$3377 = _bitshift64Lshr($3375 | 0, $3376 | 0, 24) | 0;
$3378 = tempRet0;
$3379 = _bitshift64Shl($3375 | 0, $3376 | 0, 40) | 0;
$3381 = $3379 | $3377;
$3382 = tempRet0 | $3378;
$3383 = _i64Add($3381 | 0, $3382 | 0, $3363 | 0, $3364 | 0) | 0;
$3385 = $182;
$3391 = _i64Add($3383 | 0, tempRet0 | 0, HEAP32[$3385 >> 2] | 0, HEAP32[$3385 + 4 >> 2] | 0) | 0;
$3392 = tempRet0;
$3393 = $90;
HEAP32[$3393 >> 2] = $3391;
HEAP32[$3393 + 4 >> 2] = $3392;
$3397 = $3372 ^ $3391;
$3398 = $3371 ^ $3392;
$3399 = _bitshift64Lshr($3397 | 0, $3398 | 0, 16) | 0;
$3400 = tempRet0;
$3401 = _bitshift64Shl($3397 | 0, $3398 | 0, 48) | 0;
$3403 = $3401 | $3399;
$3404 = tempRet0 | $3400;
$3405 = _i64Add($3403 | 0, $3404 | 0, $3373 | 0, $3374 | 0) | 0;
$3406 = tempRet0;
$3407 = $12;
HEAP32[$3407 >> 2] = $3405;
HEAP32[$3407 + 4 >> 2] = $3406;
$3411 = $3381 ^ $3405;
$3412 = $3382 ^ $3406;
$3413 = _bitshift64Lshr($3411 | 0, $3412 | 0, 63) | 0;
$3414 = tempRet0;
$3415 = _bitshift64Shl($3411 | 0, $3412 | 0, 1) | 0;
$3419 = $158;
HEAP32[$3419 >> 2] = $3415 | $3413;
HEAP32[$3419 + 4 >> 2] = tempRet0 | $3414;
$3423 = $151;
$3429 = _i64Add($3275 | 0, $3276 | 0, HEAP32[$3423 >> 2] | 0, HEAP32[$3423 + 4 >> 2] | 0) | 0;
$3431 = $576;
$3437 = _i64Add($3429 | 0, tempRet0 | 0, HEAP32[$3431 >> 2] | 0, HEAP32[$3431 + 4 >> 2] | 0) | 0;
$3438 = tempRet0;
$3439 = $18;
$3445 = HEAP32[$3439 >> 2] ^ $3437;
$3446 = HEAP32[$3439 + 4 >> 2] ^ $3438;
$3447 = $9;
$3453 = _i64Add($3446 | 0, $3445 | 0, HEAP32[$3447 >> 2] | 0, HEAP32[$3447 + 4 >> 2] | 0) | 0;
$3454 = tempRet0;
$3455 = $3275 ^ $3453;
$3456 = $3276 ^ $3454;
$3457 = _bitshift64Lshr($3455 | 0, $3456 | 0, 24) | 0;
$3458 = tempRet0;
$3459 = _bitshift64Shl($3455 | 0, $3456 | 0, 40) | 0;
$3461 = $3459 | $3457;
$3462 = tempRet0 | $3458;
$3463 = _i64Add($3461 | 0, $3462 | 0, $3437 | 0, $3438 | 0) | 0;
$3465 = $541;
$3471 = _i64Add($3463 | 0, tempRet0 | 0, HEAP32[$3465 >> 2] | 0, HEAP32[$3465 + 4 >> 2] | 0) | 0;
$3472 = tempRet0;
$3473 = $151;
HEAP32[$3473 >> 2] = $3471;
HEAP32[$3473 + 4 >> 2] = $3472;
$3477 = $3446 ^ $3471;
$3478 = $3445 ^ $3472;
$3479 = _bitshift64Lshr($3477 | 0, $3478 | 0, 16) | 0;
$3480 = tempRet0;
$3481 = _bitshift64Shl($3477 | 0, $3478 | 0, 48) | 0;
$3483 = $3481 | $3479;
$3484 = tempRet0 | $3480;
$3485 = _i64Add($3483 | 0, $3484 | 0, $3453 | 0, $3454 | 0) | 0;
$3486 = tempRet0;
$3487 = $3461 ^ $3485;
$3488 = $3462 ^ $3486;
$3489 = _bitshift64Lshr($3487 | 0, $3488 | 0, 63) | 0;
$3490 = tempRet0;
$3491 = _bitshift64Shl($3487 | 0, $3488 | 0, 1) | 0;
$3495 = $224;
HEAP32[$3495 >> 2] = $3491 | $3489;
HEAP32[$3495 + 4 >> 2] = tempRet0 | $3490;
$3499 = $217;
$3505 = $31;
$3507 = HEAP32[$3505 >> 2] | 0;
$3510 = HEAP32[$3505 + 4 >> 2] | 0;
$3511 = _i64Add($3507 | 0, $3510 | 0, HEAP32[$3499 >> 2] | 0, HEAP32[$3499 + 4 >> 2] | 0) | 0;
$3513 = $4;
$3515 = HEAP32[$3513 >> 2] | 0;
$3518 = HEAP32[$3513 + 4 >> 2] | 0;
$3519 = _i64Add($3511 | 0, tempRet0 | 0, $3515 | 0, $3518 | 0) | 0;
$3520 = tempRet0;
$3521 = $19;
$3527 = HEAP32[$3521 >> 2] ^ $3519;
$3528 = HEAP32[$3521 + 4 >> 2] ^ $3520;
$3529 = $10;
$3535 = _i64Add($3528 | 0, $3527 | 0, HEAP32[$3529 >> 2] | 0, HEAP32[$3529 + 4 >> 2] | 0) | 0;
$3536 = tempRet0;
$3537 = $3507 ^ $3535;
$3538 = $3510 ^ $3536;
$3539 = _bitshift64Lshr($3537 | 0, $3538 | 0, 24) | 0;
$3540 = tempRet0;
$3541 = _bitshift64Shl($3537 | 0, $3538 | 0, 40) | 0;
$3543 = $3541 | $3539;
$3544 = tempRet0 | $3540;
$3545 = _i64Add($3543 | 0, $3544 | 0, $3519 | 0, $3520 | 0) | 0;
$3547 = $330;
$3553 = _i64Add($3545 | 0, tempRet0 | 0, HEAP32[$3547 >> 2] | 0, HEAP32[$3547 + 4 >> 2] | 0) | 0;
$3554 = tempRet0;
$3555 = $217;
HEAP32[$3555 >> 2] = $3553;
HEAP32[$3555 + 4 >> 2] = $3554;
$3559 = $3528 ^ $3553;
$3560 = $3527 ^ $3554;
$3561 = _bitshift64Lshr($3559 | 0, $3560 | 0, 16) | 0;
$3562 = tempRet0;
$3563 = _bitshift64Shl($3559 | 0, $3560 | 0, 48) | 0;
$3565 = $3563 | $3561;
$3566 = tempRet0 | $3562;
$3567 = _i64Add($3565 | 0, $3566 | 0, $3535 | 0, $3536 | 0) | 0;
$3568 = tempRet0;
$3569 = $3543 ^ $3567;
$3570 = $3544 ^ $3568;
$3571 = _bitshift64Lshr($3569 | 0, $3570 | 0, 63) | 0;
$3572 = tempRet0;
$3573 = _bitshift64Shl($3569 | 0, $3570 | 0, 1) | 0;
$3575 = $3573 | $3571;
$3576 = tempRet0 | $3572;
$3577 = $v;
$3583 = _i64Add($3575 | 0, $3576 | 0, HEAP32[$3577 >> 2] | 0, HEAP32[$3577 + 4 >> 2] | 0) | 0;
$3585 = $457;
$3591 = _i64Add($3583 | 0, tempRet0 | 0, HEAP32[$3585 >> 2] | 0, HEAP32[$3585 + 4 >> 2] | 0) | 0;
$3592 = tempRet0;
$3593 = $3403 ^ $3591;
$3594 = $3404 ^ $3592;
$3595 = _i64Add($3594 | 0, $3593 | 0, $3485 | 0, $3486 | 0) | 0;
$3596 = tempRet0;
$3597 = $3575 ^ $3595;
$3598 = $3576 ^ $3596;
$3599 = _bitshift64Lshr($3597 | 0, $3598 | 0, 24) | 0;
$3600 = tempRet0;
$3601 = _bitshift64Shl($3597 | 0, $3598 | 0, 40) | 0;
$3603 = $3601 | $3599;
$3604 = tempRet0 | $3600;
$3605 = _i64Add($3603 | 0, $3604 | 0, $3591 | 0, $3592 | 0) | 0;
$3607 = $182;
$3613 = _i64Add($3605 | 0, tempRet0 | 0, HEAP32[$3607 >> 2] | 0, HEAP32[$3607 + 4 >> 2] | 0) | 0;
$3614 = tempRet0;
$3615 = $v;
HEAP32[$3615 >> 2] = $3613;
HEAP32[$3615 + 4 >> 2] = $3614;
$3619 = $3594 ^ $3613;
$3620 = $3593 ^ $3614;
$3621 = _bitshift64Lshr($3619 | 0, $3620 | 0, 16) | 0;
$3622 = tempRet0;
$3623 = _bitshift64Shl($3619 | 0, $3620 | 0, 48) | 0;
$3625 = $3623 | $3621;
$3626 = tempRet0 | $3622;
$3627 = $17;
HEAP32[$3627 >> 2] = $3625;
HEAP32[$3627 + 4 >> 2] = $3626;
$3631 = _i64Add($3625 | 0, $3626 | 0, $3595 | 0, $3596 | 0) | 0;
$3632 = tempRet0;
$3633 = $9;
HEAP32[$3633 >> 2] = $3631;
HEAP32[$3633 + 4 >> 2] = $3632;
$3637 = $3603 ^ $3631;
$3638 = $3604 ^ $3632;
$3639 = _bitshift64Lshr($3637 | 0, $3638 | 0, 63) | 0;
$3640 = tempRet0;
$3641 = _bitshift64Shl($3637 | 0, $3638 | 0, 1) | 0;
$3645 = $31;
HEAP32[$3645 >> 2] = $3641 | $3639;
HEAP32[$3645 + 4 >> 2] = tempRet0 | $3640;
$3649 = $90;
$3655 = $97;
$3657 = HEAP32[$3655 >> 2] | 0;
$3660 = HEAP32[$3655 + 4 >> 2] | 0;
$3661 = _i64Add($3657 | 0, $3660 | 0, HEAP32[$3649 >> 2] | 0, HEAP32[$3649 + 4 >> 2] | 0) | 0;
$3663 = _i64Add($3661 | 0, tempRet0 | 0, $3515 | 0, $3518 | 0) | 0;
$3664 = tempRet0;
$3665 = $3483 ^ $3663;
$3666 = $3484 ^ $3664;
$3667 = _i64Add($3666 | 0, $3665 | 0, $3567 | 0, $3568 | 0) | 0;
$3668 = tempRet0;
$3669 = $3657 ^ $3667;
$3670 = $3660 ^ $3668;
$3671 = _bitshift64Lshr($3669 | 0, $3670 | 0, 24) | 0;
$3672 = tempRet0;
$3673 = _bitshift64Shl($3669 | 0, $3670 | 0, 40) | 0;
$3675 = $3673 | $3671;
$3676 = tempRet0 | $3672;
$3677 = _i64Add($3675 | 0, $3676 | 0, $3663 | 0, $3664 | 0) | 0;
$3679 = $576;
$3685 = _i64Add($3677 | 0, tempRet0 | 0, HEAP32[$3679 >> 2] | 0, HEAP32[$3679 + 4 >> 2] | 0) | 0;
$3686 = tempRet0;
$3687 = $90;
HEAP32[$3687 >> 2] = $3685;
HEAP32[$3687 + 4 >> 2] = $3686;
$3691 = $3666 ^ $3685;
$3692 = $3665 ^ $3686;
$3693 = _bitshift64Lshr($3691 | 0, $3692 | 0, 16) | 0;
$3694 = tempRet0;
$3695 = _bitshift64Shl($3691 | 0, $3692 | 0, 48) | 0;
$3697 = $3695 | $3693;
$3698 = tempRet0 | $3694;
$3699 = $18;
HEAP32[$3699 >> 2] = $3697;
HEAP32[$3699 + 4 >> 2] = $3698;
$3703 = _i64Add($3697 | 0, $3698 | 0, $3667 | 0, $3668 | 0) | 0;
$3704 = tempRet0;
$3705 = $10;
HEAP32[$3705 >> 2] = $3703;
HEAP32[$3705 + 4 >> 2] = $3704;
$3709 = $3675 ^ $3703;
$3710 = $3676 ^ $3704;
$3711 = _bitshift64Lshr($3709 | 0, $3710 | 0, 63) | 0;
$3712 = tempRet0;
$3713 = _bitshift64Shl($3709 | 0, $3710 | 0, 1) | 0;
$3715 = $3713 | $3711;
$3716 = tempRet0 | $3712;
$3717 = $151;
$3723 = $158;
$3725 = HEAP32[$3723 >> 2] | 0;
$3728 = HEAP32[$3723 + 4 >> 2] | 0;
$3729 = _i64Add($3725 | 0, $3728 | 0, HEAP32[$3717 >> 2] | 0, HEAP32[$3717 + 4 >> 2] | 0) | 0;
$3731 = $541;
$3737 = _i64Add($3729 | 0, tempRet0 | 0, HEAP32[$3731 >> 2] | 0, HEAP32[$3731 + 4 >> 2] | 0) | 0;
$3738 = tempRet0;
$3739 = $3565 ^ $3737;
$3740 = $3566 ^ $3738;
$3741 = $11;
$3747 = _i64Add($3740 | 0, $3739 | 0, HEAP32[$3741 >> 2] | 0, HEAP32[$3741 + 4 >> 2] | 0) | 0;
$3748 = tempRet0;
$3749 = $3725 ^ $3747;
$3750 = $3728 ^ $3748;
$3751 = _bitshift64Lshr($3749 | 0, $3750 | 0, 24) | 0;
$3752 = tempRet0;
$3753 = _bitshift64Shl($3749 | 0, $3750 | 0, 40) | 0;
$3755 = $3753 | $3751;
$3756 = tempRet0 | $3752;
$3757 = _i64Add($3755 | 0, $3756 | 0, $3737 | 0, $3738 | 0) | 0;
$3759 = $492;
$3765 = _i64Add($3757 | 0, tempRet0 | 0, HEAP32[$3759 >> 2] | 0, HEAP32[$3759 + 4 >> 2] | 0) | 0;
$3766 = tempRet0;
$3767 = $151;
HEAP32[$3767 >> 2] = $3765;
HEAP32[$3767 + 4 >> 2] = $3766;
$3771 = $3740 ^ $3765;
$3772 = $3739 ^ $3766;
$3773 = _bitshift64Lshr($3771 | 0, $3772 | 0, 16) | 0;
$3774 = tempRet0;
$3775 = _bitshift64Shl($3771 | 0, $3772 | 0, 48) | 0;
$3777 = $3775 | $3773;
$3778 = tempRet0 | $3774;
$3779 = $19;
HEAP32[$3779 >> 2] = $3777;
HEAP32[$3779 + 4 >> 2] = $3778;
$3783 = _i64Add($3777 | 0, $3778 | 0, $3747 | 0, $3748 | 0) | 0;
$3784 = tempRet0;
$3785 = $3755 ^ $3783;
$3786 = $3756 ^ $3784;
$3787 = _bitshift64Lshr($3785 | 0, $3786 | 0, 63) | 0;
$3788 = tempRet0;
$3789 = _bitshift64Shl($3785 | 0, $3786 | 0, 1) | 0;
$3791 = $3789 | $3787;
$3792 = tempRet0 | $3788;
$3793 = $217;
$3799 = $224;
$3801 = HEAP32[$3799 >> 2] | 0;
$3804 = HEAP32[$3799 + 4 >> 2] | 0;
$3805 = _i64Add($3801 | 0, $3804 | 0, HEAP32[$3793 >> 2] | 0, HEAP32[$3793 + 4 >> 2] | 0) | 0;
$3807 = $167;
$3813 = _i64Add($3805 | 0, tempRet0 | 0, HEAP32[$3807 >> 2] | 0, HEAP32[$3807 + 4 >> 2] | 0) | 0;
$3814 = tempRet0;
$3815 = $20;
$3821 = HEAP32[$3815 >> 2] ^ $3813;
$3822 = HEAP32[$3815 + 4 >> 2] ^ $3814;
$3823 = $12;
$3829 = _i64Add($3822 | 0, $3821 | 0, HEAP32[$3823 >> 2] | 0, HEAP32[$3823 + 4 >> 2] | 0) | 0;
$3830 = tempRet0;
$3831 = $3801 ^ $3829;
$3832 = $3804 ^ $3830;
$3833 = _bitshift64Lshr($3831 | 0, $3832 | 0, 24) | 0;
$3834 = tempRet0;
$3835 = _bitshift64Shl($3831 | 0, $3832 | 0, 40) | 0;
$3837 = $3835 | $3833;
$3838 = tempRet0 | $3834;
$3839 = _i64Add($3837 | 0, $3838 | 0, $3813 | 0, $3814 | 0) | 0;
$3841 = $381;
$3847 = _i64Add($3839 | 0, tempRet0 | 0, HEAP32[$3841 >> 2] | 0, HEAP32[$3841 + 4 >> 2] | 0) | 0;
$3848 = tempRet0;
$3849 = $217;
HEAP32[$3849 >> 2] = $3847;
HEAP32[$3849 + 4 >> 2] = $3848;
$3853 = $3822 ^ $3847;
$3854 = $3821 ^ $3848;
$3855 = _bitshift64Lshr($3853 | 0, $3854 | 0, 16) | 0;
$3856 = tempRet0;
$3857 = _bitshift64Shl($3853 | 0, $3854 | 0, 48) | 0;
$3859 = $3857 | $3855;
$3860 = tempRet0 | $3856;
$3861 = _i64Add($3859 | 0, $3860 | 0, $3829 | 0, $3830 | 0) | 0;
$3862 = tempRet0;
$3863 = $3837 ^ $3861;
$3864 = $3838 ^ $3862;
$3865 = _bitshift64Lshr($3863 | 0, $3864 | 0, 63) | 0;
$3866 = tempRet0;
$3867 = _bitshift64Shl($3863 | 0, $3864 | 0, 1) | 0;
$3869 = $3867 | $3865;
$3870 = tempRet0 | $3866;
$3871 = $v;
$3877 = _i64Add($3715 | 0, $3716 | 0, HEAP32[$3871 >> 2] | 0, HEAP32[$3871 + 4 >> 2] | 0) | 0;
$3879 = $m;
$3885 = _i64Add($3877 | 0, tempRet0 | 0, HEAP32[$3879 >> 2] | 0, HEAP32[$3879 + 4 >> 2] | 0) | 0;
$3886 = tempRet0;
$3887 = $3859 ^ $3885;
$3888 = $3860 ^ $3886;
$3889 = _i64Add($3888 | 0, $3887 | 0, $3783 | 0, $3784 | 0) | 0;
$3890 = tempRet0;
$3891 = $3715 ^ $3889;
$3892 = $3716 ^ $3890;
$3893 = _bitshift64Lshr($3891 | 0, $3892 | 0, 24) | 0;
$3894 = tempRet0;
$3895 = _bitshift64Shl($3891 | 0, $3892 | 0, 40) | 0;
$3897 = $3895 | $3893;
$3898 = tempRet0 | $3894;
$3899 = _i64Add($3897 | 0, $3898 | 0, $3885 | 0, $3886 | 0) | 0;
$3901 = $268;
$3907 = _i64Add($3899 | 0, tempRet0 | 0, HEAP32[$3901 >> 2] | 0, HEAP32[$3901 + 4 >> 2] | 0) | 0;
$3908 = tempRet0;
$3909 = $v;
HEAP32[$3909 >> 2] = $3907;
HEAP32[$3909 + 4 >> 2] = $3908;
$3913 = $3888 ^ $3907;
$3914 = $3887 ^ $3908;
$3915 = _bitshift64Lshr($3913 | 0, $3914 | 0, 16) | 0;
$3916 = tempRet0;
$3917 = _bitshift64Shl($3913 | 0, $3914 | 0, 48) | 0;
$3919 = $3917 | $3915;
$3920 = tempRet0 | $3916;
$3921 = $20;
HEAP32[$3921 >> 2] = $3919;
HEAP32[$3921 + 4 >> 2] = $3920;
$3925 = _i64Add($3919 | 0, $3920 | 0, $3889 | 0, $3890 | 0) | 0;
$3926 = tempRet0;
$3927 = $11;
HEAP32[$3927 >> 2] = $3925;
HEAP32[$3927 + 4 >> 2] = $3926;
$3931 = $3897 ^ $3925;
$3932 = $3898 ^ $3926;
$3933 = _bitshift64Lshr($3931 | 0, $3932 | 0, 63) | 0;
$3934 = tempRet0;
$3935 = _bitshift64Shl($3931 | 0, $3932 | 0, 1) | 0;
$3939 = $97;
HEAP32[$3939 >> 2] = $3935 | $3933;
HEAP32[$3939 + 4 >> 2] = tempRet0 | $3934;
$3943 = $90;
$3949 = _i64Add($3791 | 0, $3792 | 0, HEAP32[$3943 >> 2] | 0, HEAP32[$3943 + 4 >> 2] | 0) | 0;
$3951 = $233;
$3957 = _i64Add($3949 | 0, tempRet0 | 0, HEAP32[$3951 >> 2] | 0, HEAP32[$3951 + 4 >> 2] | 0) | 0;
$3958 = tempRet0;
$3959 = $17;
$3965 = HEAP32[$3959 >> 2] ^ $3957;
$3966 = HEAP32[$3959 + 4 >> 2] ^ $3958;
$3967 = _i64Add($3966 | 0, $3965 | 0, $3861 | 0, $3862 | 0) | 0;
$3968 = tempRet0;
$3969 = $3791 ^ $3967;
$3970 = $3792 ^ $3968;
$3971 = _bitshift64Lshr($3969 | 0, $3970 | 0, 24) | 0;
$3972 = tempRet0;
$3973 = _bitshift64Shl($3969 | 0, $3970 | 0, 40) | 0;
$3975 = $3973 | $3971;
$3976 = tempRet0 | $3972;
$3977 = _i64Add($3975 | 0, $3976 | 0, $3957 | 0, $3958 | 0) | 0;
$3979 = $120;
$3985 = _i64Add($3977 | 0, tempRet0 | 0, HEAP32[$3979 >> 2] | 0, HEAP32[$3979 + 4 >> 2] | 0) | 0;
$3986 = tempRet0;
$3987 = $90;
HEAP32[$3987 >> 2] = $3985;
HEAP32[$3987 + 4 >> 2] = $3986;
$3991 = $3966 ^ $3985;
$3992 = $3965 ^ $3986;
$3993 = _bitshift64Lshr($3991 | 0, $3992 | 0, 16) | 0;
$3994 = tempRet0;
$3995 = _bitshift64Shl($3991 | 0, $3992 | 0, 48) | 0;
$3997 = $3995 | $3993;
$3998 = tempRet0 | $3994;
$3999 = _i64Add($3997 | 0, $3998 | 0, $3967 | 0, $3968 | 0) | 0;
$4000 = tempRet0;
$4001 = $12;
HEAP32[$4001 >> 2] = $3999;
HEAP32[$4001 + 4 >> 2] = $4000;
$4005 = $3975 ^ $3999;
$4006 = $3976 ^ $4000;
$4007 = _bitshift64Lshr($4005 | 0, $4006 | 0, 63) | 0;
$4008 = tempRet0;
$4009 = _bitshift64Shl($4005 | 0, $4006 | 0, 1) | 0;
$4013 = $158;
HEAP32[$4013 >> 2] = $4009 | $4007;
HEAP32[$4013 + 4 >> 2] = tempRet0 | $4008;
$4017 = $151;
$4023 = _i64Add($3869 | 0, $3870 | 0, HEAP32[$4017 >> 2] | 0, HEAP32[$4017 + 4 >> 2] | 0) | 0;
$4025 = $330;
$4031 = _i64Add($4023 | 0, tempRet0 | 0, HEAP32[$4025 >> 2] | 0, HEAP32[$4025 + 4 >> 2] | 0) | 0;
$4032 = tempRet0;
$4033 = $18;
$4039 = HEAP32[$4033 >> 2] ^ $4031;
$4040 = HEAP32[$4033 + 4 >> 2] ^ $4032;
$4041 = $9;
$4047 = _i64Add($4040 | 0, $4039 | 0, HEAP32[$4041 >> 2] | 0, HEAP32[$4041 + 4 >> 2] | 0) | 0;
$4048 = tempRet0;
$4049 = $3869 ^ $4047;
$4050 = $3870 ^ $4048;
$4051 = _bitshift64Lshr($4049 | 0, $4050 | 0, 24) | 0;
$4052 = tempRet0;
$4053 = _bitshift64Shl($4049 | 0, $4050 | 0, 40) | 0;
$4055 = $4053 | $4051;
$4056 = tempRet0 | $4052;
$4057 = _i64Add($4055 | 0, $4056 | 0, $4031 | 0, $4032 | 0) | 0;
$4059 = $scevgep;
$4065 = _i64Add($4057 | 0, tempRet0 | 0, HEAP32[$4059 >> 2] | 0, HEAP32[$4059 + 4 >> 2] | 0) | 0;
$4066 = tempRet0;
$4067 = $151;
HEAP32[$4067 >> 2] = $4065;
HEAP32[$4067 + 4 >> 2] = $4066;
$4071 = $4040 ^ $4065;
$4072 = $4039 ^ $4066;
$4073 = _bitshift64Lshr($4071 | 0, $4072 | 0, 16) | 0;
$4074 = tempRet0;
$4075 = _bitshift64Shl($4071 | 0, $4072 | 0, 48) | 0;
$4077 = $4075 | $4073;
$4078 = tempRet0 | $4074;
$4079 = _i64Add($4077 | 0, $4078 | 0, $4047 | 0, $4048 | 0) | 0;
$4080 = tempRet0;
$4081 = $4055 ^ $4079;
$4082 = $4056 ^ $4080;
$4083 = _bitshift64Lshr($4081 | 0, $4082 | 0, 63) | 0;
$4084 = tempRet0;
$4085 = _bitshift64Shl($4081 | 0, $4082 | 0, 1) | 0;
$4089 = $224;
HEAP32[$4089 >> 2] = $4085 | $4083;
HEAP32[$4089 + 4 >> 2] = tempRet0 | $4084;
$4093 = $217;
$4099 = $31;
$4101 = HEAP32[$4099 >> 2] | 0;
$4104 = HEAP32[$4099 + 4 >> 2] | 0;
$4105 = _i64Add($4101 | 0, $4104 | 0, HEAP32[$4093 >> 2] | 0, HEAP32[$4093 + 4 >> 2] | 0) | 0;
$4107 = $307;
$4113 = _i64Add($4105 | 0, tempRet0 | 0, HEAP32[$4107 >> 2] | 0, HEAP32[$4107 + 4 >> 2] | 0) | 0;
$4114 = tempRet0;
$4115 = $19;
$4121 = HEAP32[$4115 >> 2] ^ $4113;
$4122 = HEAP32[$4115 + 4 >> 2] ^ $4114;
$4123 = $10;
$4129 = _i64Add($4122 | 0, $4121 | 0, HEAP32[$4123 >> 2] | 0, HEAP32[$4123 + 4 >> 2] | 0) | 0;
$4130 = tempRet0;
$4131 = $4101 ^ $4129;
$4132 = $4104 ^ $4130;
$4133 = _bitshift64Lshr($4131 | 0, $4132 | 0, 24) | 0;
$4134 = tempRet0;
$4135 = _bitshift64Shl($4131 | 0, $4132 | 0, 40) | 0;
$4137 = $4135 | $4133;
$4138 = tempRet0 | $4134;
$4139 = _i64Add($4137 | 0, $4138 | 0, $4113 | 0, $4114 | 0) | 0;
$4141 = $410;
$4143 = HEAP32[$4141 >> 2] | 0;
$4146 = HEAP32[$4141 + 4 >> 2] | 0;
$4147 = _i64Add($4139 | 0, tempRet0 | 0, $4143 | 0, $4146 | 0) | 0;
$4148 = tempRet0;
$4149 = $217;
HEAP32[$4149 >> 2] = $4147;
HEAP32[$4149 + 4 >> 2] = $4148;
$4153 = $4122 ^ $4147;
$4154 = $4121 ^ $4148;
$4155 = _bitshift64Lshr($4153 | 0, $4154 | 0, 16) | 0;
$4156 = tempRet0;
$4157 = _bitshift64Shl($4153 | 0, $4154 | 0, 48) | 0;
$4159 = $4157 | $4155;
$4160 = tempRet0 | $4156;
$4161 = _i64Add($4159 | 0, $4160 | 0, $4129 | 0, $4130 | 0) | 0;
$4162 = tempRet0;
$4163 = $4137 ^ $4161;
$4164 = $4138 ^ $4162;
$4165 = _bitshift64Lshr($4163 | 0, $4164 | 0, 63) | 0;
$4166 = tempRet0;
$4167 = _bitshift64Shl($4163 | 0, $4164 | 0, 1) | 0;
$4169 = $4167 | $4165;
$4170 = tempRet0 | $4166;
$4171 = $v;
$4177 = _i64Add($4169 | 0, $4170 | 0, HEAP32[$4171 >> 2] | 0, HEAP32[$4171 + 4 >> 2] | 0) | 0;
$4179 = $492;
$4185 = _i64Add($4177 | 0, tempRet0 | 0, HEAP32[$4179 >> 2] | 0, HEAP32[$4179 + 4 >> 2] | 0) | 0;
$4186 = tempRet0;
$4187 = $3997 ^ $4185;
$4188 = $3998 ^ $4186;
$4189 = _i64Add($4188 | 0, $4187 | 0, $4079 | 0, $4080 | 0) | 0;
$4190 = tempRet0;
$4191 = $4169 ^ $4189;
$4192 = $4170 ^ $4190;
$4193 = _bitshift64Lshr($4191 | 0, $4192 | 0, 24) | 0;
$4194 = tempRet0;
$4195 = _bitshift64Shl($4191 | 0, $4192 | 0, 40) | 0;
$4197 = $4195 | $4193;
$4198 = tempRet0 | $4194;
$4199 = _i64Add($4197 | 0, $4198 | 0, $4185 | 0, $4186 | 0) | 0;
$4201 = _i64Add($4199 | 0, tempRet0 | 0, $4143 | 0, $4146 | 0) | 0;
$4202 = tempRet0;
$4203 = $v;
HEAP32[$4203 >> 2] = $4201;
HEAP32[$4203 + 4 >> 2] = $4202;
$4207 = $4188 ^ $4201;
$4208 = $4187 ^ $4202;
$4209 = _bitshift64Lshr($4207 | 0, $4208 | 0, 16) | 0;
$4210 = tempRet0;
$4211 = _bitshift64Shl($4207 | 0, $4208 | 0, 48) | 0;
$4213 = $4211 | $4209;
$4214 = tempRet0 | $4210;
$4215 = $17;
HEAP32[$4215 >> 2] = $4213;
HEAP32[$4215 + 4 >> 2] = $4214;
$4219 = _i64Add($4213 | 0, $4214 | 0, $4189 | 0, $4190 | 0) | 0;
$4220 = tempRet0;
$4221 = $9;
HEAP32[$4221 >> 2] = $4219;
HEAP32[$4221 + 4 >> 2] = $4220;
$4225 = $4197 ^ $4219;
$4226 = $4198 ^ $4220;
$4227 = _bitshift64Lshr($4225 | 0, $4226 | 0, 63) | 0;
$4228 = tempRet0;
$4229 = _bitshift64Shl($4225 | 0, $4226 | 0, 1) | 0;
$4233 = $31;
HEAP32[$4233 >> 2] = $4229 | $4227;
HEAP32[$4233 + 4 >> 2] = tempRet0 | $4228;
$4237 = $90;
$4243 = $97;
$4245 = HEAP32[$4243 >> 2] | 0;
$4248 = HEAP32[$4243 + 4 >> 2] | 0;
$4249 = _i64Add($4245 | 0, $4248 | 0, HEAP32[$4237 >> 2] | 0, HEAP32[$4237 + 4 >> 2] | 0) | 0;
$4251 = $268;
$4257 = _i64Add($4249 | 0, tempRet0 | 0, HEAP32[$4251 >> 2] | 0, HEAP32[$4251 + 4 >> 2] | 0) | 0;
$4258 = tempRet0;
$4259 = $4077 ^ $4257;
$4260 = $4078 ^ $4258;
$4261 = _i64Add($4260 | 0, $4259 | 0, $4161 | 0, $4162 | 0) | 0;
$4262 = tempRet0;
$4263 = $4245 ^ $4261;
$4264 = $4248 ^ $4262;
$4265 = _bitshift64Lshr($4263 | 0, $4264 | 0, 24) | 0;
$4266 = tempRet0;
$4267 = _bitshift64Shl($4263 | 0, $4264 | 0, 40) | 0;
$4269 = $4267 | $4265;
$4270 = tempRet0 | $4266;
$4271 = _i64Add($4269 | 0, $4270 | 0, $4257 | 0, $4258 | 0) | 0;
$4273 = $541;
$4279 = _i64Add($4271 | 0, tempRet0 | 0, HEAP32[$4273 >> 2] | 0, HEAP32[$4273 + 4 >> 2] | 0) | 0;
$4280 = tempRet0;
$4281 = $90;
HEAP32[$4281 >> 2] = $4279;
HEAP32[$4281 + 4 >> 2] = $4280;
$4285 = $4260 ^ $4279;
$4286 = $4259 ^ $4280;
$4287 = _bitshift64Lshr($4285 | 0, $4286 | 0, 16) | 0;
$4288 = tempRet0;
$4289 = _bitshift64Shl($4285 | 0, $4286 | 0, 48) | 0;
$4291 = $4289 | $4287;
$4292 = tempRet0 | $4288;
$4293 = $18;
HEAP32[$4293 >> 2] = $4291;
HEAP32[$4293 + 4 >> 2] = $4292;
$4297 = _i64Add($4291 | 0, $4292 | 0, $4261 | 0, $4262 | 0) | 0;
$4298 = tempRet0;
$4299 = $10;
HEAP32[$4299 >> 2] = $4297;
HEAP32[$4299 + 4 >> 2] = $4298;
$4303 = $4269 ^ $4297;
$4304 = $4270 ^ $4298;
$4305 = _bitshift64Lshr($4303 | 0, $4304 | 0, 63) | 0;
$4306 = tempRet0;
$4307 = _bitshift64Shl($4303 | 0, $4304 | 0, 1) | 0;
$4309 = $4307 | $4305;
$4310 = tempRet0 | $4306;
$4311 = $151;
$4317 = $158;
$4319 = HEAP32[$4317 >> 2] | 0;
$4322 = HEAP32[$4317 + 4 >> 2] | 0;
$4323 = _i64Add($4319 | 0, $4322 | 0, HEAP32[$4311 >> 2] | 0, HEAP32[$4311 + 4 >> 2] | 0) | 0;
$4325 = $457;
$4331 = _i64Add($4323 | 0, tempRet0 | 0, HEAP32[$4325 >> 2] | 0, HEAP32[$4325 + 4 >> 2] | 0) | 0;
$4332 = tempRet0;
$4333 = $4159 ^ $4331;
$4334 = $4160 ^ $4332;
$4335 = $11;
$4341 = _i64Add($4334 | 0, $4333 | 0, HEAP32[$4335 >> 2] | 0, HEAP32[$4335 + 4 >> 2] | 0) | 0;
$4342 = tempRet0;
$4343 = $4319 ^ $4341;
$4344 = $4322 ^ $4342;
$4345 = _bitshift64Lshr($4343 | 0, $4344 | 0, 24) | 0;
$4346 = tempRet0;
$4347 = _bitshift64Shl($4343 | 0, $4344 | 0, 40) | 0;
$4349 = $4347 | $4345;
$4350 = tempRet0 | $4346;
$4351 = _i64Add($4349 | 0, $4350 | 0, $4331 | 0, $4332 | 0) | 0;
$4353 = $4;
$4359 = _i64Add($4351 | 0, tempRet0 | 0, HEAP32[$4353 >> 2] | 0, HEAP32[$4353 + 4 >> 2] | 0) | 0;
$4360 = tempRet0;
$4361 = $151;
HEAP32[$4361 >> 2] = $4359;
HEAP32[$4361 + 4 >> 2] = $4360;
$4365 = $4334 ^ $4359;
$4366 = $4333 ^ $4360;
$4367 = _bitshift64Lshr($4365 | 0, $4366 | 0, 16) | 0;
$4368 = tempRet0;
$4369 = _bitshift64Shl($4365 | 0, $4366 | 0, 48) | 0;
$4371 = $4369 | $4367;
$4372 = tempRet0 | $4368;
$4373 = $19;
HEAP32[$4373 >> 2] = $4371;
HEAP32[$4373 + 4 >> 2] = $4372;
$4377 = _i64Add($4371 | 0, $4372 | 0, $4341 | 0, $4342 | 0) | 0;
$4378 = tempRet0;
$4379 = $4349 ^ $4377;
$4380 = $4350 ^ $4378;
$4381 = _bitshift64Lshr($4379 | 0, $4380 | 0, 63) | 0;
$4382 = tempRet0;
$4383 = _bitshift64Shl($4379 | 0, $4380 | 0, 1) | 0;
$4385 = $4383 | $4381;
$4386 = tempRet0 | $4382;
$4387 = $217;
$4393 = $224;
$4395 = HEAP32[$4393 >> 2] | 0;
$4398 = HEAP32[$4393 + 4 >> 2] | 0;
$4399 = _i64Add($4395 | 0, $4398 | 0, HEAP32[$4387 >> 2] | 0, HEAP32[$4387 + 4 >> 2] | 0) | 0;
$4401 = $120;
$4407 = _i64Add($4399 | 0, tempRet0 | 0, HEAP32[$4401 >> 2] | 0, HEAP32[$4401 + 4 >> 2] | 0) | 0;
$4408 = tempRet0;
$4409 = $20;
$4415 = HEAP32[$4409 >> 2] ^ $4407;
$4416 = HEAP32[$4409 + 4 >> 2] ^ $4408;
$4417 = $12;
$4423 = _i64Add($4416 | 0, $4415 | 0, HEAP32[$4417 >> 2] | 0, HEAP32[$4417 + 4 >> 2] | 0) | 0;
$4424 = tempRet0;
$4425 = $4395 ^ $4423;
$4426 = $4398 ^ $4424;
$4427 = _bitshift64Lshr($4425 | 0, $4426 | 0, 24) | 0;
$4428 = tempRet0;
$4429 = _bitshift64Shl($4425 | 0, $4426 | 0, 40) | 0;
$4431 = $4429 | $4427;
$4432 = tempRet0 | $4428;
$4433 = _i64Add($4431 | 0, $4432 | 0, $4407 | 0, $4408 | 0) | 0;
$4435 = $330;
$4441 = _i64Add($4433 | 0, tempRet0 | 0, HEAP32[$4435 >> 2] | 0, HEAP32[$4435 + 4 >> 2] | 0) | 0;
$4442 = tempRet0;
$4443 = $217;
HEAP32[$4443 >> 2] = $4441;
HEAP32[$4443 + 4 >> 2] = $4442;
$4447 = $4416 ^ $4441;
$4448 = $4415 ^ $4442;
$4449 = _bitshift64Lshr($4447 | 0, $4448 | 0, 16) | 0;
$4450 = tempRet0;
$4451 = _bitshift64Shl($4447 | 0, $4448 | 0, 48) | 0;
$4453 = $4451 | $4449;
$4454 = tempRet0 | $4450;
$4455 = _i64Add($4453 | 0, $4454 | 0, $4423 | 0, $4424 | 0) | 0;
$4456 = tempRet0;
$4457 = $4431 ^ $4455;
$4458 = $4432 ^ $4456;
$4459 = _bitshift64Lshr($4457 | 0, $4458 | 0, 63) | 0;
$4460 = tempRet0;
$4461 = _bitshift64Shl($4457 | 0, $4458 | 0, 1) | 0;
$4463 = $4461 | $4459;
$4464 = tempRet0 | $4460;
$4465 = $v;
$4471 = _i64Add($4309 | 0, $4310 | 0, HEAP32[$4465 >> 2] | 0, HEAP32[$4465 + 4 >> 2] | 0) | 0;
$4473 = $182;
$4479 = _i64Add($4471 | 0, tempRet0 | 0, HEAP32[$4473 >> 2] | 0, HEAP32[$4473 + 4 >> 2] | 0) | 0;
$4480 = tempRet0;
$4481 = $4453 ^ $4479;
$4482 = $4454 ^ $4480;
$4483 = _i64Add($4482 | 0, $4481 | 0, $4377 | 0, $4378 | 0) | 0;
$4484 = tempRet0;
$4485 = $4309 ^ $4483;
$4486 = $4310 ^ $4484;
$4487 = _bitshift64Lshr($4485 | 0, $4486 | 0, 24) | 0;
$4488 = tempRet0;
$4489 = _bitshift64Shl($4485 | 0, $4486 | 0, 40) | 0;
$4491 = $4489 | $4487;
$4492 = tempRet0 | $4488;
$4493 = _i64Add($4491 | 0, $4492 | 0, $4479 | 0, $4480 | 0) | 0;
$4495 = $m;
$4501 = _i64Add($4493 | 0, tempRet0 | 0, HEAP32[$4495 >> 2] | 0, HEAP32[$4495 + 4 >> 2] | 0) | 0;
$4502 = tempRet0;
$4503 = $v;
HEAP32[$4503 >> 2] = $4501;
HEAP32[$4503 + 4 >> 2] = $4502;
$4507 = $4482 ^ $4501;
$4508 = $4481 ^ $4502;
$4509 = _bitshift64Lshr($4507 | 0, $4508 | 0, 16) | 0;
$4510 = tempRet0;
$4511 = _bitshift64Shl($4507 | 0, $4508 | 0, 48) | 0;
$4513 = $4511 | $4509;
$4514 = tempRet0 | $4510;
$4515 = $20;
HEAP32[$4515 >> 2] = $4513;
HEAP32[$4515 + 4 >> 2] = $4514;
$4519 = _i64Add($4513 | 0, $4514 | 0, $4483 | 0, $4484 | 0) | 0;
$4520 = tempRet0;
$4521 = $11;
HEAP32[$4521 >> 2] = $4519;
HEAP32[$4521 + 4 >> 2] = $4520;
$4525 = $4491 ^ $4519;
$4526 = $4492 ^ $4520;
$4527 = _bitshift64Lshr($4525 | 0, $4526 | 0, 63) | 0;
$4528 = tempRet0;
$4529 = _bitshift64Shl($4525 | 0, $4526 | 0, 1) | 0;
$4533 = $97;
HEAP32[$4533 >> 2] = $4529 | $4527;
HEAP32[$4533 + 4 >> 2] = tempRet0 | $4528;
$4537 = $90;
$4543 = _i64Add($4385 | 0, $4386 | 0, HEAP32[$4537 >> 2] | 0, HEAP32[$4537 + 4 >> 2] | 0) | 0;
$4545 = $576;
$4551 = _i64Add($4543 | 0, tempRet0 | 0, HEAP32[$4545 >> 2] | 0, HEAP32[$4545 + 4 >> 2] | 0) | 0;
$4552 = tempRet0;
$4553 = $17;
$4559 = HEAP32[$4553 >> 2] ^ $4551;
$4560 = HEAP32[$4553 + 4 >> 2] ^ $4552;
$4561 = _i64Add($4560 | 0, $4559 | 0, $4455 | 0, $4456 | 0) | 0;
$4562 = tempRet0;
$4563 = $4385 ^ $4561;
$4564 = $4386 ^ $4562;
$4565 = _bitshift64Lshr($4563 | 0, $4564 | 0, 24) | 0;
$4566 = tempRet0;
$4567 = _bitshift64Shl($4563 | 0, $4564 | 0, 40) | 0;
$4569 = $4567 | $4565;
$4570 = tempRet0 | $4566;
$4571 = _i64Add($4569 | 0, $4570 | 0, $4551 | 0, $4552 | 0) | 0;
$4573 = $167;
$4579 = _i64Add($4571 | 0, tempRet0 | 0, HEAP32[$4573 >> 2] | 0, HEAP32[$4573 + 4 >> 2] | 0) | 0;
$4580 = tempRet0;
$4581 = $90;
HEAP32[$4581 >> 2] = $4579;
HEAP32[$4581 + 4 >> 2] = $4580;
$4585 = $4560 ^ $4579;
$4586 = $4559 ^ $4580;
$4587 = _bitshift64Lshr($4585 | 0, $4586 | 0, 16) | 0;
$4588 = tempRet0;
$4589 = _bitshift64Shl($4585 | 0, $4586 | 0, 48) | 0;
$4591 = $4589 | $4587;
$4592 = tempRet0 | $4588;
$4593 = _i64Add($4591 | 0, $4592 | 0, $4561 | 0, $4562 | 0) | 0;
$4594 = tempRet0;
$4595 = $12;
HEAP32[$4595 >> 2] = $4593;
HEAP32[$4595 + 4 >> 2] = $4594;
$4599 = $4569 ^ $4593;
$4600 = $4570 ^ $4594;
$4601 = _bitshift64Lshr($4599 | 0, $4600 | 0, 63) | 0;
$4602 = tempRet0;
$4603 = _bitshift64Shl($4599 | 0, $4600 | 0, 1) | 0;
$4607 = $158;
HEAP32[$4607 >> 2] = $4603 | $4601;
HEAP32[$4607 + 4 >> 2] = tempRet0 | $4602;
$4611 = $151;
$4617 = _i64Add($4463 | 0, $4464 | 0, HEAP32[$4611 >> 2] | 0, HEAP32[$4611 + 4 >> 2] | 0) | 0;
$4619 = $307;
$4625 = _i64Add($4617 | 0, tempRet0 | 0, HEAP32[$4619 >> 2] | 0, HEAP32[$4619 + 4 >> 2] | 0) | 0;
$4626 = tempRet0;
$4627 = $18;
$4633 = HEAP32[$4627 >> 2] ^ $4625;
$4634 = HEAP32[$4627 + 4 >> 2] ^ $4626;
$4635 = $9;
$4641 = _i64Add($4634 | 0, $4633 | 0, HEAP32[$4635 >> 2] | 0, HEAP32[$4635 + 4 >> 2] | 0) | 0;
$4642 = tempRet0;
$4643 = $4463 ^ $4641;
$4644 = $4464 ^ $4642;
$4645 = _bitshift64Lshr($4643 | 0, $4644 | 0, 24) | 0;
$4646 = tempRet0;
$4647 = _bitshift64Shl($4643 | 0, $4644 | 0, 40) | 0;
$4649 = $4647 | $4645;
$4650 = tempRet0 | $4646;
$4651 = _i64Add($4649 | 0, $4650 | 0, $4625 | 0, $4626 | 0) | 0;
$4653 = $233;
$4655 = HEAP32[$4653 >> 2] | 0;
$4658 = HEAP32[$4653 + 4 >> 2] | 0;
$4659 = _i64Add($4651 | 0, tempRet0 | 0, $4655 | 0, $4658 | 0) | 0;
$4660 = tempRet0;
$4661 = $151;
HEAP32[$4661 >> 2] = $4659;
HEAP32[$4661 + 4 >> 2] = $4660;
$4665 = $4634 ^ $4659;
$4666 = $4633 ^ $4660;
$4667 = _bitshift64Lshr($4665 | 0, $4666 | 0, 16) | 0;
$4668 = tempRet0;
$4669 = _bitshift64Shl($4665 | 0, $4666 | 0, 48) | 0;
$4671 = $4669 | $4667;
$4672 = tempRet0 | $4668;
$4673 = _i64Add($4671 | 0, $4672 | 0, $4641 | 0, $4642 | 0) | 0;
$4674 = tempRet0;
$4675 = $4649 ^ $4673;
$4676 = $4650 ^ $4674;
$4677 = _bitshift64Lshr($4675 | 0, $4676 | 0, 63) | 0;
$4678 = tempRet0;
$4679 = _bitshift64Shl($4675 | 0, $4676 | 0, 1) | 0;
$4683 = $224;
HEAP32[$4683 >> 2] = $4679 | $4677;
HEAP32[$4683 + 4 >> 2] = tempRet0 | $4678;
$4687 = $217;
$4693 = $31;
$4695 = HEAP32[$4693 >> 2] | 0;
$4698 = HEAP32[$4693 + 4 >> 2] | 0;
$4699 = _i64Add($4695 | 0, $4698 | 0, HEAP32[$4687 >> 2] | 0, HEAP32[$4687 + 4 >> 2] | 0) | 0;
$4701 = $scevgep;
$4707 = _i64Add($4699 | 0, tempRet0 | 0, HEAP32[$4701 >> 2] | 0, HEAP32[$4701 + 4 >> 2] | 0) | 0;
$4708 = tempRet0;
$4709 = $19;
$4715 = HEAP32[$4709 >> 2] ^ $4707;
$4716 = HEAP32[$4709 + 4 >> 2] ^ $4708;
$4717 = $10;
$4723 = _i64Add($4716 | 0, $4715 | 0, HEAP32[$4717 >> 2] | 0, HEAP32[$4717 + 4 >> 2] | 0) | 0;
$4724 = tempRet0;
$4725 = $4695 ^ $4723;
$4726 = $4698 ^ $4724;
$4727 = _bitshift64Lshr($4725 | 0, $4726 | 0, 24) | 0;
$4728 = tempRet0;
$4729 = _bitshift64Shl($4725 | 0, $4726 | 0, 40) | 0;
$4731 = $4729 | $4727;
$4732 = tempRet0 | $4728;
$4733 = _i64Add($4731 | 0, $4732 | 0, $4707 | 0, $4708 | 0) | 0;
$4735 = $381;
$4741 = _i64Add($4733 | 0, tempRet0 | 0, HEAP32[$4735 >> 2] | 0, HEAP32[$4735 + 4 >> 2] | 0) | 0;
$4742 = tempRet0;
$4743 = $217;
HEAP32[$4743 >> 2] = $4741;
HEAP32[$4743 + 4 >> 2] = $4742;
$4747 = $4716 ^ $4741;
$4748 = $4715 ^ $4742;
$4749 = _bitshift64Lshr($4747 | 0, $4748 | 0, 16) | 0;
$4750 = tempRet0;
$4751 = _bitshift64Shl($4747 | 0, $4748 | 0, 48) | 0;
$4753 = $4751 | $4749;
$4754 = tempRet0 | $4750;
$4755 = _i64Add($4753 | 0, $4754 | 0, $4723 | 0, $4724 | 0) | 0;
$4756 = tempRet0;
$4757 = $4731 ^ $4755;
$4758 = $4732 ^ $4756;
$4759 = _bitshift64Lshr($4757 | 0, $4758 | 0, 63) | 0;
$4760 = tempRet0;
$4761 = _bitshift64Shl($4757 | 0, $4758 | 0, 1) | 0;
$4763 = $4761 | $4759;
$4764 = tempRet0 | $4760;
$4765 = $v;
$4771 = _i64Add($4763 | 0, $4764 | 0, HEAP32[$4765 >> 2] | 0, HEAP32[$4765 + 4 >> 2] | 0) | 0;
$4773 = _i64Add($4771 | 0, tempRet0 | 0, $4655 | 0, $4658 | 0) | 0;
$4774 = tempRet0;
$4775 = $4591 ^ $4773;
$4776 = $4592 ^ $4774;
$4777 = _i64Add($4776 | 0, $4775 | 0, $4673 | 0, $4674 | 0) | 0;
$4778 = tempRet0;
$4779 = $4763 ^ $4777;
$4780 = $4764 ^ $4778;
$4781 = _bitshift64Lshr($4779 | 0, $4780 | 0, 24) | 0;
$4782 = tempRet0;
$4783 = _bitshift64Shl($4779 | 0, $4780 | 0, 40) | 0;
$4785 = $4783 | $4781;
$4786 = tempRet0 | $4782;
$4787 = _i64Add($4785 | 0, $4786 | 0, $4773 | 0, $4774 | 0) | 0;
$4789 = $576;
$4795 = _i64Add($4787 | 0, tempRet0 | 0, HEAP32[$4789 >> 2] | 0, HEAP32[$4789 + 4 >> 2] | 0) | 0;
$4796 = tempRet0;
$4797 = $v;
HEAP32[$4797 >> 2] = $4795;
HEAP32[$4797 + 4 >> 2] = $4796;
$4801 = $4776 ^ $4795;
$4802 = $4775 ^ $4796;
$4803 = _bitshift64Lshr($4801 | 0, $4802 | 0, 16) | 0;
$4804 = tempRet0;
$4805 = _bitshift64Shl($4801 | 0, $4802 | 0, 48) | 0;
$4807 = $4805 | $4803;
$4808 = tempRet0 | $4804;
$4809 = $17;
HEAP32[$4809 >> 2] = $4807;
HEAP32[$4809 + 4 >> 2] = $4808;
$4813 = _i64Add($4807 | 0, $4808 | 0, $4777 | 0, $4778 | 0) | 0;
$4814 = tempRet0;
$4815 = $9;
HEAP32[$4815 >> 2] = $4813;
HEAP32[$4815 + 4 >> 2] = $4814;
$4819 = $4785 ^ $4813;
$4820 = $4786 ^ $4814;
$4821 = _bitshift64Lshr($4819 | 0, $4820 | 0, 63) | 0;
$4822 = tempRet0;
$4823 = _bitshift64Shl($4819 | 0, $4820 | 0, 1) | 0;
$4827 = $31;
HEAP32[$4827 >> 2] = $4823 | $4821;
HEAP32[$4827 + 4 >> 2] = tempRet0 | $4822;
$4831 = $90;
$4837 = $97;
$4839 = HEAP32[$4837 >> 2] | 0;
$4842 = HEAP32[$4837 + 4 >> 2] | 0;
$4843 = _i64Add($4839 | 0, $4842 | 0, HEAP32[$4831 >> 2] | 0, HEAP32[$4831 + 4 >> 2] | 0) | 0;
$4845 = $541;
$4851 = _i64Add($4843 | 0, tempRet0 | 0, HEAP32[$4845 >> 2] | 0, HEAP32[$4845 + 4 >> 2] | 0) | 0;
$4852 = tempRet0;
$4853 = $4671 ^ $4851;
$4854 = $4672 ^ $4852;
$4855 = _i64Add($4854 | 0, $4853 | 0, $4755 | 0, $4756 | 0) | 0;
$4856 = tempRet0;
$4857 = $4839 ^ $4855;
$4858 = $4842 ^ $4856;
$4859 = _bitshift64Lshr($4857 | 0, $4858 | 0, 24) | 0;
$4860 = tempRet0;
$4861 = _bitshift64Shl($4857 | 0, $4858 | 0, 40) | 0;
$4863 = $4861 | $4859;
$4864 = tempRet0 | $4860;
$4865 = _i64Add($4863 | 0, $4864 | 0, $4851 | 0, $4852 | 0) | 0;
$4867 = $330;
$4873 = _i64Add($4865 | 0, tempRet0 | 0, HEAP32[$4867 >> 2] | 0, HEAP32[$4867 + 4 >> 2] | 0) | 0;
$4874 = tempRet0;
$4875 = $90;
HEAP32[$4875 >> 2] = $4873;
HEAP32[$4875 + 4 >> 2] = $4874;
$4879 = $4854 ^ $4873;
$4880 = $4853 ^ $4874;
$4881 = _bitshift64Lshr($4879 | 0, $4880 | 0, 16) | 0;
$4882 = tempRet0;
$4883 = _bitshift64Shl($4879 | 0, $4880 | 0, 48) | 0;
$4885 = $4883 | $4881;
$4886 = tempRet0 | $4882;
$4887 = $18;
HEAP32[$4887 >> 2] = $4885;
HEAP32[$4887 + 4 >> 2] = $4886;
$4891 = _i64Add($4885 | 0, $4886 | 0, $4855 | 0, $4856 | 0) | 0;
$4892 = tempRet0;
$4893 = $10;
HEAP32[$4893 >> 2] = $4891;
HEAP32[$4893 + 4 >> 2] = $4892;
$4897 = $4863 ^ $4891;
$4898 = $4864 ^ $4892;
$4899 = _bitshift64Lshr($4897 | 0, $4898 | 0, 63) | 0;
$4900 = tempRet0;
$4901 = _bitshift64Shl($4897 | 0, $4898 | 0, 1) | 0;
$4903 = $4901 | $4899;
$4904 = tempRet0 | $4900;
$4905 = $151;
$4911 = $158;
$4913 = HEAP32[$4911 >> 2] | 0;
$4916 = HEAP32[$4911 + 4 >> 2] | 0;
$4917 = _i64Add($4913 | 0, $4916 | 0, HEAP32[$4905 >> 2] | 0, HEAP32[$4905 + 4 >> 2] | 0) | 0;
$4919 = $410;
$4925 = _i64Add($4917 | 0, tempRet0 | 0, HEAP32[$4919 >> 2] | 0, HEAP32[$4919 + 4 >> 2] | 0) | 0;
$4926 = tempRet0;
$4927 = $4753 ^ $4925;
$4928 = $4754 ^ $4926;
$4929 = $11;
$4935 = _i64Add($4928 | 0, $4927 | 0, HEAP32[$4929 >> 2] | 0, HEAP32[$4929 + 4 >> 2] | 0) | 0;
$4936 = tempRet0;
$4937 = $4913 ^ $4935;
$4938 = $4916 ^ $4936;
$4939 = _bitshift64Lshr($4937 | 0, $4938 | 0, 24) | 0;
$4940 = tempRet0;
$4941 = _bitshift64Shl($4937 | 0, $4938 | 0, 40) | 0;
$4943 = $4941 | $4939;
$4944 = tempRet0 | $4940;
$4945 = _i64Add($4943 | 0, $4944 | 0, $4925 | 0, $4926 | 0) | 0;
$4947 = $120;
$4953 = _i64Add($4945 | 0, tempRet0 | 0, HEAP32[$4947 >> 2] | 0, HEAP32[$4947 + 4 >> 2] | 0) | 0;
$4954 = tempRet0;
$4955 = $151;
HEAP32[$4955 >> 2] = $4953;
HEAP32[$4955 + 4 >> 2] = $4954;
$4959 = $4928 ^ $4953;
$4960 = $4927 ^ $4954;
$4961 = _bitshift64Lshr($4959 | 0, $4960 | 0, 16) | 0;
$4962 = tempRet0;
$4963 = _bitshift64Shl($4959 | 0, $4960 | 0, 48) | 0;
$4965 = $4963 | $4961;
$4966 = tempRet0 | $4962;
$4967 = $19;
HEAP32[$4967 >> 2] = $4965;
HEAP32[$4967 + 4 >> 2] = $4966;
$4971 = _i64Add($4965 | 0, $4966 | 0, $4935 | 0, $4936 | 0) | 0;
$4972 = tempRet0;
$4973 = $4943 ^ $4971;
$4974 = $4944 ^ $4972;
$4975 = _bitshift64Lshr($4973 | 0, $4974 | 0, 63) | 0;
$4976 = tempRet0;
$4977 = _bitshift64Shl($4973 | 0, $4974 | 0, 1) | 0;
$4979 = $4977 | $4975;
$4980 = tempRet0 | $4976;
$4981 = $217;
$4987 = $224;
$4989 = HEAP32[$4987 >> 2] | 0;
$4992 = HEAP32[$4987 + 4 >> 2] | 0;
$4993 = _i64Add($4989 | 0, $4992 | 0, HEAP32[$4981 >> 2] | 0, HEAP32[$4981 + 4 >> 2] | 0) | 0;
$4995 = $m;
$5001 = _i64Add($4993 | 0, tempRet0 | 0, HEAP32[$4995 >> 2] | 0, HEAP32[$4995 + 4 >> 2] | 0) | 0;
$5002 = tempRet0;
$5003 = $20;
$5009 = HEAP32[$5003 >> 2] ^ $5001;
$5010 = HEAP32[$5003 + 4 >> 2] ^ $5002;
$5011 = $12;
$5017 = _i64Add($5010 | 0, $5009 | 0, HEAP32[$5011 >> 2] | 0, HEAP32[$5011 + 4 >> 2] | 0) | 0;
$5018 = tempRet0;
$5019 = $4989 ^ $5017;
$5020 = $4992 ^ $5018;
$5021 = _bitshift64Lshr($5019 | 0, $5020 | 0, 24) | 0;
$5022 = tempRet0;
$5023 = _bitshift64Shl($5019 | 0, $5020 | 0, 40) | 0;
$5025 = $5023 | $5021;
$5026 = tempRet0 | $5022;
$5027 = _i64Add($5025 | 0, $5026 | 0, $5001 | 0, $5002 | 0) | 0;
$5029 = $307;
$5035 = _i64Add($5027 | 0, tempRet0 | 0, HEAP32[$5029 >> 2] | 0, HEAP32[$5029 + 4 >> 2] | 0) | 0;
$5036 = tempRet0;
$5037 = $217;
HEAP32[$5037 >> 2] = $5035;
HEAP32[$5037 + 4 >> 2] = $5036;
$5041 = $5010 ^ $5035;
$5042 = $5009 ^ $5036;
$5043 = _bitshift64Lshr($5041 | 0, $5042 | 0, 16) | 0;
$5044 = tempRet0;
$5045 = _bitshift64Shl($5041 | 0, $5042 | 0, 48) | 0;
$5047 = $5045 | $5043;
$5048 = tempRet0 | $5044;
$5049 = _i64Add($5047 | 0, $5048 | 0, $5017 | 0, $5018 | 0) | 0;
$5050 = tempRet0;
$5051 = $5025 ^ $5049;
$5052 = $5026 ^ $5050;
$5053 = _bitshift64Lshr($5051 | 0, $5052 | 0, 63) | 0;
$5054 = tempRet0;
$5055 = _bitshift64Shl($5051 | 0, $5052 | 0, 1) | 0;
$5057 = $5055 | $5053;
$5058 = tempRet0 | $5054;
$5059 = $v;
$5065 = _i64Add($4903 | 0, $4904 | 0, HEAP32[$5059 >> 2] | 0, HEAP32[$5059 + 4 >> 2] | 0) | 0;
$5067 = $457;
$5073 = _i64Add($5065 | 0, tempRet0 | 0, HEAP32[$5067 >> 2] | 0, HEAP32[$5067 + 4 >> 2] | 0) | 0;
$5074 = tempRet0;
$5075 = $5047 ^ $5073;
$5076 = $5048 ^ $5074;
$5077 = _i64Add($5076 | 0, $5075 | 0, $4971 | 0, $4972 | 0) | 0;
$5078 = tempRet0;
$5079 = $4903 ^ $5077;
$5080 = $4904 ^ $5078;
$5081 = _bitshift64Lshr($5079 | 0, $5080 | 0, 24) | 0;
$5082 = tempRet0;
$5083 = _bitshift64Shl($5079 | 0, $5080 | 0, 40) | 0;
$5085 = $5083 | $5081;
$5086 = tempRet0 | $5082;
$5087 = _i64Add($5085 | 0, $5086 | 0, $5073 | 0, $5074 | 0) | 0;
$5089 = $scevgep;
$5095 = _i64Add($5087 | 0, tempRet0 | 0, HEAP32[$5089 >> 2] | 0, HEAP32[$5089 + 4 >> 2] | 0) | 0;
$5096 = tempRet0;
$5097 = $v;
HEAP32[$5097 >> 2] = $5095;
HEAP32[$5097 + 4 >> 2] = $5096;
$5101 = $5076 ^ $5095;
$5102 = $5075 ^ $5096;
$5103 = _bitshift64Lshr($5101 | 0, $5102 | 0, 16) | 0;
$5104 = tempRet0;
$5105 = _bitshift64Shl($5101 | 0, $5102 | 0, 48) | 0;
$5107 = $5105 | $5103;
$5108 = tempRet0 | $5104;
$5109 = $20;
HEAP32[$5109 >> 2] = $5107;
HEAP32[$5109 + 4 >> 2] = $5108;
$5113 = _i64Add($5107 | 0, $5108 | 0, $5077 | 0, $5078 | 0) | 0;
$5114 = tempRet0;
$5115 = $11;
HEAP32[$5115 >> 2] = $5113;
HEAP32[$5115 + 4 >> 2] = $5114;
$5119 = $5085 ^ $5113;
$5120 = $5086 ^ $5114;
$5121 = _bitshift64Lshr($5119 | 0, $5120 | 0, 63) | 0;
$5122 = tempRet0;
$5123 = _bitshift64Shl($5119 | 0, $5120 | 0, 1) | 0;
$5127 = $97;
HEAP32[$5127 >> 2] = $5123 | $5121;
HEAP32[$5127 + 4 >> 2] = tempRet0 | $5122;
$5131 = $90;
$5137 = _i64Add($4979 | 0, $4980 | 0, HEAP32[$5131 >> 2] | 0, HEAP32[$5131 + 4 >> 2] | 0) | 0;
$5139 = $492;
$5145 = _i64Add($5137 | 0, tempRet0 | 0, HEAP32[$5139 >> 2] | 0, HEAP32[$5139 + 4 >> 2] | 0) | 0;
$5146 = tempRet0;
$5147 = $17;
$5153 = HEAP32[$5147 >> 2] ^ $5145;
$5154 = HEAP32[$5147 + 4 >> 2] ^ $5146;
$5155 = _i64Add($5154 | 0, $5153 | 0, $5049 | 0, $5050 | 0) | 0;
$5156 = tempRet0;
$5157 = $4979 ^ $5155;
$5158 = $4980 ^ $5156;
$5159 = _bitshift64Lshr($5157 | 0, $5158 | 0, 24) | 0;
$5160 = tempRet0;
$5161 = _bitshift64Shl($5157 | 0, $5158 | 0, 40) | 0;
$5163 = $5161 | $5159;
$5164 = tempRet0 | $5160;
$5165 = _i64Add($5163 | 0, $5164 | 0, $5145 | 0, $5146 | 0) | 0;
$5167 = $268;
$5173 = _i64Add($5165 | 0, tempRet0 | 0, HEAP32[$5167 >> 2] | 0, HEAP32[$5167 + 4 >> 2] | 0) | 0;
$5174 = tempRet0;
$5175 = $90;
HEAP32[$5175 >> 2] = $5173;
HEAP32[$5175 + 4 >> 2] = $5174;
$5179 = $5154 ^ $5173;
$5180 = $5153 ^ $5174;
$5181 = _bitshift64Lshr($5179 | 0, $5180 | 0, 16) | 0;
$5182 = tempRet0;
$5183 = _bitshift64Shl($5179 | 0, $5180 | 0, 48) | 0;
$5185 = $5183 | $5181;
$5186 = tempRet0 | $5182;
$5187 = _i64Add($5185 | 0, $5186 | 0, $5155 | 0, $5156 | 0) | 0;
$5188 = tempRet0;
$5189 = $12;
HEAP32[$5189 >> 2] = $5187;
HEAP32[$5189 + 4 >> 2] = $5188;
$5193 = $5163 ^ $5187;
$5194 = $5164 ^ $5188;
$5195 = _bitshift64Lshr($5193 | 0, $5194 | 0, 63) | 0;
$5196 = tempRet0;
$5197 = _bitshift64Shl($5193 | 0, $5194 | 0, 1) | 0;
$5201 = $158;
HEAP32[$5201 >> 2] = $5197 | $5195;
HEAP32[$5201 + 4 >> 2] = tempRet0 | $5196;
$5205 = $151;
$5211 = _i64Add($5057 | 0, $5058 | 0, HEAP32[$5205 >> 2] | 0, HEAP32[$5205 + 4 >> 2] | 0) | 0;
$5213 = $4;
$5219 = _i64Add($5211 | 0, tempRet0 | 0, HEAP32[$5213 >> 2] | 0, HEAP32[$5213 + 4 >> 2] | 0) | 0;
$5220 = tempRet0;
$5221 = $18;
$5227 = HEAP32[$5221 >> 2] ^ $5219;
$5228 = HEAP32[$5221 + 4 >> 2] ^ $5220;
$5229 = $9;
$5235 = _i64Add($5228 | 0, $5227 | 0, HEAP32[$5229 >> 2] | 0, HEAP32[$5229 + 4 >> 2] | 0) | 0;
$5236 = tempRet0;
$5237 = $5057 ^ $5235;
$5238 = $5058 ^ $5236;
$5239 = _bitshift64Lshr($5237 | 0, $5238 | 0, 24) | 0;
$5240 = tempRet0;
$5241 = _bitshift64Shl($5237 | 0, $5238 | 0, 40) | 0;
$5243 = $5241 | $5239;
$5244 = tempRet0 | $5240;
$5245 = _i64Add($5243 | 0, $5244 | 0, $5219 | 0, $5220 | 0) | 0;
$5247 = $167;
$5253 = _i64Add($5245 | 0, tempRet0 | 0, HEAP32[$5247 >> 2] | 0, HEAP32[$5247 + 4 >> 2] | 0) | 0;
$5254 = tempRet0;
$5255 = $151;
HEAP32[$5255 >> 2] = $5253;
HEAP32[$5255 + 4 >> 2] = $5254;
$5259 = $5228 ^ $5253;
$5260 = $5227 ^ $5254;
$5261 = _bitshift64Lshr($5259 | 0, $5260 | 0, 16) | 0;
$5262 = tempRet0;
$5263 = _bitshift64Shl($5259 | 0, $5260 | 0, 48) | 0;
$5265 = $5263 | $5261;
$5266 = tempRet0 | $5262;
$5267 = _i64Add($5265 | 0, $5266 | 0, $5235 | 0, $5236 | 0) | 0;
$5268 = tempRet0;
$5269 = $5243 ^ $5267;
$5270 = $5244 ^ $5268;
$5271 = _bitshift64Lshr($5269 | 0, $5270 | 0, 63) | 0;
$5272 = tempRet0;
$5273 = _bitshift64Shl($5269 | 0, $5270 | 0, 1) | 0;
$5277 = $224;
HEAP32[$5277 >> 2] = $5273 | $5271;
HEAP32[$5277 + 4 >> 2] = tempRet0 | $5272;
$5281 = $217;
$5287 = $31;
$5289 = HEAP32[$5287 >> 2] | 0;
$5292 = HEAP32[$5287 + 4 >> 2] | 0;
$5293 = _i64Add($5289 | 0, $5292 | 0, HEAP32[$5281 >> 2] | 0, HEAP32[$5281 + 4 >> 2] | 0) | 0;
$5295 = $381;
$5297 = HEAP32[$5295 >> 2] | 0;
$5300 = HEAP32[$5295 + 4 >> 2] | 0;
$5301 = _i64Add($5293 | 0, tempRet0 | 0, $5297 | 0, $5300 | 0) | 0;
$5302 = tempRet0;
$5303 = $19;
$5309 = HEAP32[$5303 >> 2] ^ $5301;
$5310 = HEAP32[$5303 + 4 >> 2] ^ $5302;
$5311 = $10;
$5317 = _i64Add($5310 | 0, $5309 | 0, HEAP32[$5311 >> 2] | 0, HEAP32[$5311 + 4 >> 2] | 0) | 0;
$5318 = tempRet0;
$5319 = $5289 ^ $5317;
$5320 = $5292 ^ $5318;
$5321 = _bitshift64Lshr($5319 | 0, $5320 | 0, 24) | 0;
$5322 = tempRet0;
$5323 = _bitshift64Shl($5319 | 0, $5320 | 0, 40) | 0;
$5325 = $5323 | $5321;
$5326 = tempRet0 | $5322;
$5327 = _i64Add($5325 | 0, $5326 | 0, $5301 | 0, $5302 | 0) | 0;
$5329 = $182;
$5335 = _i64Add($5327 | 0, tempRet0 | 0, HEAP32[$5329 >> 2] | 0, HEAP32[$5329 + 4 >> 2] | 0) | 0;
$5336 = tempRet0;
$5337 = $217;
HEAP32[$5337 >> 2] = $5335;
HEAP32[$5337 + 4 >> 2] = $5336;
$5341 = $5310 ^ $5335;
$5342 = $5309 ^ $5336;
$5343 = _bitshift64Lshr($5341 | 0, $5342 | 0, 16) | 0;
$5344 = tempRet0;
$5345 = _bitshift64Shl($5341 | 0, $5342 | 0, 48) | 0;
$5347 = $5345 | $5343;
$5348 = tempRet0 | $5344;
$5349 = _i64Add($5347 | 0, $5348 | 0, $5317 | 0, $5318 | 0) | 0;
$5350 = tempRet0;
$5351 = $5325 ^ $5349;
$5352 = $5326 ^ $5350;
$5353 = _bitshift64Lshr($5351 | 0, $5352 | 0, 63) | 0;
$5354 = tempRet0;
$5355 = _bitshift64Shl($5351 | 0, $5352 | 0, 1) | 0;
$5357 = $5355 | $5353;
$5358 = tempRet0 | $5354;
$5359 = $v;
$5365 = _i64Add($5357 | 0, $5358 | 0, HEAP32[$5359 >> 2] | 0, HEAP32[$5359 + 4 >> 2] | 0) | 0;
$5367 = _i64Add($5365 | 0, tempRet0 | 0, $5297 | 0, $5300 | 0) | 0;
$5368 = tempRet0;
$5369 = $5185 ^ $5367;
$5370 = $5186 ^ $5368;
$5371 = _i64Add($5370 | 0, $5369 | 0, $5267 | 0, $5268 | 0) | 0;
$5372 = tempRet0;
$5373 = $5357 ^ $5371;
$5374 = $5358 ^ $5372;
$5375 = _bitshift64Lshr($5373 | 0, $5374 | 0, 24) | 0;
$5376 = tempRet0;
$5377 = _bitshift64Shl($5373 | 0, $5374 | 0, 40) | 0;
$5379 = $5377 | $5375;
$5380 = tempRet0 | $5376;
$5381 = _i64Add($5379 | 0, $5380 | 0, $5367 | 0, $5368 | 0) | 0;
$5383 = $scevgep;
$5389 = _i64Add($5381 | 0, tempRet0 | 0, HEAP32[$5383 >> 2] | 0, HEAP32[$5383 + 4 >> 2] | 0) | 0;
$5390 = tempRet0;
$5391 = $v;
HEAP32[$5391 >> 2] = $5389;
HEAP32[$5391 + 4 >> 2] = $5390;
$5395 = $5370 ^ $5389;
$5396 = $5369 ^ $5390;
$5397 = _bitshift64Lshr($5395 | 0, $5396 | 0, 16) | 0;
$5398 = tempRet0;
$5399 = _bitshift64Shl($5395 | 0, $5396 | 0, 48) | 0;
$5401 = $5399 | $5397;
$5402 = tempRet0 | $5398;
$5403 = $17;
HEAP32[$5403 >> 2] = $5401;
HEAP32[$5403 + 4 >> 2] = $5402;
$5407 = _i64Add($5401 | 0, $5402 | 0, $5371 | 0, $5372 | 0) | 0;
$5408 = tempRet0;
$5409 = $9;
HEAP32[$5409 >> 2] = $5407;
HEAP32[$5409 + 4 >> 2] = $5408;
$5413 = $5379 ^ $5407;
$5414 = $5380 ^ $5408;
$5415 = _bitshift64Lshr($5413 | 0, $5414 | 0, 63) | 0;
$5416 = tempRet0;
$5417 = _bitshift64Shl($5413 | 0, $5414 | 0, 1) | 0;
$5421 = $31;
HEAP32[$5421 >> 2] = $5417 | $5415;
HEAP32[$5421 + 4 >> 2] = tempRet0 | $5416;
$5425 = $90;
$5431 = $97;
$5433 = HEAP32[$5431 >> 2] | 0;
$5436 = HEAP32[$5431 + 4 >> 2] | 0;
$5437 = _i64Add($5433 | 0, $5436 | 0, HEAP32[$5425 >> 2] | 0, HEAP32[$5425 + 4 >> 2] | 0) | 0;
$5439 = $307;
$5445 = _i64Add($5437 | 0, tempRet0 | 0, HEAP32[$5439 >> 2] | 0, HEAP32[$5439 + 4 >> 2] | 0) | 0;
$5446 = tempRet0;
$5447 = $5265 ^ $5445;
$5448 = $5266 ^ $5446;
$5449 = _i64Add($5448 | 0, $5447 | 0, $5349 | 0, $5350 | 0) | 0;
$5450 = tempRet0;
$5451 = $5433 ^ $5449;
$5452 = $5436 ^ $5450;
$5453 = _bitshift64Lshr($5451 | 0, $5452 | 0, 24) | 0;
$5454 = tempRet0;
$5455 = _bitshift64Shl($5451 | 0, $5452 | 0, 40) | 0;
$5457 = $5455 | $5453;
$5458 = tempRet0 | $5454;
$5459 = _i64Add($5457 | 0, $5458 | 0, $5445 | 0, $5446 | 0) | 0;
$5461 = $167;
$5467 = _i64Add($5459 | 0, tempRet0 | 0, HEAP32[$5461 >> 2] | 0, HEAP32[$5461 + 4 >> 2] | 0) | 0;
$5468 = tempRet0;
$5469 = $90;
HEAP32[$5469 >> 2] = $5467;
HEAP32[$5469 + 4 >> 2] = $5468;
$5473 = $5448 ^ $5467;
$5474 = $5447 ^ $5468;
$5475 = _bitshift64Lshr($5473 | 0, $5474 | 0, 16) | 0;
$5476 = tempRet0;
$5477 = _bitshift64Shl($5473 | 0, $5474 | 0, 48) | 0;
$5479 = $5477 | $5475;
$5480 = tempRet0 | $5476;
$5481 = $18;
HEAP32[$5481 >> 2] = $5479;
HEAP32[$5481 + 4 >> 2] = $5480;
$5485 = _i64Add($5479 | 0, $5480 | 0, $5449 | 0, $5450 | 0) | 0;
$5486 = tempRet0;
$5487 = $10;
HEAP32[$5487 >> 2] = $5485;
HEAP32[$5487 + 4 >> 2] = $5486;
$5491 = $5457 ^ $5485;
$5492 = $5458 ^ $5486;
$5493 = _bitshift64Lshr($5491 | 0, $5492 | 0, 63) | 0;
$5494 = tempRet0;
$5495 = _bitshift64Shl($5491 | 0, $5492 | 0, 1) | 0;
$5497 = $5495 | $5493;
$5498 = tempRet0 | $5494;
$5499 = $151;
$5505 = $158;
$5507 = HEAP32[$5505 >> 2] | 0;
$5510 = HEAP32[$5505 + 4 >> 2] | 0;
$5511 = _i64Add($5507 | 0, $5510 | 0, HEAP32[$5499 >> 2] | 0, HEAP32[$5499 + 4 >> 2] | 0) | 0;
$5513 = $268;
$5519 = _i64Add($5511 | 0, tempRet0 | 0, HEAP32[$5513 >> 2] | 0, HEAP32[$5513 + 4 >> 2] | 0) | 0;
$5520 = tempRet0;
$5521 = $5347 ^ $5519;
$5522 = $5348 ^ $5520;
$5523 = $11;
$5529 = _i64Add($5522 | 0, $5521 | 0, HEAP32[$5523 >> 2] | 0, HEAP32[$5523 + 4 >> 2] | 0) | 0;
$5530 = tempRet0;
$5531 = $5507 ^ $5529;
$5532 = $5510 ^ $5530;
$5533 = _bitshift64Lshr($5531 | 0, $5532 | 0, 24) | 0;
$5534 = tempRet0;
$5535 = _bitshift64Shl($5531 | 0, $5532 | 0, 40) | 0;
$5537 = $5535 | $5533;
$5538 = tempRet0 | $5534;
$5539 = _i64Add($5537 | 0, $5538 | 0, $5519 | 0, $5520 | 0) | 0;
$5541 = $233;
$5547 = _i64Add($5539 | 0, tempRet0 | 0, HEAP32[$5541 >> 2] | 0, HEAP32[$5541 + 4 >> 2] | 0) | 0;
$5548 = tempRet0;
$5549 = $151;
HEAP32[$5549 >> 2] = $5547;
HEAP32[$5549 + 4 >> 2] = $5548;
$5553 = $5522 ^ $5547;
$5554 = $5521 ^ $5548;
$5555 = _bitshift64Lshr($5553 | 0, $5554 | 0, 16) | 0;
$5556 = tempRet0;
$5557 = _bitshift64Shl($5553 | 0, $5554 | 0, 48) | 0;
$5559 = $5557 | $5555;
$5560 = tempRet0 | $5556;
$5561 = $19;
HEAP32[$5561 >> 2] = $5559;
HEAP32[$5561 + 4 >> 2] = $5560;
$5565 = _i64Add($5559 | 0, $5560 | 0, $5529 | 0, $5530 | 0) | 0;
$5566 = tempRet0;
$5567 = $5537 ^ $5565;
$5568 = $5538 ^ $5566;
$5569 = _bitshift64Lshr($5567 | 0, $5568 | 0, 63) | 0;
$5570 = tempRet0;
$5571 = _bitshift64Shl($5567 | 0, $5568 | 0, 1) | 0;
$5573 = $5571 | $5569;
$5574 = tempRet0 | $5570;
$5575 = $217;
$5581 = $224;
$5583 = HEAP32[$5581 >> 2] | 0;
$5586 = HEAP32[$5581 + 4 >> 2] | 0;
$5587 = _i64Add($5583 | 0, $5586 | 0, HEAP32[$5575 >> 2] | 0, HEAP32[$5575 + 4 >> 2] | 0) | 0;
$5589 = $4;
$5595 = _i64Add($5587 | 0, tempRet0 | 0, HEAP32[$5589 >> 2] | 0, HEAP32[$5589 + 4 >> 2] | 0) | 0;
$5596 = tempRet0;
$5597 = $20;
$5603 = HEAP32[$5597 >> 2] ^ $5595;
$5604 = HEAP32[$5597 + 4 >> 2] ^ $5596;
$5605 = $12;
$5611 = _i64Add($5604 | 0, $5603 | 0, HEAP32[$5605 >> 2] | 0, HEAP32[$5605 + 4 >> 2] | 0) | 0;
$5612 = tempRet0;
$5613 = $5583 ^ $5611;
$5614 = $5586 ^ $5612;
$5615 = _bitshift64Lshr($5613 | 0, $5614 | 0, 24) | 0;
$5616 = tempRet0;
$5617 = _bitshift64Shl($5613 | 0, $5614 | 0, 40) | 0;
$5619 = $5617 | $5615;
$5620 = tempRet0 | $5616;
$5621 = _i64Add($5619 | 0, $5620 | 0, $5595 | 0, $5596 | 0) | 0;
$5623 = $182;
$5629 = _i64Add($5621 | 0, tempRet0 | 0, HEAP32[$5623 >> 2] | 0, HEAP32[$5623 + 4 >> 2] | 0) | 0;
$5630 = tempRet0;
$5631 = $217;
HEAP32[$5631 >> 2] = $5629;
HEAP32[$5631 + 4 >> 2] = $5630;
$5635 = $5604 ^ $5629;
$5636 = $5603 ^ $5630;
$5637 = _bitshift64Lshr($5635 | 0, $5636 | 0, 16) | 0;
$5638 = tempRet0;
$5639 = _bitshift64Shl($5635 | 0, $5636 | 0, 48) | 0;
$5641 = $5639 | $5637;
$5642 = tempRet0 | $5638;
$5643 = _i64Add($5641 | 0, $5642 | 0, $5611 | 0, $5612 | 0) | 0;
$5644 = tempRet0;
$5645 = $5619 ^ $5643;
$5646 = $5620 ^ $5644;
$5647 = _bitshift64Lshr($5645 | 0, $5646 | 0, 63) | 0;
$5648 = tempRet0;
$5649 = _bitshift64Shl($5645 | 0, $5646 | 0, 1) | 0;
$5651 = $5649 | $5647;
$5652 = tempRet0 | $5648;
$5653 = $v;
$5659 = _i64Add($5497 | 0, $5498 | 0, HEAP32[$5653 >> 2] | 0, HEAP32[$5653 + 4 >> 2] | 0) | 0;
$5661 = $576;
$5667 = _i64Add($5659 | 0, tempRet0 | 0, HEAP32[$5661 >> 2] | 0, HEAP32[$5661 + 4 >> 2] | 0) | 0;
$5668 = tempRet0;
$5669 = $5641 ^ $5667;
$5670 = $5642 ^ $5668;
$5671 = _i64Add($5670 | 0, $5669 | 0, $5565 | 0, $5566 | 0) | 0;
$5672 = tempRet0;
$5673 = $5497 ^ $5671;
$5674 = $5498 ^ $5672;
$5675 = _bitshift64Lshr($5673 | 0, $5674 | 0, 24) | 0;
$5676 = tempRet0;
$5677 = _bitshift64Shl($5673 | 0, $5674 | 0, 40) | 0;
$5679 = $5677 | $5675;
$5680 = tempRet0 | $5676;
$5681 = _i64Add($5679 | 0, $5680 | 0, $5667 | 0, $5668 | 0) | 0;
$5683 = $410;
$5689 = _i64Add($5681 | 0, tempRet0 | 0, HEAP32[$5683 >> 2] | 0, HEAP32[$5683 + 4 >> 2] | 0) | 0;
$5690 = tempRet0;
$5691 = $v;
HEAP32[$5691 >> 2] = $5689;
HEAP32[$5691 + 4 >> 2] = $5690;
$5695 = $5670 ^ $5689;
$5696 = $5669 ^ $5690;
$5697 = _bitshift64Lshr($5695 | 0, $5696 | 0, 16) | 0;
$5698 = tempRet0;
$5699 = _bitshift64Shl($5695 | 0, $5696 | 0, 48) | 0;
$5701 = $5699 | $5697;
$5702 = tempRet0 | $5698;
$5703 = $20;
HEAP32[$5703 >> 2] = $5701;
HEAP32[$5703 + 4 >> 2] = $5702;
$5707 = _i64Add($5701 | 0, $5702 | 0, $5671 | 0, $5672 | 0) | 0;
$5708 = tempRet0;
$5709 = $11;
HEAP32[$5709 >> 2] = $5707;
HEAP32[$5709 + 4 >> 2] = $5708;
$5713 = $5679 ^ $5707;
$5714 = $5680 ^ $5708;
$5715 = _bitshift64Lshr($5713 | 0, $5714 | 0, 63) | 0;
$5716 = tempRet0;
$5717 = _bitshift64Shl($5713 | 0, $5714 | 0, 1) | 0;
$5721 = $97;
HEAP32[$5721 >> 2] = $5717 | $5715;
HEAP32[$5721 + 4 >> 2] = tempRet0 | $5716;
$5725 = $90;
$5731 = _i64Add($5573 | 0, $5574 | 0, HEAP32[$5725 >> 2] | 0, HEAP32[$5725 + 4 >> 2] | 0) | 0;
$5733 = $330;
$5739 = _i64Add($5731 | 0, tempRet0 | 0, HEAP32[$5733 >> 2] | 0, HEAP32[$5733 + 4 >> 2] | 0) | 0;
$5740 = tempRet0;
$5741 = $17;
$5747 = HEAP32[$5741 >> 2] ^ $5739;
$5748 = HEAP32[$5741 + 4 >> 2] ^ $5740;
$5749 = _i64Add($5748 | 0, $5747 | 0, $5643 | 0, $5644 | 0) | 0;
$5750 = tempRet0;
$5751 = $5573 ^ $5749;
$5752 = $5574 ^ $5750;
$5753 = _bitshift64Lshr($5751 | 0, $5752 | 0, 24) | 0;
$5754 = tempRet0;
$5755 = _bitshift64Shl($5751 | 0, $5752 | 0, 40) | 0;
$5757 = $5755 | $5753;
$5758 = tempRet0 | $5754;
$5759 = _i64Add($5757 | 0, $5758 | 0, $5739 | 0, $5740 | 0) | 0;
$5761 = $541;
$5767 = _i64Add($5759 | 0, tempRet0 | 0, HEAP32[$5761 >> 2] | 0, HEAP32[$5761 + 4 >> 2] | 0) | 0;
$5768 = tempRet0;
$5769 = $90;
HEAP32[$5769 >> 2] = $5767;
HEAP32[$5769 + 4 >> 2] = $5768;
$5773 = $5748 ^ $5767;
$5774 = $5747 ^ $5768;
$5775 = _bitshift64Lshr($5773 | 0, $5774 | 0, 16) | 0;
$5776 = tempRet0;
$5777 = _bitshift64Shl($5773 | 0, $5774 | 0, 48) | 0;
$5779 = $5777 | $5775;
$5780 = tempRet0 | $5776;
$5781 = _i64Add($5779 | 0, $5780 | 0, $5749 | 0, $5750 | 0) | 0;
$5782 = tempRet0;
$5783 = $12;
HEAP32[$5783 >> 2] = $5781;
HEAP32[$5783 + 4 >> 2] = $5782;
$5787 = $5757 ^ $5781;
$5788 = $5758 ^ $5782;
$5789 = _bitshift64Lshr($5787 | 0, $5788 | 0, 63) | 0;
$5790 = tempRet0;
$5791 = _bitshift64Shl($5787 | 0, $5788 | 0, 1) | 0;
$5795 = $158;
HEAP32[$5795 >> 2] = $5791 | $5789;
HEAP32[$5795 + 4 >> 2] = tempRet0 | $5790;
$5799 = $151;
$5805 = _i64Add($5651 | 0, $5652 | 0, HEAP32[$5799 >> 2] | 0, HEAP32[$5799 + 4 >> 2] | 0) | 0;
$5807 = $120;
$5813 = _i64Add($5805 | 0, tempRet0 | 0, HEAP32[$5807 >> 2] | 0, HEAP32[$5807 + 4 >> 2] | 0) | 0;
$5814 = tempRet0;
$5815 = $18;
$5821 = HEAP32[$5815 >> 2] ^ $5813;
$5822 = HEAP32[$5815 + 4 >> 2] ^ $5814;
$5823 = $9;
$5829 = _i64Add($5822 | 0, $5821 | 0, HEAP32[$5823 >> 2] | 0, HEAP32[$5823 + 4 >> 2] | 0) | 0;
$5830 = tempRet0;
$5831 = $5651 ^ $5829;
$5832 = $5652 ^ $5830;
$5833 = _bitshift64Lshr($5831 | 0, $5832 | 0, 24) | 0;
$5834 = tempRet0;
$5835 = _bitshift64Shl($5831 | 0, $5832 | 0, 40) | 0;
$5837 = $5835 | $5833;
$5838 = tempRet0 | $5834;
$5839 = _i64Add($5837 | 0, $5838 | 0, $5813 | 0, $5814 | 0) | 0;
$5841 = $457;
$5847 = _i64Add($5839 | 0, tempRet0 | 0, HEAP32[$5841 >> 2] | 0, HEAP32[$5841 + 4 >> 2] | 0) | 0;
$5848 = tempRet0;
$5849 = $151;
HEAP32[$5849 >> 2] = $5847;
HEAP32[$5849 + 4 >> 2] = $5848;
$5853 = $5822 ^ $5847;
$5854 = $5821 ^ $5848;
$5855 = _bitshift64Lshr($5853 | 0, $5854 | 0, 16) | 0;
$5856 = tempRet0;
$5857 = _bitshift64Shl($5853 | 0, $5854 | 0, 48) | 0;
$5859 = $5857 | $5855;
$5860 = tempRet0 | $5856;
$5861 = _i64Add($5859 | 0, $5860 | 0, $5829 | 0, $5830 | 0) | 0;
$5862 = tempRet0;
$5863 = $5837 ^ $5861;
$5864 = $5838 ^ $5862;
$5865 = _bitshift64Lshr($5863 | 0, $5864 | 0, 63) | 0;
$5866 = tempRet0;
$5867 = _bitshift64Shl($5863 | 0, $5864 | 0, 1) | 0;
$5871 = $224;
HEAP32[$5871 >> 2] = $5867 | $5865;
HEAP32[$5871 + 4 >> 2] = tempRet0 | $5866;
$5875 = $217;
$5881 = $31;
$5883 = HEAP32[$5881 >> 2] | 0;
$5886 = HEAP32[$5881 + 4 >> 2] | 0;
$5887 = _i64Add($5883 | 0, $5886 | 0, HEAP32[$5875 >> 2] | 0, HEAP32[$5875 + 4 >> 2] | 0) | 0;
$5889 = $492;
$5895 = _i64Add($5887 | 0, tempRet0 | 0, HEAP32[$5889 >> 2] | 0, HEAP32[$5889 + 4 >> 2] | 0) | 0;
$5896 = tempRet0;
$5897 = $19;
$5903 = HEAP32[$5897 >> 2] ^ $5895;
$5904 = HEAP32[$5897 + 4 >> 2] ^ $5896;
$5905 = $10;
$5911 = _i64Add($5904 | 0, $5903 | 0, HEAP32[$5905 >> 2] | 0, HEAP32[$5905 + 4 >> 2] | 0) | 0;
$5912 = tempRet0;
$5913 = $5883 ^ $5911;
$5914 = $5886 ^ $5912;
$5915 = _bitshift64Lshr($5913 | 0, $5914 | 0, 24) | 0;
$5916 = tempRet0;
$5917 = _bitshift64Shl($5913 | 0, $5914 | 0, 40) | 0;
$5919 = $5917 | $5915;
$5920 = tempRet0 | $5916;
$5921 = _i64Add($5919 | 0, $5920 | 0, $5895 | 0, $5896 | 0) | 0;
$5923 = $m;
$5925 = HEAP32[$5923 >> 2] | 0;
$5928 = HEAP32[$5923 + 4 >> 2] | 0;
$5929 = _i64Add($5921 | 0, tempRet0 | 0, $5925 | 0, $5928 | 0) | 0;
$5930 = tempRet0;
$5931 = $217;
HEAP32[$5931 >> 2] = $5929;
HEAP32[$5931 + 4 >> 2] = $5930;
$5935 = $5904 ^ $5929;
$5936 = $5903 ^ $5930;
$5937 = _bitshift64Lshr($5935 | 0, $5936 | 0, 16) | 0;
$5938 = tempRet0;
$5939 = _bitshift64Shl($5935 | 0, $5936 | 0, 48) | 0;
$5941 = $5939 | $5937;
$5942 = tempRet0 | $5938;
$5943 = _i64Add($5941 | 0, $5942 | 0, $5911 | 0, $5912 | 0) | 0;
$5944 = tempRet0;
$5945 = $5919 ^ $5943;
$5946 = $5920 ^ $5944;
$5947 = _bitshift64Lshr($5945 | 0, $5946 | 0, 63) | 0;
$5948 = tempRet0;
$5949 = _bitshift64Shl($5945 | 0, $5946 | 0, 1) | 0;
$5951 = $5949 | $5947;
$5952 = tempRet0 | $5948;
$5953 = $v;
$5959 = _i64Add($5951 | 0, $5952 | 0, HEAP32[$5953 >> 2] | 0, HEAP32[$5953 + 4 >> 2] | 0) | 0;
$5961 = _i64Add($5959 | 0, tempRet0 | 0, $5925 | 0, $5928 | 0) | 0;
$5962 = tempRet0;
$5963 = $5779 ^ $5961;
$5964 = $5780 ^ $5962;
$5965 = _i64Add($5964 | 0, $5963 | 0, $5861 | 0, $5862 | 0) | 0;
$5966 = tempRet0;
$5967 = $5951 ^ $5965;
$5968 = $5952 ^ $5966;
$5969 = _bitshift64Lshr($5967 | 0, $5968 | 0, 24) | 0;
$5970 = tempRet0;
$5971 = _bitshift64Shl($5967 | 0, $5968 | 0, 40) | 0;
$5973 = $5971 | $5969;
$5974 = tempRet0 | $5970;
$5975 = _i64Add($5973 | 0, $5974 | 0, $5961 | 0, $5962 | 0) | 0;
$5977 = $4;
$5983 = _i64Add($5975 | 0, tempRet0 | 0, HEAP32[$5977 >> 2] | 0, HEAP32[$5977 + 4 >> 2] | 0) | 0;
$5984 = tempRet0;
$5985 = $v;
HEAP32[$5985 >> 2] = $5983;
HEAP32[$5985 + 4 >> 2] = $5984;
$5989 = $5964 ^ $5983;
$5990 = $5963 ^ $5984;
$5991 = _bitshift64Lshr($5989 | 0, $5990 | 0, 16) | 0;
$5992 = tempRet0;
$5993 = _bitshift64Shl($5989 | 0, $5990 | 0, 48) | 0;
$5995 = $5993 | $5991;
$5996 = tempRet0 | $5992;
$5997 = $17;
HEAP32[$5997 >> 2] = $5995;
HEAP32[$5997 + 4 >> 2] = $5996;
$6001 = _i64Add($5995 | 0, $5996 | 0, $5965 | 0, $5966 | 0) | 0;
$6002 = tempRet0;
$6003 = $9;
HEAP32[$6003 >> 2] = $6001;
HEAP32[$6003 + 4 >> 2] = $6002;
$6007 = $5973 ^ $6001;
$6008 = $5974 ^ $6002;
$6009 = _bitshift64Lshr($6007 | 0, $6008 | 0, 63) | 0;
$6010 = tempRet0;
$6011 = _bitshift64Shl($6007 | 0, $6008 | 0, 1) | 0;
$6015 = $31;
HEAP32[$6015 >> 2] = $6011 | $6009;
HEAP32[$6015 + 4 >> 2] = tempRet0 | $6010;
$6019 = $90;
$6025 = $97;
$6027 = HEAP32[$6025 >> 2] | 0;
$6030 = HEAP32[$6025 + 4 >> 2] | 0;
$6031 = _i64Add($6027 | 0, $6030 | 0, HEAP32[$6019 >> 2] | 0, HEAP32[$6019 + 4 >> 2] | 0) | 0;
$6033 = $scevgep;
$6039 = _i64Add($6031 | 0, tempRet0 | 0, HEAP32[$6033 >> 2] | 0, HEAP32[$6033 + 4 >> 2] | 0) | 0;
$6040 = tempRet0;
$6041 = $5859 ^ $6039;
$6042 = $5860 ^ $6040;
$6043 = _i64Add($6042 | 0, $6041 | 0, $5943 | 0, $5944 | 0) | 0;
$6044 = tempRet0;
$6045 = $6027 ^ $6043;
$6046 = $6030 ^ $6044;
$6047 = _bitshift64Lshr($6045 | 0, $6046 | 0, 24) | 0;
$6048 = tempRet0;
$6049 = _bitshift64Shl($6045 | 0, $6046 | 0, 40) | 0;
$6051 = $6049 | $6047;
$6052 = tempRet0 | $6048;
$6053 = _i64Add($6051 | 0, $6052 | 0, $6039 | 0, $6040 | 0) | 0;
$6055 = $120;
$6061 = _i64Add($6053 | 0, tempRet0 | 0, HEAP32[$6055 >> 2] | 0, HEAP32[$6055 + 4 >> 2] | 0) | 0;
$6062 = tempRet0;
$6063 = $90;
HEAP32[$6063 >> 2] = $6061;
HEAP32[$6063 + 4 >> 2] = $6062;
$6067 = $6042 ^ $6061;
$6068 = $6041 ^ $6062;
$6069 = _bitshift64Lshr($6067 | 0, $6068 | 0, 16) | 0;
$6070 = tempRet0;
$6071 = _bitshift64Shl($6067 | 0, $6068 | 0, 48) | 0;
$6073 = $6071 | $6069;
$6074 = tempRet0 | $6070;
$6075 = $18;
HEAP32[$6075 >> 2] = $6073;
HEAP32[$6075 + 4 >> 2] = $6074;
$6079 = _i64Add($6073 | 0, $6074 | 0, $6043 | 0, $6044 | 0) | 0;
$6080 = tempRet0;
$6081 = $10;
HEAP32[$6081 >> 2] = $6079;
HEAP32[$6081 + 4 >> 2] = $6080;
$6085 = $6051 ^ $6079;
$6086 = $6052 ^ $6080;
$6087 = _bitshift64Lshr($6085 | 0, $6086 | 0, 63) | 0;
$6088 = tempRet0;
$6089 = _bitshift64Shl($6085 | 0, $6086 | 0, 1) | 0;
$6091 = $6089 | $6087;
$6092 = tempRet0 | $6088;
$6093 = $151;
$6099 = $158;
$6101 = HEAP32[$6099 >> 2] | 0;
$6104 = HEAP32[$6099 + 4 >> 2] | 0;
$6105 = _i64Add($6101 | 0, $6104 | 0, HEAP32[$6093 >> 2] | 0, HEAP32[$6093 + 4 >> 2] | 0) | 0;
$6107 = $167;
$6113 = _i64Add($6105 | 0, tempRet0 | 0, HEAP32[$6107 >> 2] | 0, HEAP32[$6107 + 4 >> 2] | 0) | 0;
$6114 = tempRet0;
$6115 = $5941 ^ $6113;
$6116 = $5942 ^ $6114;
$6117 = $11;
$6123 = _i64Add($6116 | 0, $6115 | 0, HEAP32[$6117 >> 2] | 0, HEAP32[$6117 + 4 >> 2] | 0) | 0;
$6124 = tempRet0;
$6125 = $6101 ^ $6123;
$6126 = $6104 ^ $6124;
$6127 = _bitshift64Lshr($6125 | 0, $6126 | 0, 24) | 0;
$6128 = tempRet0;
$6129 = _bitshift64Shl($6125 | 0, $6126 | 0, 40) | 0;
$6131 = $6129 | $6127;
$6132 = tempRet0 | $6128;
$6133 = _i64Add($6131 | 0, $6132 | 0, $6113 | 0, $6114 | 0) | 0;
$6135 = $182;
$6141 = _i64Add($6133 | 0, tempRet0 | 0, HEAP32[$6135 >> 2] | 0, HEAP32[$6135 + 4 >> 2] | 0) | 0;
$6142 = tempRet0;
$6143 = $151;
HEAP32[$6143 >> 2] = $6141;
HEAP32[$6143 + 4 >> 2] = $6142;
$6147 = $6116 ^ $6141;
$6148 = $6115 ^ $6142;
$6149 = _bitshift64Lshr($6147 | 0, $6148 | 0, 16) | 0;
$6150 = tempRet0;
$6151 = _bitshift64Shl($6147 | 0, $6148 | 0, 48) | 0;
$6153 = $6151 | $6149;
$6154 = tempRet0 | $6150;
$6155 = $19;
HEAP32[$6155 >> 2] = $6153;
HEAP32[$6155 + 4 >> 2] = $6154;
$6159 = _i64Add($6153 | 0, $6154 | 0, $6123 | 0, $6124 | 0) | 0;
$6160 = tempRet0;
$6161 = $6131 ^ $6159;
$6162 = $6132 ^ $6160;
$6163 = _bitshift64Lshr($6161 | 0, $6162 | 0, 63) | 0;
$6164 = tempRet0;
$6165 = _bitshift64Shl($6161 | 0, $6162 | 0, 1) | 0;
$6167 = $6165 | $6163;
$6168 = tempRet0 | $6164;
$6169 = $217;
$6175 = $224;
$6177 = HEAP32[$6175 >> 2] | 0;
$6180 = HEAP32[$6175 + 4 >> 2] | 0;
$6181 = _i64Add($6177 | 0, $6180 | 0, HEAP32[$6169 >> 2] | 0, HEAP32[$6169 + 4 >> 2] | 0) | 0;
$6183 = $233;
$6189 = _i64Add($6181 | 0, tempRet0 | 0, HEAP32[$6183 >> 2] | 0, HEAP32[$6183 + 4 >> 2] | 0) | 0;
$6190 = tempRet0;
$6191 = $20;
$6197 = HEAP32[$6191 >> 2] ^ $6189;
$6198 = HEAP32[$6191 + 4 >> 2] ^ $6190;
$6199 = $12;
$6205 = _i64Add($6198 | 0, $6197 | 0, HEAP32[$6199 >> 2] | 0, HEAP32[$6199 + 4 >> 2] | 0) | 0;
$6206 = tempRet0;
$6207 = $6177 ^ $6205;
$6208 = $6180 ^ $6206;
$6209 = _bitshift64Lshr($6207 | 0, $6208 | 0, 24) | 0;
$6210 = tempRet0;
$6211 = _bitshift64Shl($6207 | 0, $6208 | 0, 40) | 0;
$6213 = $6211 | $6209;
$6214 = tempRet0 | $6210;
$6215 = _i64Add($6213 | 0, $6214 | 0, $6189 | 0, $6190 | 0) | 0;
$6217 = $268;
$6223 = _i64Add($6215 | 0, tempRet0 | 0, HEAP32[$6217 >> 2] | 0, HEAP32[$6217 + 4 >> 2] | 0) | 0;
$6224 = tempRet0;
$6225 = $217;
HEAP32[$6225 >> 2] = $6223;
HEAP32[$6225 + 4 >> 2] = $6224;
$6229 = $6198 ^ $6223;
$6230 = $6197 ^ $6224;
$6231 = _bitshift64Lshr($6229 | 0, $6230 | 0, 16) | 0;
$6232 = tempRet0;
$6233 = _bitshift64Shl($6229 | 0, $6230 | 0, 48) | 0;
$6235 = $6233 | $6231;
$6236 = tempRet0 | $6232;
$6237 = _i64Add($6235 | 0, $6236 | 0, $6205 | 0, $6206 | 0) | 0;
$6238 = tempRet0;
$6239 = $6213 ^ $6237;
$6240 = $6214 ^ $6238;
$6241 = _bitshift64Lshr($6239 | 0, $6240 | 0, 63) | 0;
$6242 = tempRet0;
$6243 = _bitshift64Shl($6239 | 0, $6240 | 0, 1) | 0;
$6245 = $6243 | $6241;
$6246 = tempRet0 | $6242;
$6247 = $v;
$6253 = _i64Add($6091 | 0, $6092 | 0, HEAP32[$6247 >> 2] | 0, HEAP32[$6247 + 4 >> 2] | 0) | 0;
$6255 = $307;
$6261 = _i64Add($6253 | 0, tempRet0 | 0, HEAP32[$6255 >> 2] | 0, HEAP32[$6255 + 4 >> 2] | 0) | 0;
$6262 = tempRet0;
$6263 = $6235 ^ $6261;
$6264 = $6236 ^ $6262;
$6265 = _i64Add($6264 | 0, $6263 | 0, $6159 | 0, $6160 | 0) | 0;
$6266 = tempRet0;
$6267 = $6091 ^ $6265;
$6268 = $6092 ^ $6266;
$6269 = _bitshift64Lshr($6267 | 0, $6268 | 0, 24) | 0;
$6270 = tempRet0;
$6271 = _bitshift64Shl($6267 | 0, $6268 | 0, 40) | 0;
$6273 = $6271 | $6269;
$6274 = tempRet0 | $6270;
$6275 = _i64Add($6273 | 0, $6274 | 0, $6261 | 0, $6262 | 0) | 0;
$6277 = $330;
$6283 = _i64Add($6275 | 0, tempRet0 | 0, HEAP32[$6277 >> 2] | 0, HEAP32[$6277 + 4 >> 2] | 0) | 0;
$6284 = tempRet0;
$6285 = $v;
HEAP32[$6285 >> 2] = $6283;
HEAP32[$6285 + 4 >> 2] = $6284;
$6289 = $6264 ^ $6283;
$6290 = $6263 ^ $6284;
$6291 = _bitshift64Lshr($6289 | 0, $6290 | 0, 16) | 0;
$6292 = tempRet0;
$6293 = _bitshift64Shl($6289 | 0, $6290 | 0, 48) | 0;
$6295 = $6293 | $6291;
$6296 = tempRet0 | $6292;
$6297 = $20;
HEAP32[$6297 >> 2] = $6295;
HEAP32[$6297 + 4 >> 2] = $6296;
$6301 = _i64Add($6295 | 0, $6296 | 0, $6265 | 0, $6266 | 0) | 0;
$6302 = tempRet0;
$6303 = $11;
HEAP32[$6303 >> 2] = $6301;
HEAP32[$6303 + 4 >> 2] = $6302;
$6307 = $6273 ^ $6301;
$6308 = $6274 ^ $6302;
$6309 = _bitshift64Lshr($6307 | 0, $6308 | 0, 63) | 0;
$6310 = tempRet0;
$6311 = _bitshift64Shl($6307 | 0, $6308 | 0, 1) | 0;
$6315 = $97;
HEAP32[$6315 >> 2] = $6311 | $6309;
HEAP32[$6315 + 4 >> 2] = tempRet0 | $6310;
$6319 = $90;
$6325 = _i64Add($6167 | 0, $6168 | 0, HEAP32[$6319 >> 2] | 0, HEAP32[$6319 + 4 >> 2] | 0) | 0;
$6327 = $381;
$6333 = _i64Add($6325 | 0, tempRet0 | 0, HEAP32[$6327 >> 2] | 0, HEAP32[$6327 + 4 >> 2] | 0) | 0;
$6334 = tempRet0;
$6335 = $17;
$6341 = HEAP32[$6335 >> 2] ^ $6333;
$6342 = HEAP32[$6335 + 4 >> 2] ^ $6334;
$6343 = _i64Add($6342 | 0, $6341 | 0, $6237 | 0, $6238 | 0) | 0;
$6344 = tempRet0;
$6345 = $6167 ^ $6343;
$6346 = $6168 ^ $6344;
$6347 = _bitshift64Lshr($6345 | 0, $6346 | 0, 24) | 0;
$6348 = tempRet0;
$6349 = _bitshift64Shl($6345 | 0, $6346 | 0, 40) | 0;
$6351 = $6349 | $6347;
$6352 = tempRet0 | $6348;
$6353 = _i64Add($6351 | 0, $6352 | 0, $6333 | 0, $6334 | 0) | 0;
$6355 = $410;
$6361 = _i64Add($6353 | 0, tempRet0 | 0, HEAP32[$6355 >> 2] | 0, HEAP32[$6355 + 4 >> 2] | 0) | 0;
$6362 = tempRet0;
$6363 = $90;
HEAP32[$6363 >> 2] = $6361;
HEAP32[$6363 + 4 >> 2] = $6362;
$6367 = $6342 ^ $6361;
$6368 = $6341 ^ $6362;
$6369 = _bitshift64Lshr($6367 | 0, $6368 | 0, 16) | 0;
$6370 = tempRet0;
$6371 = _bitshift64Shl($6367 | 0, $6368 | 0, 48) | 0;
$6373 = $6371 | $6369;
$6374 = tempRet0 | $6370;
$6375 = _i64Add($6373 | 0, $6374 | 0, $6343 | 0, $6344 | 0) | 0;
$6376 = tempRet0;
$6377 = $12;
HEAP32[$6377 >> 2] = $6375;
HEAP32[$6377 + 4 >> 2] = $6376;
$6381 = $6351 ^ $6375;
$6382 = $6352 ^ $6376;
$6383 = _bitshift64Lshr($6381 | 0, $6382 | 0, 63) | 0;
$6384 = tempRet0;
$6385 = _bitshift64Shl($6381 | 0, $6382 | 0, 1) | 0;
$6389 = $158;
HEAP32[$6389 >> 2] = $6385 | $6383;
HEAP32[$6389 + 4 >> 2] = tempRet0 | $6384;
$6393 = $151;
$6399 = _i64Add($6245 | 0, $6246 | 0, HEAP32[$6393 >> 2] | 0, HEAP32[$6393 + 4 >> 2] | 0) | 0;
$6401 = $457;
$6407 = _i64Add($6399 | 0, tempRet0 | 0, HEAP32[$6401 >> 2] | 0, HEAP32[$6401 + 4 >> 2] | 0) | 0;
$6408 = tempRet0;
$6409 = $18;
$6415 = HEAP32[$6409 >> 2] ^ $6407;
$6416 = HEAP32[$6409 + 4 >> 2] ^ $6408;
$6417 = $9;
$6423 = _i64Add($6416 | 0, $6415 | 0, HEAP32[$6417 >> 2] | 0, HEAP32[$6417 + 4 >> 2] | 0) | 0;
$6424 = tempRet0;
$6425 = $6245 ^ $6423;
$6426 = $6246 ^ $6424;
$6427 = _bitshift64Lshr($6425 | 0, $6426 | 0, 24) | 0;
$6428 = tempRet0;
$6429 = _bitshift64Shl($6425 | 0, $6426 | 0, 40) | 0;
$6431 = $6429 | $6427;
$6432 = tempRet0 | $6428;
$6433 = _i64Add($6431 | 0, $6432 | 0, $6407 | 0, $6408 | 0) | 0;
$6435 = $492;
$6441 = _i64Add($6433 | 0, tempRet0 | 0, HEAP32[$6435 >> 2] | 0, HEAP32[$6435 + 4 >> 2] | 0) | 0;
$6442 = tempRet0;
$6443 = $151;
HEAP32[$6443 >> 2] = $6441;
HEAP32[$6443 + 4 >> 2] = $6442;
$6447 = $6416 ^ $6441;
$6448 = $6415 ^ $6442;
$6449 = _bitshift64Lshr($6447 | 0, $6448 | 0, 16) | 0;
$6450 = tempRet0;
$6451 = _bitshift64Shl($6447 | 0, $6448 | 0, 48) | 0;
$6453 = $6451 | $6449;
$6454 = tempRet0 | $6450;
$6455 = _i64Add($6453 | 0, $6454 | 0, $6423 | 0, $6424 | 0) | 0;
$6456 = tempRet0;
$6457 = $6431 ^ $6455;
$6458 = $6432 ^ $6456;
$6459 = _bitshift64Lshr($6457 | 0, $6458 | 0, 63) | 0;
$6460 = tempRet0;
$6461 = _bitshift64Shl($6457 | 0, $6458 | 0, 1) | 0;
$6465 = $224;
HEAP32[$6465 >> 2] = $6461 | $6459;
HEAP32[$6465 + 4 >> 2] = tempRet0 | $6460;
$6469 = $217;
$6475 = $31;
$6477 = HEAP32[$6475 >> 2] | 0;
$6480 = HEAP32[$6475 + 4 >> 2] | 0;
$6481 = _i64Add($6477 | 0, $6480 | 0, HEAP32[$6469 >> 2] | 0, HEAP32[$6469 + 4 >> 2] | 0) | 0;
$6483 = $541;
$6485 = HEAP32[$6483 >> 2] | 0;
$6488 = HEAP32[$6483 + 4 >> 2] | 0;
$6489 = _i64Add($6481 | 0, tempRet0 | 0, $6485 | 0, $6488 | 0) | 0;
$6490 = tempRet0;
$6491 = $19;
$6497 = HEAP32[$6491 >> 2] ^ $6489;
$6498 = HEAP32[$6491 + 4 >> 2] ^ $6490;
$6499 = $10;
$6505 = _i64Add($6498 | 0, $6497 | 0, HEAP32[$6499 >> 2] | 0, HEAP32[$6499 + 4 >> 2] | 0) | 0;
$6506 = tempRet0;
$6507 = $6477 ^ $6505;
$6508 = $6480 ^ $6506;
$6509 = _bitshift64Lshr($6507 | 0, $6508 | 0, 24) | 0;
$6510 = tempRet0;
$6511 = _bitshift64Shl($6507 | 0, $6508 | 0, 40) | 0;
$6513 = $6511 | $6509;
$6514 = tempRet0 | $6510;
$6515 = _i64Add($6513 | 0, $6514 | 0, $6489 | 0, $6490 | 0) | 0;
$6517 = $576;
$6523 = _i64Add($6515 | 0, tempRet0 | 0, HEAP32[$6517 >> 2] | 0, HEAP32[$6517 + 4 >> 2] | 0) | 0;
$6524 = tempRet0;
$6525 = $217;
HEAP32[$6525 >> 2] = $6523;
HEAP32[$6525 + 4 >> 2] = $6524;
$6529 = $6498 ^ $6523;
$6530 = $6497 ^ $6524;
$6531 = _bitshift64Lshr($6529 | 0, $6530 | 0, 16) | 0;
$6532 = tempRet0;
$6533 = _bitshift64Shl($6529 | 0, $6530 | 0, 48) | 0;
$6535 = $6533 | $6531;
$6536 = tempRet0 | $6532;
$6537 = _i64Add($6535 | 0, $6536 | 0, $6505 | 0, $6506 | 0) | 0;
$6538 = tempRet0;
$6539 = $6513 ^ $6537;
$6540 = $6514 ^ $6538;
$6541 = _bitshift64Lshr($6539 | 0, $6540 | 0, 63) | 0;
$6542 = tempRet0;
$6543 = _bitshift64Shl($6539 | 0, $6540 | 0, 1) | 0;
$6545 = $6543 | $6541;
$6546 = tempRet0 | $6542;
$6547 = $v;
$6553 = _i64Add($6545 | 0, $6546 | 0, HEAP32[$6547 >> 2] | 0, HEAP32[$6547 + 4 >> 2] | 0) | 0;
$6555 = _i64Add($6553 | 0, tempRet0 | 0, $6485 | 0, $6488 | 0) | 0;
$6556 = tempRet0;
$6557 = $6373 ^ $6555;
$6558 = $6374 ^ $6556;
$6559 = _i64Add($6558 | 0, $6557 | 0, $6455 | 0, $6456 | 0) | 0;
$6560 = tempRet0;
$6561 = $6545 ^ $6559;
$6562 = $6546 ^ $6560;
$6563 = _bitshift64Lshr($6561 | 0, $6562 | 0, 24) | 0;
$6564 = tempRet0;
$6565 = _bitshift64Shl($6561 | 0, $6562 | 0, 40) | 0;
$6567 = $6565 | $6563;
$6568 = tempRet0 | $6564;
$6569 = _i64Add($6567 | 0, $6568 | 0, $6555 | 0, $6556 | 0) | 0;
$6571 = $381;
$6577 = _i64Add($6569 | 0, tempRet0 | 0, HEAP32[$6571 >> 2] | 0, HEAP32[$6571 + 4 >> 2] | 0) | 0;
$6578 = tempRet0;
$6579 = $v;
HEAP32[$6579 >> 2] = $6577;
HEAP32[$6579 + 4 >> 2] = $6578;
$6583 = $6558 ^ $6577;
$6584 = $6557 ^ $6578;
$6585 = _bitshift64Lshr($6583 | 0, $6584 | 0, 16) | 0;
$6586 = tempRet0;
$6587 = _bitshift64Shl($6583 | 0, $6584 | 0, 48) | 0;
$6589 = $6587 | $6585;
$6590 = tempRet0 | $6586;
$6591 = $17;
HEAP32[$6591 >> 2] = $6589;
HEAP32[$6591 + 4 >> 2] = $6590;
$6595 = _i64Add($6589 | 0, $6590 | 0, $6559 | 0, $6560 | 0) | 0;
$6596 = tempRet0;
$6597 = $9;
HEAP32[$6597 >> 2] = $6595;
HEAP32[$6597 + 4 >> 2] = $6596;
$6601 = $6567 ^ $6595;
$6602 = $6568 ^ $6596;
$6603 = _bitshift64Lshr($6601 | 0, $6602 | 0, 63) | 0;
$6604 = tempRet0;
$6605 = _bitshift64Shl($6601 | 0, $6602 | 0, 1) | 0;
$6609 = $31;
HEAP32[$6609 >> 2] = $6605 | $6603;
HEAP32[$6609 + 4 >> 2] = tempRet0 | $6604;
$6613 = $90;
$6619 = $97;
$6621 = HEAP32[$6619 >> 2] | 0;
$6624 = HEAP32[$6619 + 4 >> 2] | 0;
$6625 = _i64Add($6621 | 0, $6624 | 0, HEAP32[$6613 >> 2] | 0, HEAP32[$6613 + 4 >> 2] | 0) | 0;
$6627 = $167;
$6633 = _i64Add($6625 | 0, tempRet0 | 0, HEAP32[$6627 >> 2] | 0, HEAP32[$6627 + 4 >> 2] | 0) | 0;
$6634 = tempRet0;
$6635 = $6453 ^ $6633;
$6636 = $6454 ^ $6634;
$6637 = _i64Add($6636 | 0, $6635 | 0, $6537 | 0, $6538 | 0) | 0;
$6638 = tempRet0;
$6639 = $6621 ^ $6637;
$6640 = $6624 ^ $6638;
$6641 = _bitshift64Lshr($6639 | 0, $6640 | 0, 24) | 0;
$6642 = tempRet0;
$6643 = _bitshift64Shl($6639 | 0, $6640 | 0, 40) | 0;
$6645 = $6643 | $6641;
$6646 = tempRet0 | $6642;
$6647 = _i64Add($6645 | 0, $6646 | 0, $6633 | 0, $6634 | 0) | 0;
$6649 = $307;
$6655 = _i64Add($6647 | 0, tempRet0 | 0, HEAP32[$6649 >> 2] | 0, HEAP32[$6649 + 4 >> 2] | 0) | 0;
$6656 = tempRet0;
$6657 = $90;
HEAP32[$6657 >> 2] = $6655;
HEAP32[$6657 + 4 >> 2] = $6656;
$6661 = $6636 ^ $6655;
$6662 = $6635 ^ $6656;
$6663 = _bitshift64Lshr($6661 | 0, $6662 | 0, 16) | 0;
$6664 = tempRet0;
$6665 = _bitshift64Shl($6661 | 0, $6662 | 0, 48) | 0;
$6667 = $6665 | $6663;
$6668 = tempRet0 | $6664;
$6669 = $18;
HEAP32[$6669 >> 2] = $6667;
HEAP32[$6669 + 4 >> 2] = $6668;
$6673 = _i64Add($6667 | 0, $6668 | 0, $6637 | 0, $6638 | 0) | 0;
$6674 = tempRet0;
$6675 = $10;
HEAP32[$6675 >> 2] = $6673;
HEAP32[$6675 + 4 >> 2] = $6674;
$6679 = $6645 ^ $6673;
$6680 = $6646 ^ $6674;
$6681 = _bitshift64Lshr($6679 | 0, $6680 | 0, 63) | 0;
$6682 = tempRet0;
$6683 = _bitshift64Shl($6679 | 0, $6680 | 0, 1) | 0;
$6685 = $6683 | $6681;
$6686 = tempRet0 | $6682;
$6687 = $151;
$6693 = $158;
$6695 = HEAP32[$6693 >> 2] | 0;
$6698 = HEAP32[$6693 + 4 >> 2] | 0;
$6699 = _i64Add($6695 | 0, $6698 | 0, HEAP32[$6687 >> 2] | 0, HEAP32[$6687 + 4 >> 2] | 0) | 0;
$6701 = $330;
$6707 = _i64Add($6699 | 0, tempRet0 | 0, HEAP32[$6701 >> 2] | 0, HEAP32[$6701 + 4 >> 2] | 0) | 0;
$6708 = tempRet0;
$6709 = $6535 ^ $6707;
$6710 = $6536 ^ $6708;
$6711 = $11;
$6717 = _i64Add($6710 | 0, $6709 | 0, HEAP32[$6711 >> 2] | 0, HEAP32[$6711 + 4 >> 2] | 0) | 0;
$6718 = tempRet0;
$6719 = $6695 ^ $6717;
$6720 = $6698 ^ $6718;
$6721 = _bitshift64Lshr($6719 | 0, $6720 | 0, 24) | 0;
$6722 = tempRet0;
$6723 = _bitshift64Shl($6719 | 0, $6720 | 0, 40) | 0;
$6725 = $6723 | $6721;
$6726 = tempRet0 | $6722;
$6727 = _i64Add($6725 | 0, $6726 | 0, $6707 | 0, $6708 | 0) | 0;
$6729 = $576;
$6735 = _i64Add($6727 | 0, tempRet0 | 0, HEAP32[$6729 >> 2] | 0, HEAP32[$6729 + 4 >> 2] | 0) | 0;
$6736 = tempRet0;
$6737 = $151;
HEAP32[$6737 >> 2] = $6735;
HEAP32[$6737 + 4 >> 2] = $6736;
$6741 = $6710 ^ $6735;
$6742 = $6709 ^ $6736;
$6743 = _bitshift64Lshr($6741 | 0, $6742 | 0, 16) | 0;
$6744 = tempRet0;
$6745 = _bitshift64Shl($6741 | 0, $6742 | 0, 48) | 0;
$6747 = $6745 | $6743;
$6748 = tempRet0 | $6744;
$6749 = $19;
HEAP32[$6749 >> 2] = $6747;
HEAP32[$6749 + 4 >> 2] = $6748;
$6753 = _i64Add($6747 | 0, $6748 | 0, $6717 | 0, $6718 | 0) | 0;
$6754 = tempRet0;
$6755 = $6725 ^ $6753;
$6756 = $6726 ^ $6754;
$6757 = _bitshift64Lshr($6755 | 0, $6756 | 0, 63) | 0;
$6758 = tempRet0;
$6759 = _bitshift64Shl($6755 | 0, $6756 | 0, 1) | 0;
$6761 = $6759 | $6757;
$6762 = tempRet0 | $6758;
$6763 = $217;
$6769 = $224;
$6771 = HEAP32[$6769 >> 2] | 0;
$6774 = HEAP32[$6769 + 4 >> 2] | 0;
$6775 = _i64Add($6771 | 0, $6774 | 0, HEAP32[$6763 >> 2] | 0, HEAP32[$6763 + 4 >> 2] | 0) | 0;
$6777 = $492;
$6783 = _i64Add($6775 | 0, tempRet0 | 0, HEAP32[$6777 >> 2] | 0, HEAP32[$6777 + 4 >> 2] | 0) | 0;
$6784 = tempRet0;
$6785 = $20;
$6791 = HEAP32[$6785 >> 2] ^ $6783;
$6792 = HEAP32[$6785 + 4 >> 2] ^ $6784;
$6793 = $12;
$6799 = _i64Add($6792 | 0, $6791 | 0, HEAP32[$6793 >> 2] | 0, HEAP32[$6793 + 4 >> 2] | 0) | 0;
$6800 = tempRet0;
$6801 = $6771 ^ $6799;
$6802 = $6774 ^ $6800;
$6803 = _bitshift64Lshr($6801 | 0, $6802 | 0, 24) | 0;
$6804 = tempRet0;
$6805 = _bitshift64Shl($6801 | 0, $6802 | 0, 40) | 0;
$6807 = $6805 | $6803;
$6808 = tempRet0 | $6804;
$6809 = _i64Add($6807 | 0, $6808 | 0, $6783 | 0, $6784 | 0) | 0;
$6811 = $233;
$6817 = _i64Add($6809 | 0, tempRet0 | 0, HEAP32[$6811 >> 2] | 0, HEAP32[$6811 + 4 >> 2] | 0) | 0;
$6818 = tempRet0;
$6819 = $217;
HEAP32[$6819 >> 2] = $6817;
HEAP32[$6819 + 4 >> 2] = $6818;
$6823 = $6792 ^ $6817;
$6824 = $6791 ^ $6818;
$6825 = _bitshift64Lshr($6823 | 0, $6824 | 0, 16) | 0;
$6826 = tempRet0;
$6827 = _bitshift64Shl($6823 | 0, $6824 | 0, 48) | 0;
$6829 = $6827 | $6825;
$6830 = tempRet0 | $6826;
$6831 = _i64Add($6829 | 0, $6830 | 0, $6799 | 0, $6800 | 0) | 0;
$6832 = tempRet0;
$6833 = $6807 ^ $6831;
$6834 = $6808 ^ $6832;
$6835 = _bitshift64Lshr($6833 | 0, $6834 | 0, 63) | 0;
$6836 = tempRet0;
$6837 = _bitshift64Shl($6833 | 0, $6834 | 0, 1) | 0;
$6839 = $6837 | $6835;
$6840 = tempRet0 | $6836;
$6841 = $v;
$6847 = _i64Add($6685 | 0, $6686 | 0, HEAP32[$6841 >> 2] | 0, HEAP32[$6841 + 4 >> 2] | 0) | 0;
$6849 = $4;
$6855 = _i64Add($6847 | 0, tempRet0 | 0, HEAP32[$6849 >> 2] | 0, HEAP32[$6849 + 4 >> 2] | 0) | 0;
$6856 = tempRet0;
$6857 = $6829 ^ $6855;
$6858 = $6830 ^ $6856;
$6859 = _i64Add($6858 | 0, $6857 | 0, $6753 | 0, $6754 | 0) | 0;
$6860 = tempRet0;
$6861 = $6685 ^ $6859;
$6862 = $6686 ^ $6860;
$6863 = _bitshift64Lshr($6861 | 0, $6862 | 0, 24) | 0;
$6864 = tempRet0;
$6865 = _bitshift64Shl($6861 | 0, $6862 | 0, 40) | 0;
$6867 = $6865 | $6863;
$6868 = tempRet0 | $6864;
$6869 = _i64Add($6867 | 0, $6868 | 0, $6855 | 0, $6856 | 0) | 0;
$6871 = $457;
$6877 = _i64Add($6869 | 0, tempRet0 | 0, HEAP32[$6871 >> 2] | 0, HEAP32[$6871 + 4 >> 2] | 0) | 0;
$6878 = tempRet0;
$6879 = $v;
HEAP32[$6879 >> 2] = $6877;
HEAP32[$6879 + 4 >> 2] = $6878;
$6883 = $6858 ^ $6877;
$6884 = $6857 ^ $6878;
$6885 = _bitshift64Lshr($6883 | 0, $6884 | 0, 16) | 0;
$6886 = tempRet0;
$6887 = _bitshift64Shl($6883 | 0, $6884 | 0, 48) | 0;
$6889 = $6887 | $6885;
$6890 = tempRet0 | $6886;
$6891 = $20;
HEAP32[$6891 >> 2] = $6889;
HEAP32[$6891 + 4 >> 2] = $6890;
$6895 = _i64Add($6889 | 0, $6890 | 0, $6859 | 0, $6860 | 0) | 0;
$6896 = tempRet0;
$6897 = $11;
HEAP32[$6897 >> 2] = $6895;
HEAP32[$6897 + 4 >> 2] = $6896;
$6901 = $6867 ^ $6895;
$6902 = $6868 ^ $6896;
$6903 = _bitshift64Lshr($6901 | 0, $6902 | 0, 63) | 0;
$6904 = tempRet0;
$6905 = _bitshift64Shl($6901 | 0, $6902 | 0, 1) | 0;
$6909 = $97;
HEAP32[$6909 >> 2] = $6905 | $6903;
HEAP32[$6909 + 4 >> 2] = tempRet0 | $6904;
$6913 = $90;
$6919 = _i64Add($6761 | 0, $6762 | 0, HEAP32[$6913 >> 2] | 0, HEAP32[$6913 + 4 >> 2] | 0) | 0;
$6921 = $m;
$6927 = _i64Add($6919 | 0, tempRet0 | 0, HEAP32[$6921 >> 2] | 0, HEAP32[$6921 + 4 >> 2] | 0) | 0;
$6928 = tempRet0;
$6929 = $17;
$6935 = HEAP32[$6929 >> 2] ^ $6927;
$6936 = HEAP32[$6929 + 4 >> 2] ^ $6928;
$6937 = _i64Add($6936 | 0, $6935 | 0, $6831 | 0, $6832 | 0) | 0;
$6938 = tempRet0;
$6939 = $6761 ^ $6937;
$6940 = $6762 ^ $6938;
$6941 = _bitshift64Lshr($6939 | 0, $6940 | 0, 24) | 0;
$6942 = tempRet0;
$6943 = _bitshift64Shl($6939 | 0, $6940 | 0, 40) | 0;
$6945 = $6943 | $6941;
$6946 = tempRet0 | $6942;
$6947 = _i64Add($6945 | 0, $6946 | 0, $6927 | 0, $6928 | 0) | 0;
$6949 = $scevgep;
$6955 = _i64Add($6947 | 0, tempRet0 | 0, HEAP32[$6949 >> 2] | 0, HEAP32[$6949 + 4 >> 2] | 0) | 0;
$6956 = tempRet0;
$6957 = $90;
HEAP32[$6957 >> 2] = $6955;
HEAP32[$6957 + 4 >> 2] = $6956;
$6961 = $6936 ^ $6955;
$6962 = $6935 ^ $6956;
$6963 = _bitshift64Lshr($6961 | 0, $6962 | 0, 16) | 0;
$6964 = tempRet0;
$6965 = _bitshift64Shl($6961 | 0, $6962 | 0, 48) | 0;
$6967 = $6965 | $6963;
$6968 = tempRet0 | $6964;
$6969 = $17;
HEAP32[$6969 >> 2] = $6967;
HEAP32[$6969 + 4 >> 2] = $6968;
$6973 = _i64Add($6967 | 0, $6968 | 0, $6937 | 0, $6938 | 0) | 0;
$6974 = tempRet0;
$6975 = $12;
HEAP32[$6975 >> 2] = $6973;
HEAP32[$6975 + 4 >> 2] = $6974;
$6979 = $6945 ^ $6973;
$6980 = $6946 ^ $6974;
$6981 = _bitshift64Lshr($6979 | 0, $6980 | 0, 63) | 0;
$6982 = tempRet0;
$6983 = _bitshift64Shl($6979 | 0, $6980 | 0, 1) | 0;
$6987 = $158;
HEAP32[$6987 >> 2] = $6983 | $6981;
HEAP32[$6987 + 4 >> 2] = tempRet0 | $6982;
$6991 = $151;
$6997 = _i64Add($6839 | 0, $6840 | 0, HEAP32[$6991 >> 2] | 0, HEAP32[$6991 + 4 >> 2] | 0) | 0;
$6999 = $410;
$7005 = _i64Add($6997 | 0, tempRet0 | 0, HEAP32[$6999 >> 2] | 0, HEAP32[$6999 + 4 >> 2] | 0) | 0;
$7006 = tempRet0;
$7007 = $18;
$7013 = HEAP32[$7007 >> 2] ^ $7005;
$7014 = HEAP32[$7007 + 4 >> 2] ^ $7006;
$7015 = $9;
$7021 = _i64Add($7014 | 0, $7013 | 0, HEAP32[$7015 >> 2] | 0, HEAP32[$7015 + 4 >> 2] | 0) | 0;
$7022 = tempRet0;
$7023 = $6839 ^ $7021;
$7024 = $6840 ^ $7022;
$7025 = _bitshift64Lshr($7023 | 0, $7024 | 0, 24) | 0;
$7026 = tempRet0;
$7027 = _bitshift64Shl($7023 | 0, $7024 | 0, 40) | 0;
$7029 = $7027 | $7025;
$7030 = tempRet0 | $7026;
$7031 = _i64Add($7029 | 0, $7030 | 0, $7005 | 0, $7006 | 0) | 0;
$7033 = $268;
$7039 = _i64Add($7031 | 0, tempRet0 | 0, HEAP32[$7033 >> 2] | 0, HEAP32[$7033 + 4 >> 2] | 0) | 0;
$7040 = tempRet0;
$7041 = $151;
HEAP32[$7041 >> 2] = $7039;
HEAP32[$7041 + 4 >> 2] = $7040;
$7045 = $7014 ^ $7039;
$7046 = $7013 ^ $7040;
$7047 = _bitshift64Lshr($7045 | 0, $7046 | 0, 16) | 0;
$7048 = tempRet0;
$7049 = _bitshift64Shl($7045 | 0, $7046 | 0, 48) | 0;
$7051 = $7049 | $7047;
$7052 = tempRet0 | $7048;
$7053 = $18;
HEAP32[$7053 >> 2] = $7051;
HEAP32[$7053 + 4 >> 2] = $7052;
$7057 = _i64Add($7051 | 0, $7052 | 0, $7021 | 0, $7022 | 0) | 0;
$7058 = tempRet0;
$7059 = $9;
HEAP32[$7059 >> 2] = $7057;
HEAP32[$7059 + 4 >> 2] = $7058;
$7063 = $7029 ^ $7057;
$7064 = $7030 ^ $7058;
$7065 = _bitshift64Lshr($7063 | 0, $7064 | 0, 63) | 0;
$7066 = tempRet0;
$7067 = _bitshift64Shl($7063 | 0, $7064 | 0, 1) | 0;
$7071 = $224;
HEAP32[$7071 >> 2] = $7067 | $7065;
HEAP32[$7071 + 4 >> 2] = tempRet0 | $7066;
$7075 = $217;
$7081 = $31;
$7083 = HEAP32[$7081 >> 2] | 0;
$7086 = HEAP32[$7081 + 4 >> 2] | 0;
$7087 = _i64Add($7083 | 0, $7086 | 0, HEAP32[$7075 >> 2] | 0, HEAP32[$7075 + 4 >> 2] | 0) | 0;
$7089 = $182;
$7095 = _i64Add($7087 | 0, tempRet0 | 0, HEAP32[$7089 >> 2] | 0, HEAP32[$7089 + 4 >> 2] | 0) | 0;
$7096 = tempRet0;
$7097 = $19;
$7103 = HEAP32[$7097 >> 2] ^ $7095;
$7104 = HEAP32[$7097 + 4 >> 2] ^ $7096;
$7105 = $10;
$7111 = _i64Add($7104 | 0, $7103 | 0, HEAP32[$7105 >> 2] | 0, HEAP32[$7105 + 4 >> 2] | 0) | 0;
$7112 = tempRet0;
$7113 = $7083 ^ $7111;
$7114 = $7086 ^ $7112;
$7115 = _bitshift64Lshr($7113 | 0, $7114 | 0, 24) | 0;
$7116 = tempRet0;
$7117 = _bitshift64Shl($7113 | 0, $7114 | 0, 40) | 0;
$7119 = $7117 | $7115;
$7120 = tempRet0 | $7116;
$7121 = _i64Add($7119 | 0, $7120 | 0, $7095 | 0, $7096 | 0) | 0;
$7123 = $120;
$7129 = _i64Add($7121 | 0, tempRet0 | 0, HEAP32[$7123 >> 2] | 0, HEAP32[$7123 + 4 >> 2] | 0) | 0;
$7130 = tempRet0;
$7131 = $217;
HEAP32[$7131 >> 2] = $7129;
HEAP32[$7131 + 4 >> 2] = $7130;
$7135 = $7104 ^ $7129;
$7136 = $7103 ^ $7130;
$7137 = _bitshift64Lshr($7135 | 0, $7136 | 0, 16) | 0;
$7138 = tempRet0;
$7139 = _bitshift64Shl($7135 | 0, $7136 | 0, 48) | 0;
$7141 = $7139 | $7137;
$7142 = tempRet0 | $7138;
$7143 = $19;
HEAP32[$7143 >> 2] = $7141;
HEAP32[$7143 + 4 >> 2] = $7142;
$7147 = _i64Add($7141 | 0, $7142 | 0, $7111 | 0, $7112 | 0) | 0;
$7148 = tempRet0;
$7149 = $10;
HEAP32[$7149 >> 2] = $7147;
HEAP32[$7149 + 4 >> 2] = $7148;
$7153 = $7119 ^ $7147;
$7154 = $7120 ^ $7148;
$7155 = _bitshift64Lshr($7153 | 0, $7154 | 0, 63) | 0;
$7156 = tempRet0;
$7157 = _bitshift64Shl($7153 | 0, $7154 | 0, 1) | 0;
$7159 = $7157 | $7155;
$7160 = tempRet0 | $7156;
$7161 = $31;
HEAP32[$7161 >> 2] = $7159;
HEAP32[$7161 + 4 >> 2] = $7160;
$7165 = $S;
$7171 = $v;
$7180 = HEAP32[$7171 + 4 >> 2] ^ HEAP32[$7165 + 4 >> 2] ^ $7058;
$7181 = $out;
HEAP32[$7181 >> 2] = HEAP32[$7171 >> 2] ^ HEAP32[$7165 >> 2] ^ $7057;
HEAP32[$7181 + 4 >> 2] = $7180;
$7186 = $S + 8 | 0;
$7195 = $6956 ^ HEAP32[$7186 + 4 >> 2] ^ $7148;
$7197 = $out + 8 | 0;
HEAP32[$7197 >> 2] = $6955 ^ HEAP32[$7186 >> 2] ^ $7147;
HEAP32[$7197 + 4 >> 2] = $7195;
$7202 = $S + 16 | 0;
$7210 = $11;
$7217 = $7040 ^ HEAP32[$7202 + 4 >> 2] ^ HEAP32[$7210 + 4 >> 2];
$7219 = $out + 16 | 0;
HEAP32[$7219 >> 2] = $7039 ^ HEAP32[$7202 >> 2] ^ HEAP32[$7210 >> 2];
HEAP32[$7219 + 4 >> 2] = $7217;
$7224 = $S + 24 | 0;
$7232 = $12;
$7239 = $7130 ^ HEAP32[$7224 + 4 >> 2] ^ HEAP32[$7232 + 4 >> 2];
$7241 = $out + 24 | 0;
HEAP32[$7241 >> 2] = $7129 ^ HEAP32[$7224 >> 2] ^ HEAP32[$7232 >> 2];
HEAP32[$7241 + 4 >> 2] = $7239;
$7246 = $S + 32 | 0;
$7254 = $17;
$7261 = $7160 ^ HEAP32[$7246 + 4 >> 2] ^ HEAP32[$7254 + 4 >> 2];
$7263 = $out + 32 | 0;
HEAP32[$7263 >> 2] = $7159 ^ HEAP32[$7246 >> 2] ^ HEAP32[$7254 >> 2];
HEAP32[$7263 + 4 >> 2] = $7261;
$7268 = $S + 40 | 0;
$7274 = $97;
$7283 = HEAP32[$7274 + 4 >> 2] ^ HEAP32[$7268 + 4 >> 2] ^ $7052;
$7285 = $out + 40 | 0;
HEAP32[$7285 >> 2] = HEAP32[$7274 >> 2] ^ HEAP32[$7268 >> 2] ^ $7051;
HEAP32[$7285 + 4 >> 2] = $7283;
$7290 = $S + 48 | 0;
$7296 = $158;
HEAP32[$7296 + 4 >> 2] ^ HEAP32[$7290 + 4 >> 2] ^ $7138;
HEAP16[$out + 48 >> 1] = HEAP32[$7296 >> 2] ^ HEAP32[$7290 >> 2] ^ $7137;
STACKTOP = sp;
return;
}
function _step0($p) {
$p = $p | 0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $25 = 0, $33 = 0, $39 = 0, $49 = 0, $50 = 0, $51 = 0, $54 = 0, $69 = 0, $77 = 0, $83 = 0, $93 = 0, $94 = 0, $95 = 0, $98 = 0, $h$02 = 0, $hash = 0, $i$05$i = 0, $i$05$i$1 = 0, $k$04$i = 0, $k$04$i$1 = 0, $param = 0, $state0 = 0, $w$i = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 352 | 0;
$w$i = sp + 264 | 0;
$state0 = sp + 64 | 0;
$param = sp;
$hash = sp + 292 | 0;
HEAP32[174] = $p;
dest = $param;
stop = dest + 64 | 0;
do {
HEAP32[dest >> 2] = 0;
dest = dest + 4 | 0;
} while ((dest | 0) < (stop | 0));
$1 = $param + 48 | 0;
HEAP32[$1 >> 2] = 1935762266;
HEAP32[$1 + 4 >> 2] = 1466912872;
HEAP8[$param + 56 >> 0] = -56;
HEAP8[$param + 60 >> 0] = 9;
HEAP8[$param >> 0] = 50;
HEAP8[$param + 2 >> 0] = 1;
HEAP8[$param + 3 >> 0] = 1;
_blake2b_init_param($state0, $param) | 0;
_blake2b_update($state0, HEAP32[174] | 0, 140) | 0;
HEAP32[175] = 0;
_memset(704, 0, 16384) | 0;
$10 = $w$i + 4 | 0;
$11 = $hash + 25 | 0;
$h$02 = 0;
do {
_blake2b_zcash($state0, $h$02, $hash);
$12 = $h$02 << 1;
$i$05$i = 0;
$k$04$i = -3;
while (1) {
if (($k$04$i | 0) < 0) if (($k$04$i | 0) < -1) if (($k$04$i | 0) < -2) $39 = 0; else {
$33 = 0;
label = 8;
} else {
$25 = 0;
label = 6;
} else {
$25 = (HEAPU8[$hash + $k$04$i >> 0] | 0) << 24;
label = 6;
}
if ((label | 0) == 6) {
label = 0;
$33 = (HEAPU8[$hash + ($k$04$i + 1) >> 0] | 0) << 16 | $25;
label = 8;
}
if ((label | 0) == 8) {
label = 0;
$39 = (HEAPU8[$hash + ($k$04$i + 2) >> 0] | 0) << 8 | $33;
}
HEAP32[$w$i + ($i$05$i << 2) >> 2] = HEAPU8[$hash + ($k$04$i + 3) >> 0] | 0 | $39;
$i$05$i = $i$05$i + 1 | 0;
if (($i$05$i | 0) == 7) break; else $k$04$i = $k$04$i + 4 | 0;
}
$49 = ((HEAP32[$10 >> 2] | 0) >>> 20 | HEAP32[$w$i >> 2] << 12) >>> 8 & 4095;
$50 = 704 + ($49 << 2) | 0;
$51 = HEAP32[$50 >> 2] | 0;
HEAP32[$50 >> 2] = $51 + 1;
$54 = 17088 + ($49 * 21504 | 0) + ($51 * 7 << 2) | 0;
HEAP32[$54 >> 2] = HEAP32[$10 >> 2];
HEAP32[$54 + 4 >> 2] = HEAP32[$10 + 4 >> 2];
HEAP32[$54 + 8 >> 2] = HEAP32[$10 + 8 >> 2];
HEAP32[$54 + 12 >> 2] = HEAP32[$10 + 12 >> 2];
HEAP32[$54 + 16 >> 2] = HEAP32[$10 + 16 >> 2];
HEAP32[$54 + 20 >> 2] = HEAP32[$10 + 20 >> 2];
HEAP32[$54 + 24 >> 2] = ~$12;
$i$05$i$1 = 0;
$k$04$i$1 = -3;
while (1) {
if (($k$04$i$1 | 0) < 0) if (($k$04$i$1 | 0) < -1) if (($k$04$i$1 | 0) < -2) $83 = 0; else {
$77 = 0;
label = 17;
} else {
$69 = 0;
label = 15;
} else {
$69 = (HEAPU8[$11 + $k$04$i$1 >> 0] | 0) << 24;
label = 15;
}
if ((label | 0) == 15) {
label = 0;
$77 = (HEAPU8[$11 + ($k$04$i$1 + 1) >> 0] | 0) << 16 | $69;
label = 17;
}
if ((label | 0) == 17) {
label = 0;
$83 = (HEAPU8[$11 + ($k$04$i$1 + 2) >> 0] | 0) << 8 | $77;
}
HEAP32[$w$i + ($i$05$i$1 << 2) >> 2] = HEAPU8[$11 + ($k$04$i$1 + 3) >> 0] | 0 | $83;
$i$05$i$1 = $i$05$i$1 + 1 | 0;
if (($i$05$i$1 | 0) == 7) break; else $k$04$i$1 = $k$04$i$1 + 4 | 0;
}
$93 = ((HEAP32[$10 >> 2] | 0) >>> 20 | HEAP32[$w$i >> 2] << 12) >>> 8 & 4095;
$94 = 704 + ($93 << 2) | 0;
$95 = HEAP32[$94 >> 2] | 0;
HEAP32[$94 >> 2] = $95 + 1;
$98 = 17088 + ($93 * 21504 | 0) + ($95 * 7 << 2) | 0;
HEAP32[$98 >> 2] = HEAP32[$10 >> 2];
HEAP32[$98 + 4 >> 2] = HEAP32[$10 + 4 >> 2];
HEAP32[$98 + 8 >> 2] = HEAP32[$10 + 8 >> 2];
HEAP32[$98 + 12 >> 2] = HEAP32[$10 + 12 >> 2];
HEAP32[$98 + 16 >> 2] = HEAP32[$10 + 16 >> 2];
HEAP32[$98 + 20 >> 2] = HEAP32[$10 + 20 >> 2];
HEAP32[$98 + 24 >> 2] = $12 ^ -2;
$h$02 = $h$02 + 1 | 0;
} while (($h$02 | 0) != 1048576);
STACKTOP = sp;
return;
}
function _genstep1() {
var $$pre = 0, $1 = 0, $10 = 0, $12 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $22 = 0, $23 = 0, $28 = 0, $30 = 0, $36 = 0, $37 = 0, $38 = 0, $41 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $i1$07 = 0, $ia$05$in = 0, $ib$03$in = 0, $l3cnt = 0, $l3ptr = 0, sp = 0, $ib$03$in$looptemp = 0, $ia$05$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16640 | 0;
$l3cnt = sp + 16384 | 0;
$l3ptr = sp;
_memset(88097472, 0, 16384) | 0;
$i1$07 = 0;
do {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[704 + ($i1$07 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$05$in = $1;
do {
$ia$05$in$looptemp = $ia$05$in;
$ia$05$in = $ia$05$in + -1 | 0;
$5 = 17088 + ($i1$07 * 21504 | 0) + ($ia$05$in * 7 << 2) | 0;
$6 = HEAP32[$5 >> 2] | 0;
$8 = $6 >>> 20 & 255;
$9 = $l3cnt + $8 | 0;
$10 = HEAP8[$9 >> 0] | 0;
HEAP8[$9 >> 0] = $10 + 1 << 24 >> 24;
$12 = $10 & 255;
HEAP32[$l3ptr + ($8 << 6) + ($12 << 2) >> 2] = $5;
if ($10 << 24 >> 24) {
$16 = $5 + 24 | 0;
$$pre = HEAP32[$5 + 20 >> 2] | 0;
$17 = $5 + 4 | 0;
$18 = $5 + 8 | 0;
$19 = $5 + 12 | 0;
$20 = $5 + 16 | 0;
$ib$03$in = $12;
do {
$ib$03$in$looptemp = $ib$03$in;
$ib$03$in = $ib$03$in + -1 | 0;
$22 = HEAP32[$l3ptr + ($8 << 6) + ($ib$03$in << 2) >> 2] | 0;
$23 = $22 + 20 | 0;
if (($$pre | 0) != (HEAP32[$23 >> 2] | 0)) {
$28 = HEAP32[$22 >> 2] ^ $6;
$30 = HEAP32[175] | 0;
HEAP32[176194240 + ($30 << 3) >> 2] = HEAP32[$16 >> 2];
HEAP32[176194240 + ($30 << 3) + 4 >> 2] = HEAP32[$22 + 24 >> 2];
$36 = $28 >>> 8 & 4095;
$37 = 88097472 + ($36 << 2) | 0;
$38 = HEAP32[$37 >> 2] | 0;
HEAP32[$37 >> 2] = $38 + 1;
$41 = 88113856 + ($36 * 21504 | 0) + ($38 * 7 << 2) | 0;
HEAP32[$41 >> 2] = HEAP32[$22 >> 2] ^ $6;
HEAP32[$41 + 4 >> 2] = HEAP32[$22 + 4 >> 2] ^ HEAP32[$17 >> 2];
HEAP32[$41 + 8 >> 2] = HEAP32[$22 + 8 >> 2] ^ HEAP32[$18 >> 2];
HEAP32[$41 + 12 >> 2] = HEAP32[$22 + 12 >> 2] ^ HEAP32[$19 >> 2];
HEAP32[$41 + 16 >> 2] = HEAP32[$22 + 16 >> 2] ^ HEAP32[$20 >> 2];
HEAP32[$41 + 20 >> 2] = HEAP32[$23 >> 2] ^ $$pre;
HEAP32[175] = $30 + 1;
HEAP32[$41 + 24 >> 2] = $30;
}
} while (($ib$03$in$looptemp | 0) > 1);
}
} while (($ia$05$in$looptemp | 0) > 1);
}
$i1$07 = $i1$07 + 1 | 0;
} while (($i1$07 | 0) != 4096);
STACKTOP = sp;
return;
}
function _genstep2() {
var $$masked = 0, $$pre = 0, $1 = 0, $10 = 0, $12 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $21 = 0, $22 = 0, $26 = 0, $29 = 0, $31 = 0, $36 = 0, $37 = 0, $40 = 0, $5 = 0, $8 = 0, $9 = 0, $i1$08 = 0, $ia$06$in = 0, $ib$04$in = 0, $l3cnt = 0, $l3ptr = 0, sp = 0, $ib$04$in$looptemp = 0, $ia$06$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16640 | 0;
$l3cnt = sp + 16384 | 0;
$l3ptr = sp;
_memset(704, 0, 16384) | 0;
$i1$08 = 0;
do {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[88097472 + ($i1$08 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$06$in = $1;
do {
$ia$06$in$looptemp = $ia$06$in;
$ia$06$in = $ia$06$in + -1 | 0;
$5 = 88113856 + ($i1$08 * 21504 | 0) + ($ia$06$in * 7 << 2) | 0;
$8 = HEAP32[$5 + 4 >> 2] | 0;
$$masked = HEAP32[$5 >> 2] & 255;
$9 = $l3cnt + $$masked | 0;
$10 = HEAP8[$9 >> 0] | 0;
HEAP8[$9 >> 0] = $10 + 1 << 24 >> 24;
$12 = $10 & 255;
HEAP32[$l3ptr + ($$masked << 6) + ($12 << 2) >> 2] = $5;
if ($10 << 24 >> 24) {
$16 = $5 + 24 | 0;
$$pre = HEAP32[$5 + 20 >> 2] | 0;
$17 = $5 + 8 | 0;
$18 = $5 + 12 | 0;
$19 = $5 + 16 | 0;
$ib$04$in = $12;
do {
$ib$04$in$looptemp = $ib$04$in;
$ib$04$in = $ib$04$in + -1 | 0;
$21 = HEAP32[$l3ptr + ($$masked << 6) + ($ib$04$in << 2) >> 2] | 0;
$22 = $21 + 20 | 0;
if (($$pre | 0) != (HEAP32[$22 >> 2] | 0)) {
$26 = $21 + 4 | 0;
$29 = (HEAP32[$26 >> 2] ^ $8) >>> 20;
$31 = HEAP32[175] | 0;
HEAP32[176194240 + ($31 << 3) >> 2] = HEAP32[$16 >> 2];
HEAP32[176194240 + ($31 << 3) + 4 >> 2] = HEAP32[$21 + 24 >> 2];
$36 = 704 + ($29 << 2) | 0;
$37 = HEAP32[$36 >> 2] | 0;
HEAP32[$36 >> 2] = $37 + 1;
$40 = 17088 + ($29 * 21504 | 0) + ($37 * 6 << 2) | 0;
HEAP32[$40 >> 2] = HEAP32[$26 >> 2] ^ $8;
HEAP32[$40 + 4 >> 2] = HEAP32[$21 + 8 >> 2] ^ HEAP32[$17 >> 2];
HEAP32[$40 + 8 >> 2] = HEAP32[$21 + 12 >> 2] ^ HEAP32[$18 >> 2];
HEAP32[$40 + 12 >> 2] = HEAP32[$21 + 16 >> 2] ^ HEAP32[$19 >> 2];
HEAP32[$40 + 16 >> 2] = HEAP32[$22 >> 2] ^ $$pre;
HEAP32[175] = $31 + 1;
HEAP32[$40 + 20 >> 2] = $31;
}
} while (($ib$04$in$looptemp | 0) > 1);
}
} while (($ia$06$in$looptemp | 0) > 1);
}
$i1$08 = $i1$08 + 1 | 0;
} while (($i1$08 | 0) != 4096);
STACKTOP = sp;
return;
}
function _genstep3() {
var $$pre = 0, $1 = 0, $10 = 0, $12 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $21 = 0, $22 = 0, $27 = 0, $29 = 0, $34 = 0, $35 = 0, $36 = 0, $39 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $i1$08 = 0, $ia$06$in = 0, $ib$04$in = 0, $l3cnt = 0, $l3ptr = 0, sp = 0, $ib$04$in$looptemp = 0, $ia$06$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16640 | 0;
$l3cnt = sp + 16384 | 0;
$l3ptr = sp;
_memset(88097472, 0, 16384) | 0;
$i1$08 = 0;
do {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[704 + ($i1$08 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$06$in = $1;
do {
$ia$06$in$looptemp = $ia$06$in;
$ia$06$in = $ia$06$in + -1 | 0;
$5 = 17088 + ($i1$08 * 21504 | 0) + ($ia$06$in * 6 << 2) | 0;
$6 = HEAP32[$5 >> 2] | 0;
$8 = $6 >>> 12 & 255;
$9 = $l3cnt + $8 | 0;
$10 = HEAP8[$9 >> 0] | 0;
HEAP8[$9 >> 0] = $10 + 1 << 24 >> 24;
$12 = $10 & 255;
HEAP32[$l3ptr + ($8 << 6) + ($12 << 2) >> 2] = $5;
if ($10 << 24 >> 24) {
$16 = $5 + 20 | 0;
$$pre = HEAP32[$5 + 16 >> 2] | 0;
$17 = $5 + 4 | 0;
$18 = $5 + 8 | 0;
$19 = $5 + 12 | 0;
$ib$04$in = $12;
do {
$ib$04$in$looptemp = $ib$04$in;
$ib$04$in = $ib$04$in + -1 | 0;
$21 = HEAP32[$l3ptr + ($8 << 6) + ($ib$04$in << 2) >> 2] | 0;
$22 = $21 + 16 | 0;
if (($$pre | 0) != (HEAP32[$22 >> 2] | 0)) {
$27 = HEAP32[$21 >> 2] ^ $6;
$29 = HEAP32[175] | 0;
HEAP32[176194240 + ($29 << 3) >> 2] = HEAP32[$16 >> 2];
HEAP32[176194240 + ($29 << 3) + 4 >> 2] = HEAP32[$21 + 20 >> 2];
$34 = $27 & 4095;
$35 = 88097472 + ($34 << 2) | 0;
$36 = HEAP32[$35 >> 2] | 0;
HEAP32[$35 >> 2] = $36 + 1;
$39 = 88113856 + ($34 * 21504 | 0) + ($36 * 5 << 2) | 0;
HEAP32[$39 >> 2] = HEAP32[$21 + 4 >> 2] ^ HEAP32[$17 >> 2];
HEAP32[$39 + 4 >> 2] = HEAP32[$21 + 8 >> 2] ^ HEAP32[$18 >> 2];
HEAP32[$39 + 8 >> 2] = HEAP32[$21 + 12 >> 2] ^ HEAP32[$19 >> 2];
HEAP32[$39 + 12 >> 2] = HEAP32[$22 >> 2] ^ $$pre;
HEAP32[175] = $29 + 1;
HEAP32[$39 + 16 >> 2] = $29;
}
} while (($ib$04$in$looptemp | 0) > 1);
}
} while (($ia$06$in$looptemp | 0) > 1);
}
$i1$08 = $i1$08 + 1 | 0;
} while (($i1$08 | 0) != 4096);
STACKTOP = sp;
return;
}
function _genstep4() {
var $$pre = 0, $1 = 0, $11 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $26 = 0, $28 = 0, $33 = 0, $34 = 0, $35 = 0, $38 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i1$07 = 0, $ia$05$in = 0, $ib$03$in = 0, $l3cnt = 0, $l3ptr = 0, sp = 0, $ib$03$in$looptemp = 0, $ia$05$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16640 | 0;
$l3cnt = sp + 16384 | 0;
$l3ptr = sp;
_memset(704, 0, 16384) | 0;
$i1$07 = 0;
do {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[88097472 + ($i1$07 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$05$in = $1;
do {
$ia$05$in$looptemp = $ia$05$in;
$ia$05$in = $ia$05$in + -1 | 0;
$5 = 88113856 + ($i1$07 * 21504 | 0) + ($ia$05$in * 5 << 2) | 0;
$6 = HEAP32[$5 >> 2] | 0;
$7 = $6 >>> 24;
$8 = $l3cnt + $7 | 0;
$9 = HEAP8[$8 >> 0] | 0;
HEAP8[$8 >> 0] = $9 + 1 << 24 >> 24;
$11 = $9 & 255;
HEAP32[$l3ptr + ($7 << 6) + ($11 << 2) >> 2] = $5;
if ($9 << 24 >> 24) {
$15 = $5 + 16 | 0;
$$pre = HEAP32[$5 + 12 >> 2] | 0;
$16 = $5 + 4 | 0;
$17 = $5 + 8 | 0;
$ib$03$in = $11;
do {
$ib$03$in$looptemp = $ib$03$in;
$ib$03$in = $ib$03$in + -1 | 0;
$19 = HEAP32[$l3ptr + ($7 << 6) + ($ib$03$in << 2) >> 2] | 0;
$20 = $19 + 12 | 0;
if (($$pre | 0) != (HEAP32[$20 >> 2] | 0)) {
$26 = (HEAP32[$19 >> 2] ^ $6) >>> 12;
$28 = HEAP32[175] | 0;
HEAP32[176194240 + ($28 << 3) >> 2] = HEAP32[$15 >> 2];
HEAP32[176194240 + ($28 << 3) + 4 >> 2] = HEAP32[$19 + 16 >> 2];
$33 = $26 & 4095;
$34 = 704 + ($33 << 2) | 0;
$35 = HEAP32[$34 >> 2] | 0;
HEAP32[$34 >> 2] = $35 + 1;
$38 = 17088 + ($33 * 21504 | 0) + ($35 * 5 << 2) | 0;
HEAP32[$38 >> 2] = HEAP32[$19 >> 2] ^ $6;
HEAP32[$38 + 4 >> 2] = HEAP32[$19 + 4 >> 2] ^ HEAP32[$16 >> 2];
HEAP32[$38 + 8 >> 2] = HEAP32[$19 + 8 >> 2] ^ HEAP32[$17 >> 2];
HEAP32[$38 + 12 >> 2] = HEAP32[$20 >> 2] ^ $$pre;
HEAP32[175] = $28 + 1;
HEAP32[$38 + 16 >> 2] = $28;
}
} while (($ib$03$in$looptemp | 0) > 1);
}
} while (($ia$05$in$looptemp | 0) > 1);
}
$i1$07 = $i1$07 + 1 | 0;
} while (($i1$07 | 0) != 4096);
STACKTOP = sp;
return;
}
function _genstep5() {
var $$pre = 0, $1 = 0, $11 = 0, $13 = 0, $14 = 0, $15 = 0, $17 = 0, $21 = 0, $22 = 0, $24 = 0, $25 = 0, $31 = 0, $35 = 0, $37 = 0, $43 = 0, $44 = 0, $45 = 0, $48 = 0, $5 = 0, $6 = 0, $9 = 0, $i1$08 = 0, $ia$06$in = 0, $ib$04$in = 0, $l3cnt = 0, $l3ptr = 0, sp = 0, $ib$04$in$looptemp = 0, $ia$06$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16640 | 0;
$l3cnt = sp + 16384 | 0;
$l3ptr = sp;
_memset(88097472, 0, 16384) | 0;
$i1$08 = 0;
do {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[704 + ($i1$08 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$06$in = $1;
do {
$ia$06$in$looptemp = $ia$06$in;
$ia$06$in = $ia$06$in + -1 | 0;
$5 = 17088 + ($i1$08 * 21504 | 0) + ($ia$06$in * 5 << 2) | 0;
$6 = HEAP32[$5 >> 2] | 0;
$9 = HEAP32[$5 + 4 >> 2] | 0;
$11 = $9 >>> 16 | $6 << 16;
$13 = $6 >>> 4 & 255;
$14 = $l3cnt + $13 | 0;
$15 = HEAP8[$14 >> 0] | 0;
HEAP8[$14 >> 0] = $15 + 1 << 24 >> 24;
$17 = $15 & 255;
HEAP32[$l3ptr + ($13 << 6) + ($17 << 2) >> 2] = $5;
if ($15 << 24 >> 24) {
$21 = $5 + 16 | 0;
$$pre = HEAP32[$5 + 12 >> 2] | 0;
$22 = $5 + 8 | 0;
$ib$04$in = $17;
do {
$ib$04$in$looptemp = $ib$04$in;
$ib$04$in = $ib$04$in + -1 | 0;
$24 = HEAP32[$l3ptr + ($13 << 6) + ($ib$04$in << 2) >> 2] | 0;
$25 = $24 + 12 | 0;
if (($$pre | 0) != (HEAP32[$25 >> 2] | 0)) {
$31 = $24 + 4 | 0;
$35 = ((HEAP32[$31 >> 2] | 0) >>> 16 | HEAP32[$24 >> 2] << 16) ^ $11;
$37 = HEAP32[175] | 0;
HEAP32[176194240 + ($37 << 3) >> 2] = HEAP32[$21 >> 2];
HEAP32[176194240 + ($37 << 3) + 4 >> 2] = HEAP32[$24 + 16 >> 2];
$43 = $35 >>> 8 & 4095;
$44 = 88097472 + ($43 << 2) | 0;
$45 = HEAP32[$44 >> 2] | 0;
HEAP32[$44 >> 2] = $45 + 1;
$48 = 88113856 + ($43 * 21504 | 0) + ($45 << 2 << 2) | 0;
HEAP32[$48 >> 2] = HEAP32[$31 >> 2] ^ $9;
HEAP32[$48 + 4 >> 2] = HEAP32[$24 + 8 >> 2] ^ HEAP32[$22 >> 2];
HEAP32[$48 + 8 >> 2] = HEAP32[$25 >> 2] ^ $$pre;
HEAP32[175] = $37 + 1;
HEAP32[$48 + 12 >> 2] = $37;
}
} while (($ib$04$in$looptemp | 0) > 1);
}
} while (($ia$06$in$looptemp | 0) > 1);
}
$i1$08 = $i1$08 + 1 | 0;
} while (($i1$08 | 0) != 4096);
STACKTOP = sp;
return;
}
function _genstep6() {
var $$pre = 0, $1 = 0, $10 = 0, $12 = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $25 = 0, $27 = 0, $33 = 0, $34 = 0, $35 = 0, $38 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $i1$08 = 0, $ia$06$in = 0, $ib$04$in = 0, $l3cnt = 0, $l3ptr = 0, sp = 0, $ib$04$in$looptemp = 0, $ia$06$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16640 | 0;
$l3cnt = sp + 16384 | 0;
$l3ptr = sp;
_memset(704, 0, 16384) | 0;
$i1$08 = 0;
do {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[88097472 + ($i1$08 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$06$in = $1;
do {
$ia$06$in$looptemp = $ia$06$in;
$ia$06$in = $ia$06$in + -1 | 0;
$5 = 88113856 + ($i1$08 * 21504 | 0) + ($ia$06$in << 2 << 2) | 0;
$6 = HEAP32[$5 >> 2] | 0;
$8 = $6 >>> 16 & 255;
$9 = $l3cnt + $8 | 0;
$10 = HEAP8[$9 >> 0] | 0;
HEAP8[$9 >> 0] = $10 + 1 << 24 >> 24;
$12 = $10 & 255;
HEAP32[$l3ptr + ($8 << 6) + ($12 << 2) >> 2] = $5;
if ($10 << 24 >> 24) {
$16 = $5 + 12 | 0;
$$pre = HEAP32[$5 + 8 >> 2] | 0;
$17 = $5 + 4 | 0;
$ib$04$in = $12;
do {
$ib$04$in$looptemp = $ib$04$in;
$ib$04$in = $ib$04$in + -1 | 0;
$19 = HEAP32[$l3ptr + ($8 << 6) + ($ib$04$in << 2) >> 2] | 0;
$20 = $19 + 8 | 0;
if (($$pre | 0) != (HEAP32[$20 >> 2] | 0)) {
$25 = HEAP32[$19 >> 2] ^ $6;
$27 = HEAP32[175] | 0;
HEAP32[176194240 + ($27 << 3) >> 2] = HEAP32[$16 >> 2];
HEAP32[176194240 + ($27 << 3) + 4 >> 2] = HEAP32[$19 + 12 >> 2];
$33 = $25 >>> 4 & 4095;
$34 = 704 + ($33 << 2) | 0;
$35 = HEAP32[$34 >> 2] | 0;
HEAP32[$34 >> 2] = $35 + 1;
$38 = 17088 + ($33 * 21504 | 0) + ($35 << 2 << 2) | 0;
HEAP32[$38 >> 2] = HEAP32[$19 >> 2] ^ $6;
HEAP32[$38 + 4 >> 2] = HEAP32[$19 + 4 >> 2] ^ HEAP32[$17 >> 2];
HEAP32[$38 + 8 >> 2] = HEAP32[$20 >> 2] ^ $$pre;
HEAP32[175] = $27 + 1;
HEAP32[$38 + 12 >> 2] = $27;
}
} while (($ib$04$in$looptemp | 0) > 1);
}
} while (($ia$06$in$looptemp | 0) > 1);
}
$i1$08 = $i1$08 + 1 | 0;
} while (($i1$08 | 0) != 4096);
STACKTOP = sp;
return;
}
function _genstep7() {
var $$pre = 0, $1 = 0, $10 = 0, $12 = 0, $13 = 0, $14 = 0, $16 = 0, $20 = 0, $22 = 0, $23 = 0, $27 = 0, $30 = 0, $32 = 0, $38 = 0, $39 = 0, $40 = 0, $43 = 0, $5 = 0, $9 = 0, $i1$08 = 0, $ia$06$in = 0, $ib$04$in = 0, $l3cnt = 0, $l3ptr = 0, sp = 0, $ib$04$in$looptemp = 0, $ia$06$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16640 | 0;
$l3cnt = sp + 16384 | 0;
$l3ptr = sp;
_memset(88097472, 0, 16384) | 0;
$i1$08 = 0;
do {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[704 + ($i1$08 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$06$in = $1;
do {
$ia$06$in$looptemp = $ia$06$in;
$ia$06$in = $ia$06$in + -1 | 0;
$5 = 17088 + ($i1$08 * 21504 | 0) + ($ia$06$in << 2 << 2) | 0;
$9 = HEAP32[$5 + 4 >> 2] | 0;
$10 = $9 >>> 8;
$12 = ($10 | HEAP32[$5 >> 2] << 24 & 251658240) >>> 20;
$13 = $l3cnt + $12 | 0;
$14 = HEAP8[$13 >> 0] | 0;
HEAP8[$13 >> 0] = $14 + 1 << 24 >> 24;
$16 = $14 & 255;
HEAP32[$l3ptr + ($12 << 6) + ($16 << 2) >> 2] = $5;
if ($14 << 24 >> 24) {
$20 = $5 + 12 | 0;
$$pre = HEAP32[$5 + 8 >> 2] | 0;
$ib$04$in = $16;
do {
$ib$04$in$looptemp = $ib$04$in;
$ib$04$in = $ib$04$in + -1 | 0;
$22 = HEAP32[$l3ptr + ($12 << 6) + ($ib$04$in << 2) >> 2] | 0;
$23 = $22 + 8 | 0;
if (($$pre | 0) != (HEAP32[$23 >> 2] | 0)) {
$27 = $22 + 4 | 0;
$30 = (HEAP32[$27 >> 2] | 0) >>> 8 ^ $10;
$32 = HEAP32[175] | 0;
HEAP32[176194240 + ($32 << 3) >> 2] = HEAP32[$20 >> 2];
HEAP32[176194240 + ($32 << 3) + 4 >> 2] = HEAP32[$22 + 12 >> 2];
$38 = $30 >>> 8 & 4095;
$39 = 88097472 + ($38 << 2) | 0;
$40 = HEAP32[$39 >> 2] | 0;
HEAP32[$39 >> 2] = $40 + 1;
$43 = 88113856 + ($38 * 21504 | 0) + ($40 * 3 << 2) | 0;
HEAP32[$43 >> 2] = HEAP32[$27 >> 2] ^ $9;
HEAP32[$43 + 4 >> 2] = HEAP32[$23 >> 2] ^ $$pre;
HEAP32[175] = $32 + 1;
HEAP32[$43 + 8 >> 2] = $32;
}
} while (($ib$04$in$looptemp | 0) > 1);
}
} while (($ia$06$in$looptemp | 0) > 1);
}
$i1$08 = $i1$08 + 1 | 0;
} while (($i1$08 | 0) != 4096);
STACKTOP = sp;
return;
}
function _genstep8() {
var $1 = 0, $11 = 0, $13 = 0, $14 = 0, $15 = 0, $17 = 0, $20 = 0, $22 = 0, $23 = 0, $24 = 0, $31 = 0, $33 = 0, $39 = 0, $40 = 0, $41 = 0, $44 = 0, $5 = 0, $6 = 0, $9 = 0, $i1$08 = 0, $ia$06$in = 0, $ib$04$in = 0, $l3cnt = 0, $l3ptr = 0, sp = 0, $ib$04$in$looptemp = 0, $ia$06$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16640 | 0;
$l3cnt = sp + 16384 | 0;
$l3ptr = sp;
_memset(704, 0, 16384) | 0;
$i1$08 = 0;
do {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[88097472 + ($i1$08 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$06$in = $1;
do {
$ia$06$in$looptemp = $ia$06$in;
$ia$06$in = $ia$06$in + -1 | 0;
$5 = 88113856 + ($i1$08 * 21504 | 0) + ($ia$06$in * 3 << 2) | 0;
$6 = HEAP32[$5 >> 2] | 0;
$9 = HEAP32[$5 + 4 >> 2] | 0;
$11 = $9 >>> 20 | $6 << 12;
$13 = $6 >>> 8 & 255;
$14 = $l3cnt + $13 | 0;
$15 = HEAP8[$14 >> 0] | 0;
HEAP8[$14 >> 0] = $15 + 1 << 24 >> 24;
$17 = $15 & 255;
HEAP32[$l3ptr + ($13 << 6) + ($17 << 2) >> 2] = $5;
if ($15 << 24 >> 24) {
$20 = $5 + 8 | 0;
$ib$04$in = $17;
do {
$ib$04$in$looptemp = $ib$04$in;
$ib$04$in = $ib$04$in + -1 | 0;
$22 = HEAP32[$l3ptr + ($13 << 6) + ($ib$04$in << 2) >> 2] | 0;
$23 = $22 + 4 | 0;
$24 = HEAP32[$23 >> 2] | 0;
if (($9 | 0) != ($24 | 0)) {
$31 = (HEAP32[$22 >> 2] << 12 | $24 >>> 20) ^ $11;
$33 = HEAP32[175] | 0;
HEAP32[176194240 + ($33 << 3) >> 2] = HEAP32[$20 >> 2];
HEAP32[176194240 + ($33 << 3) + 4 >> 2] = HEAP32[$22 + 8 >> 2];
$39 = $31 >>> 8 & 4095;
$40 = 704 + ($39 << 2) | 0;
$41 = HEAP32[$40 >> 2] | 0;
HEAP32[$40 >> 2] = $41 + 1;
$44 = 17088 + ($39 * 21504 | 0) + ($41 << 1 << 2) | 0;
HEAP32[$44 >> 2] = HEAP32[$23 >> 2] ^ $9;
HEAP32[175] = $33 + 1;
HEAP32[$44 + 4 >> 2] = $33;
}
} while (($ib$04$in$looptemp | 0) > 1);
}
} while (($ia$06$in$looptemp | 0) > 1);
}
$i1$08 = $i1$08 + 1 | 0;
} while (($i1$08 | 0) != 4096);
STACKTOP = sp;
return;
}
function _tree_restore($step, $sol, $idx) {
$step = $step | 0;
$sol = $sol | 0;
$idx = $idx | 0;
var $$0 = 0, $$pre = 0, $0 = 0, $1 = 0, $19 = 0, $24 = 0, $28 = 0, $31 = 0, $34 = 0, $8 = 0, $i$07$us = 0, $j$05$us = 0, label = 0;
$0 = $step + -1 | 0;
$1 = 1 << $0;
if (!$step) {
HEAP32[$sol >> 2] = ~$idx;
$$0 = 1;
return $$0 | 0;
}
if (!(_tree_restore($0, $sol, HEAP32[176194240 + ($idx << 3) >> 2] | 0) | 0)) {
$$0 = 0;
return $$0 | 0;
}
$8 = $sol + ($1 << 2) | 0;
if (!(_tree_restore($0, $8, HEAP32[176194240 + ($idx << 3) + 4 >> 2] | 0) | 0)) {
$$0 = 0;
return $$0 | 0;
}
if (($0 | 0) == 31) {
$$0 = 1;
return $$0 | 0;
} else $i$07$us = 0;
L13 : do {
$19 = HEAP32[$sol + ($i$07$us << 2) >> 2] | 0;
$j$05$us = 0;
do {
if (($19 | 0) == (HEAP32[$sol + ($j$05$us + $1 << 2) >> 2] | 0)) {
$$0 = 0;
label = 13;
break L13;
}
$j$05$us = $j$05$us + 1 | 0;
} while (($j$05$us | 0) < ($1 | 0));
$i$07$us = $i$07$us + 1 | 0;
} while (($i$07$us | 0) < ($1 | 0));
if ((label | 0) == 13) return $$0 | 0;
$24 = HEAP32[$sol >> 2] | 0;
if (!(($0 | 0) != 31 ? $24 >>> 0 > (HEAP32[$8 >> 2] | 0) >>> 0 : 0)) {
$$0 = 1;
return $$0 | 0;
}
$28 = $sol + ($1 << 2) | 0;
HEAP32[$sol >> 2] = HEAP32[$28 >> 2];
HEAP32[$28 >> 2] = $24;
if (($1 | 0) > 1) $31 = 1; else {
$$0 = 1;
return $$0 | 0;
}
do {
$$pre = HEAP32[$sol + ($31 << 2) >> 2] | 0;
$34 = $sol + ($31 + $1 << 2) | 0;
HEAP32[$sol + ($31 << 2) >> 2] = HEAP32[$34 >> 2];
HEAP32[$34 >> 2] = $$pre;
$31 = $31 + 1 | 0;
} while (($31 | 0) < ($1 | 0));
$$0 = 1;
return $$0 | 0;
}
function _sha256_transf($ctx, $message, $block_nb) {
$ctx = $ctx | 0;
$message = $message | 0;
$block_nb = $block_nb | 0;
var $$lcssa = 0, $$lcssa58 = 0, $$lcssa59 = 0, $$lcssa60 = 0, $$lcssa61 = 0, $$lcssa62 = 0, $$lcssa63 = 0, $$lcssa64 = 0, $1 = 0, $10 = 0, $101 = 0, $101$phi = 0, $104 = 0, $11 = 0, $111 = 0, $114 = 0, $116 = 0, $12 = 0, $128 = 0, $128$phi = 0, $129 = 0, $13 = 0, $133 = 0, $134 = 0, $136 = 0, $14 = 0, $16 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $66 = 0, $7 = 0, $8 = 0, $89 = 0, $9 = 0, $i$09 = 0, $j$04 = 0, $j$15 = 0, $j$37 = 0, $scevgep = 0, $w = 0, $wv = 0, sp = 0, $66$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 288 | 0;
$w = sp + 32 | 0;
$wv = sp;
if (($block_nb | 0) <= 0) {
STACKTOP = sp;
return;
}
$1 = $wv + 28 | 0;
$2 = $wv + 16 | 0;
$3 = $wv + 20 | 0;
$4 = $wv + 24 | 0;
$5 = $wv + 4 | 0;
$6 = $wv + 8 | 0;
$7 = $wv + 12 | 0;
$scevgep = $ctx + 136 | 0;
$8 = $ctx + 140 | 0;
$9 = $ctx + 144 | 0;
$10 = $ctx + 148 | 0;
$11 = $ctx + 152 | 0;
$12 = $ctx + 156 | 0;
$13 = $ctx + 160 | 0;
$14 = $ctx + 164 | 0;
$i$09 = 0;
do {
$16 = $message + ($i$09 << 6) | 0;
$j$04 = 0;
do {
$18 = $16 + ($j$04 << 2) | 0;
HEAP32[$w + ($j$04 << 2) >> 2] = (HEAPU8[$18 + 2 >> 0] | 0) << 8 | (HEAPU8[$18 + 3 >> 0] | 0) | (HEAPU8[$18 + 1 >> 0] | 0) << 16 | (HEAPU8[$18 >> 0] | 0) << 24;
$j$04 = $j$04 + 1 | 0;
} while (($j$04 | 0) != 16);
$66 = HEAP32[$w >> 2] | 0;
$j$15 = 16;
do {
$40 = HEAP32[$w + ($j$15 + -2 << 2) >> 2] | 0;
$66$looptemp = $66;
$66 = HEAP32[$w + ($j$15 + -15 << 2) >> 2] | 0;
HEAP32[$w + ($j$15 << 2) >> 2] = $66$looptemp + (HEAP32[$w + ($j$15 + -7 << 2) >> 2] | 0) + (($40 >>> 19 | $40 << 13) ^ $40 >>> 10 ^ ($40 >>> 17 | $40 << 15)) + (($66 >>> 18 | $66 << 14) ^ $66 >>> 3 ^ ($66 >>> 7 | $66 << 25));
$j$15 = $j$15 + 1 | 0;
} while (($j$15 | 0) != 64);
HEAP32[$wv >> 2] = HEAP32[$scevgep >> 2];
HEAP32[$wv + 4 >> 2] = HEAP32[$scevgep + 4 >> 2];
HEAP32[$wv + 8 >> 2] = HEAP32[$scevgep + 8 >> 2];
HEAP32[$wv + 12 >> 2] = HEAP32[$scevgep + 12 >> 2];
HEAP32[$wv + 16 >> 2] = HEAP32[$scevgep + 16 >> 2];
HEAP32[$wv + 20 >> 2] = HEAP32[$scevgep + 20 >> 2];
HEAP32[$wv + 24 >> 2] = HEAP32[$scevgep + 24 >> 2];
HEAP32[$wv + 28 >> 2] = HEAP32[$scevgep + 28 >> 2];
$101 = HEAP32[$3 >> 2] | 0;
$104 = HEAP32[$4 >> 2] | 0;
$111 = HEAP32[$1 >> 2] | 0;
$116 = HEAP32[$wv >> 2] | 0;
$128 = HEAP32[$5 >> 2] | 0;
$129 = HEAP32[$6 >> 2] | 0;
$134 = HEAP32[$7 >> 2] | 0;
$89 = HEAP32[$2 >> 2] | 0;
$j$37 = 0;
while (1) {
$114 = (HEAP32[104 + ($j$37 << 2) >> 2] | 0) + $111 + (($89 >>> 6 | $89 << 26) ^ ($89 >>> 11 | $89 << 21) ^ ($89 >>> 25 | $89 << 7)) + ($104 & ~$89 ^ $101 & $89) + (HEAP32[$w + ($j$37 << 2) >> 2] | 0) | 0;
$133 = $134 + $114 | 0;
$136 = (($116 >>> 2 | $116 << 30) ^ ($116 >>> 13 | $116 << 19) ^ ($116 >>> 22 | $116 << 10)) + $114 + (($129 ^ $128) & $116 ^ $129 & $128) | 0;
$j$37 = $j$37 + 1 | 0;
if (($j$37 | 0) == 64) {
$$lcssa = $129;
$$lcssa58 = $128;
$$lcssa59 = $116;
$$lcssa60 = $104;
$$lcssa61 = $101;
$$lcssa62 = $89;
$$lcssa63 = $133;
$$lcssa64 = $136;
break;
} else {
$128$phi = $116;
$101$phi = $89;
$116 = $136;
$89 = $133;
$134 = $129;
$129 = $128;
$128 = $128$phi;
$111 = $104;
$104 = $101;
$101 = $101$phi;
}
}
HEAP32[$1 >> 2] = $$lcssa60;
HEAP32[$2 >> 2] = $$lcssa63;
HEAP32[$3 >> 2] = $$lcssa62;
HEAP32[$4 >> 2] = $$lcssa61;
HEAP32[$wv >> 2] = $$lcssa64;
HEAP32[$5 >> 2] = $$lcssa59;
HEAP32[$6 >> 2] = $$lcssa58;
HEAP32[$7 >> 2] = $$lcssa;
HEAP32[$scevgep >> 2] = (HEAP32[$scevgep >> 2] | 0) + $$lcssa64;
HEAP32[$8 >> 2] = (HEAP32[$8 >> 2] | 0) + $$lcssa59;
HEAP32[$9 >> 2] = (HEAP32[$9 >> 2] | 0) + $$lcssa58;
HEAP32[$10 >> 2] = (HEAP32[$10 >> 2] | 0) + $$lcssa;
HEAP32[$11 >> 2] = (HEAP32[$11 >> 2] | 0) + $$lcssa63;
HEAP32[$12 >> 2] = (HEAP32[$12 >> 2] | 0) + $$lcssa62;
HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + $$lcssa61;
HEAP32[$14 >> 2] = (HEAP32[$14 >> 2] | 0) + $$lcssa60;
$i$09 = $i$09 + 1 | 0;
} while (($i$09 | 0) != ($block_nb | 0));
STACKTOP = sp;
return;
}
function _sha256_final($ctx, $digest) {
$ctx = $ctx | 0;
$digest = $digest | 0;
var $0 = 0, $1 = 0, $105 = 0, $121 = 0, $137 = 0, $15 = 0, $26 = 0, $4 = 0, $41 = 0, $57 = 0, $6 = 0, $73 = 0, $8 = 0, $89 = 0;
$0 = $ctx + 4 | 0;
$1 = HEAP32[$0 >> 2] | 0;
$4 = ($1 & 56) >>> 0 > 55 ? 2 : 1;
$6 = (HEAP32[$ctx >> 2] | 0) + $1 | 0;
$8 = $4 << 6;
_memset($ctx + 8 + $1 | 0, 0, $8 - $1 | 0) | 0;
HEAP8[(HEAP32[$0 >> 2] | 0) + ($ctx + 8) >> 0] = -128;
$15 = $ctx + 8 + $8 | 0;
HEAP8[$15 + -1 >> 0] = $6 << 3;
HEAP8[$15 + -2 >> 0] = $6 >>> 5;
HEAP8[$15 + -3 >> 0] = $6 >>> 13;
HEAP8[$15 + -4 >> 0] = $6 >>> 21;
_sha256_transf($ctx, $ctx + 8 | 0, $4);
$26 = $ctx + 136 | 0;
HEAP8[$digest + 3 >> 0] = HEAP32[$26 >> 2];
HEAP8[$digest + 2 >> 0] = (HEAP32[$26 >> 2] | 0) >>> 8;
HEAP8[$digest + 1 >> 0] = (HEAP32[$26 >> 2] | 0) >>> 16;
HEAP8[$digest >> 0] = (HEAP32[$26 >> 2] | 0) >>> 24;
$41 = $ctx + 140 | 0;
HEAP8[$digest + 7 >> 0] = HEAP32[$41 >> 2];
HEAP8[$digest + 6 >> 0] = (HEAP32[$41 >> 2] | 0) >>> 8;
HEAP8[$digest + 5 >> 0] = (HEAP32[$41 >> 2] | 0) >>> 16;
HEAP8[$digest + 4 >> 0] = (HEAP32[$41 >> 2] | 0) >>> 24;
$57 = $ctx + 144 | 0;
HEAP8[$digest + 11 >> 0] = HEAP32[$57 >> 2];
HEAP8[$digest + 10 >> 0] = (HEAP32[$57 >> 2] | 0) >>> 8;
HEAP8[$digest + 9 >> 0] = (HEAP32[$57 >> 2] | 0) >>> 16;
HEAP8[$digest + 8 >> 0] = (HEAP32[$57 >> 2] | 0) >>> 24;
$73 = $ctx + 148 | 0;
HEAP8[$digest + 15 >> 0] = HEAP32[$73 >> 2];
HEAP8[$digest + 14 >> 0] = (HEAP32[$73 >> 2] | 0) >>> 8;
HEAP8[$digest + 13 >> 0] = (HEAP32[$73 >> 2] | 0) >>> 16;
HEAP8[$digest + 12 >> 0] = (HEAP32[$73 >> 2] | 0) >>> 24;
$89 = $ctx + 152 | 0;
HEAP8[$digest + 19 >> 0] = HEAP32[$89 >> 2];
HEAP8[$digest + 18 >> 0] = (HEAP32[$89 >> 2] | 0) >>> 8;
HEAP8[$digest + 17 >> 0] = (HEAP32[$89 >> 2] | 0) >>> 16;
HEAP8[$digest + 16 >> 0] = (HEAP32[$89 >> 2] | 0) >>> 24;
$105 = $ctx + 156 | 0;
HEAP8[$digest + 23 >> 0] = HEAP32[$105 >> 2];
HEAP8[$digest + 22 >> 0] = (HEAP32[$105 >> 2] | 0) >>> 8;
HEAP8[$digest + 21 >> 0] = (HEAP32[$105 >> 2] | 0) >>> 16;
HEAP8[$digest + 20 >> 0] = (HEAP32[$105 >> 2] | 0) >>> 24;
$121 = $ctx + 160 | 0;
HEAP8[$digest + 27 >> 0] = HEAP32[$121 >> 2];
HEAP8[$digest + 26 >> 0] = (HEAP32[$121 >> 2] | 0) >>> 8;
HEAP8[$digest + 25 >> 0] = (HEAP32[$121 >> 2] | 0) >>> 16;
HEAP8[$digest + 24 >> 0] = (HEAP32[$121 >> 2] | 0) >>> 24;
$137 = $ctx + 164 | 0;
HEAP8[$digest + 31 >> 0] = HEAP32[$137 >> 2];
HEAP8[$digest + 30 >> 0] = (HEAP32[$137 >> 2] | 0) >>> 8;
HEAP8[$digest + 29 >> 0] = (HEAP32[$137 >> 2] | 0) >>> 16;
HEAP8[$digest + 28 >> 0] = (HEAP32[$137 >> 2] | 0) >>> 24;
return;
}
function _sha256($message, $len, $digest) {
$message = $message | 0;
$len = $len | 0;
$digest = $digest | 0;
var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ctx = 0, $scevgep$i = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 176 | 0;
$ctx = sp;
$scevgep$i = $ctx + 136 | 0;
HEAP32[$scevgep$i >> 2] = HEAP32[18];
HEAP32[$scevgep$i + 4 >> 2] = HEAP32[19];
HEAP32[$scevgep$i + 8 >> 2] = HEAP32[20];
HEAP32[$scevgep$i + 12 >> 2] = HEAP32[21];
HEAP32[$scevgep$i + 16 >> 2] = HEAP32[22];
HEAP32[$scevgep$i + 20 >> 2] = HEAP32[23];
HEAP32[$scevgep$i + 24 >> 2] = HEAP32[24];
HEAP32[$scevgep$i + 28 >> 2] = HEAP32[25];
$0 = $ctx + 4 | 0;
HEAP32[$0 >> 2] = 0;
HEAP32[$ctx >> 2] = 0;
$1 = $len >>> 0 < 64;
$2 = $1 ? $len : 64;
$3 = $ctx + 8 | 0;
_memcpy($3 | 0, $message | 0, $2 | 0) | 0;
if ($1) {
HEAP32[$0 >> 2] = $len;
_sha256_final($ctx, $digest);
STACKTOP = sp;
return;
} else {
$4 = $len - $2 | 0;
$5 = $4 >>> 6;
$6 = $message + $2 | 0;
_sha256_transf($ctx, $3, 1);
_sha256_transf($ctx, $6, $5);
$7 = $4 & 63;
$8 = $5 << 6;
_memcpy($3 | 0, $6 + $8 | 0, $7 | 0) | 0;
HEAP32[$0 >> 2] = $7;
HEAP32[$ctx >> 2] = $8 + 64 + (HEAP32[$ctx >> 2] | 0);
_sha256_final($ctx, $digest);
STACKTOP = sp;
return;
}
}
function _solution() {
var $diff$i = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32 | 0;
$diff$i = sp;
_sha256(343966944, 1487, $diff$i);
_sha256($diff$i, 32, $diff$i);
_puts(676) | 0;
STACKTOP = sp;
return 0;
}
function _genstep9() {
var $1 = 0, $10 = 0, $12 = 0, $15 = 0, $17 = 0, $23 = 0, $30 = 0, $47 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $i$01$i = 0, $i1$08 = 0, $ia$06$in = 0, $ib$04$in = 0, $l3cnt = 0, $l3ptr = 0, $sol$i = 0, label = 0, sp = 0, $ib$04$in$looptemp = 0, $ia$06$in$looptemp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 18688 | 0;
$sol$i = sp + 16384 | 0;
$l3cnt = sp + 18432 | 0;
$l3ptr = sp;
_memset(88097472, 0, 16384) | 0;
$i1$08 = 0;
L1 : while (1) {
_memset($l3cnt | 0, 0, 256) | 0;
$1 = HEAP32[704 + ($i1$08 << 2) >> 2] | 0;
if (($1 | 0) > 0) {
$ia$06$in = $1;
do {
$ia$06$in$looptemp = $ia$06$in;
$ia$06$in = $ia$06$in + -1 | 0;
$5 = 17088 + ($i1$08 * 21504 | 0) + ($ia$06$in << 1 << 2) | 0;
$6 = HEAP32[$5 >> 2] | 0;
$8 = $6 >>> 20 & 255;
$9 = $l3cnt + $8 | 0;
$10 = HEAP8[$9 >> 0] | 0;
HEAP8[$9 >> 0] = $10 + 1 << 24 >> 24;
$12 = $10 & 255;
HEAP32[$l3ptr + ($8 << 6) + ($12 << 2) >> 2] = $5;
if ($10 << 24 >> 24) {
$15 = $5 + 4 | 0;
$ib$04$in = $12;
do {
$ib$04$in$looptemp = $ib$04$in;
$ib$04$in = $ib$04$in + -1 | 0;
$17 = HEAP32[$l3ptr + ($8 << 6) + ($ib$04$in << 2) >> 2] | 0;
do if (!((HEAP32[$17 >> 2] ^ $6) & 1048575)) {
$23 = HEAP32[175] | 0;
HEAP32[176194240 + ($23 << 3) >> 2] = HEAP32[$15 >> 2];
HEAP32[176194240 + ($23 << 3) + 4 >> 2] = HEAP32[$17 + 4 >> 2];
if (!(_tree_restore(9, $sol$i, $23) | 0)) break;
$30 = HEAP32[174] | 0;
HEAP8[$30 + 140 >> 0] = -3;
HEAP8[$30 + 141 >> 0] = 64;
HEAP8[$30 + 142 >> 0] = 5;
_memset($30 + 143 | 0, 0, 1344) | 0;
$i$01$i = 0;
do {
if (1 << 20 - (($i$01$i | 0) % 21 | 0) & HEAP32[$sol$i + ((($i$01$i | 0) / 21 | 0) << 2) >> 2] | 0) {
$47 = (($i$01$i | 0) / 8 | 0) + ($30 + 143) | 0;
HEAP8[$47 >> 0] = HEAPU8[$47 >> 0] | 0 | 1 << 7 - (($i$01$i | 0) % 8 | 0);
}
$i$01$i = $i$01$i + 1 | 0;
} while (($i$01$i | 0) != 10752);
if (_solution() | 0) {
label = 16;
break L1;
}
} while (0);
} while (($ib$04$in$looptemp | 0) > 1);
}
} while (($ia$06$in$looptemp | 0) > 1);
}
$i1$08 = $i1$08 + 1 | 0;
if (($i1$08 | 0) >= 4096) {
label = 16;
break;
}
}
if ((label | 0) == 16) {
STACKTOP = sp;
return;
}
}
function _step($step) {
$step = $step | 0;
do switch ($step | 0) {
case 1:
{
_genstep1();
break;
}
case 2:
{
_genstep2();
break;
}
case 3:
{
_genstep3();
break;
}
case 4:
{
_genstep4();
break;
}
case 5:
{
_genstep5();
break;
}
case 6:
{
_genstep6();
break;
}
case 7:
{
_genstep7();
break;
}
case 8:
{
_genstep8();
break;
}
case 9:
{
_genstep9();
break;
}
default:
{
_puts(672) | 0;
_exit(1);
}
} while (0);
return;
}
function _main() {
var $b$02 = 0;
_memset(343966944, 0, 1487) | 0;
$b$02 = 0;
do {
_puts(682) | 0;
HEAP8[343967052] = $b$02;
_step0(343966944);
_puts(686) | 0;
_step(1);
_puts(686) | 0;
_step(2);
_puts(686) | 0;
_step(3);
_puts(686) | 0;
_step(4);
_puts(686) | 0;
_step(5);
_puts(686) | 0;
_step(6);
_puts(686) | 0;
_step(7);
_puts(686) | 0;
_step(8);
_puts(686) | 0;
_step(9);
$b$02 = $b$02 + 1 | 0;
} while (($b$02 | 0) != 10);
return 0;
}
return { _main: _main };
});
var main = asm(global, lib, buffer)._main;
console.log(new Date());
main();
console.log(new Date());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment