You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
reagent_manage/vue/public/static/js/pngquant.js

74940 lines
2.3 MiB

/**
* Facade for pngquant lib which handles mounting of input file and exposing output file
* @param {object} file Arraybuffer of image data[png]
* @param {object} options command line options to be passed to pngquant exec
* @param {function} printF Custom print function to handle stdout logs
* @return {object} Object containing processed png image data in `data` key
*/
function pngquant(file, options, printF) {
/* Wrapper around pngquant exec */
// This is to handle the case when we call the function without any argument in order to save it
// from google clojure compiler which removes this :p
if(typeof file === 'undefined')
return;
var stdout = "";
var stderr = "";
/* Default arguments to append -new.png to input file name */
var args = ['--ext','-new.png'];
/* Create command line options to passed using input `options` object */
for (var key in options) {
if (!options.hasOwnProperty(key)) continue;
/* Prepend -- to option key name */
if (options[key]) {
args.push("--" + key);
args.push(options[key]);
}
}
/**
* We'll mount input file at MEMFS at input.png to ease up the things since
* only 1 image will be processed at a time
*/
args.push("/input.png");
/* Creating top level module which will be used by pngqauntjs */
var Module = {
"print": printF,
"printErr": printF,
/* Mounting input file at input.png at root location */
"preRun": [function() {
FS.writeFile("/input.png", file, {
encoding: "binary"
});
}],
"arguments": args,
"ENVIRONMENT": "SHELL" // maximum compatibility?
};
// The Module object: Our interface to the outside world. We import
// and export values on it, and do the work to get that through
// closure compiler if necessary. There are various ways Module can be used:
// 1. Not defined. We create it here
// 2. A function parameter, function(Module) { ..generated code.. }
// 3. pre-run appended it, var Module = {}; ..generated code..
// 4. External script tag defines var Module.
// We need to do an eval in order to handle the closure compiler
// case, where this code here is minified but Module was defined
// elsewhere (e.g. case 4 above). We also need to check if Module
// already exists (e.g. case 3 above).
// Note that if you want to run closure, and also to use Module
// after the generated code, you will need to define var Module = {};
// before the code. Then that object will be used in the code, and you
// can continue to use Module afterwards as well.
var Module;
if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {};
// Sometimes an existing Module object exists with properties
// meant to overwrite the default module functionality. Here
// we collect those properties and reapply _after_ we configure
// the current environment's defaults to avoid having to be so
// defensive during initialization.
var moduleOverrides = {};
for (var key in Module) {
if (Module.hasOwnProperty(key)) {
moduleOverrides[key] = Module[key];
}
}
// The environment setup code below is customized to use Module.
// *** Environment setup code ***
var ENVIRONMENT_IS_WEB = false;
var ENVIRONMENT_IS_WORKER = false;
var ENVIRONMENT_IS_NODE = false;
var ENVIRONMENT_IS_SHELL = false;
// Three configurations we can be running in:
// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
if (Module['ENVIRONMENT']) {
if (Module['ENVIRONMENT'] === 'WEB') {
ENVIRONMENT_IS_WEB = true;
} else if (Module['ENVIRONMENT'] === 'WORKER') {
ENVIRONMENT_IS_WORKER = true;
} else if (Module['ENVIRONMENT'] === 'NODE') {
ENVIRONMENT_IS_NODE = true;
} else if (Module['ENVIRONMENT'] === 'SHELL') {
ENVIRONMENT_IS_SHELL = true;
} else {
throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.');
}
} else {
ENVIRONMENT_IS_WEB = typeof window === 'object';
ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
}
if (ENVIRONMENT_IS_NODE) {
// Expose functionality in the same simple way that the shells work
// Note that we pollute the global namespace here, otherwise we break in node
if (!Module['print']) Module['print'] = console.log;
if (!Module['printErr']) Module['printErr'] = console.warn;
var nodeFS;
var nodePath;
Module['read'] = function read(filename, binary) {
if (!nodeFS) nodeFS = require('fs');
if (!nodePath) nodePath = require('path');
filename = nodePath['normalize'](filename);
var ret = nodeFS['readFileSync'](filename);
return binary ? ret : ret.toString();
};
Module['readBinary'] = function readBinary(filename) {
var ret = Module['read'](filename, true);
if (!ret.buffer) {
ret = new Uint8Array(ret);
}
assert(ret.buffer);
return ret;
};
Module['load'] = function load(f) {
globalEval(read(f));
};
if (!Module['thisProgram']) {
if (process['argv'].length > 1) {
Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
} else {
Module['thisProgram'] = 'unknown-program';
}
}
Module['arguments'] = process['argv'].slice(2);
if (typeof module !== 'undefined') {
module['exports'] = Module;
}
process['on']('uncaughtException', function(ex) {
// suppress ExitStatus exceptions from showing an error
if (!(ex instanceof ExitStatus)) {
throw ex;
}
});
Module['inspect'] = function () { return '[Emscripten Module object]'; };
}
else if (ENVIRONMENT_IS_SHELL) {
if (!Module['print']) Module['print'] = print;
if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
if (typeof read != 'undefined') {
Module['read'] = read;
} else {
Module['read'] = function read() { throw 'no read() available' };
}
Module['readBinary'] = function readBinary(f) {
if (typeof readbuffer === 'function') {
return new Uint8Array(readbuffer(f));
}
var data = read(f, 'binary');
assert(typeof data === 'object');
return data;
};
if (typeof scriptArgs != 'undefined') {
Module['arguments'] = scriptArgs;
} else if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
}
else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
Module['read'] = function read(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
return xhr.responseText;
};
Module['readAsync'] = function readAsync(url, onload, onerror) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function xhr_onload() {
if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
onload(xhr.response);
} else {
onerror();
}
};
xhr.onerror = onerror;
xhr.send(null);
};
if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
if (typeof console !== 'undefined') {
if (!Module['print']) Module['print'] = function print(x) {
console.log(x);
};
if (!Module['printErr']) Module['printErr'] = function printErr(x) {
console.warn(x);
};
} else {
// Probably a worker, and without console.log. We can do very little here...
var TRY_USE_DUMP = false;
if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
dump(x);
}) : (function(x) {
// self.postMessage(x); // enable this if you want stdout to be sent as messages
}));
}
if (ENVIRONMENT_IS_WORKER) {
Module['load'] = importScripts;
}
if (typeof Module['setWindowTitle'] === 'undefined') {
Module['setWindowTitle'] = function(title) { document.title = title };
}
}
else {
// Unreachable because SHELL is dependant on the others
throw 'Unknown runtime environment. Where are we?';
}
function globalEval(x) {
eval.call(null, x);
}
if (!Module['load'] && Module['read']) {
Module['load'] = function load(f) {
globalEval(Module['read'](f));
};
}
if (!Module['print']) {
Module['print'] = function(){};
}
if (!Module['printErr']) {
Module['printErr'] = Module['print'];
}
if (!Module['arguments']) {
Module['arguments'] = [];
}
if (!Module['thisProgram']) {
Module['thisProgram'] = './this.program';
}
// *** Environment setup code ***
// Closure helpers
Module.print = Module['print'];
Module.printErr = Module['printErr'];
// Callbacks
Module['preRun'] = [];
Module['postRun'] = [];
// Merge back in the overrides
for (var key in moduleOverrides) {
if (moduleOverrides.hasOwnProperty(key)) {
Module[key] = moduleOverrides[key];
}
}
// Free the object hierarchy contained in the overrides, this lets the GC
// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
moduleOverrides = undefined;
// {{PREAMBLE_ADDITIONS}}
// === Preamble library stuff ===
// Documentation for the public APIs defined in this file must be updated in:
// site/source/docs/api_reference/preamble.js.rst
// A prebuilt local version of the documentation is available at:
// site/build/text/docs/api_reference/preamble.js.txt
// You can also build docs locally as HTML or other formats in site/
// An online HTML version (which may be of a different version of Emscripten)
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
//========================================
// Runtime code shared with compiler
//========================================
var Runtime = {
setTempRet0: function (value) {
tempRet0 = value;
},
getTempRet0: function () {
return tempRet0;
},
stackSave: function () {
return STACKTOP;
},
stackRestore: function (stackTop) {
STACKTOP = stackTop;
},
getNativeTypeSize: function (type) {
switch (type) {
case 'i1': case 'i8': return 1;
case 'i16': return 2;
case 'i32': return 4;
case 'i64': return 8;
case 'float': return 4;
case 'double': return 8;
default: {
if (type[type.length-1] === '*') {
return Runtime.QUANTUM_SIZE; // A pointer
} else if (type[0] === 'i') {
var bits = parseInt(type.substr(1));
assert(bits % 8 === 0);
return bits/8;
} else {
return 0;
}
}
}
},
getNativeFieldSize: function (type) {
return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
},
STACK_ALIGN: 16,
prepVararg: function (ptr, type) {
if (type === 'double' || type === 'i64') {
// move so the load is aligned
if (ptr & 7) {
assert((ptr & 7) === 4);
ptr += 4;
}
} else {
assert((ptr & 3) === 0);
}
return ptr;
},
getAlignSize: function (type, size, vararg) {
// we align i64s and doubles on 64-bit boundaries, unlike x86
if (!vararg && (type == 'i64' || type == 'double')) return 8;
if (!type) return Math.min(size, 8); // align structures internally to 64 bits
return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE);
},
dynCall: function (sig, ptr, args) {
if (args && args.length) {
assert(args.length == sig.length-1);
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
return Module['dynCall_' + sig].apply(null, [ptr].concat(args));
} else {
assert(sig.length == 1);
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
return Module['dynCall_' + sig].call(null, ptr);
}
},
functionPointers: [],
addFunction: function (func) {
for (var i = 0; i < Runtime.functionPointers.length; i++) {
if (!Runtime.functionPointers[i]) {
Runtime.functionPointers[i] = func;
return 2*(1 + i);
}
}
throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
},
removeFunction: function (index) {
Runtime.functionPointers[(index-2)/2] = null;
},
warnOnce: function (text) {
if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
if (!Runtime.warnOnce.shown[text]) {
Runtime.warnOnce.shown[text] = 1;
Module.printErr(text);
}
},
funcWrappers: {},
getFuncWrapper: function (func, sig) {
assert(sig);
if (!Runtime.funcWrappers[sig]) {
Runtime.funcWrappers[sig] = {};
}
var sigCache = Runtime.funcWrappers[sig];
if (!sigCache[func]) {
// optimize away arguments usage in common cases
if (sig.length === 1) {
sigCache[func] = function dynCall_wrapper() {
return Runtime.dynCall(sig, func);
};
} else if (sig.length === 2) {
sigCache[func] = function dynCall_wrapper(arg) {
return Runtime.dynCall(sig, func, [arg]);
};
} else {
// general case
sigCache[func] = function dynCall_wrapper() {
return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments));
};
}
}
return sigCache[func];
},
getCompilerSetting: function (name) {
throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work';
},
stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; },
staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; },
dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;},
alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; },
makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; },
GLOBAL_BASE: 8,
QUANTUM_SIZE: 4,
__dummy__: 0
}
Module["Runtime"] = Runtime;
//========================================
// Runtime essentials
//========================================
var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort()
var EXITSTATUS = 0;
function assert(condition, text) {
if (!condition) {
abort('Assertion failed: ' + text);
}
}
var globalScope = this;
// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
function getCFunc(ident) {
var func = Module['_' + ident]; // closure exported function
if (!func) {
try { func = eval('_' + ident); } catch(e) {}
}
assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
return func;
}
var cwrap, ccall;
(function(){
var JSfuncs = {
// Helpers for cwrap -- it can't refer to Runtime directly because it might
// be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
// out what the minified function name is.
'stackSave': function() {
Runtime.stackSave()
},
'stackRestore': function() {
Runtime.stackRestore()
},
// type conversion from js to c
'arrayToC' : function(arr) {
var ret = Runtime.stackAlloc(arr.length);
writeArrayToMemory(arr, ret);
return ret;
},
'stringToC' : function(str) {
var ret = 0;
if (str !== null && str !== undefined && str !== 0) { // null string
// at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
var len = (str.length << 2) + 1;
ret = Runtime.stackAlloc(len);
stringToUTF8(str, ret, len);
}
return ret;
}
};
// For fast lookup of conversion functions
var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']};
// C calling interface.
ccall = function ccallFunc(ident, returnType, argTypes, args, opts) {
var func = getCFunc(ident);
var cArgs = [];
var stack = 0;
assert(returnType !== 'array', 'Return type should not be "array".');
if (args) {
for (var i = 0; i < args.length; i++) {
var converter = toC[argTypes[i]];
if (converter) {
if (stack === 0) stack = Runtime.stackSave();
cArgs[i] = converter(args[i]);
} else {
cArgs[i] = args[i];
}
}
}
var ret = func.apply(null, cArgs);
if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') {
assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall');
}
if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values');
if (returnType === 'string') ret = Pointer_stringify(ret);
if (stack !== 0) {
if (opts && opts.async) {
EmterpreterAsync.asyncFinalizers.push(function() {
Runtime.stackRestore(stack);
});
return;
}
Runtime.stackRestore(stack);
}
return ret;
}
var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;
function parseJSFunc(jsfunc) {
// Match the body and the return value of a javascript function source
var parsed = jsfunc.toString().match(sourceRegex).slice(1);
return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]}
}
// sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file
var JSsource = null;
function ensureJSsource() {
if (!JSsource) {
JSsource = {};
for (var fun in JSfuncs) {
if (JSfuncs.hasOwnProperty(fun)) {
// Elements of toCsource are arrays of three items:
// the code, and the return value
JSsource[fun] = parseJSFunc(JSfuncs[fun]);
}
}
}
}
cwrap = function cwrap(ident, returnType, argTypes) {
argTypes = argTypes || [];
var cfunc = getCFunc(ident);
// When the function takes numbers and returns a number, we can just return
// the original function
var numericArgs = argTypes.every(function(type){ return type === 'number'});
var numericRet = (returnType !== 'string');
if ( numericRet && numericArgs) {
return cfunc;
}
// Creation of the arguments list (["$1","$2",...,"$nargs"])
var argNames = argTypes.map(function(x,i){return '$'+i});
var funcstr = "(function(" + argNames.join(',') + ") {";
var nargs = argTypes.length;
if (!numericArgs) {
// Generate the code needed to convert the arguments from javascript
// values to pointers
ensureJSsource();
funcstr += 'var stack = ' + JSsource['stackSave'].body + ';';
for (var i = 0; i < nargs; i++) {
var arg = argNames[i], type = argTypes[i];
if (type === 'number') continue;
var convertCode = JSsource[type + 'ToC']; // [code, return]
funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';';
funcstr += convertCode.body + ';';
funcstr += arg + '=(' + convertCode.returnValue + ');';
}
}
// When the code is compressed, the name of cfunc is not literally 'cfunc' anymore
var cfuncname = parseJSFunc(function(){return cfunc}).returnValue;
// Call the function
funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');';
if (!numericRet) { // Return type can only by 'string' or 'number'
// Convert the result to a string
var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue;
funcstr += 'ret = ' + strgfy + '(ret);';
}
funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }";
if (!numericArgs) {
// If we had a stack, restore it
ensureJSsource();
funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';';
}
funcstr += 'return ret})';
return eval(funcstr);
};
})();
Module["ccall"] = ccall;
Module["cwrap"] = cwrap;
function setValue(ptr, value, type, noSafe) {
type = type || 'i8';
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': HEAP8[((ptr)>>0)]=value; break;
case 'i8': HEAP8[((ptr)>>0)]=value; break;
case 'i16': HEAP16[((ptr)>>1)]=value; break;
case 'i32': HEAP32[((ptr)>>2)]=value; break;
case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
case 'float': HEAPF32[((ptr)>>2)]=value; break;
case 'double': HEAPF64[((ptr)>>3)]=value; break;
default: abort('invalid type for setValue: ' + type);
}
}
Module["setValue"] = setValue;
function getValue(ptr, type, noSafe) {
type = type || 'i8';
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': return HEAP8[((ptr)>>0)];
case 'i8': return HEAP8[((ptr)>>0)];
case 'i16': return HEAP16[((ptr)>>1)];
case 'i32': return HEAP32[((ptr)>>2)];
case 'i64': return HEAP32[((ptr)>>2)];
case 'float': return HEAPF32[((ptr)>>2)];
case 'double': return HEAPF64[((ptr)>>3)];
default: abort('invalid type for setValue: ' + type);
}
return null;
}
Module["getValue"] = getValue;
var ALLOC_NORMAL = 0; // Tries to use _malloc()
var ALLOC_STACK = 1; // Lives for the duration of the current function call
var ALLOC_STATIC = 2; // Cannot be freed
var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
var ALLOC_NONE = 4; // Do not allocate
Module["ALLOC_NORMAL"] = ALLOC_NORMAL;
Module["ALLOC_STACK"] = ALLOC_STACK;
Module["ALLOC_STATIC"] = ALLOC_STATIC;
Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC;
Module["ALLOC_NONE"] = ALLOC_NONE;
// allocate(): This is for internal use. You can use it yourself as well, but the interface
// is a little tricky (see docs right below). The reason is that it is optimized
// for multiple syntaxes to save space in generated code. So you should
// normally not use allocate(), and instead allocate memory using _malloc(),
// initialize it with setValue(), and so forth.
// @slab: An array of data, or a number. If a number, then the size of the block to allocate,
// in *bytes* (note that this is sometimes confusing: the next parameter does not
// affect this!)
// @types: Either an array of types, one for each byte (or 0 if no type at that position),
// or a single type which is used for the entire block. This only matters if there
// is initial data - if @slab is a number, then this does not matter at all and is
// ignored.
// @allocator: How to allocate memory, see ALLOC_*
function allocate(slab, types, allocator, ptr) {
var zeroinit, size;
if (typeof slab === 'number') {
zeroinit = true;
size = slab;
} else {
zeroinit = false;
size = slab.length;
}
var singleType = typeof types === 'string' ? types : null;
var ret;
if (allocator == ALLOC_NONE) {
ret = ptr;
} else {
ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
}
if (zeroinit) {
var ptr = ret, stop;
assert((ret & 3) == 0);
stop = ret + (size & ~3);
for (; ptr < stop; ptr += 4) {
HEAP32[((ptr)>>2)]=0;
}
stop = ret + size;
while (ptr < stop) {
HEAP8[((ptr++)>>0)]=0;
}
return ret;
}
if (singleType === 'i8') {
if (slab.subarray || slab.slice) {
HEAPU8.set(slab, ret);
} else {
HEAPU8.set(new Uint8Array(slab), ret);
}
return ret;
}
var i = 0, type, typeSize, previousType;
while (i < size) {
var curr = slab[i];
if (typeof curr === 'function') {
curr = Runtime.getFunctionIndex(curr);
}
type = singleType || types[i];
if (type === 0) {
i++;
continue;
}
assert(type, 'Must know what type to store in allocate!');
if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
setValue(ret+i, curr, type);
// no need to look up size unless type changes, so cache it
if (previousType !== type) {
typeSize = Runtime.getNativeTypeSize(type);
previousType = type;
}
i += typeSize;
}
return ret;
}
Module["allocate"] = allocate;
// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready
function getMemory(size) {
if (!staticSealed) return Runtime.staticAlloc(size);
if (!runtimeInitialized) return Runtime.dynamicAlloc(size);
return _malloc(size);
}
Module["getMemory"] = getMemory;
function Pointer_stringify(ptr, /* optional */ length) {
if (length === 0 || !ptr) return '';
// TODO: use TextDecoder
// Find the length, and check for UTF while doing so
var hasUtf = 0;
var t;
var i = 0;
while (1) {
assert(ptr + i < TOTAL_MEMORY);
t = HEAPU8[(((ptr)+(i))>>0)];
hasUtf |= t;
if (t == 0 && !length) break;
i++;
if (length && i == length) break;
}
if (!length) length = i;
var ret = '';
if (hasUtf < 128) {
var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
var curr;
while (length > 0) {
curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
ret = ret ? ret + curr : curr;
ptr += MAX_CHUNK;
length -= MAX_CHUNK;
}
return ret;
}
return Module['UTF8ToString'](ptr);
}
Module["Pointer_stringify"] = Pointer_stringify;
// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function AsciiToString(ptr) {
var str = '';
while (1) {
var ch = HEAP8[((ptr++)>>0)];
if (!ch) return str;
str += String.fromCharCode(ch);
}
}
Module["AsciiToString"] = AsciiToString;
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
function stringToAscii(str, outPtr) {
return writeAsciiToMemory(str, outPtr, false);
}
Module["stringToAscii"] = stringToAscii;
// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
// a copy of that string as a Javascript String object.
var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
function UTF8ArrayToString(u8Array, idx) {
var endPtr = idx;
// TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
// Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
while (u8Array[endPtr]) ++endPtr;
if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
} else {
var u0, u1, u2, u3, u4, u5;
var str = '';
while (1) {
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
u0 = u8Array[idx++];
if (!u0) return str;
if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
u1 = u8Array[idx++] & 63;
if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
u2 = u8Array[idx++] & 63;
if ((u0 & 0xF0) == 0xE0) {
u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
} else {
u3 = u8Array[idx++] & 63;
if ((u0 & 0xF8) == 0xF0) {
u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
} else {
u4 = u8Array[idx++] & 63;
if ((u0 & 0xFC) == 0xF8) {
u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;
} else {
u5 = u8Array[idx++] & 63;
u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;
}
}
}
if (u0 < 0x10000) {
str += String.fromCharCode(u0);
} else {
var ch = u0 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
}
}
}
}
Module["UTF8ArrayToString"] = UTF8ArrayToString;
// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function UTF8ToString(ptr) {
return UTF8ArrayToString(HEAPU8,ptr);
}
Module["UTF8ToString"] = UTF8ToString;
// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.
// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
// outIdx: The starting offset in the array to begin the copying.
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
return 0;
var startIdx = outIdx;
var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
// See http://unicode.org/faq/utf_bom.html#utf16-3
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
var u = str.charCodeAt(i); // possibly a lead surrogate
if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
if (u <= 0x7F) {
if (outIdx >= endIdx) break;
outU8Array[outIdx++] = u;
} else if (u <= 0x7FF) {
if (outIdx + 1 >= endIdx) break;
outU8Array[outIdx++] = 0xC0 | (u >> 6);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0xFFFF) {
if (outIdx + 2 >= endIdx) break;
outU8Array[outIdx++] = 0xE0 | (u >> 12);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0x1FFFFF) {
if (outIdx + 3 >= endIdx) break;
outU8Array[outIdx++] = 0xF0 | (u >> 18);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else if (u <= 0x3FFFFFF) {
if (outIdx + 4 >= endIdx) break;
outU8Array[outIdx++] = 0xF8 | (u >> 24);
outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
} else {
if (outIdx + 5 >= endIdx) break;
outU8Array[outIdx++] = 0xFC | (u >> 30);
outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
outU8Array[outIdx++] = 0x80 | (u & 63);
}
}
// Null-terminate the pointer to the buffer.
outU8Array[outIdx] = 0;
return outIdx - startIdx;
}
Module["stringToUTF8Array"] = stringToUTF8Array;
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.
// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF8(str, outPtr, maxBytesToWrite) {
assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
}
Module["stringToUTF8"] = stringToUTF8;
// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF8(str) {
var len = 0;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var u = str.charCodeAt(i); // possibly a lead surrogate
if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
if (u <= 0x7F) {
++len;
} else if (u <= 0x7FF) {
len += 2;
} else if (u <= 0xFFFF) {
len += 3;
} else if (u <= 0x1FFFFF) {
len += 4;
} else if (u <= 0x3FFFFFF) {
len += 5;
} else {
len += 6;
}
}
return len;
}
Module["lengthBytesUTF8"] = lengthBytesUTF8;
// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
function UTF16ToString(ptr) {
assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
var endPtr = ptr;
// TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
// Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
var idx = endPtr >> 1;
while (HEAP16[idx]) ++idx;
endPtr = idx << 1;
if (endPtr - ptr > 32 && UTF16Decoder) {
return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
} else {
var i = 0;
var str = '';
while (1) {
var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
if (codeUnit == 0) return str;
++i;
// fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
str += String.fromCharCode(codeUnit);
}
}
}
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP.
// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outPtr: Byte address in Emscripten HEAP where to write the string to.
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else.
// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF16(str, outPtr, maxBytesToWrite) {
assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!');
assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
if (maxBytesToWrite === undefined) {
maxBytesToWrite = 0x7FFFFFFF;
}
if (maxBytesToWrite < 2) return 0;
maxBytesToWrite -= 2; // Null terminator.
var startPtr = outPtr;
var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
for (var i = 0; i < numCharsToWrite; ++i) {
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
HEAP16[((outPtr)>>1)]=codeUnit;
outPtr += 2;
}
// Null-terminate the pointer to the HEAP.
HEAP16[((outPtr)>>1)]=0;
return outPtr - startPtr;
}
// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF16(str) {
return str.length*2;
}
function UTF32ToString(ptr) {
assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
var i = 0;
var str = '';
while (1) {
var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
if (utf32 == 0)
return str;
++i;
// Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
// See http://unicode.org/faq/utf_bom.html#utf16-3
if (utf32 >= 0x10000) {
var ch = utf32 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
} else {
str += String.fromCharCode(utf32);
}
}
}
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP.
// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write.
// Parameters:
// str: the Javascript string to copy.
// outPtr: Byte address in Emscripten HEAP where to write the string to.
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else.
// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator.
// Returns the number of bytes written, EXCLUDING the null terminator.
function stringToUTF32(str, outPtr, maxBytesToWrite) {
assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!');
assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
if (maxBytesToWrite === undefined) {
maxBytesToWrite = 0x7FFFFFFF;
}
if (maxBytesToWrite < 4) return 0;
var startPtr = outPtr;
var endPtr = startPtr + maxBytesToWrite - 4;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
var trailSurrogate = str.charCodeAt(++i);
codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
}
HEAP32[((outPtr)>>2)]=codeUnit;
outPtr += 4;
if (outPtr + 4 > endPtr) break;
}
// Null-terminate the pointer to the HEAP.
HEAP32[((outPtr)>>2)]=0;
return outPtr - startPtr;
}
// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
function lengthBytesUTF32(str) {
var len = 0;
for (var i = 0; i < str.length; ++i) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
// See http://unicode.org/faq/utf_bom.html#utf16-3
var codeUnit = str.charCodeAt(i);
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
len += 4;
}
return len;
}
function demangle(func) {
var hasLibcxxabi = !!Module['___cxa_demangle'];
if (hasLibcxxabi) {
try {
var s = func.substr(1);
var len = lengthBytesUTF8(s)+1;
var buf = _malloc(len);
stringToUTF8(s, buf, len);
var status = _malloc(4);
var ret = Module['___cxa_demangle'](buf, 0, 0, status);
if (getValue(status, 'i32') === 0 && ret) {
return Pointer_stringify(ret);
}
// otherwise, libcxxabi failed
} catch(e) {
// ignore problems here
} finally {
if (buf) _free(buf);
if (status) _free(status);
if (ret) _free(ret);
}
// failure when using libcxxabi, don't demangle
return func;
}
Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling');
return func;
}
function demangleAll(text) {
return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') });
}
function jsStackTrace() {
var err = new Error();
if (!err.stack) {
// IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
// so try that as a special-case.
try {
throw new Error(0);
} catch(e) {
err = e;
}
if (!err.stack) {
return '(no stack trace available)';
}
}
return err.stack.toString();
}
function stackTrace() {
var js = jsStackTrace();
if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
return demangleAll(js);
}
Module["stackTrace"] = stackTrace;
// Memory management
var PAGE_SIZE = 4096;
function alignMemoryPage(x) {
if (x % 4096 > 0) {
x += (4096 - (x % 4096));
}
return x;
}
var HEAP;
var buffer;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
function updateGlobalBuffer(buf) {
Module['buffer'] = buffer = buf;
}
function updateGlobalBufferViews() {
Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
}
var STATIC_BASE, STATICTOP, staticSealed; // static area
var STACK_BASE, STACKTOP, STACK_MAX; // stack area
var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk
STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;
staticSealed = false;
// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
function writeStackCookie() {
assert((STACK_MAX & 3) == 0);
HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467;
HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE;
}
function checkStackCookie() {
if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) {
abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16));
}
// Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own.
if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!';
}
function abortStackOverflow(allocSize) {
abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!');
}
function abortOnCannotGrowMemory() {
abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ');
}
function enlargeMemory() {
abortOnCannotGrowMemory();
}
var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 335544323;
var WASM_PAGE_SIZE = 64 * 1024;
var totalMemory = WASM_PAGE_SIZE;
while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) {
if (totalMemory < 16*1024*1024) {
totalMemory *= 2;
} else {
totalMemory += 16*1024*1024;
}
}
if (totalMemory !== TOTAL_MEMORY) {
Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be compliant with the asm.js spec (and given that TOTAL_STACK=' + TOTAL_STACK + ')');
TOTAL_MEMORY = totalMemory;
}
// Initialize the runtime's memory
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
'JS engine does not provide full typed array support');
// Use a provided buffer, if there is one, or else allocate a new one
if (Module['buffer']) {
buffer = Module['buffer'];
assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
} else {
// Use a WebAssembly memory where available
{
buffer = new ArrayBuffer(TOTAL_MEMORY);
}
assert(buffer.byteLength === TOTAL_MEMORY);
}
updateGlobalBufferViews();
function getTotalMemory() {
return TOTAL_MEMORY;
}
// Endianness check (note: assumes compiler arch was little-endian)
HEAP32[0] = 0x63736d65; /* 'emsc' */
HEAP16[1] = 0x6373;
if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
Module['HEAP'] = HEAP;
Module['buffer'] = buffer;
Module['HEAP8'] = HEAP8;
Module['HEAP16'] = HEAP16;
Module['HEAP32'] = HEAP32;
Module['HEAPU8'] = HEAPU8;
Module['HEAPU16'] = HEAPU16;
Module['HEAPU32'] = HEAPU32;
Module['HEAPF32'] = HEAPF32;
Module['HEAPF64'] = HEAPF64;
function callRuntimeCallbacks(callbacks) {
while(callbacks.length > 0) {
var callback = callbacks.shift();
if (typeof callback == 'function') {
callback();
continue;
}
var func = callback.func;
if (typeof func === 'number') {
if (callback.arg === undefined) {
Runtime.dynCall('v', func);
} else {
Runtime.dynCall('vi', func, [callback.arg]);
}
} else {
func(callback.arg === undefined ? null : callback.arg);
}
}
}
var __ATPRERUN__ = []; // functions called before the runtime is initialized
var __ATINIT__ = []; // functions called during startup
var __ATMAIN__ = []; // functions called when main() is to be run
var __ATEXIT__ = []; // functions called during shutdown
var __ATPOSTRUN__ = []; // functions called after the runtime has exited
var runtimeInitialized = false;
var runtimeExited = false;
function preRun() {
// compatibility - merge in anything from Module['preRun'] at this time
if (Module['preRun']) {
if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
while (Module['preRun'].length) {
addOnPreRun(Module['preRun'].shift());
}
}
callRuntimeCallbacks(__ATPRERUN__);
}
function ensureInitRuntime() {
checkStackCookie();
if (runtimeInitialized) return;
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
checkStackCookie();
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
checkStackCookie();
callRuntimeCallbacks(__ATEXIT__);
runtimeExited = true;
}
function postRun() {
checkStackCookie();
// compatibility - merge in anything from Module['postRun'] at this time
if (Module['postRun']) {
if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
while (Module['postRun'].length) {
addOnPostRun(Module['postRun'].shift());
}
}
callRuntimeCallbacks(__ATPOSTRUN__);
}
function addOnPreRun(cb) {
__ATPRERUN__.unshift(cb);
}
Module["addOnPreRun"] = addOnPreRun;
function addOnInit(cb) {
__ATINIT__.unshift(cb);
}
Module["addOnInit"] = addOnInit;
function addOnPreMain(cb) {
__ATMAIN__.unshift(cb);
}
Module["addOnPreMain"] = addOnPreMain;
function addOnExit(cb) {
__ATEXIT__.unshift(cb);
}
Module["addOnExit"] = addOnExit;
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
Module["addOnPostRun"] = addOnPostRun;
// Tools
function intArrayFromString(stringy, dontAddNull, length /* optional */) {
var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
var u8array = new Array(len);
var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
if (dontAddNull) u8array.length = numBytesWritten;
return u8array;
}
Module["intArrayFromString"] = intArrayFromString;
function intArrayToString(array) {
var ret = [];
for (var i = 0; i < array.length; i++) {
var chr = array[i];
if (chr > 0xFF) {
assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.');
chr &= 0xFF;
}
ret.push(String.fromCharCode(chr));
}
return ret.join('');
}
Module["intArrayToString"] = intArrayToString;
// Deprecated: This function should not be called because it is unsafe and does not provide
// a maximum length limit of how many bytes it is allowed to write. Prefer calling the
// function stringToUTF8Array() instead, which takes in a maximum length that can be used
// to be secure from out of bounds writes.
function writeStringToMemory(string, buffer, dontAddNull) {
Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
var lastChar, end;
if (dontAddNull) {
// stringToUTF8Array always appends null. If we don't want to do that, remember the
// character that existed at the location where the null will be placed, and restore
// that after the write (below).
end = buffer + lengthBytesUTF8(string);
lastChar = HEAP8[end];
}
stringToUTF8(string, buffer, Infinity);
if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
}
Module["writeStringToMemory"] = writeStringToMemory;
function writeArrayToMemory(array, buffer) {
HEAP8.set(array, buffer);
}
Module["writeArrayToMemory"] = writeArrayToMemory;
function writeAsciiToMemory(str, buffer, dontAddNull) {
for (var i = 0; i < str.length; ++i) {
assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
}
// Null-terminate the pointer to the HEAP.
if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
}
Module["writeAsciiToMemory"] = writeAsciiToMemory;
function unSign(value, bits, ignore) {
if (value >= 0) {
return value;
}
return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
: Math.pow(2, bits) + value;
}
function reSign(value, bits, ignore) {
if (value <= 0) {
return value;
}
var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
: Math.pow(2, bits-1);
if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
// but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
// TODO: In i64 mode 1, resign the two parts separately and safely
value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
}
return value;
}
// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 )
if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) {
var ah = a >>> 16;
var al = a & 0xffff;
var bh = b >>> 16;
var bl = b & 0xffff;
return (al*bl + ((ah*bl + al*bh) << 16))|0;
};
Math.imul = Math['imul'];
if (!Math['clz32']) Math['clz32'] = function(x) {
x = x >>> 0;
for (var i = 0; i < 32; i++) {
if (x & (1 << (31 - i))) return i;
}
return 32;
};
Math.clz32 = Math['clz32']
if (!Math['trunc']) Math['trunc'] = function(x) {
return x < 0 ? Math.ceil(x) : Math.floor(x);
};
Math.trunc = Math['trunc'];
var Math_abs = Math.abs;
var Math_cos = Math.cos;
var Math_sin = Math.sin;
var Math_tan = Math.tan;
var Math_acos = Math.acos;
var Math_asin = Math.asin;
var Math_atan = Math.atan;
var Math_atan2 = Math.atan2;
var Math_exp = Math.exp;
var Math_log = Math.log;
var Math_sqrt = Math.sqrt;
var Math_ceil = Math.ceil;
var Math_floor = Math.floor;
var Math_pow = Math.pow;
var Math_imul = Math.imul;
var Math_fround = Math.fround;
var Math_round = Math.round;
var Math_min = Math.min;
var Math_clz32 = Math.clz32;
var Math_trunc = Math.trunc;
// A counter of dependencies for calling run(). If we need to
// do asynchronous work before running, increment this and
// decrement it. Incrementing must happen in a place like
// PRE_RUN_ADDITIONS (used by emcc to add file preloading).
// Note that you can add dependencies in preRun, even though
// it happens right before run - run will be postponed until
// the dependencies are met.
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
var runDependencyTracking = {};
function getUniqueRunDependency(id) {
var orig = id;
while (1) {
if (!runDependencyTracking[id]) return id;
id = orig + Math.random();
}
return id;
}
function addRunDependency(id) {
runDependencies++;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(!runDependencyTracking[id]);
runDependencyTracking[id] = 1;
if (runDependencyWatcher === null && typeof setInterval !== 'undefined') {
// Check for missing dependencies every few seconds
runDependencyWatcher = setInterval(function() {
if (ABORT) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
return;
}
var shown = false;
for (var dep in runDependencyTracking) {
if (!shown) {
shown = true;
Module.printErr('still waiting on run dependencies:');
}
Module.printErr('dependency: ' + dep);
}
if (shown) {
Module.printErr('(end of list)');
}
}, 10000);
}
} else {
Module.printErr('warning: run dependency added without ID');
}
}
Module["addRunDependency"] = addRunDependency;
function removeRunDependency(id) {
runDependencies--;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (id) {
assert(runDependencyTracking[id]);
delete runDependencyTracking[id];
} else {
Module.printErr('warning: run dependency removed without ID');
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback(); // can add another dependenciesFulfilled
}
}
}
Module["removeRunDependency"] = removeRunDependency;
Module["preloadedImages"] = {}; // maps url to image data
Module["preloadedAudios"] = {}; // maps url to audio data
var memoryInitializer = null;
// === Body ===
var ASM_CONSTS = [];
STATIC_BASE = 8;
STATICTOP = STATIC_BASE + 33952;
/* global initializers */ __ATINIT__.push();
/* memory initializer */ allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,66,69,0,0,70,69,0,0,80,69,0,0,86,69,0,0,96,69,0,0,70,69,0,0,103,69,0,0,86,69,0,0,112,69,0,0,86,69,0,0,121,69,0,0,128,69,0,0,136,69,0,0,145,69,0,0,156,69,0,0,165,69,0,0,175,69,0,0,182,69,0,0,190,69,0,0,182,69,0,0,201,69,0,0,165,69,0,0,210,69,0,0,216,69,0,0,223,69,0,0,232,69,0,0,242,69,0,0,247,69,0,0,253,69,0,0,4,70,0,0,186,68,0,0,0,0,0,0,0,0,0,0,118,0,0,0,194,68,0,0,0,0,0,0,0,0,0,0,113,0,0,0,200,68,0,0,0,0,0,0,0,0,0,0,102,0,0,0,206,68,0,0,0,0,0,0,0,0,0,0,4,0,0,0,215,68,0,0,2,0,0,0,0,0,0,0,1,0,0,0,221,68,0,0,0,0,0,0,0,0,0,0,2,0,0,0,229,68,0,0,0,0,0,0,0,0,0,0,2,0,0,0,234,68,0,0,0,0,0,0,0,0,0,0,5,0,0,0,240,68,0,0,0,0,0,0,0,0,0,0,6,0,0,0,249,68,0,0,1,0,0,0,0,0,0,0,3,0,0,0,253,68,0,0,0,0,0,0,0,0,0,0,9,0,0,0,12,69,0,0,1,0,0,0,0,0,0,0,111,0,0,0,19,69,0,0,1,0,0,0,0,0,0,0,115,0,0,0,25,69,0,0,1,0,0,0,0,0,0,0,81,0,0,0,33,69,0,0,1,0,0,0,0,0,0,0,8,0,0,0,43,69,0,0,0,0,0,0,0,0,0,0,10,0,0,0,49,69,0,0,1,0,0,0,0,0,0,0,7,0,0,0,53,69,0,0,0,0,0,0,0,0,0,0,86,0,0,0,61,69,0,0,0,0,0,0,0,0,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,0,0,232,128,0,0,48,117,0,0,96,234,0,0,152,58,0,0,112,23,0,0,38,122,0,0,132,128,0,0,23,161,0,0,16,83,0,0,141,7,0,0,174,139,0,0,93,23,1,0,143,46,0,0,128,70,0,0,51,28,0,0,77,115,1,0,246,217,63,10,185,114,135,59,232,11,0,0,222,61,248,41,174,85,242,175,228,250,66,120,13,57,131,202,1,0,0,0,225,229,9,73,33,187,126,66,236,11,0,0,55,214,91,201,59,138,93,233,153,143,243,13,137,3,50,193,1,0,1,0,161,68,33,253,174,216,111,48,60,238,0,0,120,51,102,252,107,136,226,55,131,233,114,253,184,241,40,130,1,0,0,0,210,53,156,32,18,120,239,187,32,238,0,0,191,42,86,52,6,205,76,153,33,87,44,109,93,140,214,208,1,0,0,0,98,215,84,160,206,41,81,93,208,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,251,243,132,247,82,165,46,24,72,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,252,243,152,3,109,82,158,242,72,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,240,240,240,240,204,204,204,204,170,170,170,170,0,255,0,255,240,240,240,240,204,204,204,204,0,0,255,255,0,255,0,255,240,240,240,240,15,15,15,15,51,51,51,51,85,85,85,85,0,255,0,255,15,15,15,15,51,51,51,51,0,0,255,255,0,255,0,255,15,15,15,15,1,1,1,1,16,16,16,16,17,17,17,17,68,68,68,68,85,85,85,85,170,170,170,170,3,0,3,0,0,3,0,3,3,3,3,3,48,48,48,48,51,51,51,51,204,204,204,204,15,0,0,0,0,0,15,0,15,0,15,0,0,15,0,15,15,15,15,15,240,240,240,240,128,128,128,128,8,8,8,8,136,136,136,136,34,34,34,34,170,170,170,170,85,85,85,85,192,0,192,0,0,192,0,192,192,192,192,192,12,12,12,12,204,204,204,204,51,51,51,51,240,0,0,0,0,0,240,0,240,0,240,0,0,240,0,240,240,240,240,240,15,15,15,15,0,0,0,0,150,48,7,119,44,97,14,238,186,81,9,153,25,196,109,7,143,244,106,112,53,165,99,233,163,149,100,158,50,136,219,14,164,184,220,121,30,233,213,224,136,217,210,151,43,76,182,9,189,124,177,126,7,45,184,231,145,29,191,144,100,16,183,29,242,32,176,106,72,113,185,243,222,65,190,132,125,212,218,26,235,228,221,109,81,181,212,244,199,133,211,131,86,152,108,19,192,168,107,100,122,249,98,253,236,201,101,138,79,92,1,20,217,108,6,99,99,61,15,250,245,13,8,141,200,32,110,59,94,16,105,76,228,65,96,213,114,113,103,162,209,228,3,60,71,212,4,75,253,133,13,210,107,181,10,165,250,168,181,53,108,152,178,66,214,201,187,219,64,249,188,172,227,108,216,50,117,92,223,69,207,13,214,220,89,61,209,171,172,48,217,38,58,0,222,81,128,81,215,200,22,97,208,191,181,244,180,33,35,196,179,86,153,149,186,207,15,165,189,184,158,184,2,40,8,136,5,95,178,217,12,198,36,233,11,177,135,124,111,47,17,76,104,88,171,29,97,193,61,45,102,182,144,65,220,118,6,113,219,1,188,32,210,152,42,16,213,239,137,133,177,113,31,181,182,6,165,228,191,159,51,212,184,232,162,201,7,120,52,249,0,15,142,168,9,150,24,152,14,225,187,13,106,127,45,61,109,8,151,108,100,145,1,92,99,230,244,81,107,107,98,97,108,28,216,48,101,133,78,0,98,242,237,149,6,108,123,165,1,27,193,244,8,130,87,196,15,245,198,217,176,101,80,233,183,18,234,184,190,139,124,136,185,252,223,29,221,98,73,45,218,21,243,124,211,140,101,76,212,251,88,97,178,77,206,81,181,58,116,0,188,163,226,48,187,212,65,165,223,74,215,149,216,61,109,196,209,164,251,244,214,211,106,233,105,67,252,217,110,52,70,136,103,173,208,184,96,218,115,45,4,68,229,29,3,51,95,76,10,170,201,124,13,221,60,113,5,80,170,65,2,39,16,16,11,190,134,32,12,201,37,181,104,87,179,133,111,32,9,212,102,185,159,228,97,206,14,249,222,94,152,201,217,41,34,152,208,176,180,168,215,199,23,61,179,89,129,13,180,46,59,92,189,183,173,108,186,192,32,131,184,237,182,179,191,154,12,226,182,3,154,210,177,116,57,71,213,234,175,119,210,157,21,38,219,4,131,22,220,115,18,11,99,227,132,59,100,148,62,106,109,13,168,90,106,122,11,207,14,228,157,255,9,147,39,174,0,10,177,158,7,125,68,147,15,240,210,163,8,135,104,242,1,30,254,194,6,105,93,87,98,247,203,103,101,128,113,54,108,25,231,6,107,110,118,27,212,254,224,43,211,137,90,122,218,16,204,74,221,103,111,223,185,249,249,239,190,142,67,190,183,23,213,142,176,96,232,163,214,214,126,147,209,161,196,194,216,56,82,242,223,79,241,103,187,209,103,87,188,166,221,6,181,63,75,54,178,72,218,43,13,216,76,27,10,175,246,74,3,54,96,122,4,65,195,239,96,223,85,223,103,168,239,142,110,49,121,190,105,70,140,179,97,203,26,131,102,188,160,210,111,37,54,226,104,82,149,119,12,204,3,71,11,187,185,22,2,34,47,38,5,85,190,59,186,197,40,11,189,178,146,90,180,43,4,106,179,92,167,255,215,194,49,207,208,181,139,158,217,44,29,174,222,91,176,194,100,155,38,242,99,236,156,163,106,117,10,147,109,2,169,6,9,156,63,54,14,235,133,103,7,114,19,87,0,5,130,74,191,149,20,122,184,226,174,43,177,123,56,27,182,12,155,142,210,146,13,190,213,229,183,239,220,124,33,223,219,11,212,210,211,134,66,226,212,241,248,179,221,104,110,131,218,31,205,22,190,129,91,38,185,246,225,119,176,111,119,71,183,24,230,90,8,136,112,106,15,255,202,59,6,102,92,11,1,17,255,158,101,143,105,174,98,248,211,255,107,97,69,207,108,22,120,226,10,160,238,210,13,215,84,131,4,78,194,179,3,57,97,38,103,167,247,22,96,208,77,71,105,73,219,119,110,62,74,106,209,174,220,90,214,217,102,11,223,64,240,59,216,55,83,174,188,169,197,158,187,222,127,207,178,71,233,255,181,48,28,242,189,189,138,194,186,202,48,147,179,83,166,163,180,36,5,54,208,186,147,6,215,205,41,87,222,84,191,103,217,35,46,122,102,179,184,74,97,196,2,27,104,93,148,43,111,42,55,190,11,180,161,142,12,195,27,223,5,90,141,239,2,45,0,0,0,0,65,49,27,25,130,98,54,50,195,83,45,43,4,197,108,100,69,244,119,125,134,167,90,86,199,150,65,79,8,138,217,200,73,187,194,209,138,232,239,250,203,217,244,227,12,79,181,172,77,126,174,181,142,45,131,158,207,28,152,135,81,18,194,74,16,35,217,83,211,112,244,120,146,65,239,97,85,215,174,46,20,230,181,55,215,181,152,28,150,132,131,5,89,152,27,130,24,169,0,155,219,250,45,176,154,203,54,169,93,93,119,230,28,108,108,255,223,63,65,212,158,14,90,205,162,36,132,149,227,21,159,140,32,70,178,167,97,119,169,190,166,225,232,241,231,208,243,232,36,131,222,195,101,178,197,218,170,174,93,93,235,159,70,68,40,204,107,111,105,253,112,118,174,107,49,57,239,90,42,32,44,9,7,11,109,56,28,18,243,54,70,223,178,7,93,198,113,84,112,237,48,101,107,244,247,243,42,187,182,194,49,162,117,145,28,137,52,160,7,144,251,188,159,23,186,141,132,14,121,222,169,37,56,239,178,60,255,121,243,115,190,72,232,106,125,27,197,65,60,42,222,88,5,79,121,240,68,126,98,233,135,45,79,194,198,28,84,219,1,138,21,148,64,187,14,141,131,232,35,166,194,217,56,191,13,197,160,56,76,244,187,33,143,167,150,10,206,150,141,19,9,0,204,92,72,49,215,69,139,98,250,110,202,83,225,119,84,93,187,186,21,108,160,163,214,63,141,136,151,14,150,145,80,152,215,222,17,169,204,199,210,250,225,236,147,203,250,245,92,215,98,114,29,230,121,107,222,181,84,64,159,132,79,89,88,18,14,22,25,35,21,15,218,112,56,36,155,65,35,61,167,107,253,101,230,90,230,124,37,9,203,87,100,56,208,78,163,174,145,1,226,159,138,24,33,204,167,51,96,253,188,42,175,225,36,173,238,208,63,180,45,131,18,159,108,178,9,134,171,36,72,201,234,21,83,208,41,70,126,251,104,119,101,226,246,121,63,47,183,72,36,54,116,27,9,29,53,42,18,4,242,188,83,75,179,141,72,82,112,222,101,121,49,239,126,96,254,243,230,231,191,194,253,254,124,145,208,213,61,160,203,204,250,54,138,131,187,7,145,154,120,84,188,177,57,101,167,168,75,152,131,59,10,169,152,34,201,250,181,9,136,203,174,16,79,93,239,95,14,108,244,70,205,63,217,109,140,14,194,116,67,18,90,243,2,35,65,234,193,112,108,193,128,65,119,216,71,215,54,151,6,230,45,142,197,181,0,165,132,132,27,188,26,138,65,113,91,187,90,104,152,232,119,67,217,217,108,90,30,79,45,21,95,126,54,12,156,45,27,39,221,28,0,62,18,0,152,185,83,49,131,160,144,98,174,139,209,83,181,146,22,197,244,221,87,244,239,196,148,167,194,239,213,150,217,246,233,188,7,174,168,141,28,183,107,222,49,156,42,239,42,133,237,121,107,202,172,72,112,211,111,27,93,248,46,42,70,225,225,54,222,102,160,7,197,127,99,84,232,84,34,101,243,77,229,243,178,2,164,194,169,27,103,145,132,48,38,160,159,41,184,174,197,228,249,159,222,253,58,204,243,214,123,253,232,207,188,107,169,128,253,90,178,153,62,9,159,178,127,56,132,171,176,36,28,44,241,21,7,53,50,70,42,30,115,119,49,7,180,225,112,72,245,208,107,81,54,131,70,122,119,178,93,99,78,215,250,203,15,230,225,210,204,181,204,249,141,132,215,224,74,18,150,175,11,35,141,182,200,112,160,157,137,65,187,132,70,93,35,3,7,108,56,26,196,63,21,49,133,14,14,40,66,152,79,103,3,169,84,126,192,250,121,85,129,203,98,76,31,197,56,129,94,244,35,152,157,167,14,179,220,150,21,170,27,0,84,229,90,49,79,252,153,98,98,215,216,83,121,206,23,79,225,73,86,126,250,80,149,45,215,123,212,28,204,98,19,138,141,45,82,187,150,52,145,232,187,31,208,217,160,6,236,243,126,94,173,194,101,71,110,145,72,108,47,160,83,117,232,54,18,58,169,7,9,35,106,84,36,8,43,101,63,17,228,121,167,150,165,72,188,143,102,27,145,164,39,42,138,189,224,188,203,242,161,141,208,235,98,222,253,192,35,239,230,217,189,225,188,20,252,208,167,13,63,131,138,38,126,178,145,63,185,36,208,112,248,21,203,105,59,70,230,66,122,119,253,91,181,107,101,220,244,90,126,197,55,9,83,238,118,56,72,247,177,174,9,184,240,159,18,161,51,204,63,138,114,253,36,147,0,0,0,0,55,106,194,1,110,212,132,3,89,190,70,2,220,168,9,7,235,194,203,6,178,124,141,4,133,22,79,5,184,81,19,14,143,59,209,15,214,133,151,13,225,239,85,12,100,249,26,9,83,147,216,8,10,45,158,10,61,71,92,11,112,163,38,28,71,201,228,29,30,119,162,31,41,29,96,30,172,11,47,27,155,97,237,26,194,223,171,24,245,181,105,25,200,242,53,18,255,152,247,19,166,38,177,17,145,76,115,16,20,90,60,21,35,48,254,20,122,142,184,22,77,228,122,23,224,70,77,56,215,44,143,57,142,146,201,59,185,248,11,58,60,238,68,63,11,132,134,62,82,58,192,60,101,80,2,61,88,23,94,54,111,125,156,55,54,195,218,53,1,169,24,52,132,191,87,49,179,213,149,48,234,107,211,50,221,1,17,51,144,229,107,36,167,143,169,37,254,49,239,39,201,91,45,38,76,77,98,35,123,39,160,34,34,153,230,32,21,243,36,33,40,180,120,42,31,222,186,43,70,96,252,41,113,10,62,40,244,28,113,45,195,118,179,44,154,200,245,46,173,162,55,47,192,141,154,112,247,231,88,113,174,89,30,115,153,51,220,114,28,37,147,119,43,79,81,118,114,241,23,116,69,155,213,117,120,220,137,126,79,182,75,127,22,8,13,125,33,98,207,124,164,116,128,121,147,30,66,120,202,160,4,122,253,202,198,123,176,46,188,108,135,68,126,109,222,250,56,111,233,144,250,110,108,134,181,107,91,236,119,106,2,82,49,104,53,56,243,105,8,127,175,98,63,21,109,99,102,171,43,97,81,193,233,96,212,215,166,101,227,189,100,100,186,3,34,102,141,105,224,103,32,203,215,72,23,161,21,73,78,31,83,75,121,117,145,74,252,99,222,79,203,9,28,78,146,183,90,76,165,221,152,77,152,154,196,70,175,240,6,71,246,78,64,69,193,36,130,68,68,50,205,65,115,88,15,64,42,230,73,66,29,140,139,67,80,104,241,84,103,2,51,85,62,188,117,87,9,214,183,86,140,192,248,83,187,170,58,82,226,20,124,80,213,126,190,81,232,57,226,90,223,83,32,91,134,237,102,89,177,135,164,88,52,145,235,93,3,251,41,92,90,69,111,94,109,47,173,95,128,27,53,225,183,113,247,224,238,207,177,226,217,165,115,227,92,179,60,230,107,217,254,231,50,103,184,229,5,13,122,228,56,74,38,239,15,32,228,238,86,158,162,236,97,244,96,237,228,226,47,232,211,136,237,233,138,54,171,235,189,92,105,234,240,184,19,253,199,210,209,252,158,108,151,254,169,6,85,255,44,16,26,250,27,122,216,251,66,196,158,249,117,174,92,248,72,233,0,243,127,131,194,242,38,61,132,240,17,87,70,241,148,65,9,244,163,43,203,245,250,149,141,247,205,255,79,246,96,93,120,217,87,55,186,216,14,137,252,218,57,227,62,219,188,245,113,222,139,159,179,223,210,33,245,221,229,75,55,220,216,12,107,215,239,102,169,214,182,216,239,212,129,178,45,213,4,164,98,208,51,206,160,209,106,112,230,211,93,26,36,210,16,254,94,197,39,148,156,196,126,42,218,198,73,64,24,199,204,86,87,194,251,60,149,195,162,130,211,193,149,232,17,192,168,175,77,203,159,197,143,202,198,123,201,200,241,17,11,201,116,7,68,204,67,109,134,205,26,211,192,207,45,185,2,206,64,150,175,145,119,252,109,144,46,66,43,146,25,40,233,147,156,62,166,150,171,84,100,151,242,234,34,149,197,128,224,148,248,199,188,159,207,173,126,158,150,19,56,156,161,121,250,157,36,111,181,152,19,5,119,153,74,187,49,155,125,209,243,154,48,53,137,141,7,95,75,140,94,225,13,142,105,139,207,143,236,157,128,138,219,247,66,139,130,73,4,137,181,35,198,136,136,100,154,131,191,14,88,130,230,176,30,128,209,218,220,129,84,204,147,132,99,166,81,133,58,24,23,135,13,114,213,134,160,208,226,169,151,186,32,168,206,4,102,170,249,110,164,171,124,120,235,174,75,18,41,175,18,172,111,173,37,198,173,172,24,129,241,167,47,235,51,166,118,85,117,164,65,63,183,165,196,41,248,160,243,67,58,161,170,253,124,163,157,151,190,162,208,115,196,181,231,25,6,180,190,167,64,182,137,205,130,183,12,219,205,178,59,177,15,179,98,15,73,177,85,101,139,176,104,34,215,187,95,72,21,186,6,246,83,184,49,156,145,185,180,138,222,188,131,224,28,189,218,94,90,191,237,52,152,190,0,0,0,0,101,103,188,184,139,200,9,170,238,175,181,18,87,151,98,143,50,240,222,55,220,95,107,37,185,56,215,157,239,40,180,197,138,79,8,125,100,224,189,111,1,135,1,215,184,191,214,74,221,216,106,242,51,119,223,224,86,16,99,88,159,87,25,80,250,48,165,232,20,159,16,250,113,248,172,66,200,192,123,223,173,167,199,103,67,8,114,117,38,111,206,205,112,127,173,149,21,24,17,45,251,183,164,63,158,208,24,135,39,232,207,26,66,143,115,162,172,32,198,176,201,71,122,8,62,175,50,160,91,200,142,24,181,103,59,10,208,0,135,178,105,56,80,47,12,95,236,151,226,240,89,133,135,151,229,61,209,135,134,101,180,224,58,221,90,79,143,207,63,40,51,119,134,16,228,234,227,119,88,82,13,216,237,64,104,191,81,248,161,248,43,240,196,159,151,72,42,48,34,90,79,87,158,226,246,111,73,127,147,8,245,199,125,167,64,213,24,192,252,109,78,208,159,53,43,183,35,141,197,24,150,159,160,127,42,39,25,71,253,186,124,32,65,2,146,143,244,16,247,232,72,168,61,88,20,155,88,63,168,35,182,144,29,49,211,247,161,137,106,207,118,20,15,168,202,172,225,7,127,190,132,96,195,6,210,112,160,94,183,23,28,230,89,184,169,244,60,223,21,76,133,231,194,209,224,128,126,105,14,47,203,123,107,72,119,195,162,15,13,203,199,104,177,115,41,199,4,97,76,160,184,217,245,152,111,68,144,255,211,252,126,80,102,238,27,55,218,86,77,39,185,14,40,64,5,182,198,239,176,164,163,136,12,28,26,176,219,129,127,215,103,57,145,120,210,43,244,31,110,147,3,247,38,59,102,144,154,131,136,63,47,145,237,88,147,41,84,96,68,180,49,7,248,12,223,168,77,30,186,207,241,166,236,223,146,254,137,184,46,70,103,23,155,84,2,112,39,236,187,72,240,113,222,47,76,201,48,128,249,219,85,231,69,99,156,160,63,107,249,199,131,211,23,104,54,193,114,15,138,121,203,55,93,228,174,80,225,92,64,255,84,78,37,152,232,246,115,136,139,174,22,239,55,22,248,64,130,4,157,39,62,188,36,31,233,33,65,120,85,153,175,215,224,139,202,176,92,51,59,182,89,237,94,209,229,85,176,126,80,71,213,25,236,255,108,33,59,98,9,70,135,218,231,233,50,200,130,142,142,112,212,158,237,40,177,249,81,144,95,86,228,130,58,49,88,58,131,9,143,167,230,110,51,31,8,193,134,13,109,166,58,181,164,225,64,189,193,134,252,5,47,41,73,23,74,78,245,175,243,118,34,50,150,17,158,138,120,190,43,152,29,217,151,32,75,201,244,120,46,174,72,192,192,1,253,210,165,102,65,106,28,94,150,247,121,57,42,79,151,150,159,93,242,241,35,229,5,25,107,77,96,126,215,245,142,209,98,231,235,182,222,95,82,142,9,194,55,233,181,122,217,70,0,104,188,33,188,208,234,49,223,136,143,86,99,48,97,249,214,34,4,158,106,154,189,166,189,7,216,193,1,191,54,110,180,173,83,9,8,21,154,78,114,29,255,41,206,165,17,134,123,183,116,225,199,15,205,217,16,146,168,190,172,42,70,17,25,56,35,118,165,128,117,102,198,216,16,1,122,96,254,174,207,114,155,201,115,202,34,241,164,87,71,150,24,239,169,57,173,253,204,94,17,69,6,238,77,118,99,137,241,206,141,38,68,220,232,65,248,100,81,121,47,249,52,30,147,65,218,177,38,83,191,214,154,235,233,198,249,179,140,161,69,11,98,14,240,25,7,105,76,161,190,81,155,60,219,54,39,132,53,153,146,150,80,254,46,46,153,185,84,38,252,222,232,158,18,113,93,140,119,22,225,52,206,46,54,169,171,73,138,17,69,230,63,3,32,129,131,187,118,145,224,227,19,246,92,91,253,89,233,73,152,62,85,241,33,6,130,108,68,97,62,212,170,206,139,198,207,169,55,126,56,65,127,214,93,38,195,110,179,137,118,124,214,238,202,196,111,214,29,89,10,177,161,225,228,30,20,243,129,121,168,75,215,105,203,19,178,14,119,171,92,161,194,185,57,198,126,1,128,254,169,156,229,153,21,36,11,54,160,54,110,81,28,142,167,22,102,134,194,113,218,62,44,222,111,44,73,185,211,148,240,129,4,9,149,230,184,177,123,73,13,163,30,46,177,27,72,62,210,67,45,89,110,251,195,246,219,233,166,145,103,81,31,169,176,204,122,206,12,116,148,97,185,102,241,6,5,222,0,0,0,0,119,7,48,150,238,14,97,44,153,9,81,186,7,109,196,25,112,106,244,143,233,99,165,53,158,100,149,163,14,219,136,50,121,220,184,164,224,213,233,30,151,210,217,136,9,182,76,43,126,177,124,189,231,184,45,7,144,191,29,145,29,183,16,100,106,176,32,242,243,185,113,72,132,190,65,222,26,218,212,125,109,221,228,235,244,212,181,81,131,211,133,199,19,108,152,86,100,107,168,192,253,98,249,122,138,101,201,236,20,1,92,79,99,6,108,217,250,15,61,99,141,8,13,245,59,110,32,200,76,105,16,94,213,96,65,228,162,103,113,114,60,3,228,209,75,4,212,71,210,13,133,253,165,10,181,107,53,181,168,250,66,178,152,108,219,187,201,214,172,188,249,64,50,216,108,227,69,223,92,117,220,214,13,207,171,209,61,89,38,217,48,172,81,222,0,58,200,215,81,128,191,208,97,22,33,180,244,181,86,179,196,35,207,186,149,153,184,189,165,15,40,2,184,158,95,5,136,8,198,12,217,178,177,11,233,36,47,111,124,135,88,104,76,17,193,97,29,171,182,102,45,61,118,220,65,144,1,219,113,6,152,210,32,188,239,213,16,42,113,177,133,137,6,182,181,31,159,191,228,165,232,184,212,51,120,7,201,162,15,0,249,52,150,9,168,142,225,14,152,24,127,106,13,187,8,109,61,45,145,100,108,151,230,99,92,1,107,107,81,244,28,108,97,98,133,101,48,216,242,98,0,78,108,6,149,237,27,1,165,123,130,8,244,193,245,15,196,87,101,176,217,198,18,183,233,80,139,190,184,234,252,185,136,124,98,221,29,223,21,218,45,73,140,211,124,243,251,212,76,101,77,178,97,88,58,181,81,206,163,188,0,116,212,187,48,226,74,223,165,65,61,216,149,215,164,209,196,109,211,214,244,251,67,105,233,106,52,110,217,252,173,103,136,70,218,96,184,208,68,4,45,115,51,3,29,229,170,10,76,95,221,13,124,201,80,5,113,60,39,2,65,170,190,11,16,16,201,12,32,134,87,104,181,37,32,111,133,179,185,102,212,9,206,97,228,159,94,222,249,14,41,217,201,152,176,208,152,34,199,215,168,180,89,179,61,23,46,180,13,129,183,189,92,59,192,186,108,173,237,184,131,32,154,191,179,182,3,182,226,12,116,177,210,154,234,213,71,57,157,210,119,175,4,219,38,21,115,220,22,131,227,99,11,18,148,100,59,132,13,109,106,62,122,106,90,168,228,14,207,11,147,9,255,157,10,0,174,39,125,7,158,177,240,15,147,68,135,8,163,210,30,1,242,104,105,6,194,254,247,98,87,93,128,101,103,203,25,108,54,113,110,107,6,231,254,212,27,118,137,211,43,224,16,218,122,90,103,221,74,204,249,185,223,111,142,190,239,249,23,183,190,67,96,176,142,213,214,214,163,232,161,209,147,126,56,216,194,196,79,223,242,82,209,187,103,241,166,188,87,103,63,181,6,221,72,178,54,75,216,13,43,218,175,10,27,76,54,3,74,246,65,4,122,96,223,96,239,195,168,103,223,85,49,110,142,239,70,105,190,121,203,97,179,140,188,102,131,26,37,111,210,160,82,104,226,54,204,12,119,149,187,11,71,3,34,2,22,185,85,5,38,47,197,186,59,190,178,189,11,40,43,180,90,146,92,179,106,4,194,215,255,167,181,208,207,49,44,217,158,139,91,222,174,29,155,100,194,176,236,99,242,38,117,106,163,156,2,109,147,10,156,9,6,169,235,14,54,63,114,7,103,133,5,0,87,19,149,191,74,130,226,184,122,20,123,177,43,174,12,182,27,56,146,210,142,155,229,213,190,13,124,220,239,183,11,219,223,33,134,211,210,212,241,212,226,66,104,221,179,248,31,218,131,110,129,190,22,205,246,185,38,91,111,176,119,225,24,183,71,119,136,8,90,230,255,15,106,112,102,6,59,202,17,1,11,92,143,101,158,255,248,98,174,105,97,107,255,211,22,108,207,69,160,10,226,120,215,13,210,238,78,4,131,84,57,3,179,194,167,103,38,97,208,96,22,247,73,105,71,77,62,110,119,219,174,209,106,74,217,214,90,220,64,223,11,102,55,216,59,240,169,188,174,83,222,187,158,197,71,178,207,127,48,181,255,233,189,189,242,28,202,186,194,138,83,179,147,48,36,180,163,166,186,208,54,5,205,215,6,147,84,222,87,41,35,217,103,191,179,102,122,46,196,97,74,184,93,104,27,2,42,111,43,148,180,11,190,55,195,12,142,161,90,5,223,27,45,2,239,141,0,0,0,0,25,27,49,65,50,54,98,130,43,45,83,195,100,108,197,4,125,119,244,69,86,90,167,134,79,65,150,199,200,217,138,8,209,194,187,73,250,239,232,138,227,244,217,203,172,181,79,12,181,174,126,77,158,131,45,142,135,152,28,207,74,194,18,81,83,217,35,16,120,244,112,211,97,239,65,146,46,174,215,85,55,181,230,20,28,152,181,215,5,131,132,150,130,27,152,89,155,0,169,24,176,45,250,219,169,54,203,154,230,119,93,93,255,108,108,28,212,65,63,223,205,90,14,158,149,132,36,162,140,159,21,227,167,178,70,32,190,169,119,97,241,232,225,166,232,243,208,231,195,222,131,36,218,197,178,101,93,93,174,170,68,70,159,235,111,107,204,40,118,112,253,105,57,49,107,174,32,42,90,239,11,7,9,44,18,28,56,109,223,70,54,243,198,93,7,178,237,112,84,113,244,107,101,48,187,42,243,247,162,49,194,182,137,28,145,117,144,7,160,52,23,159,188,251,14,132,141,186,37,169,222,121,60,178,239,56,115,243,121,255,106,232,72,190,65,197,27,125,88,222,42,60,240,121,79,5,233,98,126,68,194,79,45,135,219,84,28,198,148,21,138,1,141,14,187,64,166,35,232,131,191,56,217,194,56,160,197,13,33,187,244,76,10,150,167,143,19,141,150,206,92,204,0,9,69,215,49,72,110,250,98,139,119,225,83,202,186,187,93,84,163,160,108,21,136,141,63,214,145,150,14,151,222,215,152,80,199,204,169,17,236,225,250,210,245,250,203,147,114,98,215,92,107,121,230,29,64,84,181,222,89,79,132,159,22,14,18,88,15,21,35,25,36,56,112,218,61,35,65,155,101,253,107,167,124,230,90,230,87,203,9,37,78,208,56,100,1,145,174,163,24,138,159,226,51,167,204,33,42,188,253,96,173,36,225,175,180,63,208,238,159,18,131,45,134,9,178,108,201,72,36,171,208,83,21,234,251,126,70,41,226,101,119,104,47,63,121,246,54,36,72,183,29,9,27,116,4,18,42,53,75,83,188,242,82,72,141,179,121,101,222,112,96,126,239,49,231,230,243,254,254,253,194,191,213,208,145,124,204,203,160,61,131,138,54,250,154,145,7,187,177,188,84,120,168,167,101,57,59,131,152,75,34,152,169,10,9,181,250,201,16,174,203,136,95,239,93,79,70,244,108,14,109,217,63,205,116,194,14,140,243,90,18,67,234,65,35,2,193,108,112,193,216,119,65,128,151,54,215,71,142,45,230,6,165,0,181,197,188,27,132,132,113,65,138,26,104,90,187,91,67,119,232,152,90,108,217,217,21,45,79,30,12,54,126,95,39,27,45,156,62,0,28,221,185,152,0,18,160,131,49,83,139,174,98,144,146,181,83,209,221,244,197,22,196,239,244,87,239,194,167,148,246,217,150,213,174,7,188,233,183,28,141,168,156,49,222,107,133,42,239,42,202,107,121,237,211,112,72,172,248,93,27,111,225,70,42,46,102,222,54,225,127,197,7,160,84,232,84,99,77,243,101,34,2,178,243,229,27,169,194,164,48,132,145,103,41,159,160,38,228,197,174,184,253,222,159,249,214,243,204,58,207,232,253,123,128,169,107,188,153,178,90,253,178,159,9,62,171,132,56,127,44,28,36,176,53,7,21,241,30,42,70,50,7,49,119,115,72,112,225,180,81,107,208,245,122,70,131,54,99,93,178,119,203,250,215,78,210,225,230,15,249,204,181,204,224,215,132,141,175,150,18,74,182,141,35,11,157,160,112,200,132,187,65,137,3,35,93,70,26,56,108,7,49,21,63,196,40,14,14,133,103,79,152,66,126,84,169,3,85,121,250,192,76,98,203,129,129,56,197,31,152,35,244,94,179,14,167,157,170,21,150,220,229,84,0,27,252,79,49,90,215,98,98,153,206,121,83,216,73,225,79,23,80,250,126,86,123,215,45,149,98,204,28,212,45,141,138,19,52,150,187,82,31,187,232,145,6,160,217,208,94,126,243,236,71,101,194,173,108,72,145,110,117,83,160,47,58,18,54,232,35,9,7,169,8,36,84,106,17,63,101,43,150,167,121,228,143,188,72,165,164,145,27,102,189,138,42,39,242,203,188,224,235,208,141,161,192,253,222,98,217,230,239,35,20,188,225,189,13,167,208,252,38,138,131,63,63,145,178,126,112,208,36,185,105,203,21,248,66,230,70,59,91,253,119,122,220,101,107,181,197,126,90,244,238,83,9,55,247,72,56,118,184,9,174,177,161,18,159,240,138,63,204,51,147,36,253,114,0,0,0,0,1,194,106,55,3,132,212,110,2,70,190,89,7,9,168,220,6,203,194,235,4,141,124,178,5,79,22,133,14,19,81,184,15,209,59,143,13,151,133,214,12,85,239,225,9,26,249,100,8,216,147,83,10,158,45,10,11,92,71,61,28,38,163,112,29,228,201,71,31,162,119,30,30,96,29,41,27,47,11,172,26,237,97,155,24,171,223,194,25,105,181,245,18,53,242,200,19,247,152,255,17,177,38,166,16,115,76,145,21,60,90,20,20,254,48,35,22,184,142,122,23,122,228,77,56,77,70,224,57,143,44,215,59,201,146,142,58,11,248,185,63,68,238,60,62,134,132,11,60,192,58,82,61,2,80,101,54,94,23,88,55,156,125,111,53,218,195,54,52,24,169,1,49,87,191,132,48,149,213,179,50,211,107,234,51,17,1,221,36,107,229,144,37,169,143,167,39,239,49,254,38,45,91,201,35,98,77,76,34,160,39,123,32,230,153,34,33,36,243,21,42,120,180,40,43,186,222,31,41,252,96,70,40,62,10,113,45,113,28,244,44,179,118,195,46,245,200,154,47,55,162,173,112,154,141,192,113,88,231,247,115,30,89,174,114,220,51,153,119,147,37,28,118,81,79,43,116,23,241,114,117,213,155,69,126,137,220,120,127,75,182,79,125,13,8,22,124,207,98,33,121,128,116,164,120,66,30,147,122,4,160,202,123,198,202,253,108,188,46,176,109,126,68,135,111,56,250,222,110,250,144,233,107,181,134,108,106,119,236,91,104,49,82,2,105,243,56,53,98,175,127,8,99,109,21,63,97,43,171,102,96,233,193,81,101,166,215,212,100,100,189,227,102,34,3,186,103,224,105,141,72,215,203,32,73,21,161,23,75,83,31,78,74,145,117,121,79,222,99,252,78,28,9,203,76,90,183,146,77,152,221,165,70,196,154,152,71,6,240,175,69,64,78,246,68,130,36,193,65,205,50,68,64,15,88,115,66,73,230,42,67,139,140,29,84,241,104,80,85,51,2,103,87,117,188,62,86,183,214,9,83,248,192,140,82,58,170,187,80,124,20,226,81,190,126,213,90,226,57,232,91,32,83,223,89,102,237,134,88,164,135,177,93,235,145,52,92,41,251,3,94,111,69,90,95,173,47,109,225,53,27,128,224,247,113,183,226,177,207,238,227,115,165,217,230,60,179,92,231,254,217,107,229,184,103,50,228,122,13,5,239,38,74,56,238,228,32,15,236,162,158,86,237,96,244,97,232,47,226,228,233,237,136,211,235,171,54,138,234,105,92,189,253,19,184,240,252,209,210,199,254,151,108,158,255,85,6,169,250,26,16,44,251,216,122,27,249,158,196,66,248,92,174,117,243,0,233,72,242,194,131,127,240,132,61,38,241,70,87,17,244,9,65,148,245,203,43,163,247,141,149,250,246,79,255,205,217,120,93,96,216,186,55,87,218,252,137,14,219,62,227,57,222,113,245,188,223,179,159,139,221,245,33,210,220,55,75,229,215,107,12,216,214,169,102,239,212,239,216,182,213,45,178,129,208,98,164,4,209,160,206,51,211,230,112,106,210,36,26,93,197,94,254,16,196,156,148,39,198,218,42,126,199,24,64,73,194,87,86,204,195,149,60,251,193,211,130,162,192,17,232,149,203,77,175,168,202,143,197,159,200,201,123,198,201,11,17,241,204,68,7,116,205,134,109,67,207,192,211,26,206,2,185,45,145,175,150,64,144,109,252,119,146,43,66,46,147,233,40,25,150,166,62,156,151,100,84,171,149,34,234,242,148,224,128,197,159,188,199,248,158,126,173,207,156,56,19,150,157,250,121,161,152,181,111,36,153,119,5,19,155,49,187,74,154,243,209,125,141,137,53,48,140,75,95,7,142,13,225,94,143,207,139,105,138,128,157,236,139,66,247,219,137,4,73,130,136,198,35,181,131,154,100,136,130,88,14,191,128,30,176,230,129,220,218,209,132,147,204,84,133,81,166,99,135,23,24,58,134,213,114,13,169,226,208,160,168,32,186,151,170,102,4,206,171,164,110,249,174,235,120,124,175,41,18,75,173,111,172,18,172,173,198,37,167,241,129,24,166,51,235,47,164,117,85,118,165,183,63,65,160,248,41,196,161,58,67,243,163,124,253,170,162,190,151,157,181,196,115,208,180,6,25,231,182,64,167,190,183,130,205,137,178,205,219,12,179,15,177,59,177,73,15,98,176,139,101,85,187,215,34,104,186,21,72,95,184,83,246,6,185,145,156,49,188,222,138,180,189,28,224,131,191,90,94,218,190,152,52,237,0,0,0,0,184,188,103,101,170,9,200,139,18,181,175,238,143,98,151,87,55,222,240,50,37,107,95,220,157,215,56,185,197,180,40,239,125,8,79,138,111,189,224,100,215,1,135,1,74,214,191,184,242,106,216,221,224,223,119,51,88,99,16,86,80,25,87,159,232,165,48,250,250,16,159,20,66,172,248,113,223,123,192,200,103,199,167,173,117,114,8,67,205,206,111,38,149,173,127,112,45,17,24,21,63,164,183,251,135,24,208,158,26,207,232,39,162,115,143,66,176,198,32,172,8,122,71,201,160,50,175,62,24,142,200,91,10,59,103,181,178,135,0,208,47,80,56,105,151,236,95,12,133,89,240,226,61,229,151,135,101,134,135,209,221,58,224,180,207,143,79,90,119,51,40,63,234,228,16,134,82,88,119,227,64,237,216,13,248,81,191,104,240,43,248,161,72,151,159,196,90,34,48,42,226,158,87,79,127,73,111,246,199,245,8,147,213,64,167,125,109,252,192,24,53,159,208,78,141,35,183,43,159,150,24,197,39,42,127,160,186,253,71,25,2,65,32,124,16,244,143,146,168,72,232,247,155,20,88,61,35,168,63,88,49,29,144,182,137,161,247,211,20,118,207,106,172,202,168,15,190,127,7,225,6,195,96,132,94,160,112,210,230,28,23,183,244,169,184,89,76,21,223,60,209,194,231,133,105,126,128,224,123,203,47,14,195,119,72,107,203,13,15,162,115,177,104,199,97,4,199,41,217,184,160,76,68,111,152,245,252,211,255,144,238,102,80,126,86,218,55,27,14,185,39,77,182,5,64,40,164,176,239,198,28,12,136,163,129,219,176,26,57,103,215,127,43,210,120,145,147,110,31,244,59,38,247,3,131,154,144,102,145,47,63,136,41,147,88,237,180,68,96,84,12,248,7,49,30,77,168,223,166,241,207,186,254,146,223,236,70,46,184,137,84,155,23,103,236,39,112,2,113,240,72,187,201,76,47,222,219,249,128,48,99,69,231,85,107,63,160,156,211,131,199,249,193,54,104,23,121,138,15,114,228,93,55,203,92,225,80,174,78,84,255,64,246,232,152,37,174,139,136,115,22,55,239,22,4,130,64,248,188,62,39,157,33,233,31,36,153,85,120,65,139,224,215,175,51,92,176,202,237,89,182,59,85,229,209,94,71,80,126,176,255,236,25,213,98,59,33,108,218,135,70,9,200,50,233,231,112,142,142,130,40,237,158,212,144,81,249,177,130,228,86,95,58,88,49,58,167,143,9,131,31,51,110,230,13,134,193,8,181,58,166,109,189,64,225,164,5,252,134,193,23,73,41,47,175,245,78,74,50,34,118,243,138,158,17,150,152,43,190,120,32,151,217,29,120,244,201,75,192,72,174,46,210,253,1,192,106,65,102,165,247,150,94,28,79,42,57,121,93,159,150,151,229,35,241,242,77,107,25,5,245,215,126,96,231,98,209,142,95,222,182,235,194,9,142,82,122,181,233,55,104,0,70,217,208,188,33,188,136,223,49,234,48,99,86,143,34,214,249,97,154,106,158,4,7,189,166,189,191,1,193,216,173,180,110,54,21,8,9,83,29,114,78,154,165,206,41,255,183,123,134,17,15,199,225,116,146,16,217,205,42,172,190,168,56,25,17,70,128,165,118,35,216,198,102,117,96,122,1,16,114,207,174,254,202,115,201,155,87,164,241,34,239,24,150,71,253,173,57,169,69,17,94,204,118,77,238,6,206,241,137,99,220,68,38,141,100,248,65,232,249,47,121,81,65,147,30,52,83,38,177,218,235,154,214,191,179,249,198,233,11,69,161,140,25,240,14,98,161,76,105,7,60,155,81,190,132,39,54,219,150,146,153,53,46,46,254,80,38,84,185,153,158,232,222,252,140,93,113,18,52,225,22,119,169,54,46,206,17,138,73,171,3,63,230,69,187,131,129,32,227,224,145,118,91,92,246,19,73,233,89,253,241,85,62,152,108,130,6,33,212,62,97,68,198,139,206,170,126,55,169,207,214,127,65,56,110,195,38,93,124,118,137,179,196,202,238,214,89,29,214,111,225,161,177,10,243,20,30,228,75,168,121,129,19,203,105,215,171,119,14,178,185,194,161,92,1,126,198,57,156,169,254,128,36,21,153,229,54,160,54,11,142,28,81,110,134,102,22,167,62,218,113,194,44,111,222,44,148,211,185,73,9,4,129,240,177,184,230,149,163,13,73,123,27,177,46,30,67,210,62,72,251,110,89,45,233,219,246,195,81,103,145,166,204,176,169,31,116,12,206,122,102,185,97,148,222,5,6,241,0,0,0,0,0,0,0,0,1,0,0,0,4,0,4,0,8,0,4,0,2,0,0,0,4,0,5,0,16,0,8,0,2,0,0,0,4,0,6,0,32,0,32,0,2,0,0,0,4,0,4,0,16,0,16,0,3,0,0,0,8,0,16,0,32,0,32,0,3,0,0,0,8,0,16,0,128,0,128,0,3,0,0,0,8,0,32,0,128,0,0,1,3,0,0,0,32,0,128,0,2,1,0,4,3,0,0,0,32,0,2,1,2,1,0,16,3,0,0,0,222,51,0,0,112,37,0,0,1,1,0,0,30,1,0,0,15,0,0,0,102,51,0,0,248,36,0,0,0,0,0,0,30,0,0,0,15,0,0,0,0,0,0,0,172,36,0,0,0,0,0,0,19,0,0,0,7,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,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,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,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,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,20,0,0,0,24,0,0,0,28,0,0,0,32,0,0,0,40,0,0,0,48,0,0,0,56,0,0,0,64,0,0,0,80,0,0,0,96,0,0,0,112,0,0,0,128,0,0,0,160,0,0,0,192,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,0,128,0,0,0,192,0,0,0,0,1,0,0,128,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,24,0,0,0,32,0,0,0,48,0,0,0,64,0,0,0,96,0,0,194,110,0,0,210,110,0,0,124,124,0,0,221,110,0,0,232,110,0,0,245,110,0,0,0,111,0,0,20,111,0,0,33,111,0,0,124,124,0,0,1,0,0,0,1,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,208,39,0,0,9,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,133,124,0,0,0,4], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
/* memory initializer */ allocate([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,68,40,0,0,5,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,141,128,0,0,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,68,40,0,0,188,40,0,0,5,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,6,0,0,0,149,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,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,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,0,0,0,0,9,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,0,0,0,0,0,0,255,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,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,192,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,160,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,224,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,144,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,208,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,176,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,240,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,200,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,168,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,232,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,152,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,216,0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,184,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,248,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,196,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,164,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,228,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,148,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,212,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,180,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,244,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,204,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,172,0,0,8,6,0,0,8,134,0,0,8,70,0,0,9,236,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,156,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,220,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,188,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,252,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,194,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,162,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,226,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,146,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,210,0,17,7,17,0,0,8,105,0,0,8,41,0,0,9,178,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,242,0,16,7,4,0,0,8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,202,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,170,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,234,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,154,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,218,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,186,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,250,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,198,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,166,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,230,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,150,0,20,7,67,0,0,8,123,0,0,8,59,0,0,9,214,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,182,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,246,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,206,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,174,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,238,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,158,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,222,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,190,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,254,0,96,7,0,0,0,8,80,0,0,8,16,0,20,8,115,0,18,7,31,0,0,8,112,0,0,8,48,0,0,9,193,0,16,7,10,0,0,8,96,0,0,8,32,0,0,9,161,0,0,8,0,0,0,8,128,0,0,8,64,0,0,9,225,0,16,7,6,0,0,8,88,0,0,8,24,0,0,9,145,0,19,7,59,0,0,8,120,0,0,8,56,0,0,9,209,0,17,7,17,0,0,8,104,0,0,8,40,0,0,9,177,0,0,8,8,0,0,8,136,0,0,8,72,0,0,9,241,0,16,7,4,0,0,8,84,0,0,8,20,0,21,8,227,0,19,7,43,0,0,8,116,0,0,8,52,0,0,9,201,0,17,7,13,0,0,8,100,0,0,8,36,0,0,9,169,0,0,8,4,0,0,8,132,0,0,8,68,0,0,9,233,0,16,7,8,0,0,8,92,0,0,8,28,0,0,9,153,0,20,7,83,0,0,8,124,0,0,8,60,0,0,9,217,0,18,7,23,0,0,8,108,0,0,8,44,0,0,9,185,0,0,8,12,0,0,8,140,0,0,8,76,0,0,9,249,0,16,7,3,0,0,8,82,0,0,8,18,0,21,8,163,0,19,7,35,0,0,8,114,0,0,8,50,0,0,9,197,0,17,7,11,0,0,8,98,0,0,8,34,0,0,9,165,0,0,8,2,0,0,8,130,0,0,8,66,0,0,9,229,0,16,7,7,0,0,8,90,0,0,8,26,0,0,9,149,0,20,7,67,0,0,8,122,0,0,8,58,0,0,9,213,0,18,7,19,0,0,8,106,0,0,8,42,0,0,9,181,0,0,8,10,0,0,8,138,0,0,8,74,0,0,9,245,0,16,7,5,0,0,8,86,0,0,8,22,0,64,8,0,0,19,7,51,0,0,8,118,0,0,8,54,0,0,9,205,0,17,7,15,0,0,8,102,0,0,8,38,0,0,9,173,0,0,8,6,0,0,8,134,0,0,8,70,0,0,9,237,0,16,7,9,0,0,8,94,0,0,8,30,0,0,9,157,0,20,7,99,0,0,8,126,0,0,8,62,0,0,9,221,0,18,7,27,0,0,8,110,0,0,8,46,0,0,9,189,0,0,8,14,0,0,8,142,0,0,8,78,0,0,9,253,0,96,7,0,0,0,8,81,0,0,8,17,0,21,8,131,0,18,7,31,0,0,8,113,0,0,8,49,0,0,9,195,0,16,7,10,0,0,8,97,0,0,8,33,0,0,9,163,0,0,8,1,0,0,8,129,0,0,8,65,0,0,9,227,0,16,7,6,0,0,8,89,0,0,8,25,0,0,9,147,0,19,7,59,0,0,8,121,0,0,8,57,0,0,9,211,0,17,7,17,0,0,8,105,0,0,8,41,0,0,9,179,0,0,8,9,0,0,8,137,0,0,8,73,0,0,9,243,0,16,7,4,0,0,8,85,0,0,8,21,0,16,8,2,1,19,7,43,0,0,8,117,0,0,8,53,0,0,9,203,0,17,7,13,0,0,8,101,0,0,8,37,0,0,9,171,0,0,8,5,0,0,8,133,0,0,8,69,0,0,9,235,0,16,7,8,0,0,8,93,0,0,8,29,0,0,9,155,0,20,7,83,0,0,8,125,0,0,8,61,0,0,9,219,0,18,7,23,0,0,8,109,0,0,8,45,0,0,9,187,0,0,8,13,0,0,8,141,0,0,8,77,0,0,9,251,0,16,7,3,0,0,8,83,0,0,8,19,0,21,8,195,0,19,7,35,0,0,8,115,0,0,8,51,0,0,9,199,0,17,7,11,0,0,8,99,0,0,8,35,0,0,9,167,0,0,8,3,0,0,8,131,0,0,8,67,0,0,9,231,0,16,7,7,0,0,8,91,0,0,8,27,0,0,9,151,0,20,7,67,0,0,8,123,0,0,8,59,0,0,9,215,0,18,7,19,0,0,8,107,0,0,8,43,0,0,9,183,0,0,8,11,0,0,8,139,0,0,8,75,0,0,9,247,0,16,7,5,0,0,8,87,0,0,8,23,0,64,8,0,0,19,7,51,0,0,8,119,0,0,8,55,0,0,9,207,0,17,7,15,0,0,8,103,0,0,8,39,0,0,9,175,0,0,8,7,0,0,8,135,0,0,8,71,0,0,9,239,0,16,7,9,0,0,8,95,0,0,8,31,0,0,9,159,0,20,7,99,0,0,8,127,0,0,8,63,0,0,9,223,0,18,7,27,0,0,8,111,0,0,8,47,0,0,9,191,0,0,8,15,0,0,8,143,0,0,8,79,0,0,9,255,0,16,5,1,0,23,5,1,1,19,5,17,0,27,5,1,16,17,5,5,0,25,5,1,4,21,5,65,0,29,5,1,64,16,5,3,0,24,5,1,2,20,5,33,0,28,5,1,32,18,5,9,0,26,5,1,8,22,5,129,0,64,5,0,0,16,5,2,0,23,5,129,1,19,5,25,0,27,5,1,24,17,5,7,0,25,5,1,6,21,5,97,0,29,5,1,96,16,5,4,0,24,5,1,3,20,5,49,0,28,5,1,48,18,5,13,0,26,5,1,12,22,5,193,0,64,5,0,0,16,0,17,0,18,0,0,0,8,0,7,0,9,0,6,0,10,0,5,0,11,0,4,0,12,0,3,0,13,0,2,0,14,0,1,0,15,0,1,0,2,0,3,0,4,0,5,0,7,0,9,0,13,0,17,0,25,0,33,0,49,0,65,0,97,0,129,0,193,0,1,1,129,1,1,2,1,3,1,4,1,6,1,8,1,12,1,16,1,24,1,32,1,48,1,64,1,96,0,0,0,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,13,0,15,0,17,0,19,0,23,0,27,0,31,0,35,0,43,0,51,0,59,0,67,0,83,0,99,0,115,0,131,0,163,0,195,0,227,0,2,1,0,0,0,0,16,0,16,0,16,0,16,0,17,0,17,0,18,0,18,0,19,0,19,0,20,0,20,0,21,0,21,0,22,0,22,0,23,0,23,0,24,0,24,0,25,0,25,0,26,0,26,0,27,0,27,0,28,0,28,0,29,0,29,0,64,0,64,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,17,0,17,0,17,0,17,0,18,0,18,0,18,0,18,0,19,0,19,0,19,0,19,0,20,0,20,0,20,0,20,0,21,0,21,0,21,0,21,0,16,0,72,0,78,0,0,0,5,0,16,0,5,0,8,0,5,0,24,0,5,0,4,0,5,0,20,0,5,0,12,0,5,0,28,0,5,0,2,0,5,0,18,0,5,0,10,0,5,0,26,0,5,0,6,0,5,0,22,0,5,0,14,0,5,0,30,0,5,0,1,0,5,0,17,0,5,0,9,0,5,0,25,0,5,0,5,0,5,0,21,0,5,0,13,0,5,0,29,0,5,0,3,0,5,0,19,0,5,0,11,0,5,0,27,0,5,0,7,0,5,0,23,0,5,0,12,0,8,0,140,0,8,0,76,0,8,0,204,0,8,0,44,0,8,0,172,0,8,0,108,0,8,0,236,0,8,0,28,0,8,0,156,0,8,0,92,0,8,0,220,0,8,0,60,0,8,0,188,0,8,0,124,0,8,0,252,0,8,0,2,0,8,0,130,0,8,0,66,0,8,0,194,0,8,0,34,0,8,0,162,0,8,0,98,0,8,0,226,0,8,0,18,0,8,0,146,0,8,0,82,0,8,0,210,0,8,0,50,0,8,0,178,0,8,0,114,0,8,0,242,0,8,0,10,0,8,0,138,0,8,0,74,0,8,0,202,0,8,0,42,0,8,0,170,0,8,0,106,0,8,0,234,0,8,0,26,0,8,0,154,0,8,0,90,0,8,0,218,0,8,0,58,0,8,0,186,0,8,0,122,0,8,0,250,0,8,0,6,0,8,0,134,0,8,0,70,0,8,0,198,0,8,0,38,0,8,0,166,0,8,0,102,0,8,0,230,0,8,0,22,0,8,0,150,0,8,0,86,0,8,0,214,0,8,0,54,0,8,0,182,0,8,0,118,0,8,0,246,0,8,0,14,0,8,0,142,0,8,0,78,0,8,0,206,0,8,0,46,0,8,0,174,0,8,0,110,0,8,0,238,0,8,0,30,0,8,0,158,0,8,0,94,0,8,0,222,0,8,0,62,0,8,0,190,0,8,0,126,0,8,0,254,0,8,0,1,0,8,0,129,0,8,0,65,0,8,0,193,0,8,0,33,0,8,0,161,0,8,0,97,0,8,0,225,0,8,0,17,0,8,0,145,0,8,0,81,0,8,0,209,0,8,0,49,0,8,0,177,0,8,0,113,0,8,0,241,0,8,0,9,0,8,0,137,0,8,0,73,0,8,0,201,0,8,0,41,0,8,0,169,0,8,0,105,0,8,0,233,0,8,0,25,0,8,0,153,0,8,0,89,0,8,0,217,0,8,0,57,0,8,0,185,0,8,0,121,0,8,0,249,0,8,0,5,0,8,0,133,0,8,0,69,0,8,0,197,0,8,0,37,0,8,0,165,0,8,0,101,0,8,0,229,0,8,0,21,0,8,0,149,0,8,0,85,0,8,0,213,0,8,0,53,0,8,0,181,0,8,0,117,0,8,0,245,0,8,0,13,0,8,0,141,0,8,0,77,0,8,0,205,0,8,0,45,0,8,0,173,0,8,0,109,0,8,0,237,0,8,0,29,0,8,0,157,0,8,0,93,0,8,0,221,0,8,0,61,0,8,0,189,0,8,0,125,0,8,0,253,0,8,0,19,0,9,0,19,1,9,0,147,0,9,0,147,1,9,0,83,0,9,0,83,1,9,0,211,0,9,0,211,1,9,0,51,0,9,0,51,1,9,0,179,0,9,0,179,1,9,0,115,0,9,0,115,1,9,0,243,0,9,0,243,1,9,0,11,0,9,0,11,1,9,0,139,0,9,0,139,1,9,0,75,0,9,0,75,1,9,0,203,0,9,0,203,1,9,0,43,0,9,0,43,1,9,0,171,0,9,0,171,1,9,0,107,0,9,0,107,1,9,0,235,0,9,0,235,1,9,0,27,0,9,0,27,1,9,0,155,0,9,0,155,1,9,0,91,0,9,0,91,1,9,0,219,0,9,0,219,1,9,0,59,0,9,0,59,1,9,0,187,0,9,0,187,1,9,0,123,0,9,0,123,1,9,0,251,0,9,0,251,1,9,0,7,0,9,0,7,1,9,0,135,0,9,0,135,1,9,0,71,0,9,0,71,1,9,0,199,0,9,0,199,1,9,0,39,0,9,0,39,1,9,0,167,0,9,0,167,1,9,0,103,0,9,0,103,1,9,0,231,0,9,0,231,1,9,0,23,0,9,0,23,1,9,0,151,0,9,0,151,1,9,0,87,0,9,0,87,1,9,0,215,0,9,0,215,1,9,0,55,0,9,0,55,1,9,0,183,0,9,0,183,1,9,0,119,0,9,0,119,1,9,0,247,0,9,0,247,1,9,0,15,0,9,0,15,1,9,0,143,0,9,0,143,1,9,0,79,0,9,0,79,1,9,0,207,0,9,0,207,1,9,0,47,0,9,0,47,1,9,0,175,0,9,0,175,1,9,0,111,0,9,0,111,1,9,0,239,0,9,0,239,1,9,0,31,0,9,0,31,1,9,0,159,0,9,0,159,1,9,0,95,0,9,0,95,1,9,0,223,0,9,0,223,1,9,0,63,0,9,0,63,1,9,0,191,0,9,0,191,1,9,0,127,0,9,0,127,1,9,0,255,0,9,0,255,1,9,0,0,0,7,0,64,0,7,0,32,0,7,0,96,0,7,0,16,0,7,0,80,0,7,0,48,0,7,0,112,0,7,0,8,0,7,0,72,0,7,0,40,0,7,0,104,0,7,0,24,0,7,0,88,0,7,0,56,0,7,0,120,0,7,0,4,0,7,0,68,0,7,0,36,0,7,0,100,0,7,0,20,0,7,0,84,0,7,0,52,0,7,0,116,0,7,0,3,0,8,0,131,0,8,0,67,0,8,0,195,0,8,0,35,0,8,0,163,0,8,0,99,0,8,0,227,0,8,0,83,83,69,45,99,97,112,97,98,108,101,32,67,80,85,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,116,104,105,115,32,98,117,105,108,100,46,10,0,32,32,119,97,114,110,105,110,103,58,32,111,112,116,105,111,110,32,39,37,115,39,32,104,97,115,32,98,101,101,110,32,114,101,112,108,97,99,101,100,32,119,105,116,104,32,39,37,115,39,46,10,0,86,118,113,102,104,115,58,81,58,111,58,0,45,45,102,108,111,121,100,32,97,114,103,117,109,101,110,116,32,109,117,115,116,32,98,101,32,105,110,32,48,46,46,49,32,114,97,110,103,101,10,0,45,45,111,117,116,112,117,116,32,111,112,116,105,111,110,32,99,97,110,32,98,101,32,117,115,101,100,32,111,110,108,121,32,111,110,99,101,10,0,45,0,32,32,119,97,114,110,105,110,103,58,32,116,104,101,32,119,111,114,107,97,114,111,117,110,100,32,102,111,114,32,73,69,54,32,105,115,32,100,101,112,114,101,99,97,116,101,100,10,0,83,112,101,101,100,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,40,115,108,111,119,41,32,97,110,100,32,49,49,32,40,102,97,115,116,41,46,10,0,81,117,97,108,105,116,121,32,115,104,111,117,108,100,32,98,101,32,105,110,32,102,111,114,109,97,116,32,109,105,110,45,109,97,120,32,119,104,101,114,101,32,109,105,110,32,97,110,100,32,109,97,120,32,97,114,101,32,110,117,109,98,101,114,115,32,105,110,32,114,97,110,103,101,32,48,45,49,48,48,46,10,0,80,111,115,116,101,114,105,122,97,116,105,111,110,32,115,104,111,117,108,100,32,98,101,32,110,117,109,98,101,114,32,111,102,32,98,105,116,115,32,105,110,32,114,97,110,103,101,32,48,45,52,46,10,0,32,32,101,114,114,111,114,58,32,117,110,97,98,108,101,32,116,111,32,108,111,97,100,32,37,115,0,32,32,101,114,114,111,114,58,32,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,99,111,108,111,114,115,32,102,114,111,109,32,37,115,0,112,110,103,113,117,97,110,116,44,32,37,115,44,32,98,121,32,75,111,114,110,101,108,32,76,101,115,105,110,115,107,105,44,32,71,114,101,103,32,82,111,101,108,111,102,115,46,10,0,50,46,57,46,48,32,40,77,97,114,99,104,32,50,48,49,55,41,0,117,115,97,103,101,58,32,32,112,110,103,113,117,97,110,116,32,91,111,112,116,105,111,110,115,93,32,91,110,99,111,108,111,114,115,93,32,45,45,32,112,110,103,102,105,108,101,32,91,112,110,103,102,105,108,101,32,46,46,46,93,10,32,32,32,32,32,32,32,32,112,110,103,113,117,97,110,116,32,91,111,112,116,105,111,110,115,93,32,91,110,99,111,108,111,114,115,93,32,45,32,62,115,116,100,111,117,116,32,60,115,116,100,105,110,10,10,111,112,116,105,111,110,115,58,10,32,32,45,45,102,111,114,99,101,32,32,32,32,32,32,32,32,32,32,32,111,118,101,114,119,114,105,116,101,32,101,120,105,115,116,105,110,103,32,111,117,116,112,117,116,32,102,105,108,101,115,32,40,115,121,110,111,110,121,109,58,32,45,102,41,10,32,32,45,45,115,107,105,112,45,105,102,45,108,97,114,103,101,114,32,32,111,110,108,121,32,115,97,118,101,32,99,111,110,118,101,114,116,101,100,32,102,105,108,101,115,32,105,102,32,116,104,101,121,39,114,101,32,115,109,97,108,108,101,114,32,116,104,97,110,32,111,114,105,103,105,110,97,108,10,32,32,45,45,111,117,116,112,117,116,32,102,105,108,101,32,32,32,32,32,100,101,115,116,105,110,97,116,105,111,110,32,102,105,108,101,32,112,97,116,104,32,116,111,32,117,115,101,32,105,110,115,116,101,97,100,32,111,102,32,45,45,101,120,116,32,40,115,121,110,111,110,121,109,58,32,45,111,41,10,32,32,45,45,101,120,116,32,110,101,119,46,112,110,103,32,32,32,32,32,115,101,116,32,99,117,115,116,111,109,32,115,117,102,102,105,120,47,101,120,116,101,110,115,105,111,110,32,102,111,114,32,111,117,116,112,117,116,32,102,105,108,101,110,97,109,101,115,10,32,32,45,45,113,117,97,108,105,116,121,32,109,105,110,45,109,97,120,32,100,111,110,39,116,32,115,97,118,101,32,98,101,108,111,119,32,109,105,110,44,32,117,115,101,32,102,101,119,101,114,32,99,111,108,111,114,115,32,98,101,108,111,119,32,109,97,120,32,40,48,45,49,48,48,41,10,32,32,45,45,115,112,101,101,100,32,78,32,32,32,32,32,32,32,32,32,115,112,101,101,100,47,113,117,97,108,105,116,121,32,116,114,97,100,101,45,111,102,102,46,32,49,61,115,108,111,119,44,32,51,61,100,101,102,97,117,108,116,44,32,49,49,61,102,97,115,116,32,38,32,114,111,117,103,104,10,32,32,45,45,110,111,102,115,32,32,32,32,32,32,32,32,32,32,32,32,100,105,115,97,98,108,101,32,70,108,111,121,100,45,83,116,101,105,110,98,101,114,103,32,100,105,116,104,101,114,105,110,103,10,32,32,45,45,112,111,115,116,101,114,105,122,101,32,78,32,32,32,32,32,111,117,116,112,117,116,32,108,111,119,101,114,45,112,114,101,99,105,115,105,111,110,32,99,111,108,111,114,32,40,101,46,103,46,32,102,111,114,32,65,82,71,66,52,52,52,52,32,111,117,116,112,117,116,41,10,32,32,45,45,115,116,114,105,112,32,32,32,32,32,32,32,32,32,32,32,114,101,109,111,118,101,32,111,112,116,105,111,110,97,108,32,109,101,116,97,100,97,116,97,32,40,100,101,102,97,117,108,116,32,111,110,32,77,97,99,41,10,32,32,45,45,118,101,114,98,111,115,101,32,32,32,32,32,32,32,32,32,112,114,105,110,116,32,115,116,97,116,117,115,32,109,101,115,115,97,103,101,115,32,40,115,121,110,111,110,121,109,58,32,45,118,41,10,10,81,117,97,110,116,105,122,101,115,32,111,110,101,32,111,114,32,109,111,114,101,32,51,50,45,98,105,116,32,82,71,66,65,32,80,78,71,115,32,116,111,32,56,45,98,105,116,32,40,111,114,32,115,109,97,108,108,101,114,41,32,82,71,66,65,45,112,97,108,101,116,116,101,46,10,84,104,101,32,111,117,116,112,117,116,32,102,105,108,101,110,97,109,101,32,105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,116,104,101,32,105,110,112,117,116,32,110,97,109,101,32,101,120,99,101,112,116,32,116,104,97,116,10,105,116,32,101,110,100,115,32,105,110,32,34,45,102,115,56,46,112,110,103,34,44,32,34,45,111,114,56,46,112,110,103,34,32,111,114,32,121,111,117,114,32,99,117,115,116,111,109,32,101,120,116,101,110,115,105,111,110,32,40,117,110,108,101,115,115,32,116,104,101,10,105,110,112,117,116,32,105,115,32,115,116,100,105,110,44,32,105,110,32,119,104,105,99,104,32,99,97,115,101,32,116,104,101,32,113,117,97,110,116,105,122,101,100,32,105,109,97,103,101,32,119,105,108,108,32,103,111,32,116,111,32,115,116,100,111,117,116,41,46,10,73,102,32,121,111,117,32,112,97,115,115,32,116,104,101,32,115,112,101,99,105,97,108,32,111,117,116,112,117,116,32,112,97,116,104,32,34,45,34,32,97,110,100,32,97,32,115,105,110,103,108,101,32,105,110,112,117,116,32,102,105,108,101,44,32,116,104,97,116,32,102,105,108,101,10,119,105,108,108,32,98,101,32,112,114,111,99,101,115,115,101,100,32,97,110,100,32,116,104,101,32,113,117,97,110,116,105,122,101,100,32,105,109,97,103,101,32,119,105,108,108,32,103,111,32,116,111,32,115,116,100,111,117,116,46,10,84,104,101,32,100,101,102,97,117,108,116,32,98,101,104,97,118,105,111,114,32,105,102,32,116,104,101,32,111,117,116,112,117,116,32,102,105,108,101,32,101,120,105,115,116,115,32,105,115,32,116,111,32,115,107,105,112,32,116,104,101,32,99,111,110,118,101,114,115,105,111,110,59,10,117,115,101,32,45,45,102,111,114,99,101,32,116,111,32,111,118,101,114,119,114,105,116,101,46,32,83,101,101,32,109,97,110,32,112,97,103,101,32,102,111,114,32,102,117,108,108,32,108,105,115,116,32,111,102,32,111,112,116,105,111,110,115,46,10,0,78,111,32,105,110,112,117,116,32,102,105,108,101,115,32,115,112,101,99,105,102,105,101,100,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,108,111,114,115,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,50,32,97,110,100,32,50,53,54,46,10,0,45,45,101,120,116,32,97,110,100,32,45,45,111,117,116,112,117,116,32,111,112,116,105,111,110,115,32,99,97,110,39,116,32,98,101,32,117,115,101,100,32,97,116,32,116,104,101,32,115,97,109,101,32,116,105,109,101,10,0,45,105,101,45,102,115,56,46,112,110,103,0,45,105,101,45,111,114,56,46,112,110,103,0,79,110,108,121,32,111,110,101,32,105,110,112,117,116,32,102,105,108,101,32,105,115,32,97,108,108,111,119,101,100,32,119,104,101,110,32,45,45,111,117,116,112,117,116,32,105,115,32,117,115,101,100,10,0,115,116,100,105,110,0,114,98,0,32,32,101,114,114,111,114,58,32,39,37,115,39,32,101,120,105,115,116,115,59,32,110,111,116,32,111,118,101,114,119,114,105,116,105,110,103,10,0,79,110,108,121,32,111,110,101,32,105,110,112,117,116,32,102,105,108,101,32,105,115,32,97,108,108,111,119,101,100,32,119,104,101,110,32,117,115,105,110,103,32,116,104,101,32,115,112,101,99,105,97,108,32,111,117,116,112,117,116,32,112,97,116,104,32,34,45,34,32,116,111,32,119,114,105,116,101,32,116,111,32,115,116,100,111,117,116,10,0,46,112,110,103,0,46,80,78,71,0,115,0,84,104,101,114,101,32,119,101,114,101,32,101,114,114,111,114,115,32,113,117,97,110,116,105,122,105,110,103,32,37,100,32,102,105,108,101,37,115,32,111,117,116,32,111,102,32,97,32,116,111,116,97,108,32,111,102,32,37,100,32,102,105,108,101,37,115,46,0,83,107,105,112,112,101,100,32,37,100,32,102,105,108,101,37,115,32,111,117,116,32,111,102,32,97,32,116,111,116,97,108,32,111,102,32,37,100,32,102,105,108,101,37,115,46,0,81,117,97,110,116,105,122,101,100,32,37,100,32,105,109,97,103,101,37,115,46,0,37,115,58,0,32,32,114,101,97,100,32,37,108,117,75,66,32,102,105,108,101,0,32,32,117,115,101,100,32,101,109,98,101,100,100,101,100,32,73,67,67,32,112,114,111,102,105,108,101,32,116,111,32,116,114,97,110,115,102,111,114,109,32,105,109,97,103,101,32,116,111,32,115,82,71,66,32,99,111,108,111,114,115,112,97,99,101,0,32,32,117,115,101,100,32,103,65,77,65,32,97,110,100,32,99,72,82,77,32,99,104,117,110,107,115,32,116,111,32,116,114,97,110,115,102,111,114,109,32,105,109,97,103,101,32,116,111,32,115,82,71,66,32,99,111,108,111,114,115,112,97,99,101,0,32,32,119,97,114,110,105,110,103,58,32,105,103,110,111,114,101,100,32,73,67,67,32,112,114,111,102,105,108,101,32,105,110,32,71,82,65,89,32,99,111,108,111,114,115,112,97,99,101,0,32,32,112,97,115,115,105,110,103,32,115,82,71,66,32,116,97,103,32,102,114,111,109,32,116,104,101,32,105,110,112,117,116,0,32,32,99,111,110,118,101,114,116,101,100,32,105,109,97,103,101,32,102,114,111,109,32,103,97,109,109,97,32,37,50,46,49,102,32,116,111,32,103,97,109,109,97,32,50,46,50,0,32,32,109,97,112,112,101,100,32,105,109,97,103,101,32,116,111,32,110,101,119,32,99,111,108,111,114,115,46,46,46,77,83,69,61,37,46,51,102,32,40,81,61,37,100,41,0,32,32,102,105,108,101,32,101,120,99,101,101,100,101,100,32,101,120,112,101,99,116,101,100,32,115,105,122,101,32,111,102,32,37,108,117,75,66,0,32,32,99,111,112,105,101,100,32,37,100,75,66,32,111,102,32,97,100,100,105,116,105,111,110,97,108,32,80,78,71,32,109,101,116,97,100,97,116,97,0,32,32,119,114,105,116,105,110,103,32,37,100,45,99,111,108,111,114,32,105,109,97,103,101,32,116,111,32,115,116,100,111,117,116,0,32,32,119,114,105,116,105,110,103,32,116,114,117,101,99,111,108,111,114,32,105,109,97,103,101,32,116,111,32,115,116,100,111,117,116,0,46,116,109,112,0,119,98,0,32,32,101,114,114,111,114,58,32,99,97,110,110,111,116,32,111,112,101,110,32,39,37,115,39,32,102,111,114,32,119,114,105,116,105,110,103,10,0,32,32,119,114,105,116,105,110,103,32,37,100,45,99,111,108,111,114,32,105,109,97,103,101,32,97,115,32,37,115,0,32,32,119,114,105,116,105,110,103,32,116,114,117,101,99,111,108,111,114,32,105,109,97,103,101,32,97,115,32,37,115,0,115,116,100,111,117,116,0,32,32,101,114,114,111,114,58,32,102,97,105,108,101,100,32,119,114,105,116,105,110,103,32,105,109,97,103,101,32,116,111,32,37,115,32,40,37,100,41,10,0,37,115,10,0,32,32,101,114,114,111,114,58,32,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,102,111,114,32,114,101,97,100,105,110,103,10,0,102,114,111,109,32,115,116,100,105,110,0,32,32,101,114,114,111,114,58,32,99,97,110,110,111,116,32,100,101,99,111,100,101,32,105,109,97,103,101,32,37,115,10,0,118,101,114,98,111,115,101,0,113,117,105,101,116,0,102,111,114,99,101,0,110,111,45,102,111,114,99,101,0,102,108,111,121,100,0,111,114,100,101,114,101,100,0,110,111,102,115,0,105,101,98,117,103,0,116,114,97,110,115,98,117,103,0,101,120,116,0,115,107,105,112,45,105,102,45,108,97,114,103,101,114,0,111,117,116,112,117,116,0,115,112,101,101,100,0,113,117,97,108,105,116,121,0,112,111,115,116,101,114,105,122,101,0,115,116,114,105,112,0,109,97,112,0,118,101,114,115,105,111,110,0,104,101,108,112,0,45,102,115,0,45,45,102,108,111,121,100,61,49,0,45,110,111,102,115,0,45,45,111,114,100,101,114,101,100,0,45,102,108,111,121,100,0,45,110,111,102,108,111,121,100,0,45,111,114,100,101,114,101,100,0,45,102,111,114,99,101,0,45,45,102,111,114,99,101,0,45,110,111,102,111,114,99,101,0,45,45,110,111,45,102,111,114,99,101,0,45,118,101,114,98,111,115,101,0,45,45,118,101,114,98,111,115,101,0,45,113,117,105,101,116,0,45,45,113,117,105,101,116,0,45,110,111,118,101,114,98,111,115,101,0,45,110,111,113,117,105,101,116,0,45,104,101,108,112,0,45,45,104,101,108,112,0,45,118,101,114,115,105,111,110,0,45,45,118,101,114,115,105,111,110,0,45,101,120,116,0,45,45,101,120,116,0,45,115,112,101,101,100,0,45,45,115,112,101,101,100,0,32,32,32,67,111,109,112,105,108,101,100,32,119,105,116,104,32,110,111,32,115,117,112,112,111,114,116,32,102,111,114,32,99,111,108,111,114,32,112,114,111,102,105,108,101,115,46,32,85,115,105,110,103,32,108,105,98,112,110,103,32,37,115,46,10,0,49,46,54,46,50,48,0,112,72,89,115,0,105,84,88,116,0,116,69,88,116,0,122,84,88,116,0,112,110,103,113,117,97,110,116,32,114,101,97,100,112,110,103,58,32,32,105,103,110,111,114,101,100,32,111,117,116,45,111,102,45,114,97,110,103,101,32,103,97,109,109,97,32,37,102,10,0,112,110,103,113,117,97,110,116,32,114,101,97,100,112,110,103,58,32,32,117,110,97,98,108,101,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,100,97,116,97,10,0,82,101,97,100,32,101,114,114,111,114,0,105,67,67,80,0,99,72,82,77,0,103,65,77,65,0,32,32,101,114,114,111,114,58,32,37,115,32,40,108,105,98,112,110,103,32,102,97,105,108,101,100,41,10,0,32,32,108,105,98,112,110,103,32,119,97,114,110,105,110,103,58,32,37,115,10,0,102,114,101,101,0,37,115,32,117,115,101,100,32,97,102,116,101,114,32,98,101,105,110,103,32,102,114,101,101,100,0,108,105,113,95,97,116,116,114,0,108,105,113,95,114,101,115,117,108,116,0,108,105,113,95,114,101,109,97,112,112,105,110,103,95,114,101,115,117,108,116,0,108,105,113,95,105,109,97,103,101,0,32,32,101,114,114,111,114,58,32,37,115,0,119,105,100,116,104,32,97,110,100,32,104,101,105,103,104,116,32,109,117,115,116,32,98,101,32,62,32,48,0,105,109,97,103,101,32,116,111,111,32,108,97,114,103,101,0,103,97,109,109,97,32,109,117,115,116,32,98,101,32,62,61,32,48,32,97,110,100,32,60,61,32,49,32,40,116,114,121,32,49,47,103,97,109,109,97,32,105,110,115,116,101,97,100,41,0,109,105,115,115,105,110,103,32,114,111,119,32,100,97,116,97,0,32,32,99,111,110,115,101,114,118,105,110,103,32,109,101,109,111,114,121,0,32,32,87,111,114,107,105,110,103,32,97,114,111,117,110,100,32,73,69,54,32,98,117,103,32,98,121,32,109,97,107,105,110,103,32,105,109,97,103,101,32,108,101,115,115,32,116,114,97,110,115,112,97,114,101,110,116,46,46,46,0,105,110,118,97,108,105,100,32,114,111,119,32,112,111,105,110,116,101,114,115,0,108,105,113,95,104,105,115,116,111,103,114,97,109,0,32,32,109,97,100,101,32,104,105,115,116,111,103,114,97,109,46,46,46,37,100,32,99,111,108,111,114,115,32,102,111,117,110,100,0,32,32,115,101,108,101,99,116,105,110,103,32,99,111,108,111,114,115,46,46,46,37,100,37,37,0,32,32,109,111,118,105,110,103,32,99,111,108,111,114,109,97,112,32,116,111,119,97,114,100,115,32,108,111,99,97,108,32,109,105,110,105,109,117,109,0,32,32,105,109,97,103,101,32,100,101,103,114,97,100,97,116,105,111,110,32,77,83,69,61,37,46,51,102,32,40,81,61,37,100,41,32,101,120,99,101,101,100,101,100,32,108,105,109,105,116,32,111,102,32,37,46,51,102,32,40,37,100,41,0,121,0,105,101,115,0,32,32,101,108,105,109,105,110,97,116,101,100,32,111,112,97,113,117,101,32,116,82,78,83,45,99,104,117,110,107,32,101,110,116,114,105,101,115,46,46,46,37,100,32,101,110,116,114,37,115,32,116,114,97,110,115,112,97,114,101,110,116,0,32,32,116,111,111,32,109,97,110,121,32,99,111,108,111,114,115,33,32,83,99,97,108,105,110,103,32,99,111,108,111,114,115,32,116,111,32,105,109,112,114,111,118,101,32,99,108,117,115,116,101,114,105,110,103,46,46,46,32,37,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,117,110,100,101,102,105,110,101,100,0,108,105,98,112,110,103,32,101,114,114,111,114,58,32,37,115,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,97,114,114,97,121,32,97,108,108,111,99,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,97,114,114,97,121,32,114,101,97,108,108,111,99,0,108,105,98,112,110,103,32,119,97,114,110,105,110,103,58,32,37,115,0,105,110,99,111,110,115,105,115,116,101,110,116,32,99,104,114,111,109,97,116,105,99,105,116,105,101,115,0,105,110,118,97,108,105,100,32,99,104,114,111,109,97,116,105,99,105,116,105,101,115,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,99,104,101,99,107,105,110,103,32,99,104,114,111,109,97,116,105,99,105,116,105,101,115,0,102,105,120,101,100,32,112,111,105,110,116,32,111,118,101,114,102,108,111,119,32,105,110,32,0,103,97,109,109,97,32,118,97,108,117,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,108,105,98,112,110,103,32,101,115,116,105,109,97,116,101,0,103,97,109,109,97,32,118,97,108,117,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,115,82,71,66,0,103,97,109,109,97,32,118,97,108,117,101,32,111,117,116,32,111,102,32,114,97,110,103,101,0,112,110,103,95,115,101,116,95,103,65,77,65,0,73,110,118,97,108,105,100,32,112,97,108,101,116,116,101,32,115,105,122,101,44,32,104,73,83,84,32,97,108,108,111,99,97,116,105,111,110,32,115,107,105,112,112,101,100,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,102,111,114,32,104,73,83,84,32,99,104,117,110,107,32,100,97,116,97,0,73,109,97,103,101,32,119,105,100,116,104,32,105,115,32,122,101,114,111,32,105,110,32,73,72,68,82,0,73,110,118,97,108,105,100,32,105,109,97,103,101,32,119,105,100,116,104,32,105,110,32,73,72,68,82,0,73,109,97,103,101,32,119,105,100,116,104,32,105,115,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,116,104,105,115,32,97,114,99,104,105,116,101,99,116,117,114,101,0,73,109,97,103,101,32,119,105,100,116,104,32,101,120,99,101,101,100,115,32,117,115,101,114,32,108,105,109,105,116,32,105,110,32,73,72,68,82,0,73,109,97,103,101,32,104,101,105,103,104,116,32,105,115,32,122,101,114,111,32,105,110,32,73,72,68,82,0,73,110,118,97,108,105,100,32,105,109,97,103,101,32,104,101,105,103,104,116,32,105,110,32,73,72,68,82,0,73,109,97,103,101,32,104,101,105,103,104,116,32,101,120,99,101,101,100,115,32,117,115,101,114,32,108,105,109,105,116,32,105,110,32,73,72,68,82,0,73,110,118,97,108,105,100,32,98,105,116,32,100,101,112,116,104,32,105,110,32,73,72,68,82,0,73,110,118,97,108,105,100,32,99,111,108,111,114,32,116,121,112,101,32,105,110,32,73,72,68,82,0,73,110,118,97,108,105,100,32,99,111,108,111,114,32,116,121,112,101,47,98,105,116,32,100,101,112,116,104,32,99,111,109,98,105,110,97,116,105,111,110,32,105,110,32,73,72,68,82,0,85,110,107,110,111,119,110,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,32,105,110,32,73,72,68,82,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,32,105,110,32,73,72,68,82,0,85,110,107,110,111,119,110,32,102,105,108,116,101,114,32,109,101,116,104,111,100,32,105,110,32,73,72,68,82,0,73,110,118,97,108,105,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,32,105,110,32,73,72,68,82,0,73,110,118,97,108,105,100,32,73,72,68,82,32,100,97,116,97,0,73,110,118,97,108,105,100,32,112,67,65,76,32,101,113,117,97,116,105,111,110,32,116,121,112,101,0,73,110,118,97,108,105,100,32,112,67,65,76,32,112,97,114,97,109,101,116,101,114,32,99,111,117,110,116,0,73,110,118,97,108,105,100,32,102,111,114,109,97,116,32,102,111,114,32,112,67,65,76,32,112,97,114,97,109,101,116,101,114,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,102,111,114,32,112,67,65,76,32,112,117,114,112,111,115,101,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,102,111,114,32,112,67,65,76,32,117,110,105,116,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,102,111,114,32,112,67,65,76,32,112,97,114,97,109,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,102,111,114,32,112,67,65,76,32,112,97,114,97,109,101,116,101,114,0,73,110,118,97,108,105,100,32,115,67,65,76,32,117,110,105,116,0,73,110,118,97,108,105,100,32,115,67,65,76,32,119,105,100,116,104,0,73,110,118,97,108,105,100,32,115,67,65,76,32,104,101,105,103,104,116,0,77,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,32,119,104,105,108,101,32,112,114,111,99,101,115,115,105,110,103,32,115,67,65,76,0,73,110,118,97,108,105,100,32,112,97,108,101,116,116,101,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,112,97,108,101,116,116,101,0,115,82,71,66,0,105,110,118,97,108,105,100,32,115,82,71,66,32,114,101,110,100,101,114,105,110,103,32,105,110,116,101,110,116,0,105,110,99,111,110,115,105,115,116,101,110,116,32,114,101,110,100,101,114,105,110,103,32,105,110,116,101,110,116,115,0,100,117,112,108,105,99,97,116,101,32,115,82,71,66,32,105,110,102,111,114,109,97,116,105,111,110,32,105,103,110,111,114,101,100,0,99,72,82,77,32,99,104,117,110,107,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,115,82,71,66,0,112,114,111,102,105,108,101,32,39,0,39,58,32,0,104,58,32,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,0,107,110,111,119,110,32,105,110,99,111,114,114,101,99,116,32,115,82,71,66,32,112,114,111,102,105,108,101,0,111,117,116,45,111,102,45,100,97,116,101,32,115,82,71,66,32,112,114,111,102,105,108,101,32,119,105,116,104,32,110,111,32,115,105,103,110,97,116,117,114,101,0,78,111,116,32,114,101,99,111,103,110,105,122,105,110,103,32,107,110,111,119,110,32,115,82,71,66,32,112,114,111,102,105,108,101,32,116,104,97,116,32,104,97,115,32,98,101,101,110,32,101,100,105,116,101,100,0,73,67,67,32,112,114,111,102,105,108,101,32,116,97,103,32,115,116,97,114,116,32,110,111,116,32,97,32,109,117,108,116,105,112,108,101,32,111,102,32,52,0,73,67,67,32,112,114,111,102,105,108,101,32,116,97,103,32,111,117,116,115,105,100,101,32,112,114,111,102,105,108,101,0,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,109,97,116], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10260);
/* memory initializer */ allocate([99,104,32,112,114,111,102,105,108,101,0,105,110,118,97,108,105,100,32,108,101,110,103,116,104,0,116,97,103,32,99,111,117,110,116,32,116,111,111,32,108,97,114,103,101,0,105,110,118,97,108,105,100,32,114,101,110,100,101,114,105,110,103,32,105,110,116,101,110,116,0,105,110,116,101,110,116,32,111,117,116,115,105,100,101,32,100,101,102,105,110,101,100,32,114,97,110,103,101,0,105,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,0,0,0,246,214,0,1,0,0,0,0,211,45,80,67,83,32,105,108,108,117,109,105,110,97,110,116,32,105,115,32,110,111,116,32,68,53,48,0,82,71,66,32,99,111,108,111,114,32,115,112,97,99,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,32,111,110,32,103,114,97,121,115,99,97,108,101,32,80,78,71,0,71,114,97,121,32,99,111,108,111,114,32,115,112,97,99,101,32,110,111,116,32,112,101,114,109,105,116,116,101,100,32,111,110,32,82,71,66,32,80,78,71,0,105,110,118,97,108,105,100,32,73,67,67,32,112,114,111,102,105,108,101,32,99,111,108,111,114,32,115,112,97,99,101,0,105,110,118,97,108,105,100,32,101,109,98,101,100,100,101,100,32,65,98,115,116,114,97,99,116,32,73,67,67,32,112,114,111,102,105,108,101,0,117,110,101,120,112,101,99,116,101,100,32,68,101,118,105,99,101,76,105,110,107,32,73,67,67,32,112,114,111,102,105,108,101,32,99,108,97,115,115,0,117,110,101,120,112,101,99,116,101,100,32,78,97,109,101,100,67,111,108,111,114,32,73,67,67,32,112,114,111,102,105,108,101,32,99,108,97,115,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,73,67,67,32,112,114,111,102,105,108,101,32,99,108,97,115,115,0,117,110,101,120,112,101,99,116,101,100,32,73,67,67,32,80,67,83,32,101,110,99,111,100,105,110,103,0,116,111,111,32,109,97,110,121,32,116,101,120,116,32,99,104,117,110,107,115,0,116,101,120,116,32,99,111,109,112,114,101,115,115,105,111,110,32,109,111,100,101,32,105,115,32,111,117,116,32,111,102,32,114,97,110,103,101,0,116,101,120,116,32,99,104,117,110,107,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,73,103,110,111,114,105,110,103,32,105,110,118,97,108,105,100,32,116,105,109,101,32,118,97,108,117,101,0,116,82,78,83,32,99,104,117,110,107,32,104,97,115,32,111,117,116,45,111,102,45,114,97,110,103,101,32,115,97,109,112,108,101,115,32,102,111,114,32,98,105,116,95,100,101,112,116,104,0,116,111,111,32,109,97,110,121,32,115,80,76,84,32,99,104,117,110,107,115,0,112,110,103,95,115,101,116,95,115,80,76,84,58,32,105,110,118,97,108,105,100,32,115,80,76,84,0,115,80,76,84,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,116,111,111,32,109,97,110,121,32,117,110,107,110,111,119,110,32,99,104,117,110,107,115,0,112,110,103,95,115,101,116,95,117,110,107,110,111,119,110,95,99,104,117,110,107,115,32,110,111,119,32,101,120,112,101,99,116,115,32,97,32,118,97,108,105,100,32,108,111,99,97,116,105,111,110,0,105,110,118,97,108,105,100,32,108,111,99,97,116,105,111,110,32,105,110,32,112,110,103,95,115,101,116,95,117,110,107,110,111,119,110,95,99,104,117,110,107,115,0,117,110,107,110,111,119,110,32,99,104,117,110,107,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,0,112,110,103,95,115,101,116,95,107,101,101,112,95,117,110,107,110,111,119,110,95,99,104,117,110,107,115,58,32,105,110,118,97,108,105,100,32,107,101,101,112,0,112,110,103,95,115,101,116,95,107,101,101,112,95,117,110,107,110,111,119,110,95,99,104,117,110,107,115,58,32,110,111,32,99,104,117,110,107,32,108,105,115,116,0,98,75,71,68,0,99,72,82,77,0,103,65,77,65,0,104,73,83,84,0,105,67,67,80,0,105,84,88,116,0,111,70,70,115,0,112,67,65,76,0,112,72,89,115,0,115,66,73,84,0,115,67,65,76,0,115,80,76,84,0,115,84,69,82,0,115,82,71,66,0,116,69,88,116,0,116,73,77,69,0,122,84,88,116,0,112,110,103,95,115,101,116,95,107,101,101,112,95,117,110,107,110,111,119,110,95,99,104,117,110,107,115,58,32,116,111,111,32,109,97,110,121,32,99,104,117,110,107,115,0,0,64,128,192,16,80,144,208,32,96,160,224,48,112,176,240,4,68,132,196,20,84,148,212,36,100,164,228,52,116,180,244,8,72,136,200,24,88,152,216,40,104,168,232,56,120,184,248,12,76,140,204,28,92,156,220,44,108,172,236,60,124,188,252,1,65,129,193,17,81,145,209,33,97,161,225,49,113,177,241,5,69,133,197,21,85,149,213,37,101,165,229,53,117,181,245,9,73,137,201,25,89,153,217,41,105,169,233,57,121,185,249,13,77,141,205,29,93,157,221,45,109,173,237,61,125,189,253,2,66,130,194,18,82,146,210,34,98,162,226,50,114,178,242,6,70,134,198,22,86,150,214,38,102,166,230,54,118,182,246,10,74,138,202,26,90,154,218,42,106,170,234,58,122,186,250,14,78,142,206,30,94,158,222,46,110,174,238,62,126,190,254,3,67,131,195,19,83,147,211,35,99,163,227,51,115,179,243,7,71,135,199,23,87,151,215,39,103,167,231,55,119,183,247,11,75,139,203,27,91,155,219,43,107,171,235,59,123,187,251,15,79,143,207,31,95,159,223,47,111,175,239,63,127,191,255,0,16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,1,17,33,49,65,81,97,113,129,145,161,177,193,209,225,241,2,18,34,50,66,82,98,114,130,146,162,178,194,210,226,242,3,19,35,51,67,83,99,115,131,147,163,179,195,211,227,243,4,20,36,52,68,84,100,116,132,148,164,180,196,212,228,244,5,21,37,53,69,85,101,117,133,149,165,181,197,213,229,245,6,22,38,54,70,86,102,118,134,150,166,182,198,214,230,246,7,23,39,55,71,87,103,119,135,151,167,183,199,215,231,247,8,24,40,56,72,88,104,120,136,152,168,184,200,216,232,248,9,25,41,57,73,89,105,121,137,153,169,185,201,217,233,249,10,26,42,58,74,90,106,122,138,154,170,186,202,218,234,250,11,27,43,59,75,91,107,123,139,155,171,187,203,219,235,251,12,28,44,60,76,92,108,124,140,156,172,188,204,220,236,252,13,29,45,61,77,93,109,125,141,157,173,189,205,221,237,253,14,30,46,62,78,94,110,126,142,158,174,190,206,222,238,254,15,31,47,63,79,95,111,127,143,159,175,191,207,223,239,255,0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255,67,97,108,108,32,116,111,32,78,85,76,76,32,119,114,105,116,101,32,102,117,110,99,116,105,111,110,0,108,101,110,103,116,104,32,101,120,99,101,101,100,115,32,80,78,71,32,109,97,120,105,109,117,109,0,73,110,118,97,108,105,100,32,98,105,116,32,100,101,112,116,104,32,102,111,114,32,103,114,97,121,115,99,97,108,101,32,105,109,97,103,101,0,73,110,118,97,108,105,100,32,98,105,116,32,100,101,112,116,104,32,102,111,114,32,82,71,66,32,105,109,97,103,101,0,73,110,118,97,108,105,100,32,98,105,116,32,100,101,112,116,104,32,102,111,114,32,112,97,108,101,116,116,101,100,32,105,109,97,103,101,0,73,110,118,97,108,105,100,32,98,105,116,32,100,101,112,116,104,32,102,111,114,32,103,114,97,121,115,99,97,108,101,43,97,108,112,104,97,32,105,109,97,103,101,0,73,110,118,97,108,105,100,32,98,105,116,32,100,101,112,116,104,32,102,111,114,32,82,71,66,65,32,105,109,97,103,101,0,73,110,118,97,108,105,100,32,105,109,97,103,101,32,99,111,108,111,114,32,116,121,112,101,32,115,112,101,99,105,102,105,101,100,0,73,110,118,97,108,105,100,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,115,112,101,99,105,102,105,101,100,0,73,110,118,97,108,105,100,32,102,105,108,116,101,114,32,116,121,112,101,32,115,112,101,99,105,102,105,101,100,0,73,110,118,97,108,105,100,32,105,110,116,101,114,108,97,99,101,32,116,121,112,101,32,115,112,101,99,105,102,105,101,100,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,108,111,114,115,32,105,110,32,112,97,108,101,116,116,101,0,73,103,110,111,114,105,110,103,32,114,101,113,117,101,115,116,32,116,111,32,119,114,105,116,101,32,97,32,80,76,84,69,32,99,104,117,110,107,32,105,110,32,103,114,97,121,115,99,97,108,101,32,80,78,71,0,90,95,79,75,32,111,110,32,90,95,70,73,78,73,83,72,32,119,105,116,104,32,111,117,116,112,117,116,32,115,112,97,99,101,0,117,110,101,120,112,101,99,116,101,100,32,122,108,105,98,32,114,101,116,117,114,110,32,99,111,100,101,0,117,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,76,90,32,115,116,114,101,97,109,0,109,105,115,115,105,110,103,32,76,90,32,100,105,99,116,105,111,110,97,114,121,0,122,108,105,98,32,73,79,32,101,114,114,111,114,0,98,97,100,32,112,97,114,97,109,101,116,101,114,115,32,116,111,32,122,108,105,98,0,100,97,109,97,103,101,100,32,76,90,32,115,116,114,101,97,109,0,117,110,115,117,112,112,111,114,116,101,100,32,122,108,105,98,32,118,101,114,115,105,111,110,0,117,110,101,120,112,101,99,116,101,100,32,122,108,105,98,32,114,101,116,117,114,110,0,105,110,32,117,115,101,32,98,121,32,73,68,65,84,0,100,101,102,108,97,116,101,69,110,100,32,102,97,105,108,101,100,32,40,105,103,110,111,114,101,100,41,0,73,110,118,97,108,105,100,32,115,82,71,66,32,114,101,110,100,101,114,105,110,103,32,105,110,116,101,110,116,32,115,112,101,99,105,102,105,101,100,0,78,111,32,112,114,111,102,105,108,101,32,102,111,114,32,105,67,67,80,32,99,104,117,110,107,0,73,67,67,32,112,114,111,102,105,108,101,32,116,111,111,32,115,104,111,114,116,0,73,67,67,32,112,114,111,102,105,108,101,32,108,101,110,103,116,104,32,105,110,118,97,108,105,100,32,40,110,111,116,32,97,32,109,117,108,116,105,112,108,101,32,111,102,32,52,41,0,105,67,67,80,58,32,105,110,118,97,108,105,100,32,107,101,121,119,111,114,100,0,101,114,114,111,114,32,119,114,105,116,105,110,103,32,97,110,99,105,108,108,97,114,121,32,99,104,117,110,107,101,100,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,0,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,116,111,111,32,108,111,110,103,0,107,101,121,119,111,114,100,32,116,114,117,110,99,97,116,101,100,0,107,101,121,119,111,114,100,32,34,64,49,34,58,32,98,97,100,32,99,104,97,114,97,99,116,101,114,32,39,48,120,64,50,39,0,49,50,51,52,53,54,55,56,57,0,115,80,76,84,58,32,105,110,118,97,108,105,100,32,107,101,121,119,111,114,100,0,73,110,118,97,108,105,100,32,115,66,73,84,32,100,101,112,116,104,32,115,112,101,99,105,102,105,101,100,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,114,97,110,115,112,97,114,101,110,116,32,99,111,108,111,114,115,32,115,112,101,99,105,102,105,101,100,0,73,103,110,111,114,105,110,103,32,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,116,82,78,83,32,99,104,117,110,107,32,111,117,116,45,111,102,45,114,97,110,103,101,32,102,111,114,32,98,105,116,95,100,101,112,116,104,0,73,103,110,111,114,105,110,103,32,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,49,54,45,98,105,116,32,116,82,78,83,32,99,104,117,110,107,32,119,104,101,110,32,98,105,116,95,100,101,112,116,104,32,105,115,32,56,0,67,97,110,39,116,32,119,114,105,116,101,32,116,82,78,83,32,119,105,116,104,32,97,110,32,97,108,112,104,97,32,99,104,97,110,110,101,108,0,73,110,118,97,108,105,100,32,98,97,99,107,103,114,111,117,110,100,32,112,97,108,101,116,116,101,32,105,110,100,101,120,0,73,103,110,111,114,105,110,103,32,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,49,54,45,98,105,116,32,98,75,71,68,32,99,104,117,110,107,32,119,104,101,110,32,98,105,116,95,100,101,112,116,104,32,105,115,32,56,0,73,103,110,111,114,105,110,103,32,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,98,75,71,68,32,99,104,117,110,107,32,111,117,116,45,111,102,45,114,97,110,103,101,32,102,111,114,32,98,105,116,95,100,101,112,116,104,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,104,105,115,116,111,103,114,97,109,32,101,110,116,114,105,101,115,32,115,112,101,99,105,102,105,101,100,0,116,69,88,116,58,32,105,110,118,97,108,105,100,32,107,101,121,119,111,114,100,0,116,69,88,116,58,32,116,101,120,116,32,116,111,111,32,108,111,110,103,0,122,84,88,116,58,32,105,110,118,97,108,105,100,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,0,122,84,88,116,58,32,105,110,118,97,108,105,100,32,107,101,121,119,111,114,100,0,105,84,88,116,58,32,105,110,118,97,108,105,100,32,107,101,121,119,111,114,100,0,105,84,88,116,58,32,105,110,118,97,108,105,100,32,99,111,109,112,114,101,115,115,105,111,110,0,105,84,88,116,58,32,117,110,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,32,116,111,111,32,108,111,110,103,0,85,110,114,101,99,111,103,110,105,122,101,100,32,117,110,105,116,32,116,121,112,101,32,102,111,114,32,111,70,70,115,32,99,104,117,110,107,0,85,110,114,101,99,111,103,110,105,122,101,100,32,101,113,117,97,116,105,111,110,32,116,121,112,101,32,102,111,114,32,112,67,65,76,32,99,104,117,110,107,0,112,67,65,76,58,32,105,110,118,97,108,105,100,32,107,101,121,119,111,114,100,0,67,97,110,39,116,32,119,114,105,116,101,32,115,67,65,76,32,40,98,117,102,102,101,114,32,116,111,111,32,115,109,97,108,108,41,0,85,110,114,101,99,111,103,110,105,122,101,100,32,117,110,105,116,32,116,121,112,101,32,102,111,114,32,112,72,89,115,32,99,104,117,110,107,0,73,110,118,97,108,105,100,32,116,105,109,101,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,116,73,77,69,32,99,104,117,110,107,0,82,101,97,100,32,69,114,114,111,114,0,80,111,116,101,110,116,105,97,108,32,111,118,101,114,102,108,111,119,32,105,110,32,112,110,103,95,122,97,108,108,111,99,40,41,0,49,46,54,46,49,55,0,65,112,112,108,105,99,97,116,105,111,110,32,98,117,105,108,116,32,119,105,116,104,32,108,105,98,112,110,103,45,0,32,98,117,116,32,114,117,110,110,105,110,103,32,119,105,116,104,32,0,77,105,115,115,105,110,103,32,73,72,68,82,32,98,101,102,111,114,101,32,73,68,65,84,0,77,105,115,115,105,110,103,32,80,76,84,69,32,98,101,102,111,114,101,32,73,68,65,84,0,84,111,111,32,109,97,110,121,32,73,68,65,84,115,32,102,111,117,110,100,0,110,111,32,115,112,97,99,101,32,105,110,32,99,104,117,110,107,32,99,97,99,104,101,0,109,105,115,115,105,110,103,32,73,72,68,82,0,105,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,99,104,117,110,107,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,116,114,117,110,99,97,116,101,100,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,32,105,110,102,111,0,98,97,100,32,107,101,121,119,111,114,100,0,122,115,116,114,101,97,109,32,117,110,99,108,97,105,109,101,100,0,101,120,116,114,97,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,0,32,117,115,105,110,103,32,122,115,116,114,101,97,109,0,49,46,50,46,56,0,67,97,108,108,32,116,111,32,78,85,76,76,32,114,101,97,100,32,102,117,110,99,116,105,111,110,0,67,82,67,32,101,114,114,111,114,0,117,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,0,111,117,116,32,111,102,32,112,108,97,99,101,0,100,117,112,108,105,99,97,116,101,0,105,110,118,97,108,105,100,0,105,110,118,97,108,105,100,32,119,105,116,104,32,97,108,112,104,97,32,99,104,97,110,110,101,108,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,116,111,32,112,114,111,99,101,115,115,32,116,101,120,116,32,99,104,117,110,107,0,78,111,32,115,112,97,99,101,32,105,110,32,99,104,117,110,107,32,99,97,99,104,101,32,102,111,114,32,115,80,76,84,0,109,97,108,102,111,114,109,101,100,32,115,80,76,84,32,99,104,117,110,107,0,115,80,76,84,32,99,104,117,110,107,32,104,97,115,32,98,97,100,32,108,101,110,103,116,104,0,115,80,76,84,32,99,104,117,110,107,32,116,111,111,32,108,111,110,103,0,115,80,76,84,32,99,104,117,110,107,32,114,101,113,117,105,114,101,115,32,116,111,111,32,109,117,99,104,32,109,101,109,111,114,121,0,116,111,111,32,115,104,111,114,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,0,116,111,111,32,109,97,110,121,32,112,114,111,102,105,108,101,115,0,105,110,118,97,108,105,100,32,117,110,105,116,0,98,97,100,32,119,105,100,116,104,32,102,111,114,109,97,116,0,110,111,110,45,112,111,115,105,116,105,118,101,32,119,105,100,116,104,0,98,97,100,32,104,101,105,103,104,116,32,102,111,114,109,97,116,0,110,111,110,45,112,111,115,105,116,105,118,101,32,104,101,105,103,104,116,0,105,110,118,97,108,105,100,32,112,97,114,97,109,101,116,101,114,32,99,111,117,110,116,0,117,110,114,101,99,111,103,110,105,122,101,100,32,101,113,117,97,116,105,111,110,32,116,121,112,101,0,105,110,118,97,108,105,100,32,100,97,116,97,0,105,110,118,97,108,105,100,32,118,97,108,117,101,115,0,105,110,118,97,108,105,100,32,105,110,100,101,120,0,105,103,110,111,114,101,100,32,105,110,32,103,114,97,121,115,99,97,108,101,32,80,78,71,0,116,82,78,83,32,109,117,115,116,32,98,101,32,97,102,116,101,114,0,104,73,83,84,32,109,117,115,116,32,98,101,32,97,102,116,101,114,0,98,75,71,68,32,109,117,115,116,32,98,101,32,97,102,116,101,114,0,101,114,114,111,114,32,105,110,32,117,115,101,114,32,99,104,117,110,107,0,83,97,118,105,110,103,32,117,110,107,110,111,119,110,32,99,104,117,110,107,58,0,102,111,114,99,105,110,103,32,115,97,118,101,32,111,102,32,97,110,32,117,110,104,97,110,100,108,101,100,32,99,104,117,110,107,59,32,112,108,101,97,115,101,32,99,97,108,108,32,112,110,103,95,115,101,116,95,107,101,101,112,95,117,110,107,110,111,119,110,95,99,104,117,110,107,115,0,117,110,104,97,110,100,108,101,100,32,99,114,105,116,105,99,97,108,32,99,104,117,110,107,0,117,110,107,110,111,119,110,32,99,104,117,110,107,32,101,120,99,101,101,100,115,32,109,101,109,111,114,121,32,108,105,109,105,116,115,0,80,78,71,32,117,110,115,105,103,110,101,100,32,105,110,116,101,103,101,114,32,111,117,116,32,111,102,32,114,97,110,103,101,0,105,110,118,97,108,105,100,32,99,104,117,110,107,32,116,121,112,101,0,78,111,116,32,97,32,80,78,71,32,102,105,108,101,0,80,78,71,32,102,105,108,101,32,99,111,114,114,117,112,116,101,100,32,98,121,32,65,83,67,73,73,32,99,111,110,118,101,114,115,105,111,110,0,137,80,78,71,13,10,26,10,112,110,103,95,114,101,97,100,95,117,112,100,97,116,101,95,105,110,102,111,47,112,110,103,95,115,116,97,114,116,95,114,101,97,100,95,105,109,97,103,101,58,32,100,117,112,108,105,99,97,116,101,32,99,97,108,108,0,80,97,108,101,116,116,101,32,105,115,32,78,85,76,76,32,105,110,32,105,110,100,101,120,101,100,32,105,109,97,103,101,0,8,8,4,4,2,2,1,0,4,0,2,0,1,0,82,111,119,32,104,97,115,32,116,111,111,32,109,97,110,121,32,98,121,116,101,115,32,116,111,32,97,108,108,111,99,97,116,101,32,105,110,32,109,101,109,111,114,121,0,108,105,98,112,110,103,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,103,97,109,109,97,43,98,97,99,107,103,114,111,117,110,100,43,114,103,98,95,116,111,95,103,114,97,121,0,105,110,118,97,108,105,100,32,98,97,99,107,103,114,111,117,110,100,32,103,97,109,109,97,32,116,121,112,101,0,103,97,109,109,97,32,116,97,98,108,101,32,98,101,105,110,103,32,114,101,98,117,105,108,116,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32,99,72,82,77,32,99,111,101,102,102,105,99,105,101,110,116,115,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,32,99,72,82,77,45,62,88,89,90,0,112,110,103,95,115,116,97,114,116,95,114,101,97,100,95,105,109,97,103,101,47,112,110,103,95,114,101,97,100,95,117,112,100,97,116,101,95,105,110,102,111,58,32,100,117,112,108,105,99,97,116,101,32,99,97,108,108,0,73,110,118,97,108,105,100,32,97,116,116,101,109,112,116,32,116,111,32,114,101,97,100,32,114,111,119,32,100,97,116,97,0,98,97,100,32,97,100,97,112,116,105,118,101,32,102,105,108,116,101,114,32,118,97,108,117,101,0,115,101,113,117,101,110,116,105,97,108,32,114,111,119,32,111,118,101,114,102,108,111,119,0,105,110,116,101,114,110,97,108,32,115,101,113,117,101,110,116,105,97,108,32,114,111,119,32,115,105,122,101,32,99,97,108,99,117,108,97,116,105,111,110,32,101,114,114,111,114,0,78,85,76,76,32,114,111,119,32,98,117,102,102,101,114,0,85,110,105,110,105,116,105,97,108,105,122,101,100,32,114,111,119,0,112,110,103,95,100,111,95,114,103,98,95,116,111,95,103,114,97,121,32,102,111,117,110,100,32,110,111,110,103,114,97,121,32,112,105,120,101,108,0,112,110,103,95,100,111,95,101,110,99,111,100,101,95,97,108,112,104,97,58,32,117,110,101,120,112,101,99,116,101,100,32,99,97,108,108,0,112,110,103,95,100,111,95,113,117,97,110,116,105,122,101,32,114,101,116,117,114,110,101,100,32,114,111,119,98,121,116,101,115,61,48,0,78,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,100,97,116,97,0,69,120,116,114,97,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,0,84,111,111,32,109,117,99,104,32,105,109,97,103,101,32,100,97,116,97,0,8,8,8,4,4,2,2,0,0,4,0,2,0,1,105,110,116,101,114,110,97,108,32,114,111,119,32,108,111,103,105,99,32,101,114,114,111,114,0,105,110,116,101,114,110,97,108,32,114,111,119,32,115,105,122,101,32,99,97,108,99,117,108,97,116,105,111,110,32,101,114,114,111,114,0,105,110,116,101,114,110,97,108,32,114,111,119,32,119,105,100,116,104,32,101,114,114,111,114,0,105,110,118,97,108,105,100,32,117,115,101,114,32,116,114,97,110,115,102,111,114,109,32,112,105,120,101,108,32,100,101,112,116,104,0,73,110,116,101,114,108,97,99,101,32,104,97,110,100,108,105,110,103,32,115,104,111,117,108,100,32,98,101,32,116,117,114,110,101,100,32,111,110,32,119,104,101,110,32,117,115,105,110,103,32,112,110,103,95,114,101,97,100,95,105,109,97,103,101,0,82,101,97,100,32,112,97,108,101,116,116,101,32,105,110,100,101,120,32,101,120,99,101,101,100,105,110,103,32,110,117,109,95,112,97,108,101,116,116,101,0,105,110,118,97,108,105,100,32,97,102,116,101,114,32,112,110,103,95,115,116,97,114,116,95,114,101,97,100,95,105,109,97,103,101,32,111,114,32,112,110,103,95,114,101,97,100,95,117,112,100,97,116,101,95,105,110,102,111,0,112,110,103,95,115,101,116,95,102,105,108,108,101,114,32,105,115,32,105,110,118,97,108,105,100,32,102,111,114,32,108,111,119,32,98,105,116,32,100,101,112,116,104,32,103,114,97,121,32,111,117,116,112,117,116,0,112,110,103,95,115,101,116,95,102,105,108,108,101,114,58,32,105,110,97,112,112,114,111,112,114,105,97,116,101,32,99,111,108,111,114,32,116,121,112,101,0,87,114,105,116,101,32,69,114,114,111,114,0,67,97,110,39,116,32,115,101,116,32,98,111,116,104,32,114,101,97,100,95,100,97,116,97,95,102,110,32,97,110,100,32,119,114,105,116,101,95,100,97,116,97,95,102,110,32,105,110,32,116,104,101,32,115,97,109,101,32,115,116,114,117,99,116,117,114,101,0,77,78,71,32,102,101,97,116,117,114,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,97,32,80,78,71,32,100,97,116,97,115,116,114,101,97,109,0,112,114,111,102,105,108,101,32,109,97,116,99,104,101,115,32,115,82,71,66,32,98,117,116,32,119,114,105,116,105,110,103,32,105,67,67,80,32,105,110,115,116,101,97,100,0,87,114,105,116,105,110,103,32,122,101,114,111,45,108,101,110,103,116,104,32,117,110,107,110,111,119,110,32,99,104,117,110,107,0,86,97,108,105,100,32,112,97,108,101,116,116,101,32,114,101,113,117,105,114,101,100,32,102,111,114,32,112,97,108,101,116,116,101,100,32,105,109,97,103,101,115,0,78,111,32,73,68,65,84,115,32,119,114,105,116,116,101,110,32,105,110,116,111,32,102,105,108,101,0,87,114,111,116,101,32,112,97,108,101,116,116,101,32,105,110,100,101,120,32,101,120,99,101,101,100,105,110,103,32,110,117,109,95,112,97,108,101,116,116,101,0,112,110,103,95,119,114,105,116,101,95,105,110,102,111,32,119,97,115,32,110,101,118,101,114,32,99,97,108,108,101,100,32,98,101,102,111,114,101,32,112,110,103,95,119,114,105,116,101,95,114,111,119,0,105,110,116,101,114,110,97,108,32,119,114,105,116,101,32,116,114,97,110,115,102,111,114,109,32,108,111,103,105,99,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,114,111,119,32,102,105,108,116,101,114,32,102,111,114,32,109,101,116,104,111,100,32,48,0,67,97,110,39,116,32,97,100,100,32,85,112,32,102,105,108,116,101,114,32,97,102,116,101,114,32,115,116,97,114,116,105,110,103,0,67,97,110,39,116,32,97,100,100,32,65,118,101,114,97,103,101,32,102,105,108,116,101,114,32,97,102,116,101,114,32,115,116,97,114,116,105,110,103,0,67,97,110,39,116,32,97,100,100,32,80,97,101,116,104,32,102,105,108,116,101,114,32,97,102,116,101,114,32,115,116,97,114,116,105,110,103,0,85,110,107,110,111,119,110,32,99,117,115,116,111,109,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,105,110,99,111,114,114,101,99,116,32,104,101,97,100,101,114,32,99,104,101,99,107,0,117,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,0,105,110,118,97,108,105,100,32,119,105,110,100,111,119,32,115,105,122,101,0,117,110,107,110,111,119,110,32,104,101,97,100,101,114,32,102,108,97,103,115,32,115,101,116,0,104,101,97,100,101,114,32,99,114,99,32,109,105,115,109,97,116,99,104,0,105,110,118,97,108,105,100,32,98,108,111,99,107,32,116,121,112,101,0,105,110,118,97,108,105,100,32,115,116,111,114,101,100,32,98,108,111,99,107,32,108,101,110,103,116,104,115,0,116,111,111,32,109,97,110,121,32,108,101,110,103,116,104,32,111,114,32,100,105,115,116,97,110,99,101,32,115,121,109,98,111,108,115,0,105,110,118,97,108,105,100,32,99,111,100,101,32,108,101,110,103,116,104,115,32,115,101,116,0,105,110,118,97,108,105,100,32,98,105,116,32,108,101,110,103,116,104,32,114,101,112,101,97,116,0,105,110,118,97,108,105,100,32,99,111,100,101,32,45,45,32,109,105,115,115,105,110,103,32,101,110,100,45,111,102,45,98,108,111,99,107,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,115,32,115,101,116,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,115,32,115,101,116,0,105,110,99,111,114,114,101,99,116,32,100,97,116,97,32,99,104,101,99,107,0,105,110,99,111,114,114,101,99,116,32,108,101,110,103,116,104,32,99,104,101,99,107,0,0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,110,101,101,100,32,100,105,99,116,105,111,110,97,114,121,0,115,116,114,101,97,109,32,101,110,100,0,102,105,108,101,32,101,114,114,111,114,0,115,116,114,101,97,109,32,101,114,114,111,114,0,100,97,116,97,32,101,114,114,111,114,0,105,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,0,98,117,102,102,101,114,32,101,114,114,111,114,0,105,110,99,111,109,112,97,116,105,98,108,101,32,118,101,114,115,105,111,110,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,116,111,111,32,102,97,114,32,98,97,99,107,0,105,110,118,97,108,105,100,32,100,105,115,116,97,110,99,101,32,99,111,100,101,0,105,110,118,97,108,105,100,32,108,105,116,101,114,97,108,47,108,101,110,103,116,104,32,99,111,100,101,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,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,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,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,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,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,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,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,18,0,0,0,18,18,18,0,0,0,0,0,0,9,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,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,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,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20500);
/* memory initializer */ allocate([32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0,58,32,105,108,108,101,103,97,108,32,111,112,116,105,111,110,58,32,0,10,0,58,32,111,112,116,105,111,110,32,114,101,113,117,105,114,101,115,32,97,110,32,97,114,103,117,109,101,110,116,58,32,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30740);
/* no memory initializer */
var tempDoublePtr = STATICTOP; STATICTOP += 16;
assert(tempDoublePtr % 8 == 0);
function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
HEAP8[tempDoublePtr] = HEAP8[ptr];
HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
}
function copyTempDouble(ptr) {
HEAP8[tempDoublePtr] = HEAP8[ptr];
HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
}
// {{PRE_LIBRARY}}
Module["_i64Subtract"] = _i64Subtract;
Module["_i64Add"] = _i64Add;
Module["_memset"] = _memset;
Module["_bitshift64Shl"] = _bitshift64Shl;
function _abort() {
Module['abort']();
}
function ___lock() {}
function ___unlock() {}
var _llvm_pow_f32=Math_pow;
function _llvm_stackrestore(p) {
var self = _llvm_stacksave;
var ret = self.LLVM_SAVEDSTACKS[p];
self.LLVM_SAVEDSTACKS.splice(p, 1);
Runtime.stackRestore(ret);
}
function _emscripten_memcpy_big(dest, src, num) {
HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
return dest;
}
Module["_memcpy"] = _memcpy;
function _realloc() { throw 'bad' }
Module["_realloc"] = _realloc;
Module["_saveSetjmp"] = _saveSetjmp;
Module["_memmove"] = _memmove;
var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};
var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};
function ___setErrNo(value) {
if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
else Module.printErr('failed to set errno from JS');
return value;
}
var PATH={splitPath:function (filename) {
var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
return splitPathRe.exec(filename).slice(1);
},normalizeArray:function (parts, allowAboveRoot) {
// if the path tries to go above the root, `up` ends up > 0
var up = 0;
for (var i = parts.length - 1; i >= 0; i--) {
var last = parts[i];
if (last === '.') {
parts.splice(i, 1);
} else if (last === '..') {
parts.splice(i, 1);
up++;
} else if (up) {
parts.splice(i, 1);
up--;
}
}
// if the path is allowed to go above the root, restore leading ..s
if (allowAboveRoot) {
for (; up--; up) {
parts.unshift('..');
}
}
return parts;
},normalize:function (path) {
var isAbsolute = path.charAt(0) === '/',
trailingSlash = path.substr(-1) === '/';
// Normalize the path
path = PATH.normalizeArray(path.split('/').filter(function(p) {
return !!p;
}), !isAbsolute).join('/');
if (!path && !isAbsolute) {
path = '.';
}
if (path && trailingSlash) {
path += '/';
}
return (isAbsolute ? '/' : '') + path;
},dirname:function (path) {
var result = PATH.splitPath(path),
root = result[0],
dir = result[1];
if (!root && !dir) {
// No dirname whatsoever
return '.';
}
if (dir) {
// It has a dirname, strip trailing slash
dir = dir.substr(0, dir.length - 1);
}
return root + dir;
},basename:function (path) {
// EMSCRIPTEN return '/'' for '/', not an empty string
if (path === '/') return '/';
var lastSlash = path.lastIndexOf('/');
if (lastSlash === -1) return path;
return path.substr(lastSlash+1);
},extname:function (path) {
return PATH.splitPath(path)[3];
},join:function () {
var paths = Array.prototype.slice.call(arguments, 0);
return PATH.normalize(paths.join('/'));
},join2:function (l, r) {
return PATH.normalize(l + '/' + r);
},resolve:function () {
var resolvedPath = '',
resolvedAbsolute = false;
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
var path = (i >= 0) ? arguments[i] : FS.cwd();
// Skip empty and invalid entries
if (typeof path !== 'string') {
throw new TypeError('Arguments to path.resolve must be strings');
} else if (!path) {
return ''; // an invalid portion invalidates the whole thing
}
resolvedPath = path + '/' + resolvedPath;
resolvedAbsolute = path.charAt(0) === '/';
}
// At this point the path should be resolved to a full absolute path, but
// handle relative paths to be safe (might happen when process.cwd() fails)
resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) {
return !!p;
}), !resolvedAbsolute).join('/');
return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
},relative:function (from, to) {
from = PATH.resolve(from).substr(1);
to = PATH.resolve(to).substr(1);
function trim(arr) {
var start = 0;
for (; start < arr.length; start++) {
if (arr[start] !== '') break;
}
var end = arr.length - 1;
for (; end >= 0; end--) {
if (arr[end] !== '') break;
}
if (start > end) return [];
return arr.slice(start, end - start + 1);
}
var fromParts = trim(from.split('/'));
var toParts = trim(to.split('/'));
var length = Math.min(fromParts.length, toParts.length);
var samePartsLength = length;
for (var i = 0; i < length; i++) {
if (fromParts[i] !== toParts[i]) {
samePartsLength = i;
break;
}
}
var outputParts = [];
for (var i = samePartsLength; i < fromParts.length; i++) {
outputParts.push('..');
}
outputParts = outputParts.concat(toParts.slice(samePartsLength));
return outputParts.join('/');
}};
var TTY={ttys:[],init:function () {
// https://github.com/kripken/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // currently, FS.init does not distinguish if process.stdin is a file or TTY
// // device, it always assumes it's a TTY device. because of this, we're forcing
// // process.stdin to UTF8 encoding to at least make stdin reading compatible
// // with text files until FS.init can be refactored.
// process['stdin']['setEncoding']('utf8');
// }
},shutdown:function () {
// https://github.com/kripken/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
// // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
// // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
// // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
// // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
// process['stdin']['pause']();
// }
},register:function (dev, ops) {
TTY.ttys[dev] = { input: [], output: [], ops: ops };
FS.registerDevice(dev, TTY.stream_ops);
},stream_ops:{open:function (stream) {
var tty = TTY.ttys[stream.node.rdev];
if (!tty) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
stream.tty = tty;
stream.seekable = false;
},close:function (stream) {
// flush any pending line data
stream.tty.ops.flush(stream.tty);
},flush:function (stream) {
stream.tty.ops.flush(stream.tty);
},read:function (stream, buffer, offset, length, pos /* ignored */) {
if (!stream.tty || !stream.tty.ops.get_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = stream.tty.ops.get_char(stream.tty);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},write:function (stream, buffer, offset, length, pos) {
if (!stream.tty || !stream.tty.ops.put_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
for (var i = 0; i < length; i++) {
try {
stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}},default_tty_ops:{get_char:function (tty) {
if (!tty.input.length) {
var result = null;
if (ENVIRONMENT_IS_NODE) {
// we will read data by chunks of BUFSIZE
var BUFSIZE = 256;
var buf = new Buffer(BUFSIZE);
var bytesRead = 0;
var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion
var fd = process.stdin.fd;
if (isPosixPlatform) {
// Linux and Mac cannot use process.stdin.fd (which isn't set up as sync)
var usingDevice = false;
try {
fd = fs.openSync('/dev/stdin', 'r');
usingDevice = true;
} catch (e) {}
}
try {
bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
} catch(e) {
// Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,
// reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0.
if (e.toString().indexOf('EOF') != -1) bytesRead = 0;
else throw e;
}
if (usingDevice) { fs.closeSync(fd); }
if (bytesRead > 0) {
result = buf.slice(0, bytesRead).toString('utf-8');
} else {
result = null;
}
} else if (typeof window != 'undefined' &&
typeof window.prompt == 'function') {
// Browser.
result = window.prompt('Input: '); // returns null on cancel
if (result !== null) {
result += '\n';
}
} else if (typeof readline == 'function') {
// Command line.
result = readline();
if (result !== null) {
result += '\n';
}
}
if (!result) {
return null;
}
tty.input = intArrayFromString(result, true);
}
return tty.input.shift();
},put_char:function (tty, val) {
if (val === null || val === 10) {
Module['print'](UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
}
},flush:function (tty) {
if (tty.output && tty.output.length > 0) {
Module['print'](UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
}},default_tty1_ops:{put_char:function (tty, val) {
if (val === null || val === 10) {
Module['printErr'](UTF8ArrayToString(tty.output, 0));
tty.output = [];
} else {
if (val != 0) tty.output.push(val);
}
},flush:function (tty) {
if (tty.output && tty.output.length > 0) {
Module['printErr'](UTF8ArrayToString(tty.output, 0));
tty.output = [];
}
}}};
var MEMFS={ops_table:null,mount:function (mount) {
return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
},createNode:function (parent, name, mode, dev) {
if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
// no supported
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (!MEMFS.ops_table) {
MEMFS.ops_table = {
dir: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
lookup: MEMFS.node_ops.lookup,
mknod: MEMFS.node_ops.mknod,
rename: MEMFS.node_ops.rename,
unlink: MEMFS.node_ops.unlink,
rmdir: MEMFS.node_ops.rmdir,
readdir: MEMFS.node_ops.readdir,
symlink: MEMFS.node_ops.symlink
},
stream: {
llseek: MEMFS.stream_ops.llseek
}
},
file: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: {
llseek: MEMFS.stream_ops.llseek,
read: MEMFS.stream_ops.read,
write: MEMFS.stream_ops.write,
allocate: MEMFS.stream_ops.allocate,
mmap: MEMFS.stream_ops.mmap,
msync: MEMFS.stream_ops.msync
}
},
link: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
readlink: MEMFS.node_ops.readlink
},
stream: {}
},
chrdev: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: FS.chrdev_stream_ops
}
};
}
var node = FS.createNode(parent, name, mode, dev);
if (FS.isDir(node.mode)) {
node.node_ops = MEMFS.ops_table.dir.node;
node.stream_ops = MEMFS.ops_table.dir.stream;
node.contents = {};
} else if (FS.isFile(node.mode)) {
node.node_ops = MEMFS.ops_table.file.node;
node.stream_ops = MEMFS.ops_table.file.stream;
node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity.
// When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
// for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
// penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
node.contents = null;
} else if (FS.isLink(node.mode)) {
node.node_ops = MEMFS.ops_table.link.node;
node.stream_ops = MEMFS.ops_table.link.stream;
} else if (FS.isChrdev(node.mode)) {
node.node_ops = MEMFS.ops_table.chrdev.node;
node.stream_ops = MEMFS.ops_table.chrdev.stream;
}
node.timestamp = Date.now();
// add the new node to the parent
if (parent) {
parent.contents[name] = node;
}
return node;
},getFileDataAsRegularArray:function (node) {
if (node.contents && node.contents.subarray) {
var arr = [];
for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
return arr; // Returns a copy of the original data.
}
return node.contents; // No-op, the file contents are already in a JS array. Return as-is.
},getFileDataAsTypedArray:function (node) {
if (!node.contents) return new Uint8Array;
if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
return new Uint8Array(node.contents);
},expandFileStorage:function (node, newCapacity) {
// If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file
// instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to
// increase the size.
if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {
node.contents = MEMFS.getFileDataAsRegularArray(node);
node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.
}
if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well.
var prevCapacity = node.contents ? node.contents.length : 0;
if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
// Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
// For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
// avoid overshooting the allocation cap by a very large margin.
var CAPACITY_DOUBLING_MAX = 1024 * 1024;
newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0);
if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
var oldContents = node.contents;
node.contents = new Uint8Array(newCapacity); // Allocate new storage.
if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
return;
}
// Not using a typed array to back the file storage. Use a standard JS array instead.
if (!node.contents && newCapacity > 0) node.contents = [];
while (node.contents.length < newCapacity) node.contents.push(0);
},resizeFileStorage:function (node, newSize) {
if (node.usedBytes == newSize) return;
if (newSize == 0) {
node.contents = null; // Fully decommit when requesting a resize to zero.
node.usedBytes = 0;
return;
}
if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store.
var oldContents = node.contents;
node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage.
if (oldContents) {
node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
}
node.usedBytes = newSize;
return;
}
// Backing with a JS array.
if (!node.contents) node.contents = [];
if (node.contents.length > newSize) node.contents.length = newSize;
else while (node.contents.length < newSize) node.contents.push(0);
node.usedBytes = newSize;
},node_ops:{getattr:function (node) {
var attr = {};
// device numbers reuse inode numbers.
attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
attr.ino = node.id;
attr.mode = node.mode;
attr.nlink = 1;
attr.uid = 0;
attr.gid = 0;
attr.rdev = node.rdev;
if (FS.isDir(node.mode)) {
attr.size = 4096;
} else if (FS.isFile(node.mode)) {
attr.size = node.usedBytes;
} else if (FS.isLink(node.mode)) {
attr.size = node.link.length;
} else {
attr.size = 0;
}
attr.atime = new Date(node.timestamp);
attr.mtime = new Date(node.timestamp);
attr.ctime = new Date(node.timestamp);
// NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
// but this is not required by the standard.
attr.blksize = 4096;
attr.blocks = Math.ceil(attr.size / attr.blksize);
return attr;
},setattr:function (node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
if (attr.size !== undefined) {
MEMFS.resizeFileStorage(node, attr.size);
}
},lookup:function (parent, name) {
throw FS.genericErrors[ERRNO_CODES.ENOENT];
},mknod:function (parent, name, mode, dev) {
return MEMFS.createNode(parent, name, mode, dev);
},rename:function (old_node, new_dir, new_name) {
// if we're overwriting a directory at new_name, make sure it's empty.
if (FS.isDir(old_node.mode)) {
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
}
if (new_node) {
for (var i in new_node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
}
}
// do the internal rewiring
delete old_node.parent.contents[old_node.name];
old_node.name = new_name;
new_dir.contents[new_name] = old_node;
old_node.parent = new_dir;
},unlink:function (parent, name) {
delete parent.contents[name];
},rmdir:function (parent, name) {
var node = FS.lookupNode(parent, name);
for (var i in node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
delete parent.contents[name];
},readdir:function (node) {
var entries = ['.', '..']
for (var key in node.contents) {
if (!node.contents.hasOwnProperty(key)) {
continue;
}
entries.push(key);
}
return entries;
},symlink:function (parent, newname, oldpath) {
var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
node.link = oldpath;
return node;
},readlink:function (node) {
if (!FS.isLink(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return node.link;
}},stream_ops:{read:function (stream, buffer, offset, length, position) {
var contents = stream.node.contents;
if (position >= stream.node.usedBytes) return 0;
var size = Math.min(stream.node.usedBytes - position, length);
assert(size >= 0);
if (size > 8 && contents.subarray) { // non-trivial, and typed array
buffer.set(contents.subarray(position, position + size), offset);
} else {
for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
}
return size;
},write:function (stream, buffer, offset, length, position, canOwn) {
if (!length) return 0;
var node = stream.node;
node.timestamp = Date.now();
if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array?
if (canOwn) {
assert(position === 0, 'canOwn must imply no weird position inside the file');
node.contents = buffer.subarray(offset, offset + length);
node.usedBytes = length;
return length;
} else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
node.usedBytes = length;
return length;
} else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?
node.contents.set(buffer.subarray(offset, offset + length), position);
return length;
}
}
// Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
MEMFS.expandFileStorage(node, position+length);
if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available.
else {
for (var i = 0; i < length; i++) {
node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
}
}
node.usedBytes = Math.max(node.usedBytes, position+length);
return length;
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
position += stream.node.usedBytes;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
},allocate:function (stream, offset, length) {
MEMFS.expandFileStorage(stream.node, offset + length);
stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
},mmap:function (stream, buffer, offset, length, position, prot, flags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
var ptr;
var allocated;
var contents = stream.node.contents;
// Only make a new copy when MAP_PRIVATE is specified.
if ( !(flags & 2) &&
(contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
// We can't emulate MAP_SHARED when the file is not backed by the buffer
// we're mapping to (e.g. the HEAP buffer).
allocated = false;
ptr = contents.byteOffset;
} else {
// Try to avoid unnecessary slices.
if (position > 0 || position + length < stream.node.usedBytes) {
if (contents.subarray) {
contents = contents.subarray(position, position + length);
} else {
contents = Array.prototype.slice.call(contents, position, position + length);
}
}
allocated = true;
ptr = _malloc(length);
if (!ptr) {
throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
}
buffer.set(contents, ptr);
}
return { ptr: ptr, allocated: allocated };
},msync:function (stream, buffer, offset, length, mmapFlags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
if (mmapFlags & 2) {
// MAP_PRIVATE calls need not to be synced back to underlying fs
return 0;
}
var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
// should we check if bytesWritten and length are the same?
return 0;
}}};
var IDBFS={dbs:{},indexedDB:function () {
if (typeof indexedDB !== 'undefined') return indexedDB;
var ret = null;
if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
assert(ret, 'IDBFS used, but indexedDB not supported');
return ret;
},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) {
// reuse all of the core MEMFS functionality
return MEMFS.mount.apply(null, arguments);
},syncfs:function (mount, populate, callback) {
IDBFS.getLocalSet(mount, function(err, local) {
if (err) return callback(err);
IDBFS.getRemoteSet(mount, function(err, remote) {
if (err) return callback(err);
var src = populate ? remote : local;
var dst = populate ? local : remote;
IDBFS.reconcile(src, dst, callback);
});
});
},getDB:function (name, callback) {
// check the cache first
var db = IDBFS.dbs[name];
if (db) {
return callback(null, db);
}
var req;
try {
req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
} catch (e) {
return callback(e);
}
if (!req) {
return callback("Unable to connect to IndexedDB");
}
req.onupgradeneeded = function(e) {
var db = e.target.result;
var transaction = e.target.transaction;
var fileStore;
if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
} else {
fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
}
if (!fileStore.indexNames.contains('timestamp')) {
fileStore.createIndex('timestamp', 'timestamp', { unique: false });
}
};
req.onsuccess = function() {
db = req.result;
// add to the cache
IDBFS.dbs[name] = db;
callback(null, db);
};
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},getLocalSet:function (mount, callback) {
var entries = {};
function isRealDir(p) {
return p !== '.' && p !== '..';
};
function toAbsolute(root) {
return function(p) {
return PATH.join2(root, p);
}
};
var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
while (check.length) {
var path = check.pop();
var stat;
try {
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
}
entries[path] = { timestamp: stat.mtime };
}
return callback(null, { type: 'local', entries: entries });
},getRemoteSet:function (mount, callback) {
var entries = {};
IDBFS.getDB(mount.mountpoint, function(err, db) {
if (err) return callback(err);
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
transaction.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
var index = store.index('timestamp');
index.openKeyCursor().onsuccess = function(event) {
var cursor = event.target.result;
if (!cursor) {
return callback(null, { type: 'remote', db: db, entries: entries });
}
entries[cursor.primaryKey] = { timestamp: cursor.key };
cursor.continue();
};
});
},loadLocalEntry:function (path, callback) {
var stat, node;
try {
var lookup = FS.lookupPath(path);
node = lookup.node;
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
return callback(null, { timestamp: stat.mtime, mode: stat.mode });
} else if (FS.isFile(stat.mode)) {
// Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
// Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
node.contents = MEMFS.getFileDataAsTypedArray(node);
return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents });
} else {
return callback(new Error('node type not supported'));
}
},storeLocalEntry:function (path, entry, callback) {
try {
if (FS.isDir(entry.mode)) {
FS.mkdir(path, entry.mode);
} else if (FS.isFile(entry.mode)) {
FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true });
} else {
return callback(new Error('node type not supported'));
}
FS.chmod(path, entry.mode);
FS.utime(path, entry.timestamp, entry.timestamp);
} catch (e) {
return callback(e);
}
callback(null);
},removeLocalEntry:function (path, callback) {
try {
var lookup = FS.lookupPath(path);
var stat = FS.stat(path);
if (FS.isDir(stat.mode)) {
FS.rmdir(path);
} else if (FS.isFile(stat.mode)) {
FS.unlink(path);
}
} catch (e) {
return callback(e);
}
callback(null);
},loadRemoteEntry:function (store, path, callback) {
var req = store.get(path);
req.onsuccess = function(event) { callback(null, event.target.result); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},storeRemoteEntry:function (store, path, entry, callback) {
var req = store.put(entry, path);
req.onsuccess = function() { callback(null); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},removeRemoteEntry:function (store, path, callback) {
var req = store.delete(path);
req.onsuccess = function() { callback(null); };
req.onerror = function(e) {
callback(this.error);
e.preventDefault();
};
},reconcile:function (src, dst, callback) {
var total = 0;
var create = [];
Object.keys(src.entries).forEach(function (key) {
var e = src.entries[key];
var e2 = dst.entries[key];
if (!e2 || e.timestamp > e2.timestamp) {
create.push(key);
total++;
}
});
var remove = [];
Object.keys(dst.entries).forEach(function (key) {
var e = dst.entries[key];
var e2 = src.entries[key];
if (!e2) {
remove.push(key);
total++;
}
});
if (!total) {
return callback(null);
}
var errored = false;
var completed = 0;
var db = src.type === 'remote' ? src.db : dst.db;
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
function done(err) {
if (err) {
if (!done.errored) {
done.errored = true;
return callback(err);
}
return;
}
if (++completed >= total) {
return callback(null);
}
};
transaction.onerror = function(e) {
done(this.error);
e.preventDefault();
};
// sort paths in ascending order so directory entries are created
// before the files inside them
create.sort().forEach(function (path) {
if (dst.type === 'local') {
IDBFS.loadRemoteEntry(store, path, function (err, entry) {
if (err) return done(err);
IDBFS.storeLocalEntry(path, entry, done);
});
} else {
IDBFS.loadLocalEntry(path, function (err, entry) {
if (err) return done(err);
IDBFS.storeRemoteEntry(store, path, entry, done);
});
}
});
// sort paths in descending order so files are deleted before their
// parent directories
remove.sort().reverse().forEach(function(path) {
if (dst.type === 'local') {
IDBFS.removeLocalEntry(path, done);
} else {
IDBFS.removeRemoteEntry(store, path, done);
}
});
}};
var NODEFS={isWindows:false,staticInit:function () {
NODEFS.isWindows = !!process.platform.match(/^win/);
},mount:function (mount) {
assert(ENVIRONMENT_IS_NODE);
return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
},createNode:function (parent, name, mode, dev) {
if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node = FS.createNode(parent, name, mode);
node.node_ops = NODEFS.node_ops;
node.stream_ops = NODEFS.stream_ops;
return node;
},getMode:function (path) {
var stat;
try {
stat = fs.lstatSync(path);
if (NODEFS.isWindows) {
// On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so
// propagate write bits to execute bits.
stat.mode = stat.mode | ((stat.mode & 146) >> 1);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return stat.mode;
},realPath:function (node) {
var parts = [];
while (node.parent !== node) {
parts.push(node.name);
node = node.parent;
}
parts.push(node.mount.opts.root);
parts.reverse();
return PATH.join.apply(null, parts);
},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) {
flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process.
if (flags in NODEFS.flagsToPermissionStringMap) {
return NODEFS.flagsToPermissionStringMap[flags];
} else {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
},node_ops:{getattr:function (node) {
var path = NODEFS.realPath(node);
var stat;
try {
stat = fs.lstatSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
// node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
// See http://support.microsoft.com/kb/140365
if (NODEFS.isWindows && !stat.blksize) {
stat.blksize = 4096;
}
if (NODEFS.isWindows && !stat.blocks) {
stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
}
return {
dev: stat.dev,
ino: stat.ino,
mode: stat.mode,
nlink: stat.nlink,
uid: stat.uid,
gid: stat.gid,
rdev: stat.rdev,
size: stat.size,
atime: stat.atime,
mtime: stat.mtime,
ctime: stat.ctime,
blksize: stat.blksize,
blocks: stat.blocks
};
},setattr:function (node, attr) {
var path = NODEFS.realPath(node);
try {
if (attr.mode !== undefined) {
fs.chmodSync(path, attr.mode);
// update the common node structure mode as well
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
var date = new Date(attr.timestamp);
fs.utimesSync(path, date, date);
}
if (attr.size !== undefined) {
fs.truncateSync(path, attr.size);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},lookup:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
var mode = NODEFS.getMode(path);
return NODEFS.createNode(parent, name, mode);
},mknod:function (parent, name, mode, dev) {
var node = NODEFS.createNode(parent, name, mode, dev);
// create the backing node for this in the fs root as well
var path = NODEFS.realPath(node);
try {
if (FS.isDir(node.mode)) {
fs.mkdirSync(path, node.mode);
} else {
fs.writeFileSync(path, '', { mode: node.mode });
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return node;
},rename:function (oldNode, newDir, newName) {
var oldPath = NODEFS.realPath(oldNode);
var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
try {
fs.renameSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},unlink:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.unlinkSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},rmdir:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.rmdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},readdir:function (node) {
var path = NODEFS.realPath(node);
try {
return fs.readdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},symlink:function (parent, newName, oldPath) {
var newPath = PATH.join2(NODEFS.realPath(parent), newName);
try {
fs.symlinkSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},readlink:function (node) {
var path = NODEFS.realPath(node);
try {
path = fs.readlinkSync(path);
path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
return path;
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}},stream_ops:{open:function (stream) {
var path = NODEFS.realPath(stream.node);
try {
if (FS.isFile(stream.node.mode)) {
stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags));
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},close:function (stream) {
try {
if (FS.isFile(stream.node.mode) && stream.nfd) {
fs.closeSync(stream.nfd);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},read:function (stream, buffer, offset, length, position) {
if (length === 0) return 0; // node errors on 0 length reads
// FIXME this is terrible.
var nbuffer = new Buffer(length);
var res;
try {
res = fs.readSync(stream.nfd, nbuffer, 0, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
if (res > 0) {
for (var i = 0; i < res; i++) {
buffer[offset + i] = nbuffer[i];
}
}
return res;
},write:function (stream, buffer, offset, length, position) {
// FIXME this is terrible.
var nbuffer = new Buffer(buffer.subarray(offset, offset + length));
var res;
try {
res = fs.writeSync(stream.nfd, nbuffer, 0, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return res;
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
try {
var stat = fs.fstatSync(stream.nfd);
position += stat.size;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
}}};
var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) {
assert(ENVIRONMENT_IS_WORKER);
if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0);
var createdParents = {};
function ensureParent(path) {
// return the parent node, creating subdirs as necessary
var parts = path.split('/');
var parent = root;
for (var i = 0; i < parts.length-1; i++) {
var curr = parts.slice(0, i+1).join('/');
// Issue 4254: Using curr as a node name will prevent the node
// from being found in FS.nameTable when FS.open is called on
// a path which holds a child of this node,
// given that all FS functions assume node names
// are just their corresponding parts within their given path,
// rather than incremental aggregates which include their parent's
// directories.
if (!createdParents[curr]) {
createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
}
parent = createdParents[curr];
}
return parent;
}
function base(path) {
var parts = path.split('/');
return parts[parts.length-1];
}
// We also accept FileList here, by using Array.prototype
Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
});
(mount.opts["blobs"] || []).forEach(function(obj) {
WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
});
(mount.opts["packages"] || []).forEach(function(pack) {
pack['metadata'].files.forEach(function(file) {
var name = file.filename.substr(1); // remove initial slash
WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end));
});
});
return root;
},createNode:function (parent, name, mode, dev, contents, mtime) {
var node = FS.createNode(parent, name, mode);
node.mode = mode;
node.node_ops = WORKERFS.node_ops;
node.stream_ops = WORKERFS.stream_ops;
node.timestamp = (mtime || new Date).getTime();
assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
if (mode === WORKERFS.FILE_MODE) {
node.size = contents.size;
node.contents = contents;
} else {
node.size = 4096;
node.contents = {};
}
if (parent) {
parent.contents[name] = node;
}
return node;
},node_ops:{getattr:function (node) {
return {
dev: 1,
ino: undefined,
mode: node.mode,
nlink: 1,
uid: 0,
gid: 0,
rdev: undefined,
size: node.size,
atime: new Date(node.timestamp),
mtime: new Date(node.timestamp),
ctime: new Date(node.timestamp),
blksize: 4096,
blocks: Math.ceil(node.size / 4096),
};
},setattr:function (node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
},lookup:function (parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
},mknod:function (parent, name, mode, dev) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},rename:function (oldNode, newDir, newName) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},unlink:function (parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},rmdir:function (parent, name) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},readdir:function (node) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},symlink:function (parent, newName, oldPath) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
},readlink:function (node) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}},stream_ops:{read:function (stream, buffer, offset, length, position) {
if (position >= stream.node.size) return 0;
var chunk = stream.node.contents.slice(position, position + length);
var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
buffer.set(new Uint8Array(ab), offset);
return chunk.size;
},write:function (stream, buffer, offset, length, position) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
position += stream.node.size;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return position;
}}};
var _stdin=STATICTOP; STATICTOP += 16;;
var _stdout=STATICTOP; STATICTOP += 16;;
var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) {
if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
return ___setErrNo(e.errno);
},lookupPath:function (path, opts) {
path = PATH.resolve(FS.cwd(), path);
opts = opts || {};
if (!path) return { path: '', node: null };
var defaults = {
follow_mount: true,
recurse_count: 0
};
for (var key in defaults) {
if (opts[key] === undefined) {
opts[key] = defaults[key];
}
}
if (opts.recurse_count > 8) { // max recursive lookup of 8
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
}
// split the path
var parts = PATH.normalizeArray(path.split('/').filter(function(p) {
return !!p;
}), false);
// start at the root
var current = FS.root;
var current_path = '/';
for (var i = 0; i < parts.length; i++) {
var islast = (i === parts.length-1);
if (islast && opts.parent) {
// stop resolving
break;
}
current = FS.lookupNode(current, parts[i]);
current_path = PATH.join2(current_path, parts[i]);
// jump to the mount's root node if this is a mountpoint
if (FS.isMountpoint(current)) {
if (!islast || (islast && opts.follow_mount)) {
current = current.mounted.root;
}
}
// by default, lookupPath will not follow a symlink if it is the final path component.
// setting opts.follow = true will override this behavior.
if (!islast || opts.follow) {
var count = 0;
while (FS.isLink(current.mode)) {
var link = FS.readlink(current_path);
current_path = PATH.resolve(PATH.dirname(current_path), link);
var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
current = lookup.node;
if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
}
}
}
}
return { path: current_path, node: current };
},getPath:function (node) {
var path;
while (true) {
if (FS.isRoot(node)) {
var mount = node.mount.mountpoint;
if (!path) return mount;
return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path;
}
path = path ? node.name + '/' + path : node.name;
node = node.parent;
}
},hashName:function (parentid, name) {
var hash = 0;
for (var i = 0; i < name.length; i++) {
hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
}
return ((parentid + hash) >>> 0) % FS.nameTable.length;
},hashAddNode:function (node) {
var hash = FS.hashName(node.parent.id, node.name);
node.name_next = FS.nameTable[hash];
FS.nameTable[hash] = node;
},hashRemoveNode:function (node) {
var hash = FS.hashName(node.parent.id, node.name);
if (FS.nameTable[hash] === node) {
FS.nameTable[hash] = node.name_next;
} else {
var current = FS.nameTable[hash];
while (current) {
if (current.name_next === node) {
current.name_next = node.name_next;
break;
}
current = current.name_next;
}
}
},lookupNode:function (parent, name) {
var err = FS.mayLookup(parent);
if (err) {
throw new FS.ErrnoError(err, parent);
}
var hash = FS.hashName(parent.id, name);
for (var node = FS.nameTable[hash]; node; node = node.name_next) {
var nodeName = node.name;
if (node.parent.id === parent.id && nodeName === name) {
return node;
}
}
// if we failed to find it in the cache, call into the VFS
return FS.lookup(parent, name);
},createNode:function (parent, name, mode, rdev) {
if (!FS.FSNode) {
FS.FSNode = function(parent, name, mode, rdev) {
if (!parent) {
parent = this; // root node sets parent to itself
}
this.parent = parent;
this.mount = parent.mount;
this.mounted = null;
this.id = FS.nextInode++;
this.name = name;
this.mode = mode;
this.node_ops = {};
this.stream_ops = {};
this.rdev = rdev;
};
FS.FSNode.prototype = {};
// compatibility
var readMode = 292 | 73;
var writeMode = 146;
// NOTE we must use Object.defineProperties instead of individual calls to
// Object.defineProperty in order to make closure compiler happy
Object.defineProperties(FS.FSNode.prototype, {
read: {
get: function() { return (this.mode & readMode) === readMode; },
set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
},
write: {
get: function() { return (this.mode & writeMode) === writeMode; },
set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
},
isFolder: {
get: function() { return FS.isDir(this.mode); }
},
isDevice: {
get: function() { return FS.isChrdev(this.mode); }
}
});
}
var node = new FS.FSNode(parent, name, mode, rdev);
FS.hashAddNode(node);
return node;
},destroyNode:function (node) {
FS.hashRemoveNode(node);
},isRoot:function (node) {
return node === node.parent;
},isMountpoint:function (node) {
return !!node.mounted;
},isFile:function (mode) {
return (mode & 61440) === 32768;
},isDir:function (mode) {
return (mode & 61440) === 16384;
},isLink:function (mode) {
return (mode & 61440) === 40960;
},isChrdev:function (mode) {
return (mode & 61440) === 8192;
},isBlkdev:function (mode) {
return (mode & 61440) === 24576;
},isFIFO:function (mode) {
return (mode & 61440) === 4096;
},isSocket:function (mode) {
return (mode & 49152) === 49152;
},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) {
var flags = FS.flagModes[str];
if (typeof flags === 'undefined') {
throw new Error('Unknown file open mode: ' + str);
}
return flags;
},flagsToPermissionString:function (flag) {
var perms = ['r', 'w', 'rw'][flag & 3];
if ((flag & 512)) {
perms += 'w';
}
return perms;
},nodePermissions:function (node, perms) {
if (FS.ignorePermissions) {
return 0;
}
// return 0 if any user, group or owner bits are set.
if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
return ERRNO_CODES.EACCES;
} else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
return ERRNO_CODES.EACCES;
} else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
return ERRNO_CODES.EACCES;
}
return 0;
},mayLookup:function (dir) {
var err = FS.nodePermissions(dir, 'x');
if (err) return err;
if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
return 0;
},mayCreate:function (dir, name) {
try {
var node = FS.lookupNode(dir, name);
return ERRNO_CODES.EEXIST;
} catch (e) {
}
return FS.nodePermissions(dir, 'wx');
},mayDelete:function (dir, name, isdir) {
var node;
try {
node = FS.lookupNode(dir, name);
} catch (e) {
return e.errno;
}
var err = FS.nodePermissions(dir, 'wx');
if (err) {
return err;
}
if (isdir) {
if (!FS.isDir(node.mode)) {
return ERRNO_CODES.ENOTDIR;
}
if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
return ERRNO_CODES.EBUSY;
}
} else {
if (FS.isDir(node.mode)) {
return ERRNO_CODES.EISDIR;
}
}
return 0;
},mayOpen:function (node, flags) {
if (!node) {
return ERRNO_CODES.ENOENT;
}
if (FS.isLink(node.mode)) {
return ERRNO_CODES.ELOOP;
} else if (FS.isDir(node.mode)) {
if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
(flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
return ERRNO_CODES.EISDIR;
}
}
return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
},MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) {
fd_start = fd_start || 0;
fd_end = fd_end || FS.MAX_OPEN_FDS;
for (var fd = fd_start; fd <= fd_end; fd++) {
if (!FS.streams[fd]) {
return fd;
}
}
throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
},getStream:function (fd) {
return FS.streams[fd];
},createStream:function (stream, fd_start, fd_end) {
if (!FS.FSStream) {
FS.FSStream = function(){};
FS.FSStream.prototype = {};
// compatibility
Object.defineProperties(FS.FSStream.prototype, {
object: {
get: function() { return this.node; },
set: function(val) { this.node = val; }
},
isRead: {
get: function() { return (this.flags & 2097155) !== 1; }
},
isWrite: {
get: function() { return (this.flags & 2097155) !== 0; }
},
isAppend: {
get: function() { return (this.flags & 1024); }
}
});
}
// clone it, so we can return an instance of FSStream
var newStream = new FS.FSStream();
for (var p in stream) {
newStream[p] = stream[p];
}
stream = newStream;
var fd = FS.nextfd(fd_start, fd_end);
stream.fd = fd;
FS.streams[fd] = stream;
return stream;
},closeStream:function (fd) {
FS.streams[fd] = null;
},chrdev_stream_ops:{open:function (stream) {
var device = FS.getDevice(stream.node.rdev);
// override node's stream ops with the device's
stream.stream_ops = device.stream_ops;
// forward the open call
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
},llseek:function () {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}},major:function (dev) {
return ((dev) >> 8);
},minor:function (dev) {
return ((dev) & 0xff);
},makedev:function (ma, mi) {
return ((ma) << 8 | (mi));
},registerDevice:function (dev, ops) {
FS.devices[dev] = { stream_ops: ops };
},getDevice:function (dev) {
return FS.devices[dev];
},getMounts:function (mount) {
var mounts = [];
var check = [mount];
while (check.length) {
var m = check.pop();
mounts.push(m);
check.push.apply(check, m.mounts);
}
return mounts;
},syncfs:function (populate, callback) {
if (typeof(populate) === 'function') {
callback = populate;
populate = false;
}
FS.syncFSRequests++;
if (FS.syncFSRequests > 1) {
console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
}
var mounts = FS.getMounts(FS.root.mount);
var completed = 0;
function doCallback(err) {
assert(FS.syncFSRequests > 0);
FS.syncFSRequests--;
return callback(err);
}
function done(err) {
if (err) {
if (!done.errored) {
done.errored = true;
return doCallback(err);
}
return;
}
if (++completed >= mounts.length) {
doCallback(null);
}
};
// sync all mounts
mounts.forEach(function (mount) {
if (!mount.type.syncfs) {
return done(null);
}
mount.type.syncfs(mount, populate, done);
});
},mount:function (type, opts, mountpoint) {
var root = mountpoint === '/';
var pseudo = !mountpoint;
var node;
if (root && FS.root) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
} else if (!root && !pseudo) {
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
mountpoint = lookup.path; // use the absolute path
node = lookup.node;
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
if (!FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
}
var mount = {
type: type,
opts: opts,
mountpoint: mountpoint,
mounts: []
};
// create a root node for the fs
var mountRoot = type.mount(mount);
mountRoot.mount = mount;
mount.root = mountRoot;
if (root) {
FS.root = mountRoot;
} else if (node) {
// set as a mountpoint
node.mounted = mount;
// add the new mount to the current mount's children
if (node.mount) {
node.mount.mounts.push(mount);
}
}
return mountRoot;
},unmount:function (mountpoint) {
var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
if (!FS.isMountpoint(lookup.node)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
// destroy the nodes for this mount, and all its child mounts
var node = lookup.node;
var mount = node.mounted;
var mounts = FS.getMounts(mount);
Object.keys(FS.nameTable).forEach(function (hash) {
var current = FS.nameTable[hash];
while (current) {
var next = current.name_next;
if (mounts.indexOf(current.mount) !== -1) {
FS.destroyNode(current);
}
current = next;
}
});
// no longer a mountpoint
node.mounted = null;
// remove this mount from the child mounts
var idx = node.mount.mounts.indexOf(mount);
assert(idx !== -1);
node.mount.mounts.splice(idx, 1);
},lookup:function (parent, name) {
return parent.node_ops.lookup(parent, name);
},mknod:function (path, mode, dev) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
if (!name || name === '.' || name === '..') {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var err = FS.mayCreate(parent, name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.mknod) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return parent.node_ops.mknod(parent, name, mode, dev);
},create:function (path, mode) {
mode = mode !== undefined ? mode : 438 /* 0666 */;
mode &= 4095;
mode |= 32768;
return FS.mknod(path, mode, 0);
},mkdir:function (path, mode) {
mode = mode !== undefined ? mode : 511 /* 0777 */;
mode &= 511 | 512;
mode |= 16384;
return FS.mknod(path, mode, 0);
},mkdirTree:function (path, mode) {
var dirs = path.split('/');
var d = '';
for (var i = 0; i < dirs.length; ++i) {
if (!dirs[i]) continue;
d += '/' + dirs[i];
try {
FS.mkdir(d, mode);
} catch(e) {
if (e.errno != ERRNO_CODES.EEXIST) throw e;
}
}
},mkdev:function (path, mode, dev) {
if (typeof(dev) === 'undefined') {
dev = mode;
mode = 438 /* 0666 */;
}
mode |= 8192;
return FS.mknod(path, mode, dev);
},symlink:function (oldpath, newpath) {
if (!PATH.resolve(oldpath)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
var lookup = FS.lookupPath(newpath, { parent: true });
var parent = lookup.node;
if (!parent) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
var newname = PATH.basename(newpath);
var err = FS.mayCreate(parent, newname);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.symlink) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return parent.node_ops.symlink(parent, newname, oldpath);
},rename:function (old_path, new_path) {
var old_dirname = PATH.dirname(old_path);
var new_dirname = PATH.dirname(new_path);
var old_name = PATH.basename(old_path);
var new_name = PATH.basename(new_path);
// parents must exist
var lookup, old_dir, new_dir;
try {
lookup = FS.lookupPath(old_path, { parent: true });
old_dir = lookup.node;
lookup = FS.lookupPath(new_path, { parent: true });
new_dir = lookup.node;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
// need to be part of the same mount
if (old_dir.mount !== new_dir.mount) {
throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
}
// source must exist
var old_node = FS.lookupNode(old_dir, old_name);
// old path should not be an ancestor of the new path
var relative = PATH.relative(old_path, new_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
// new path should not be an ancestor of the old path
relative = PATH.relative(new_path, old_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
// see if the new path already exists
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
// not fatal
}
// early out if nothing needs to change
if (old_node === new_node) {
return;
}
// we'll need to delete the old entry
var isdir = FS.isDir(old_node.mode);
var err = FS.mayDelete(old_dir, old_name, isdir);
if (err) {
throw new FS.ErrnoError(err);
}
// need delete permissions if we'll be overwriting.
// need create permissions if new doesn't already exist.
err = new_node ?
FS.mayDelete(new_dir, new_name, isdir) :
FS.mayCreate(new_dir, new_name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!old_dir.node_ops.rename) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
// if we are going to change the parent, check write permissions
if (new_dir !== old_dir) {
err = FS.nodePermissions(old_dir, 'w');
if (err) {
throw new FS.ErrnoError(err);
}
}
try {
if (FS.trackingDelegate['willMovePath']) {
FS.trackingDelegate['willMovePath'](old_path, new_path);
}
} catch(e) {
console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
}
// remove the node from the lookup hash
FS.hashRemoveNode(old_node);
// do the underlying fs rename
try {
old_dir.node_ops.rename(old_node, new_dir, new_name);
} catch (e) {
throw e;
} finally {
// add the node back to the hash (in case node_ops.rename
// changed its name)
FS.hashAddNode(old_node);
}
try {
if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path);
} catch(e) {
console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
}
},rmdir:function (path) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, true);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.rmdir) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
try {
if (FS.trackingDelegate['willDeletePath']) {
FS.trackingDelegate['willDeletePath'](path);
}
} catch(e) {
console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
}
parent.node_ops.rmdir(parent, name);
FS.destroyNode(node);
try {
if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
} catch(e) {
console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
}
},readdir:function (path) {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
if (!node.node_ops.readdir) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
return node.node_ops.readdir(node);
},unlink:function (path) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, false);
if (err) {
// According to POSIX, we should map EISDIR to EPERM, but
// we instead do what Linux does (and we must, as we use
// the musl linux libc).
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.unlink) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
try {
if (FS.trackingDelegate['willDeletePath']) {
FS.trackingDelegate['willDeletePath'](path);
}
} catch(e) {
console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
}
parent.node_ops.unlink(parent, name);
FS.destroyNode(node);
try {
if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
} catch(e) {
console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
}
},readlink:function (path) {
var lookup = FS.lookupPath(path);
var link = lookup.node;
if (!link) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
if (!link.node_ops.readlink) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
},stat:function (path, dontFollow) {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
var node = lookup.node;
if (!node) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
if (!node.node_ops.getattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return node.node_ops.getattr(node);
},lstat:function (path) {
return FS.stat(path, true);
},chmod:function (path, mode, dontFollow) {
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
node.node_ops.setattr(node, {
mode: (mode & 4095) | (node.mode & ~4095),
timestamp: Date.now()
});
},lchmod:function (path, mode) {
FS.chmod(path, mode, true);
},fchmod:function (fd, mode) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
FS.chmod(stream.node, mode);
},chown:function (path, uid, gid, dontFollow) {
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
node.node_ops.setattr(node, {
timestamp: Date.now()
// we ignore the uid / gid for now
});
},lchown:function (path, uid, gid) {
FS.chown(path, uid, gid, true);
},fchown:function (fd, uid, gid) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
FS.chown(stream.node, uid, gid);
},truncate:function (path, len) {
if (len < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!FS.isFile(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var err = FS.nodePermissions(node, 'w');
if (err) {
throw new FS.ErrnoError(err);
}
node.node_ops.setattr(node, {
size: len,
timestamp: Date.now()
});
},ftruncate:function (fd, len) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
FS.truncate(stream.node, len);
},utime:function (path, atime, mtime) {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
node.node_ops.setattr(node, {
timestamp: Math.max(atime, mtime)
});
},open:function (path, flags, mode, fd_start, fd_end) {
if (path === "") {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode;
if ((flags & 64)) {
mode = (mode & 4095) | 32768;
} else {
mode = 0;
}
var node;
if (typeof path === 'object') {
node = path;
} else {
path = PATH.normalize(path);
try {
var lookup = FS.lookupPath(path, {
follow: !(flags & 131072)
});
node = lookup.node;
} catch (e) {
// ignore
}
}
// perhaps we need to create the node
var created = false;
if ((flags & 64)) {
if (node) {
// if O_CREAT and O_EXCL are set, error out if the node already exists
if ((flags & 128)) {
throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
}
} else {
// node doesn't exist, try to create it
node = FS.mknod(path, mode, 0);
created = true;
}
}
if (!node) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
// can't truncate a device
if (FS.isChrdev(node.mode)) {
flags &= ~512;
}
// if asked only for a directory, then this must be one
if ((flags & 65536) && !FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
// check permissions, if this is not a file we just created now (it is ok to
// create and write to a file with read-only permissions; it is read-only
// for later use)
if (!created) {
var err = FS.mayOpen(node, flags);
if (err) {
throw new FS.ErrnoError(err);
}
}
// do truncation if necessary
if ((flags & 512)) {
FS.truncate(node, 0);
}
// we've already handled these, don't pass down to the underlying vfs
flags &= ~(128 | 512);
// register the stream with the filesystem
var stream = FS.createStream({
node: node,
path: FS.getPath(node), // we want the absolute path to the node
flags: flags,
seekable: true,
position: 0,
stream_ops: node.stream_ops,
// used by the file family libc calls (fopen, fwrite, ferror, etc.)
ungotten: [],
error: false
}, fd_start, fd_end);
// call the new stream's open function
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
if (Module['logReadFiles'] && !(flags & 1)) {
if (!FS.readFiles) FS.readFiles = {};
if (!(path in FS.readFiles)) {
FS.readFiles[path] = 1;
Module['printErr']('read file: ' + path);
}
}
try {
if (FS.trackingDelegate['onOpenFile']) {
var trackingFlags = 0;
if ((flags & 2097155) !== 1) {
trackingFlags |= FS.tracking.openFlags.READ;
}
if ((flags & 2097155) !== 0) {
trackingFlags |= FS.tracking.openFlags.WRITE;
}
FS.trackingDelegate['onOpenFile'](path, trackingFlags);
}
} catch(e) {
console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
}
return stream;
},close:function (stream) {
if (stream.getdents) stream.getdents = null; // free readdir state
try {
if (stream.stream_ops.close) {
stream.stream_ops.close(stream);
}
} catch (e) {
throw e;
} finally {
FS.closeStream(stream.fd);
}
},llseek:function (stream, offset, whence) {
if (!stream.seekable || !stream.stream_ops.llseek) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
stream.position = stream.stream_ops.llseek(stream, offset, whence);
stream.ungotten = [];
return stream.position;
},read:function (stream, buffer, offset, length, position) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!stream.stream_ops.read) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var seeking = true;
if (typeof position === 'undefined') {
position = stream.position;
seeking = false;
} else if (!stream.seekable) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
if (!seeking) stream.position += bytesRead;
return bytesRead;
},write:function (stream, buffer, offset, length, position, canOwn) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!stream.stream_ops.write) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if (stream.flags & 1024) {
// seek to the end before writing in append mode
FS.llseek(stream, 0, 2);
}
var seeking = true;
if (typeof position === 'undefined') {
position = stream.position;
seeking = false;
} else if (!stream.seekable) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
if (!seeking) stream.position += bytesWritten;
try {
if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path);
} catch(e) {
console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message);
}
return bytesWritten;
},allocate:function (stream, offset, length) {
if (offset < 0 || length <= 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
if (!stream.stream_ops.allocate) {
throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
}
stream.stream_ops.allocate(stream, offset, length);
},mmap:function (stream, buffer, offset, length, position, prot, flags) {
// TODO if PROT is PROT_WRITE, make sure we have write access
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(ERRNO_CODES.EACCES);
}
if (!stream.stream_ops.mmap) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
},msync:function (stream, buffer, offset, length, mmapFlags) {
if (!stream || !stream.stream_ops.msync) {
return 0;
}
return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
},munmap:function (stream) {
return 0;
},ioctl:function (stream, cmd, arg) {
if (!stream.stream_ops.ioctl) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
}
return stream.stream_ops.ioctl(stream, cmd, arg);
},readFile:function (path, opts) {
opts = opts || {};
opts.flags = opts.flags || 'r';
opts.encoding = opts.encoding || 'binary';
if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
throw new Error('Invalid encoding type "' + opts.encoding + '"');
}
var ret;
var stream = FS.open(path, opts.flags);
var stat = FS.stat(path);
var length = stat.size;
var buf = new Uint8Array(length);
FS.read(stream, buf, 0, length, 0);
if (opts.encoding === 'utf8') {
ret = UTF8ArrayToString(buf, 0);
} else if (opts.encoding === 'binary') {
ret = buf;
}
FS.close(stream);
return ret;
},writeFile:function (path, data, opts) {
opts = opts || {};
opts.flags = opts.flags || 'w';
opts.encoding = opts.encoding || 'utf8';
if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
throw new Error('Invalid encoding type "' + opts.encoding + '"');
}
var stream = FS.open(path, opts.flags, opts.mode);
if (opts.encoding === 'utf8') {
var buf = new Uint8Array(lengthBytesUTF8(data)+1);
var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn);
} else if (opts.encoding === 'binary') {
FS.write(stream, data, 0, data.length, 0, opts.canOwn);
}
FS.close(stream);
},cwd:function () {
return FS.currentPath;
},chdir:function (path) {
var lookup = FS.lookupPath(path, { follow: true });
if (lookup.node === null) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
if (!FS.isDir(lookup.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
var err = FS.nodePermissions(lookup.node, 'x');
if (err) {
throw new FS.ErrnoError(err);
}
FS.currentPath = lookup.path;
},createDefaultDirectories:function () {
FS.mkdir('/tmp');
FS.mkdir('/home');
FS.mkdir('/home/web_user');
},createDefaultDevices:function () {
// create /dev
FS.mkdir('/dev');
// setup /dev/null
FS.registerDevice(FS.makedev(1, 3), {
read: function() { return 0; },
write: function(stream, buffer, offset, length, pos) { return length; }
});
FS.mkdev('/dev/null', FS.makedev(1, 3));
// setup /dev/tty and /dev/tty1
// stderr needs to print output using Module['printErr']
// so we register a second tty just for it.
TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
FS.mkdev('/dev/tty', FS.makedev(5, 0));
FS.mkdev('/dev/tty1', FS.makedev(6, 0));
// setup /dev/[u]random
var random_device;
if (typeof crypto !== 'undefined') {
// for modern web browsers
var randomBuffer = new Uint8Array(1);
random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };
} else if (ENVIRONMENT_IS_NODE) {
// for nodejs
random_device = function() { return require('crypto').randomBytes(1)[0]; };
} else {
// default for ES5 platforms
random_device = function() { return (Math.random()*256)|0; };
}
FS.createDevice('/dev', 'random', random_device);
FS.createDevice('/dev', 'urandom', random_device);
// we're not going to emulate the actual shm device,
// just create the tmp dirs that reside in it commonly
FS.mkdir('/dev/shm');
FS.mkdir('/dev/shm/tmp');
},createSpecialDirectories:function () {
// create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname)
FS.mkdir('/proc');
FS.mkdir('/proc/self');
FS.mkdir('/proc/self/fd');
FS.mount({
mount: function() {
var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73);
node.node_ops = {
lookup: function(parent, name) {
var fd = +name;
var stream = FS.getStream(fd);
if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
var ret = {
parent: null,
mount: { mountpoint: 'fake' },
node_ops: { readlink: function() { return stream.path } }
};
ret.parent = ret; // make it look like a simple root node
return ret;
}
};
return node;
}
}, {}, '/proc/self/fd');
},createStandardStreams:function () {
// TODO deprecate the old functionality of a single
// input / output callback and that utilizes FS.createDevice
// and instead require a unique set of stream ops
// by default, we symlink the standard streams to the
// default tty devices. however, if the standard streams
// have been overwritten we create a unique device for
// them instead.
if (Module['stdin']) {
FS.createDevice('/dev', 'stdin', Module['stdin']);
} else {
FS.symlink('/dev/tty', '/dev/stdin');
}
if (Module['stdout']) {
FS.createDevice('/dev', 'stdout', null, Module['stdout']);
} else {
FS.symlink('/dev/tty', '/dev/stdout');
}
if (Module['stderr']) {
FS.createDevice('/dev', 'stderr', null, Module['stderr']);
} else {
FS.symlink('/dev/tty1', '/dev/stderr');
}
// open default streams for the stdin, stdout and stderr devices
var stdin = FS.open('/dev/stdin', 'r');
assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
var stdout = FS.open('/dev/stdout', 'w');
assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
var stderr = FS.open('/dev/stderr', 'w');
assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
},ensureErrnoError:function () {
if (FS.ErrnoError) return;
FS.ErrnoError = function ErrnoError(errno, node) {
//Module.printErr(stackTrace()); // useful for debugging
this.node = node;
this.setErrno = function(errno) {
this.errno = errno;
for (var key in ERRNO_CODES) {
if (ERRNO_CODES[key] === errno) {
this.code = key;
break;
}
}
};
this.setErrno(errno);
this.message = ERRNO_MESSAGES[errno];
if (this.stack) this.stack = demangleAll(this.stack);
};
FS.ErrnoError.prototype = new Error();
FS.ErrnoError.prototype.constructor = FS.ErrnoError;
// Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
[ERRNO_CODES.ENOENT].forEach(function(code) {
FS.genericErrors[code] = new FS.ErrnoError(code);
FS.genericErrors[code].stack = '<generic error, no stack>';
});
},staticInit:function () {
FS.ensureErrnoError();
FS.nameTable = new Array(4096);
FS.mount(MEMFS, {}, '/');
FS.createDefaultDirectories();
FS.createDefaultDevices();
FS.createSpecialDirectories();
FS.filesystems = {
'MEMFS': MEMFS,
'IDBFS': IDBFS,
'NODEFS': NODEFS,
'WORKERFS': WORKERFS,
};
},init:function (input, output, error) {
assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
FS.init.initialized = true;
FS.ensureErrnoError();
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
Module['stdin'] = input || Module['stdin'];
Module['stdout'] = output || Module['stdout'];
Module['stderr'] = error || Module['stderr'];
FS.createStandardStreams();
},quit:function () {
FS.init.initialized = false;
// force-flush all streams, so we get musl std streams printed out
var fflush = Module['_fflush'];
if (fflush) fflush(0);
// close all of our streams
for (var i = 0; i < FS.streams.length; i++) {
var stream = FS.streams[i];
if (!stream) {
continue;
}
FS.close(stream);
}
},getMode:function (canRead, canWrite) {
var mode = 0;
if (canRead) mode |= 292 | 73;
if (canWrite) mode |= 146;
return mode;
},joinPath:function (parts, forceRelative) {
var path = PATH.join.apply(null, parts);
if (forceRelative && path[0] == '/') path = path.substr(1);
return path;
},absolutePath:function (relative, base) {
return PATH.resolve(base, relative);
},standardizePath:function (path) {
return PATH.normalize(path);
},findObject:function (path, dontResolveLastLink) {
var ret = FS.analyzePath(path, dontResolveLastLink);
if (ret.exists) {
return ret.object;
} else {
___setErrNo(ret.error);
return null;
}
},analyzePath:function (path, dontResolveLastLink) {
// operate from within the context of the symlink's target
try {
var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
path = lookup.path;
} catch (e) {
}
var ret = {
isRoot: false, exists: false, error: 0, name: null, path: null, object: null,
parentExists: false, parentPath: null, parentObject: null
};
try {
var lookup = FS.lookupPath(path, { parent: true });
ret.parentExists = true;
ret.parentPath = lookup.path;
ret.parentObject = lookup.node;
ret.name = PATH.basename(path);
lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
ret.exists = true;
ret.path = lookup.path;
ret.object = lookup.node;
ret.name = lookup.node.name;
ret.isRoot = lookup.path === '/';
} catch (e) {
ret.error = e.errno;
};
return ret;
},createFolder:function (parent, name, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.mkdir(path, mode);
},createPath:function (parent, path, canRead, canWrite) {
parent = typeof parent === 'string' ? parent : FS.getPath(parent);
var parts = path.split('/').reverse();
while (parts.length) {
var part = parts.pop();
if (!part) continue;
var current = PATH.join2(parent, part);
try {
FS.mkdir(current);
} catch (e) {
// ignore EEXIST
}
parent = current;
}
return current;
},createFile:function (parent, name, properties, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.create(path, mode);
},createDataFile:function (parent, name, data, canRead, canWrite, canOwn) {
var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
var mode = FS.getMode(canRead, canWrite);
var node = FS.create(path, mode);
if (data) {
if (typeof data === 'string') {
var arr = new Array(data.length);
for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
data = arr;
}
// make sure we can write to the file
FS.chmod(node, mode | 146);
var stream = FS.open(node, 'w');
FS.write(stream, data, 0, data.length, 0, canOwn);
FS.close(stream);
FS.chmod(node, mode);
}
return node;
},createDevice:function (parent, name, input, output) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(!!input, !!output);
if (!FS.createDevice.major) FS.createDevice.major = 64;
var dev = FS.makedev(FS.createDevice.major++, 0);
// Create a fake device that a set of stream ops to emulate
// the old behavior.
FS.registerDevice(dev, {
open: function(stream) {
stream.seekable = false;
},
close: function(stream) {
// flush any pending line data
if (output && output.buffer && output.buffer.length) {
output(10);
}
},
read: function(stream, buffer, offset, length, pos /* ignored */) {
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = input();
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},
write: function(stream, buffer, offset, length, pos) {
for (var i = 0; i < length; i++) {
try {
output(buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}
});
return FS.mkdev(path, mode, dev);
},createLink:function (parent, name, target, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
return FS.symlink(target, path);
},forceLoadFile:function (obj) {
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
var success = true;
if (typeof XMLHttpRequest !== 'undefined') {
throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
} else if (Module['read']) {
// Command-line.
try {
// WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
// read() will try to parse UTF8.
obj.contents = intArrayFromString(Module['read'](obj.url), true);
obj.usedBytes = obj.contents.length;
} catch (e) {
success = false;
}
} else {
throw new Error('Cannot load without read() or XMLHttpRequest.');
}
if (!success) ___setErrNo(ERRNO_CODES.EIO);
return success;
},createLazyFile:function (parent, name, url, canRead, canWrite) {
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
function LazyUint8Array() {
this.lengthKnown = false;
this.chunks = []; // Loaded chunks. Index is the chunk number
}
LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
if (idx > this.length-1 || idx < 0) {
return undefined;
}
var chunkOffset = idx % this.chunkSize;
var chunkNum = (idx / this.chunkSize)|0;
return this.getter(chunkNum)[chunkOffset];
}
LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
this.getter = getter;
}
LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
// Find length
var xhr = new XMLHttpRequest();
xhr.open('HEAD', url, false);
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
var datalength = Number(xhr.getResponseHeader("Content-length"));
var header;
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
var chunkSize = 1024*1024; // Chunk size in bytes
if (!hasByteServing) chunkSize = datalength;
// Function to get a range from the remote URL.
var doXHR = (function(from, to) {
if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
// Some hints to the browser that we want binary data.
if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
if (xhr.overrideMimeType) {
xhr.overrideMimeType('text/plain; charset=x-user-defined');
}
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
if (xhr.response !== undefined) {
return new Uint8Array(xhr.response || []);
} else {
return intArrayFromString(xhr.responseText || '', true);
}
});
var lazyArray = this;
lazyArray.setDataGetter(function(chunkNum) {
var start = chunkNum * chunkSize;
var end = (chunkNum+1) * chunkSize - 1; // including this byte
end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {
lazyArray.chunks[chunkNum] = doXHR(start, end);
}
if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");
return lazyArray.chunks[chunkNum];
});
if (usesGzip || !datalength) {
// if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
datalength = this.getter(0).length;
chunkSize = datalength;
console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
}
this._length = datalength;
this._chunkSize = chunkSize;
this.lengthKnown = true;
}
if (typeof XMLHttpRequest !== 'undefined') {
if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
var lazyArray = new LazyUint8Array();
Object.defineProperties(lazyArray, {
length: {
get: function() {
if(!this.lengthKnown) {
this.cacheLength();
}
return this._length;
}
},
chunkSize: {
get: function() {
if(!this.lengthKnown) {
this.cacheLength();
}
return this._chunkSize;
}
}
});
var properties = { isDevice: false, contents: lazyArray };
} else {
var properties = { isDevice: false, url: url };
}
var node = FS.createFile(parent, name, properties, canRead, canWrite);
// This is a total hack, but I want to get this lazy file code out of the
// core of MEMFS. If we want to keep this lazy file concept I feel it should
// be its own thin LAZYFS proxying calls to MEMFS.
if (properties.contents) {
node.contents = properties.contents;
} else if (properties.url) {
node.contents = null;
node.url = properties.url;
}
// Add a function that defers querying the file size until it is asked the first time.
Object.defineProperties(node, {
usedBytes: {
get: function() { return this.contents.length; }
}
});
// override each stream op with one that tries to force load the lazy file first
var stream_ops = {};
var keys = Object.keys(node.stream_ops);
keys.forEach(function(key) {
var fn = node.stream_ops[key];
stream_ops[key] = function forceLoadLazyFile() {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
return fn.apply(null, arguments);
};
});
// use a custom read function
stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
var contents = stream.node.contents;
if (position >= contents.length)
return 0;
var size = Math.min(contents.length - position, length);
assert(size >= 0);
if (contents.slice) { // normal array
for (var i = 0; i < size; i++) {
buffer[offset + i] = contents[position + i];
}
} else {
for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
buffer[offset + i] = contents.get(position + i);
}
}
return size;
};
node.stream_ops = stream_ops;
return node;
},createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
Browser.init(); // XXX perhaps this method should move onto Browser?
// TODO we should allow people to just pass in a complete filename instead
// of parent and name being that we just join them anyways
var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname
function processData(byteArray) {
function finish(byteArray) {
if (preFinish) preFinish();
if (!dontCreateFile) {
FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
}
if (onload) onload();
removeRunDependency(dep);
}
var handled = false;
Module['preloadPlugins'].forEach(function(plugin) {
if (handled) return;
if (plugin['canHandle'](fullname)) {
plugin['handle'](byteArray, fullname, finish, function() {
if (onerror) onerror();
removeRunDependency(dep);
});
handled = true;
}
});
if (!handled) finish(byteArray);
}
addRunDependency(dep);
if (typeof url == 'string') {
Browser.asyncLoad(url, function(byteArray) {
processData(byteArray);
}, onerror);
} else {
processData(url);
}
},indexedDB:function () {
return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
},DB_NAME:function () {
return 'EM_FS_' + window.location.pathname;
},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) {
onload = onload || function(){};
onerror = onerror || function(){};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
console.log('creating db');
var db = openRequest.result;
db.createObjectStore(FS.DB_STORE_NAME);
};
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite');
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var putRequest = files.put(FS.analyzePath(path).object.contents, path);
putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() };
putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() };
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
},loadFilesFromDB:function (paths, onload, onerror) {
onload = onload || function(){};
onerror = onerror || function(){};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = onerror; // no database to load from
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
try {
var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly');
} catch(e) {
onerror(e);
return;
}
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var getRequest = files.get(path);
getRequest.onsuccess = function getRequest_onsuccess() {
if (FS.analyzePath(path).exists) {
FS.unlink(path);
}
FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
ok++;
if (ok + fail == total) finish();
};
getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() };
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) {
if (path[0] !== '/') {
// relative path
var dir;
if (dirfd === -100) {
dir = FS.cwd();
} else {
var dirstream = FS.getStream(dirfd);
if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
dir = dirstream.path;
}
path = PATH.join2(dir, path);
}
return path;
},doStat:function (func, path, buf) {
try {
var stat = func(path);
} catch (e) {
if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
// an error occurred while trying to look up the path; we should just report ENOTDIR
return -ERRNO_CODES.ENOTDIR;
}
throw e;
}
HEAP32[((buf)>>2)]=stat.dev;
HEAP32[(((buf)+(4))>>2)]=0;
HEAP32[(((buf)+(8))>>2)]=stat.ino;
HEAP32[(((buf)+(12))>>2)]=stat.mode;
HEAP32[(((buf)+(16))>>2)]=stat.nlink;
HEAP32[(((buf)+(20))>>2)]=stat.uid;
HEAP32[(((buf)+(24))>>2)]=stat.gid;
HEAP32[(((buf)+(28))>>2)]=stat.rdev;
HEAP32[(((buf)+(32))>>2)]=0;
HEAP32[(((buf)+(36))>>2)]=stat.size;
HEAP32[(((buf)+(40))>>2)]=4096;
HEAP32[(((buf)+(44))>>2)]=stat.blocks;
HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0;
HEAP32[(((buf)+(52))>>2)]=0;
HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0;
HEAP32[(((buf)+(60))>>2)]=0;
HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0;
HEAP32[(((buf)+(68))>>2)]=0;
HEAP32[(((buf)+(72))>>2)]=stat.ino;
return 0;
},doMsync:function (addr, stream, len, flags) {
var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
FS.msync(stream, buffer, 0, len, flags);
},doMkdir:function (path, mode) {
// remove a trailing slash, if one - /a/b/ has basename of '', but
// we want to create b in the context of this function
path = PATH.normalize(path);
if (path[path.length-1] === '/') path = path.substr(0, path.length-1);
FS.mkdir(path, mode, 0);
return 0;
},doMknod:function (path, mode, dev) {
// we don't want this in the JS API as it uses mknod to create all nodes.
switch (mode & 61440) {
case 32768:
case 8192:
case 24576:
case 4096:
case 49152:
break;
default: return -ERRNO_CODES.EINVAL;
}
FS.mknod(path, mode, dev);
return 0;
},doReadlink:function (path, buf, bufsize) {
if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
var ret = FS.readlink(path);
var len = Math.min(bufsize, lengthBytesUTF8(ret));
var endChar = HEAP8[buf+len];
stringToUTF8(ret, buf, bufsize+1);
// readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!)
// stringToUTF8() always appends a null byte, so restore the character under the null byte after the write.
HEAP8[buf+len] = endChar;
return len;
},doAccess:function (path, amode) {
if (amode & ~7) {
// need a valid mode
return -ERRNO_CODES.EINVAL;
}
var node;
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
var perms = '';
if (amode & 4) perms += 'r';
if (amode & 2) perms += 'w';
if (amode & 1) perms += 'x';
if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) {
return -ERRNO_CODES.EACCES;
}
return 0;
},doDup:function (path, flags, suggestFD) {
var suggest = FS.getStream(suggestFD);
if (suggest) FS.close(suggest);
return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
},doReadv:function (stream, iov, iovcnt, offset) {
var ret = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAP32[(((iov)+(i*8))>>2)];
var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
var curr = FS.read(stream, HEAP8,ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
if (curr < len) break; // nothing more to read
}
return ret;
},doWritev:function (stream, iov, iovcnt, offset) {
var ret = 0;
for (var i = 0; i < iovcnt; i++) {
var ptr = HEAP32[(((iov)+(i*8))>>2)];
var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
var curr = FS.write(stream, HEAP8,ptr, len, offset);
if (curr < 0) return -1;
ret += curr;
}
return ret;
},varargs:0,get:function (varargs) {
SYSCALLS.varargs += 4;
var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
return ret;
},getStr:function () {
var ret = Pointer_stringify(SYSCALLS.get());
return ret;
},getStreamFromFD:function () {
var stream = FS.getStream(SYSCALLS.get());
if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
return stream;
},getSocketFromFD:function () {
var socket = SOCKFS.getSocket(SYSCALLS.get());
if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
return socket;
},getSocketAddress:function (allowNull) {
var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
if (allowNull && addrp === 0) return null;
var info = __read_sockaddr(addrp, addrlen);
if (info.errno) throw new FS.ErrnoError(info.errno);
info.addr = DNS.lookup_addr(info.addr) || info.addr;
return info;
},get64:function () {
var low = SYSCALLS.get(), high = SYSCALLS.get();
if (low >= 0) assert(high === 0);
else assert(high === -1);
return low;
},getZero:function () {
assert(SYSCALLS.get() === 0);
}};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
try {
// ioctl
var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
switch (op) {
case 21505: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0;
}
case 21506: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return 0; // no-op, not actually adjusting terminal settings
}
case 21519: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
var argp = SYSCALLS.get();
HEAP32[((argp)>>2)]=0;
return 0;
}
case 21520: {
if (!stream.tty) return -ERRNO_CODES.ENOTTY;
return -ERRNO_CODES.EINVAL; // not supported
}
case 21531: {
var argp = SYSCALLS.get();
return FS.ioctl(stream, op, argp);
}
default: abort('bad ioctl syscall ' + op);
}
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
Module["_bitshift64Lshr"] = _bitshift64Lshr;
function ___syscall38(which, varargs) {SYSCALLS.varargs = varargs;
try {
// rename
var old_path = SYSCALLS.getStr(), new_path = SYSCALLS.getStr();
FS.rename(old_path, new_path);
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
Module["_testSetjmp"] = _testSetjmp;function _longjmp(env, value) {
asm['setThrew'](env, value || 1);
throw 'longjmp';
}
function _pthread_cleanup_push(routine, arg) {
__ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) })
_pthread_cleanup_push.level = __ATEXIT__.length;
}
function ___syscall10(which, varargs) {SYSCALLS.varargs = varargs;
try {
// unlink
var path = SYSCALLS.getStr();
FS.unlink(path);
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function _pthread_cleanup_pop() {
assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!');
__ATEXIT__.pop();
_pthread_cleanup_push.level = __ATEXIT__.length;
}
function _emscripten_longjmp(env, value) {
_longjmp(env, value);
}
function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs;
try {
// open
var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO
var stream = FS.open(pathname, flags, mode);
return stream.fd;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall4(which, varargs) {SYSCALLS.varargs = varargs;
try {
// write
var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
return FS.write(stream, HEAP8,buf, count);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
try {
// close
var stream = SYSCALLS.getStreamFromFD();
FS.close(stream);
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC);
Module["_llvm_cttz_i32"] = _llvm_cttz_i32;
Module["___udivmoddi4"] = ___udivmoddi4;
Module["___udivdi3"] = ___udivdi3;
Module["___muldsi3"] = ___muldsi3;
Module["___muldi3"] = ___muldi3;
var _llvm_pow_f64=Math_pow;
Module["_sbrk"] = _sbrk;
function _llvm_stacksave() {
var self = _llvm_stacksave;
if (!self.LLVM_SAVEDSTACKS) {
self.LLVM_SAVEDSTACKS = [];
}
self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());
return self.LLVM_SAVEDSTACKS.length-1;
}
Module["___uremdi3"] = ___uremdi3;
Module["_llvm_bswap_i32"] = _llvm_bswap_i32;
Module["_pthread_self"] = _pthread_self;
function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
try {
// llseek
var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
var offset = offset_low;
assert(offset_high === 0);
FS.llseek(stream, offset, whence);
HEAP32[((result)>>2)]=stream.position;
if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
return 0;
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
try {
// writev
var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
return SYSCALLS.doWritev(stream, iov, iovcnt);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs;
try {
// fcntl64
var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
switch (cmd) {
case 0: {
var arg = SYSCALLS.get();
if (arg < 0) {
return -ERRNO_CODES.EINVAL;
}
var newStream;
newStream = FS.open(stream.path, stream.flags, 0, arg);
return newStream.fd;
}
case 1:
case 2:
return 0; // FD_CLOEXEC makes no sense for a single process.
case 3:
return stream.flags;
case 4: {
var arg = SYSCALLS.get();
stream.flags |= arg;
return 0;
}
case 12:
case 12: {
var arg = SYSCALLS.get();
var offset = 0;
// We're always unlocked.
HEAP16[(((arg)+(offset))>>1)]=2;
return 0;
}
case 13:
case 14:
case 13:
case 14:
return 0; // Pretend that the locking is successful.
case 16:
case 8:
return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet.
case 9:
// musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves.
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
default: {
return -ERRNO_CODES.EINVAL;
}
}
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs;
try {
// readv
var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
return SYSCALLS.doReadv(stream, iov, iovcnt);
} catch (e) {
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
return -e.errno;
}
}
FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;;
__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });;
if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); };
DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC);
STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
STACK_MAX = STACK_BASE + TOTAL_STACK;
DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX);
HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
staticSealed = true; // seal the static portion of memory
assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_iiiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_idi(x) { Module["printErr"]("Invalid function pointer called with signature 'idi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_iiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
function invoke_vi(index,a1) {
try {
Module["dynCall_vi"](index,a1);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiii(index,a1,a2,a3) {
try {
return Module["dynCall_iiii"](index,a1,a2,a3);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_vid(index,a1,a2) {
try {
Module["dynCall_vid"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) {
try {
return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_vii(index,a1,a2) {
try {
Module["dynCall_vii"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_ii(index,a1) {
try {
return Module["dynCall_ii"](index,a1);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viii(index,a1,a2,a3) {
try {
Module["dynCall_viii"](index,a1,a2,a3);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_idi(index,a1,a2) {
try {
return Module["dynCall_idi"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiii(index,a1,a2,a3,a4) {
try {
return Module["dynCall_iiiii"](index,a1,a2,a3,a4);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iii(index,a1,a2) {
try {
return Module["dynCall_iii"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiii(index,a1,a2,a3,a4) {
try {
Module["dynCall_viiii"](index,a1,a2,a3,a4);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_vi": nullFunc_vi, "nullFunc_iiii": nullFunc_iiii, "nullFunc_vid": nullFunc_vid, "nullFunc_iiiiiiiiii": nullFunc_iiiiiiiiii, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viii": nullFunc_viii, "nullFunc_idi": nullFunc_idi, "nullFunc_iiiii": nullFunc_iiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_viiii": nullFunc_viiii, "invoke_vi": invoke_vi, "invoke_iiii": invoke_iiii, "invoke_vid": invoke_vid, "invoke_iiiiiiiiii": invoke_iiiiiiiiii, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_idi": invoke_idi, "invoke_iiiii": invoke_iiiii, "invoke_iii": invoke_iii, "invoke_viiii": invoke_viiii, "_pthread_cleanup_pop": _pthread_cleanup_pop, "___syscall221": ___syscall221, "_llvm_pow_f64": _llvm_pow_f64, "_abort": _abort, "_pthread_cleanup_push": _pthread_cleanup_push, "_llvm_stackrestore": _llvm_stackrestore, "_longjmp": _longjmp, "___setErrNo": ___setErrNo, "_llvm_pow_f32": _llvm_pow_f32, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_llvm_stacksave": _llvm_stacksave, "___syscall54": ___syscall54, "___unlock": ___unlock, "___syscall38": ___syscall38, "___syscall10": ___syscall10, "___lock": ___lock, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall4": ___syscall4, "_emscripten_longjmp": _emscripten_longjmp, "___syscall140": ___syscall140, "___syscall145": ___syscall145, "___syscall146": ___syscall146, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8 };
// EMSCRIPTEN_START_ASM
var asm = (function(global, env, buffer) {
'almost 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 HEAPF32 = new global.Float32Array(buffer);
var HEAPF64 = new global.Float64Array(buffer);
var STACKTOP=env.STACKTOP|0;
var STACK_MAX=env.STACK_MAX|0;
var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0;
var tempDoublePtr=env.tempDoublePtr|0;
var ABORT=env.ABORT|0;
var cttz_i8=env.cttz_i8|0;
var __THREW__ = 0;
var threwValue = 0;
var setjmpId = 0;
var undef = 0;
var nan = global.NaN, inf = global.Infinity;
var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0;
var tempRet0 = 0;
var Math_floor=global.Math.floor;
var Math_abs=global.Math.abs;
var Math_sqrt=global.Math.sqrt;
var Math_pow=global.Math.pow;
var Math_cos=global.Math.cos;
var Math_sin=global.Math.sin;
var Math_tan=global.Math.tan;
var Math_acos=global.Math.acos;
var Math_asin=global.Math.asin;
var Math_atan=global.Math.atan;
var Math_atan2=global.Math.atan2;
var Math_exp=global.Math.exp;
var Math_log=global.Math.log;
var Math_ceil=global.Math.ceil;
var Math_imul=global.Math.imul;
var Math_min=global.Math.min;
var Math_max=global.Math.max;
var Math_clz32=global.Math.clz32;
var abort=env.abort;
var assert=env.assert;
var enlargeMemory=env.enlargeMemory;
var getTotalMemory=env.getTotalMemory;
var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory;
var abortStackOverflow=env.abortStackOverflow;
var nullFunc_vi=env.nullFunc_vi;
var nullFunc_iiii=env.nullFunc_iiii;
var nullFunc_vid=env.nullFunc_vid;
var nullFunc_iiiiiiiiii=env.nullFunc_iiiiiiiiii;
var nullFunc_vii=env.nullFunc_vii;
var nullFunc_ii=env.nullFunc_ii;
var nullFunc_viii=env.nullFunc_viii;
var nullFunc_idi=env.nullFunc_idi;
var nullFunc_iiiii=env.nullFunc_iiiii;
var nullFunc_iii=env.nullFunc_iii;
var nullFunc_viiii=env.nullFunc_viiii;
var invoke_vi=env.invoke_vi;
var invoke_iiii=env.invoke_iiii;
var invoke_vid=env.invoke_vid;
var invoke_iiiiiiiiii=env.invoke_iiiiiiiiii;
var invoke_vii=env.invoke_vii;
var invoke_ii=env.invoke_ii;
var invoke_viii=env.invoke_viii;
var invoke_idi=env.invoke_idi;
var invoke_iiiii=env.invoke_iiiii;
var invoke_iii=env.invoke_iii;
var invoke_viiii=env.invoke_viiii;
var _pthread_cleanup_pop=env._pthread_cleanup_pop;
var ___syscall221=env.___syscall221;
var _llvm_pow_f64=env._llvm_pow_f64;
var _abort=env._abort;
var _pthread_cleanup_push=env._pthread_cleanup_push;
var _llvm_stackrestore=env._llvm_stackrestore;
var _longjmp=env._longjmp;
var ___setErrNo=env.___setErrNo;
var _llvm_pow_f32=env._llvm_pow_f32;
var _emscripten_memcpy_big=env._emscripten_memcpy_big;
var _llvm_stacksave=env._llvm_stacksave;
var ___syscall54=env.___syscall54;
var ___unlock=env.___unlock;
var ___syscall38=env.___syscall38;
var ___syscall10=env.___syscall10;
var ___lock=env.___lock;
var ___syscall6=env.___syscall6;
var ___syscall5=env.___syscall5;
var ___syscall4=env.___syscall4;
var _emscripten_longjmp=env._emscripten_longjmp;
var ___syscall140=env.___syscall140;
var ___syscall145=env.___syscall145;
var ___syscall146=env.___syscall146;
var tempFloat = 0.0;
// EMSCRIPTEN_START_FUNCS
function stackAlloc(size) {
size = size|0;
var ret = 0;
ret = STACKTOP;
STACKTOP = (STACKTOP + size)|0;
STACKTOP = (STACKTOP + 15)&-16;
if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0);
return ret|0;
}
function stackSave() {
return STACKTOP|0;
}
function stackRestore(top) {
top = top|0;
STACKTOP = top;
}
function establishStackSpace(stackBase, stackMax) {
stackBase = stackBase|0;
stackMax = stackMax|0;
STACKTOP = stackBase;
STACK_MAX = stackMax;
}
function setThrew(threw, value) {
threw = threw|0;
value = value|0;
if ((__THREW__|0) == 0) {
__THREW__ = threw;
threwValue = value;
}
}
function setTempRet0(value) {
value = value|0;
tempRet0 = value;
}
function getTempRet0() {
return tempRet0|0;
}
function _main($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$0131 = 0, $$0137202 = 0, $$0137202$us = 0, $$0141$lcssa = 0, $$0141$lcssa247 = 0, $$0141$lcssa247249 = 0, $$0141201 = 0, $$0141201$us = 0, $$0143 = 0, $$0145206 = 0, $$0146$lcssa = 0, $$0146$lcssa246250 = 0, $$0146200 = 0, $$0146200$us = 0, $$0148$lcssa245251 = 0, $$0149 = 0, $$0150$lcssa = 0, $$0150$lcssa244252 = 0, $$0150198 = 0;
var $$0150198$us = 0, $$0152 = 0, $$0152$phi = 0, $$0154 = 0, $$0154$phi = 0, $$01921$i = 0, $$020$i = 0, $$1132$ph = 0, $$1134 = 0, $$1134$us241243 = 0, $$1142 = 0, $$1142$us = 0, $$1144 = 0, $$1147 = 0, $$1147$us = 0, $$1151 = 0, $$1151$us = 0, $$1169 = 0, $$133$i = 0, $$135$i = 0;
var $$2156 = 0, $$6 = 0, $$9 = 0, $$byval_copy = 0, $$cast$i = 0, $$not = 0, $$pre236 = 0, $$pre237 = 0, $$pre239 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0;
var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $51$phi = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond$i = 0, $exitcond235 = 0, $not$or$cond3$i = 0, $notlhs$i = 0, $notrhs$i = 0, $or$cond = 0;
var $or$cond$i = 0, $or$cond157 = 0, $or$cond4 = 0, $or$cond6 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0, $vararg_buffer2 = 0, $vararg_buffer20 = 0, $vararg_buffer26 = 0, $vararg_buffer32 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr23 = 0, $vararg_ptr24 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0;
var $vararg_ptr31 = 0, $vararg_ptr35 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 384|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(384|0);
$$byval_copy = sp + 372|0;
$vararg_buffer32 = sp + 288|0;
$vararg_buffer26 = sp + 272|0;
$vararg_buffer20 = sp + 256|0;
$vararg_buffer17 = sp + 248|0;
$vararg_buffer14 = sp + 240|0;
$vararg_buffer11 = sp + 232|0;
$vararg_buffer8 = sp + 224|0;
$vararg_buffer5 = sp + 216|0;
$vararg_buffer2 = sp + 208|0;
$vararg_buffer = sp + 200|0;
$2 = sp + 368|0;
$3 = sp + 336|0;
$4 = sp;
$5 = sp + 328|0;
$6 = sp + 296|0;
;HEAP32[$3>>2]=HEAP32[8>>2]|0;HEAP32[$3+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[8+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[8+12>>2]|0;HEAP32[$3+16>>2]=HEAP32[8+16>>2]|0;HEAP32[$3+20>>2]=HEAP32[8+20>>2]|0;HEAP32[$3+24>>2]=HEAP32[8+24>>2]|0;HEAP32[$3+28>>2]=HEAP32[8+28>>2]|0;
$7 = (_liq_attr_create()|0);
HEAP32[$3>>2] = $7;
$8 = ($7|0)==(0|0);
if ($8) {
$9 = HEAP32[2606]|0;
(_fwrite(14430,44,1,$9)|0);
$$9 = 18;
STACKTOP = sp;return ($$9|0);
}
$10 = ($0>>>0)>(1);
$11 = HEAP32[2606]|0;
L5: do {
if ($10) {
$$01921$i = 1;
while(1) {
$12 = (($1) + ($$01921$i<<2)|0);
$13 = HEAP32[$12>>2]|0;
$14 = HEAP8[$13>>0]|0;
$15 = ($14<<24>>24)==(45);
if ($15) {
$16 = ((($13)) + 1|0);
$17 = HEAP8[$16>>0]|0;
$18 = ($17<<24>>24)==(45);
if ($18) {
break L5;
}
$$020$i = 0;$21 = $13;
while(1) {
$19 = (40 + ($$020$i<<3)|0);
$20 = HEAP32[$19>>2]|0;
$22 = (_strcmp($20,$21)|0);
$23 = ($22|0)==(0);
if ($23) {
$24 = (((40 + ($$020$i<<3)|0)) + 4|0);
$25 = HEAP32[$24>>2]|0;
HEAP32[$vararg_buffer>>2] = $20;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $25;
(_fprintf($11,14475,$vararg_buffer)|0);
$$cast$i = $25;
HEAP32[$12>>2] = $$cast$i;
$223 = $25;
} else {
$223 = $21;
}
$26 = (($$020$i) + 1)|0;
$exitcond$i = ($26|0)==(15);
if ($exitcond$i) {
break;
} else {
$$020$i = $26;$21 = $223;
}
}
}
$27 = (($$01921$i) + 1)|0;
$28 = ($27>>>0)<($0>>>0);
if ($28) {
$$01921$i = $27;
} else {
break;
}
}
}
} while(0);
$29 = ((($3)) + 28|0);
$30 = ((($3)) + 16|0);
$31 = ((($3)) + 22|0);
$32 = ((($3)) + 21|0);
$33 = ((($3)) + 26|0);
$34 = ((($3)) + 23|0);
$35 = ((($3)) + 25|0);
$36 = ((($3)) + 27|0);
$37 = ((($3)) + 4|0);
$$0152 = 0;$$0154 = 0;$51 = $7;
L18: while(1) {
$38 = (_getopt_long($0,$1,14528,160,0)|0);
do {
switch ($38|0) {
case 104: {
label = 57;
break L18;
break;
}
case 86: {
label = 58;
break L18;
break;
}
case -1: {
$$pre236 = $51;
label = 60;
break L18;
break;
}
case 118: {
HEAP8[$29>>0] = 1;
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 113: {
HEAP8[$29>>0] = 0;
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 1: {
$39 = HEAP32[7830]|0;
$40 = ($39|0)==(0|0);
if ($40) {
$43 = 1.0;
} else {
$41 = (+_atof($39));
$43 = $41;
}
$42 = $43;
HEAPF32[$30>>2] = $42;
$44 = $42 < 0.0;
$45 = $42 > 1.0;
$or$cond157 = $44 | $45;
if ($or$cond157) {
label = 18;
break L18;
} else {
$224 = $51;
}
break;
}
case 2: {
HEAPF32[$30>>2] = 0.0;
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 102: {
HEAP8[$31>>0] = 1;
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 4: {
HEAP8[$31>>0] = 0;
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 3: {
$46 = HEAP32[7830]|0;
$51$phi = $51;$$0152$phi = $$0152;$$0154 = $46;$51 = $51$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 111: {
$47 = ($$0152|0)==(0|0);
if (!($47)) {
label = 24;
break L18;
}
$48 = HEAP32[7830]|0;
$49 = (_strcmp($48,14619)|0);
$50 = ($49|0)==(0);
if (!($50)) {
$51$phi = $51;$$0154$phi = $$0154;$$0152 = $48;$51 = $51$phi;$$0154 = $$0154$phi;
continue L18;
}
HEAP8[$32>>0] = 1;
$51$phi = $51;$$0154$phi = $$0154;$$0152 = 0;$51 = $51$phi;$$0154 = $$0154$phi;
continue L18;
break;
}
case 5: {
(_liq_set_min_opacity($51,238)|0);
(_fwrite(14621,48,1,$11)|0);
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 6: {
_liq_set_last_index_transparent($51,1);
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 9: {
HEAP8[$33>>0] = 1;
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 115: {
$52 = HEAP32[7830]|0;
$53 = (_atoi($52)|0);
$54 = ($53|0)>(9);
if ($54) {
HEAP8[$34>>0] = 1;
$55 = ($53|0)==(11);
if ($55) {
HEAPF32[$30>>2] = 0.0;
$$0149 = 10;
} else {
$$0149 = $53;
}
} else {
$$0149 = $53;
}
$56 = (_liq_set_speed($51,$$0149)|0);
$57 = ($56|0)==(0);
if ($57) {
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
} else {
label = 34;
break L18;
}
break;
}
case 81: {
$58 = HEAP32[7830]|0;
$59 = (_strtol($58,$2,10)|0);
$60 = HEAP32[$2>>2]|0;
$61 = ($60|0)==($58|0);
if ($61) {
label = 43;
break L18;
}
$62 = HEAP8[$60>>0]|0;
$63 = ($62<<24>>24)==(0);
$64 = ($59|0)<(0);
$or$cond$i = $64 & $63;
do {
if ($or$cond$i) {
$65 = (0 - ($59))|0;
$$133$i = 0;$$135$i = $65;
} else {
if ($63) {
$66 = ($59*9)|0;
$67 = (($66|0) / 10)&-1;
$$133$i = $67;$$135$i = $59;
break;
}
$68 = ($62<<24>>24)==(45);
if ($68) {
$69 = ((($60)) + 1|0);
$70 = HEAP8[$69>>0]|0;
$71 = ($70<<24>>24)==(0);
if ($71) {
$$133$i = $59;$$135$i = 100;
break;
}
}
$72 = (_strtol($60,$2,10)|0);
$73 = HEAP32[$2>>2]|0;
$74 = (0 - ($72))|0;
$notlhs$i = ($60|0)!=($73|0);
$notrhs$i = ($72|0)<(1);
$not$or$cond3$i = $notrhs$i & $notlhs$i;
if ($not$or$cond3$i) {
$$133$i = $59;$$135$i = $74;
} else {
label = 43;
break L18;
}
}
} while(0);
$75 = ($$133$i|0)>(0);
$76 = $75&1;
HEAP8[$35>>0] = $76;
$77 = (_liq_set_quality($51,$$133$i,$$135$i)|0);
$78 = ($77|0)==(0);
if ($78) {
$224 = $51;
} else {
label = 45;
break L18;
}
break;
}
case 8: {
$79 = HEAP32[7830]|0;
$80 = (_atoi($79)|0);
$81 = (_liq_set_min_posterization($51,$80)|0);
$82 = ($81|0)==(0);
if ($82) {
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
} else {
label = 47;
break L18;
}
break;
}
case 10: {
HEAP8[$36>>0] = 1;
$51$phi = $51;$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $51$phi;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
continue L18;
break;
}
case 7: {
_memset(($4|0),0,200)|0;
$83 = HEAP32[7830]|0;
$84 = (_read_image($51,$83,0,$4,$37,1,1,0)|0);
$85 = ($84|0)==(0);
if (!($85)) {
label = 50;
break L18;
}
$87 = HEAP32[$3>>2]|0;
$88 = HEAP32[$37>>2]|0;
$89 = (_liq_quantize_image($87,$88)|0);
$90 = (_liq_get_palette($89)|0);
$91 = ($90|0)==(0|0);
if ($91) {
label = 53;
break L18;
}
$92 = HEAP32[$90>>2]|0;
$93 = ($92|0)==(0);
if (!($93)) {
$$0145206 = 0;
while(1) {
$95 = (((($90)) + 4|0) + ($$0145206<<2)|0);
;HEAP8[$$byval_copy>>0]=HEAP8[$95>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$95+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$95+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$95+3>>0]|0;
(_liq_image_add_fixed_color($88,$$byval_copy)|0);
$96 = (($$0145206) + 1)|0;
$97 = HEAP32[$90>>2]|0;
$98 = ($96>>>0)<($97>>>0);
if ($98) {
$$0145206 = $96;
} else {
break;
}
}
}
_liq_result_destroy($89);
$224 = $87;
break;
}
default: {
$$9 = 4;
label = 127;
break L18;
}
}
} while(0);
$100 = ($38|0)==(-1);
if ($100) {
$$pre236 = $224;
label = 60;
break;
} else {
$$0154$phi = $$0154;$$0152$phi = $$0152;$51 = $224;$$0154 = $$0154$phi;$$0152 = $$0152$phi;
}
}
switch (label|0) {
case 18: {
(_fwrite(14540,39,1,$11)|0);
$$9 = 4;
STACKTOP = sp;return ($$9|0);
break;
}
case 24: {
(_fwrite(14580,38,1,$11)|0);
$$9 = 4;
STACKTOP = sp;return ($$9|0);
break;
}
case 34: {
(_fwrite(14670,48,1,$11)|0);
$$9 = 4;
STACKTOP = sp;return ($$9|0);
break;
}
case 43: {
label = 45;
break;
}
case 47: {
(_fwrite(14802,53,1,$11)|0);
$$9 = 4;
STACKTOP = sp;return ($$9|0);
break;
}
case 50: {
$86 = HEAP32[7830]|0;
HEAP32[$vararg_buffer2>>2] = $86;
(_fprintf($11,14856,$vararg_buffer2)|0);
label = 55;
break;
}
case 53: {
$94 = HEAP32[7830]|0;
HEAP32[$vararg_buffer5>>2] = $94;
(_fprintf($11,14883,$vararg_buffer5)|0);
label = 55;
break;
}
case 57: {
$99 = HEAP32[2576]|0;
HEAP32[$vararg_buffer8>>2] = 14971;
(_fprintf($99,14922,$vararg_buffer8)|0);
_rwpng_version_info($99);
(_fputc(10,$99)|0);
(_fwrite(14990,1379,1,$99)|0);
$$9 = 0;
STACKTOP = sp;return ($$9|0);
break;
}
case 58: {
(_puts(14971)|0);
$$9 = 0;
STACKTOP = sp;return ($$9|0);
break;
}
case 60: {
$101 = HEAP32[2494]|0;
$102 = ($101|0)<($0|0);
if (!($102)) {
$103 = ($101|0)>(1);
if ($103) {
(_fwrite(16370,26,1,$11)|0);
} else {
HEAP32[$vararg_buffer11>>2] = 14971;
(_fprintf($11,14922,$vararg_buffer11)|0);
_rwpng_version_info($11);
(_fputc(10,$11)|0);
}
(_fwrite(14990,1379,1,$11)|0);
$$9 = 1;
STACKTOP = sp;return ($$9|0);
}
$104 = HEAP8[$29>>0]|0;
$105 = ($104<<24>>24)==(0);
if (!($105)) {
_liq_set_log_callback($$pre236,10,0);
$106 = ((($3)) + 8|0);
HEAP32[$106>>2] = 10;
}
$107 = (($1) + ($101<<2)|0);
$108 = HEAP32[$107>>2]|0;
$109 = (_strtoul($108,$5,10)|0);
$110 = HEAP32[$5>>2]|0;
$111 = HEAP32[$107>>2]|0;
$112 = ($110|0)==($111|0);
do {
if ($112) {
$$0143 = $101;
label = 72;
} else {
$113 = HEAP8[$110>>0]|0;
$114 = ($113<<24>>24)==(0);
if ($114) {
$115 = (_liq_set_max_colors($$pre236,$109)|0);
$116 = ($115|0)==(0);
if ($116) {
$117 = (($101) + 1)|0;
$$0143 = $117;
label = 72;
break;
} else {
(_fwrite(16397,44,1,$11)|0);
$$6 = 4;
break;
}
} else {
$$0143 = $101;
label = 72;
}
}
} while(0);
do {
if ((label|0) == 72) {
$118 = ($$0154|0)!=(0|0);
$119 = ($$0152|0)!=(0|0);
$or$cond = $118 & $119;
if ($or$cond) {
(_fwrite(16442,58,1,$11)|0);
$$6 = 4;
break;
}
$120 = ($$0154|0)==(0|0);
if ($120) {
$121 = +HEAPF32[$30>>2];
$122 = $121 > 0.0;
$123 = $122 ? 16501 : 16513;
$124 = ((($3)) + 24|0);
$125 = HEAP8[$124>>0]|0;
$126 = ($125<<24>>24)==(0);
$127 = ((($123)) + 3|0);
$$ = $126 ? $127 : $123;
$$2156 = $$;
} else {
$$2156 = $$0154;
}
$128 = ($$0143|0)==($0|0);
$$pre239 = (($0) + -1)|0;
if ($128) {
label = 79;
} else {
$129 = ($$0143|0)==($$pre239|0);
if ($129) {
$130 = (($1) + ($$0143<<2)|0);
$131 = HEAP32[$130>>2]|0;
$132 = (_strcmp($131,14619)|0);
$133 = ($132|0)==(0);
if ($133) {
label = 79;
} else {
$$1144 = $$0143;
}
} else {
$$1144 = $$0143;
}
}
if ((label|0) == 79) {
$134 = ((($3)) + 20|0);
HEAP8[$134>>0] = 1;
$135 = $119&1;
$136 = $135 ^ 1;
HEAP8[$32>>0] = $136;
$$1144 = $$pre239;
}
$137 = (($0) - ($$1144))|0;
$138 = ($137|0)!=(1);
$or$cond4 = $119 & $138;
if ($or$cond4) {
(_fwrite(16525,53,1,$11)|0);
$$6 = 4;
break;
}
$139 = HEAP8[$32>>0]|0;
$140 = ($139<<24>>24)==(0);
if (!($140)) {
$141 = ((($3)) + 20|0);
$142 = HEAP8[$141>>0]|0;
$$not = ($142<<24>>24)==(0);
$or$cond6 = $138 & $$not;
if ($or$cond6) {
(_fwrite(16627,89,1,$11)|0);
$$6 = 4;
break;
}
}
$143 = ($137|0)>(0);
if ($143) {
$144 = ((($6)) + 20|0);
$145 = ((($6)) + 22|0);
L110: do {
if ($119) {
$$0137202$us = 0;$$0141201$us = 0;$$0146200$us = 0;$$0150198$us = 0;
while(1) {
;HEAP32[$6>>2]=HEAP32[$3>>2]|0;HEAP32[$6+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$6+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$6+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$6+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$6+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$6+28>>2]=HEAP32[$3+28>>2]|0;
$146 = (_liq_attr_copy($$pre236)|0);
HEAP32[$6>>2] = $146;
$147 = HEAP32[$144>>2]|0;
$148 = $147&65535;
$149 = $147&255;
$150 = ($149<<24>>24)==(0);
$151 = ($148&65535) >>> 8;
$152 = $151&255;
$153 = $147 >>> 16;
$154 = $153&255;
if ($150) {
$155 = (($$0137202$us) + ($$1144))|0;
$156 = (($1) + ($155<<2)|0);
$157 = HEAP32[$156>>2]|0;
$163 = $157;
} else {
$163 = 16579;
}
$158 = $152 | $154;
$159 = ($158<<24>>24)==(0);
do {
if ($159) {
$160 = (_fopen($$0152,16585)|0);
$161 = ($160|0)==(0|0);
if ($161) {
label = 93;
break;
}
(_fclose($160)|0);
HEAP32[$vararg_buffer14>>2] = $$0152;
(_fprintf($11,16588,$vararg_buffer14)|0);
$162 = HEAP32[$6>>2]|0;
_liq_attr_destroy($162);
$$1134$us241243 = 15;
label = 95;
} else {
label = 93;
}
} while(0);
do {
if ((label|0) == 93) {
label = 0;
$164 = (_pngquant_file($163,$$0152,$6)|0);
$165 = HEAP32[$6>>2]|0;
_liq_attr_destroy($165);
$166 = ($164|0)==(0);
if ($166) {
$$1142$us = $$0141201$us;$$1147$us = $$0146200$us;$$1151$us = $$0150198$us;
break;
}
$167 = $164 | 1;
$168 = ($167|0)==(99);
if (!($168)) {
$$1134$us241243 = $164;
label = 95;
break;
}
$170 = (($$0146200$us) + 1)|0;
$$1142$us = $$0141201$us;$$1147$us = $170;$$1151$us = $164;
}
} while(0);
if ((label|0) == 95) {
label = 0;
$169 = (($$0141201$us) + 1)|0;
$$1142$us = $169;$$1147$us = $$0146200$us;$$1151$us = $$1134$us241243;
}
$171 = (($$0137202$us) + 1)|0;
$exitcond = ($171|0)==($137|0);
if ($exitcond) {
$$0141$lcssa = $$1142$us;$$0146$lcssa = $$1147$us;$$0150$lcssa = $$1151$us;
break;
} else {
$$0137202$us = $171;$$0141201$us = $$1142$us;$$0146200$us = $$1147$us;$$0150198$us = $$1151$us;
}
}
} else {
$$0137202 = 0;$$0141201 = 0;$$0146200 = 0;$$0150198 = 0;$173 = $$pre236;
while(1) {
;HEAP32[$6>>2]=HEAP32[$3>>2]|0;HEAP32[$6+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$6+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$6+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$6+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$6+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$6+28>>2]=HEAP32[$3+28>>2]|0;
$174 = (_liq_attr_copy($173)|0);
HEAP32[$6>>2] = $174;
$175 = HEAP16[$144>>1]|0;
$176 = $175&255;
$177 = ($176<<24>>24)==(0);
if ($177) {
$178 = (($$0137202) + ($$1144))|0;
$179 = (($1) + ($178<<2)|0);
$180 = HEAP32[$179>>2]|0;
$182 = $180;
} else {
$182 = 16579;
}
$181 = ($175&65535)<(256);
do {
if ($181) {
$183 = (_strlen($182)|0);
$184 = (_strlen($$2156)|0);
$185 = (($183) + 5)|0;
$186 = (($185) + ($184))|0;
$187 = (_malloc($186)|0);
$188 = ($187|0)==(0|0);
L135: do {
if ($188) {
$$0131 = 0;
} else {
(_strncpy($187,$182,$183)|0);
$189 = (($187) + ($183)|0);
$190 = ((($189)) + -4|0);
$191 = (_strncmp($190,16717,4)|0);
$192 = ($191|0)==(0);
do {
if (!($192)) {
$193 = (_strncmp($190,16722,4)|0);
$194 = ($193|0)==(0);
if ($194) {
break;
}
(_strcpy($189,$$2156)|0);
$$0131 = $187;
break L135;
}
} while(0);
(_strcpy($190,$$2156)|0);
$$0131 = $187;
}
} while(0);
$195 = HEAP8[$145>>0]|0;
$196 = ($195<<24>>24)==(0);
if (!($196)) {
$$1132$ph = $$0131;
label = 111;
break;
}
$197 = (_fopen($$0131,16585)|0);
$198 = ($197|0)==(0|0);
if ($198) {
$$1132$ph = $$0131;
label = 111;
break;
}
(_fclose($197)|0);
HEAP32[$vararg_buffer17>>2] = $$0131;
(_fprintf($11,16588,$vararg_buffer17)|0);
$$1134 = 15;$$1169 = $$0131;
} else {
$$1132$ph = 0;
label = 111;
}
} while(0);
if ((label|0) == 111) {
label = 0;
$199 = (_pngquant_file($182,$$1132$ph,$6)|0);
$$1134 = $199;$$1169 = $$1132$ph;
}
_free($$1169);
$200 = HEAP32[$6>>2]|0;
_liq_attr_destroy($200);
$201 = ($$1134|0)==(0);
do {
if ($201) {
$$1142 = $$0141201;$$1147 = $$0146200;$$1151 = $$0150198;
} else {
$202 = $$1134 | 1;
$203 = ($202|0)==(99);
if ($203) {
$204 = (($$0146200) + 1)|0;
$$1142 = $$0141201;$$1147 = $204;$$1151 = $$1134;
break;
} else {
$205 = (($$0141201) + 1)|0;
$$1142 = $205;$$1147 = $$0146200;$$1151 = $$1134;
break;
}
}
} while(0);
$206 = (($$0137202) + 1)|0;
$exitcond235 = ($206|0)==($137|0);
if ($exitcond235) {
$$0141$lcssa = $$1142;$$0146$lcssa = $$1147;$$0150$lcssa = $$1151;
break L110;
}
$$pre237 = HEAP32[$3>>2]|0;
$$0137202 = $206;$$0141201 = $$1142;$$0146200 = $$1147;$$0150198 = $$1151;$173 = $$pre237;
}
}
} while(0);
$172 = ($$0141$lcssa|0)==(0);
if ($172) {
$$0141$lcssa247 = 0;
} else {
$207 = ($$0141$lcssa|0)==(1);
$208 = $207 ? 31868 : 16727;
$209 = ($137|0)==(1);
$210 = $209 ? 31868 : 16727;
HEAP32[$vararg_buffer20>>2] = $$0141$lcssa;
$vararg_ptr23 = ((($vararg_buffer20)) + 4|0);
HEAP32[$vararg_ptr23>>2] = $208;
$vararg_ptr24 = ((($vararg_buffer20)) + 8|0);
HEAP32[$vararg_ptr24>>2] = $137;
$vararg_ptr25 = ((($vararg_buffer20)) + 12|0);
HEAP32[$vararg_ptr25>>2] = $210;
_verbose_printf($3,16729,$vararg_buffer20);
$$0141$lcssa247 = $$0141$lcssa;
}
$211 = ($$0146$lcssa|0)==(0);
if ($211) {
$$0141$lcssa247249 = $$0141$lcssa247;$$0146$lcssa246250 = 0;$$0148$lcssa245251 = $137;$$0150$lcssa244252 = $$0150$lcssa;
} else {
$212 = ($$0146$lcssa|0)==(1);
$213 = $212 ? 31868 : 16727;
$214 = ($137|0)==(1);
$215 = $214 ? 31868 : 16727;
HEAP32[$vararg_buffer26>>2] = $$0146$lcssa;
$vararg_ptr29 = ((($vararg_buffer26)) + 4|0);
HEAP32[$vararg_ptr29>>2] = $213;
$vararg_ptr30 = ((($vararg_buffer26)) + 8|0);
HEAP32[$vararg_ptr30>>2] = $137;
$vararg_ptr31 = ((($vararg_buffer26)) + 12|0);
HEAP32[$vararg_ptr31>>2] = $215;
_verbose_printf($3,16797,$vararg_buffer26);
$$0141$lcssa247249 = $$0141$lcssa247;$$0146$lcssa246250 = $$0146$lcssa;$$0148$lcssa245251 = $137;$$0150$lcssa244252 = $$0150$lcssa;
}
} else {
$$0141$lcssa247249 = 0;$$0146$lcssa246250 = 0;$$0148$lcssa245251 = 0;$$0150$lcssa244252 = 0;
}
$216 = $$0141$lcssa247249 | $$0146$lcssa246250;
$217 = ($216|0)==(0);
if ($217) {
$218 = ($$0148$lcssa245251|0)==(1);
$219 = $218 ? 31868 : 16727;
HEAP32[$vararg_buffer32>>2] = $$0148$lcssa245251;
$vararg_ptr35 = ((($vararg_buffer32)) + 4|0);
HEAP32[$vararg_ptr35>>2] = $219;
_verbose_printf($3,16844,$vararg_buffer32);
}
$220 = HEAP32[$37>>2]|0;
$221 = ($220|0)==(0|0);
if (!($221)) {
_liq_image_destroy($220);
}
$222 = HEAP32[$3>>2]|0;
_liq_attr_destroy($222);
$$6 = $$0150$lcssa244252;
}
} while(0);
$$9 = $$6;
STACKTOP = sp;return ($$9|0);
break;
}
case 127: {
STACKTOP = sp;return ($$9|0);
break;
}
}
if ((label|0) == 45) {
(_fwrite(14719,82,1,$11)|0);
$$9 = 4;
STACKTOP = sp;return ($$9|0);
}
else if ((label|0) == 55) {
$$9 = 4;
STACKTOP = sp;return ($$9|0);
}
return (0)|0;
}
function _read_image($0,$1,$2,$3,$4,$5,$6,$7) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
var $$0$i = 0, $$1 = 0, $$mux = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $8 = 0, $9 = 0, $brmerge = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$8 = ($2|0)!=(0);
do {
if ($8) {
$9 = HEAP32[2547]|0;
$10 = $6&1;
$11 = $7&1;
$12 = (_rwpng_read_image24($9,$3,$10,$11)|0);
$19 = $12;
} else {
$13 = (_fopen($1,16585)|0);
$14 = ($13|0)==(0|0);
if (!($14)) {
$16 = $6&1;
$17 = $7&1;
$18 = (_rwpng_read_image24($13,$3,$16,$17)|0);
(_fclose($13)|0);
$19 = $18;
break;
}
$15 = HEAP32[2606]|0;
HEAP32[$vararg_buffer>>2] = $1;
(_fprintf($15,17513,$vararg_buffer)|0);
$$1 = 2;
STACKTOP = sp;return ($$1|0);
}
} while(0);
$20 = ($19|0)==(0);
if (!($20)) {
$21 = HEAP32[2606]|0;
if ($8) {
$25 = 17550;
} else {
$22 = (_strrchr($1,47)|0);
$23 = ($22|0)==(0|0);
$24 = ((($22)) + 1|0);
$$0$i = $23 ? $1 : $24;
$25 = $$0$i;
}
HEAP32[$vararg_buffer1>>2] = $25;
(_fprintf($21,17561,$vararg_buffer1)|0);
$$1 = $19;
STACKTOP = sp;return ($$1|0);
}
$26 = ((($3)) + 176|0);
$27 = HEAP32[$26>>2]|0;
$28 = ((($3)) + 156|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($3)) + 160|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($3)) + 168|0);
$33 = +HEAPF64[$32>>3];
$34 = (_liq_image_create_rgba_rows($0,$27,$29,$31,$33)|0);
HEAP32[$4>>2] = $34;
$35 = ($34|0)==(0|0);
$brmerge = $35 | $5;
$$mux = $35 ? 17 : 0;
if ($brmerge) {
$$1 = $$mux;
STACKTOP = sp;return ($$1|0);
}
$36 = (_liq_image_set_memory_ownership($34,12)|0);
$37 = ($36|0)==(0);
if (!($37)) {
$$1 = 17;
STACKTOP = sp;return ($$1|0);
}
HEAP32[$26>>2] = 0;
$38 = ((($3)) + 180|0);
HEAP32[$38>>2] = 0;
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
function _log_callback($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$3 = HEAP32[2606]|0;
HEAP32[$vararg_buffer>>2] = $1;
(_fprintf($3,17509,$vararg_buffer)|0);
STACKTOP = sp;return;
}
function _pngquant_file($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$014$i = 0, $$166 = 0.0, $$2 = 0, $$3$ph = 0, $$5 = 0, $$5$ = 0, $$7 = 0, $$not74 = 0, $$pre = 0, $$pre$i$pre = 0, $$pre32$i$pre = 0, $$sroa$0$0$$sroa_idx$i = 0, $$sroa$01$0$$sroa_idx$i = 0, $$sroa$01$0$copyload$i = 0, $$sroa$2$0$$sroa_idx$i = 0, $$sroa$3$0$$sroa_idx$i = 0, $$sroa$4$0$$sroa_idx$i = 0, $$sroa$42$0$$sroa_idx$i = 0, $$sroa$42$0$copyload$i = 0;
var $$sroa$5$0$$sroa_idx$i = 0, $$sroa$5$0$copyload$i = 0, $$sroa$6$0$$sroa_idx$i = 0, $$sroa$6$0$copyload$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $brmerge$not = 0, $or$cond = 0;
var $or$cond$i = 0, $phitmp = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr18 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1536|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1536|0);
$vararg_buffer22 = sp + 1512|0;
$vararg_buffer19 = sp + 1504|0;
$vararg_buffer15 = sp + 1488|0;
$vararg_buffer12 = sp + 1480|0;
$vararg_buffer10 = sp + 1472|0;
$vararg_buffer8 = sp + 1464|0;
$vararg_buffer6 = sp + 1456|0;
$vararg_buffer4 = sp + 1448|0;
$vararg_buffer1 = sp + 1440|0;
$vararg_buffer = sp + 1432|0;
$3 = sp + 1520|0;
$4 = sp + 1232|0;
$5 = sp;
$6 = sp + 1516|0;
HEAP32[$vararg_buffer>>2] = $0;
_verbose_printf($2,16866,$vararg_buffer);
HEAP32[$3>>2] = 0;
_memset(($4|0),0,200)|0;
$7 = ((($2)) + 26|0);
$8 = HEAP16[$7>>1]|0;
$9 = $8&255;
$10 = ($9<<24>>24)==(0);
if ($10) {
$11 = ((($2)) + 21|0);
$12 = HEAP8[$11>>0]|0;
$13 = ($12<<24>>24)==(0);
if ($13) {
$25 = 0;
} else {
$14 = ((($2)) + 25|0);
$15 = HEAP8[$14>>0]|0;
$16 = ($15<<24>>24)!=(0);
$25 = $16;
}
} else {
$25 = 1;
}
$17 = HEAP32[$2>>2]|0;
$18 = ((($2)) + 20|0);
$19 = HEAP8[$18>>0]|0;
$20 = $19&255;
$21 = ($8&65535)>(255);
$22 = ((($2)) + 28|0);
$23 = HEAP8[$22>>0]|0;
$24 = ($23<<24>>24)!=(0);
$26 = (_read_image($17,$0,$20,$4,$3,$25,$21,$24)|0);
_memset(($5|0),0,1232)|0;
$27 = ($26|0)==(0);
L5: do {
if ($27) {
$28 = ((($4)) + 164|0);
$29 = HEAP32[$28>>2]|0;
$30 = (($29) + 1023)|0;
$31 = $30 >>> 10;
HEAP32[$vararg_buffer1>>2] = $31;
_verbose_printf($2,16870,$vararg_buffer1);
$32 = ((($4)) + 188|0);
$33 = HEAP32[$32>>2]|0;
switch ($33|0) {
case 2: {
_verbose_printf($2,16888,$vararg_buffer4);
break;
}
case 4: {
_verbose_printf($2,16954,$vararg_buffer6);
break;
}
case 3: {
_verbose_printf($2,17020,$vararg_buffer8);
break;
}
case 6: {
break;
}
case 1: {
_verbose_printf($2,17070,$vararg_buffer10);
break;
}
default: {
$34 = ((($4)) + 168|0);
$35 = +HEAPF64[$34>>3];
$36 = $35 != 0.45455000000000001;
if ($36) {
$37 = 1.0 / $35;
HEAPF64[$vararg_buffer12>>3] = $37;
_verbose_printf($2,17104,$vararg_buffer12);
}
}
}
$38 = ((($2)) + 4|0);
$39 = HEAP32[$38>>2]|0;
$40 = ($39|0)==(0|0);
$41 = HEAP32[$3>>2]|0;
$42 = $40 ? $41 : $39;
$43 = HEAP32[$2>>2]|0;
$44 = (_liq_image_quantize($42,$43,$6)|0);
switch ($44|0) {
case 0: {
$45 = HEAP32[$6>>2]|0;
(_liq_set_output_gamma($45,0.45455000000000001)|0);
$46 = HEAP32[$6>>2]|0;
$47 = ((($2)) + 16|0);
$48 = +HEAPF32[$47>>2];
(_liq_set_dithering_level($46,$48)|0);
$49 = HEAP32[$6>>2]|0;
$50 = ((($4)) + 192|0);
$51 = HEAP32[$50>>2]|0;
$52 = (_liq_image_get_width($41)|0);
$53 = ((($5)) + 156|0);
HEAP32[$53>>2] = $52;
$54 = (_liq_image_get_height($41)|0);
$55 = ((($5)) + 160|0);
HEAP32[$55>>2] = $54;
$56 = (+_liq_get_output_gamma($49));
$57 = ((($5)) + 176|0);
HEAPF64[$57>>3] = $56;
$58 = ((($5)) + 1224|0);
HEAP32[$58>>2] = $51;
$59 = HEAP32[$55>>2]|0;
$60 = HEAP32[$53>>2]|0;
$61 = Math_imul($60, $59)|0;
$62 = (_malloc($61)|0);
$63 = ((($5)) + 188|0);
HEAP32[$63>>2] = $62;
$64 = $59 << 2;
$65 = (_malloc($64)|0);
$66 = ((($5)) + 184|0);
HEAP32[$66>>2] = $65;
$67 = ($62|0)==(0|0);
$68 = ($65|0)==(0|0);
$or$cond$i = $67 | $68;
if ($or$cond$i) {
$$166 = 90.0;$$2 = 17;
} else {
$69 = ($59|0)==(0);
if ($69) {
$85 = $41;
} else {
HEAP32[$65>>2] = $62;
$70 = ($59|0)==(1);
if ($70) {
$85 = $41;
} else {
$71 = (($62) + ($60)|0);
$72 = ((($65)) + 4|0);
HEAP32[$72>>2] = $71;
$73 = ($59>>>0)>(2);
if ($73) {
$75 = 2;
while(1) {
$$pre$i$pre = HEAP32[$63>>2]|0;
$$pre32$i$pre = HEAP32[$66>>2]|0;
$74 = Math_imul($75, $60)|0;
$76 = (($$pre$i$pre) + ($74)|0);
$77 = (($$pre32$i$pre) + ($75<<2)|0);
HEAP32[$77>>2] = $76;
$78 = (($75) + 1)|0;
$79 = ($78>>>0)<($59>>>0);
if ($79) {
$75 = $78;
} else {
break;
}
}
}
$$pre = HEAP32[$3>>2]|0;
$85 = $$pre;
}
}
$80 = (_liq_get_palette($49)|0);
$81 = HEAP32[$80>>2]|0;
$82 = ((($5)) + 196|0);
HEAP32[$82>>2] = $81;
$83 = HEAP32[$6>>2]|0;
$84 = HEAP32[$66>>2]|0;
$86 = (_liq_write_remapped_image_rows($83,$85,$84)|0);
$87 = ($86|0)==(0);
$$ = $87 ? 0 : 17;
$88 = HEAP32[$6>>2]|0;
$89 = (_liq_get_palette($88)|0);
$90 = HEAP32[$89>>2]|0;
HEAP32[$82>>2] = $90;
$91 = ($90|0)==(0);
if (!($91)) {
$$014$i = 0;
while(1) {
$$sroa$01$0$$sroa_idx$i = (((($89)) + 4|0) + ($$014$i<<2)|0);
$$sroa$01$0$copyload$i = HEAP8[$$sroa$01$0$$sroa_idx$i>>0]|0;
$$sroa$42$0$$sroa_idx$i = (((((($89)) + 4|0) + ($$014$i<<2)|0)) + 1|0);
$$sroa$42$0$copyload$i = HEAP8[$$sroa$42$0$$sroa_idx$i>>0]|0;
$$sroa$5$0$$sroa_idx$i = (((((($89)) + 4|0) + ($$014$i<<2)|0)) + 2|0);
$$sroa$5$0$copyload$i = HEAP8[$$sroa$5$0$$sroa_idx$i>>0]|0;
$$sroa$6$0$$sroa_idx$i = (((((($89)) + 4|0) + ($$014$i<<2)|0)) + 3|0);
$$sroa$6$0$copyload$i = HEAP8[$$sroa$6$0$$sroa_idx$i>>0]|0;
$$sroa$0$0$$sroa_idx$i = (((($5)) + 200|0) + ($$014$i<<2)|0);
HEAP8[$$sroa$0$0$$sroa_idx$i>>0] = $$sroa$01$0$copyload$i;
$$sroa$2$0$$sroa_idx$i = (((((($5)) + 200|0) + ($$014$i<<2)|0)) + 1|0);
HEAP8[$$sroa$2$0$$sroa_idx$i>>0] = $$sroa$42$0$copyload$i;
$$sroa$3$0$$sroa_idx$i = (((((($5)) + 200|0) + ($$014$i<<2)|0)) + 2|0);
HEAP8[$$sroa$3$0$$sroa_idx$i>>0] = $$sroa$5$0$copyload$i;
$$sroa$4$0$$sroa_idx$i = (((((($5)) + 200|0) + ($$014$i<<2)|0)) + 3|0);
HEAP8[$$sroa$4$0$$sroa_idx$i>>0] = $$sroa$6$0$copyload$i;
$92 = (($$014$i) + 1)|0;
$93 = HEAP32[$89>>2]|0;
$94 = ($92>>>0)<($93>>>0);
if ($94) {
$$014$i = $92;
} else {
break;
}
}
}
$95 = HEAP32[$6>>2]|0;
$96 = (+_liq_get_quantization_error($95));
$97 = !($96 >= 0.0);
if ($97) {
$$166 = 90.0;$$2 = $$;
} else {
$98 = HEAP32[$6>>2]|0;
$99 = (_liq_get_quantization_quality($98)|0);
HEAPF64[$vararg_buffer15>>3] = $96;
$vararg_ptr18 = ((($vararg_buffer15)) + 8|0);
HEAP32[$vararg_ptr18>>2] = $99;
_verbose_printf($2,17152,$vararg_buffer15);
$phitmp = (+($99|0));
$$166 = $phitmp;$$2 = $$;
}
}
$100 = HEAP32[$6>>2]|0;
_liq_result_destroy($100);
$101 = ($$2|0)==(0);
if (!($101)) {
$$5 = $$2;
break L5;
}
$102 = HEAP8[$7>>0]|0;
$103 = ($102<<24>>24)==(0);
if (!($103)) {
$104 = $$166 / 100.0;
$105 = (+Math_pow((+$104),1.5));
$106 = HEAP32[$28>>2]|0;
$107 = (($106) + -1)|0;
$108 = (+($107>>>0));
$109 = $105 < 0.5;
$110 = $109 ? 0.5 : $105;
$111 = $110 * $108;
$112 = (~~(($111))>>>0);
$113 = ((($5)) + 164|0);
HEAP32[$113>>2] = $112;
}
$114 = ((($2)) + 23|0);
$115 = HEAP8[$114>>0]|0;
$116 = ((($5)) + 1228|0);
HEAP8[$116>>0] = $115;
$117 = ((($4)) + 184|0);
$118 = HEAP32[$117>>2]|0;
$119 = ((($5)) + 192|0);
HEAP32[$119>>2] = $118;
HEAP32[$117>>2] = 0;
$120 = (_write_image($5,0,$1,$2)|0);
switch ($120|0) {
case 98: {
$121 = ((($5)) + 164|0);
$122 = HEAP32[$121>>2]|0;
$123 = $122 >>> 10;
HEAP32[$vararg_buffer19>>2] = $123;
_verbose_printf($2,17199,$vararg_buffer19);
$$5 = 98;
break L5;
break;
}
case 0: {
break;
}
default: {
$$5 = $120;
break L5;
}
}
$124 = ((($5)) + 168|0);
$125 = HEAP32[$124>>2]|0;
$126 = ($125|0)==(0);
if ($126) {
$$5 = 0;
break L5;
}
$127 = (($125) + 999)|0;
$128 = (($127|0) / 1000)&-1;
HEAP32[$vararg_buffer22>>2] = $128;
_verbose_printf($2,17238,$vararg_buffer22);
$$5 = 0;
break L5;
break;
}
case 99: {
$$3$ph = 99;
break;
}
default: {
$$3$ph = 4;
}
}
$$5 = $$3$ph;
} else {
$$5 = $26;
}
} while(0);
$129 = ((($2)) + 21|0);
$130 = HEAP8[$129>>0]|0;
$$not74 = ($130<<24>>24)!=(0);
$brmerge$not = $25 & $$not74;
$131 = $$5 | 1;
$132 = ($131|0)==(99);
$or$cond = $132 & $brmerge$not;
if ($or$cond) {
$133 = (_write_image(0,$4,$1,$2)|0);
$134 = ($133|0)==(0);
$$5$ = $134 ? $$5 : $133;
$$7 = $$5$;
} else {
$$7 = $$5;
}
$135 = HEAP32[$3>>2]|0;
$136 = ($135|0)==(0|0);
if ($136) {
_rwpng_free_image24($4);
_rwpng_free_image8($5);
STACKTOP = sp;return ($$7|0);
}
_liq_image_destroy($135);
_rwpng_free_image24($4);
_rwpng_free_image8($5);
STACKTOP = sp;return ($$7|0);
}
function _verbose_printf($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $$alloca_mul = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = ((($0)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
STACKTOP = sp;return;
}
HEAP32[$2>>2] = $varargs;
$6 = (_vsnprintf(0,0,$1,$2)|0);
$7 = (($6) + 1)|0;
$8 = (_llvm_stacksave()|0);
$$alloca_mul = $7;
$9 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
HEAP32[$2>>2] = $varargs;
(_vsnprintf($9,$7,$1,$2)|0);
$10 = HEAP32[$3>>2]|0;
$11 = HEAP32[$0>>2]|0;
$12 = ((($0)) + 12|0);
$13 = HEAP32[$12>>2]|0;
FUNCTION_TABLE_viii[$10 & 127]($11,$9,$13);
_llvm_stackrestore(($8|0));
STACKTOP = sp;return;
}
function _write_image($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0$i42 = 0, $$0$i43 = 0, $$039 = 0, $$039$ph = 0, $$03946 = 0, $$040 = 0, $$040$ph = 0, $$04045 = 0, $$041 = 0, $$1$ph = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_ptr16 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer13 = sp + 40|0;
$vararg_buffer10 = sp + 32|0;
$vararg_buffer6 = sp + 24|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$4 = ((($3)) + 21|0);
$5 = HEAP8[$4>>0]|0;
$6 = ($5<<24>>24)==(0);
do {
if ($6) {
$11 = (_strlen($2)|0);
$12 = (($11) + 5)|0;
$13 = (_malloc($12)|0);
$14 = ($13|0)==(0|0);
if ($14) {
$$041 = 17;
STACKTOP = sp;return ($$041|0);
}
(_strcpy($13,$2)|0);
$15 = (($13) + ($11)|0);
;HEAP8[$15>>0]=HEAP8[17350>>0]|0;HEAP8[$15+1>>0]=HEAP8[17350+1>>0]|0;HEAP8[$15+2>>0]=HEAP8[17350+2>>0]|0;HEAP8[$15+3>>0]=HEAP8[17350+3>>0]|0;HEAP8[$15+4>>0]=HEAP8[17350+4>>0]|0;
$16 = (_fopen($13,17355)|0);
$17 = ($16|0)==(0|0);
if ($17) {
$18 = HEAP32[2606]|0;
HEAP32[$vararg_buffer3>>2] = $13;
(_fprintf($18,17358,$vararg_buffer3)|0);
_free($13);
$$041 = 16;
STACKTOP = sp;return ($$041|0);
}
$19 = ($0|0)==(0|0);
if ($19) {
$25 = (_strrchr($2,47)|0);
$26 = ($25|0)==(0|0);
$27 = ((($25)) + 1|0);
$$0$i43 = $26 ? $2 : $27;
HEAP32[$vararg_buffer10>>2] = $$0$i43;
_verbose_printf($3,17428,$vararg_buffer10);
$$039$ph = $13;$$040$ph = $16;
label = 12;
break;
} else {
$20 = ((($0)) + 196|0);
$21 = HEAP32[$20>>2]|0;
$22 = (_strrchr($2,47)|0);
$23 = ($22|0)==(0|0);
$24 = ((($22)) + 1|0);
$$0$i42 = $23 ? $2 : $24;
HEAP32[$vararg_buffer6>>2] = $21;
$vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
HEAP32[$vararg_ptr9>>2] = $$0$i42;
_verbose_printf($3,17397,$vararg_buffer6);
$$039 = $13;$$040 = $16;
label = 11;
break;
}
} else {
$7 = HEAP32[2576]|0;
$8 = ($0|0)==(0|0);
if ($8) {
_verbose_printf($3,17314,$vararg_buffer1);
$$039$ph = 0;$$040$ph = $7;
label = 12;
break;
} else {
$9 = ((($0)) + 196|0);
$10 = HEAP32[$9>>2]|0;
HEAP32[$vararg_buffer>>2] = $10;
_verbose_printf($3,17279,$vararg_buffer);
$$039 = 0;$$040 = $7;
label = 11;
break;
}
}
} while(0);
if ((label|0) == 11) {
$28 = (_rwpng_write_image8($$040,$0)|0);
$$0 = $28;$$03946 = $$039;$$04045 = $$040;
}
else if ((label|0) == 12) {
$29 = (_rwpng_write_image24($$040$ph,$1)|0);
$$0 = $29;$$03946 = $$039$ph;$$04045 = $$040$ph;
}
$30 = HEAP8[$4>>0]|0;
$31 = ($30<<24>>24)==(0);
if ($31) {
(_fclose($$04045)|0);
$32 = ($$0|0)==(0);
if ($32) {
$33 = (_rename($$03946,$2)|0);
$34 = ($33|0)==(0);
if ($34) {
_free($$03946);
$$041 = 0;
STACKTOP = sp;return ($$041|0);
} else {
$$1$ph = 16;
}
} else {
$$1$ph = $$0;
}
(_unlink($$03946)|0);
$$2 = $$1$ph;
} else {
$$2 = $$0;
}
_free($$03946);
switch ($$2|0) {
case 0: case 98: {
$$041 = $$2;
STACKTOP = sp;return ($$041|0);
break;
}
default: {
}
}
$35 = HEAP32[2606]|0;
$36 = HEAP8[$4>>0]|0;
$37 = ($36<<24>>24)!=(0);
$38 = $37 ? 17460 : $2;
HEAP32[$vararg_buffer13>>2] = $38;
$vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
HEAP32[$vararg_ptr16>>2] = $$2;
(_fprintf($35,17467,$vararg_buffer13)|0);
$$041 = $$2;
STACKTOP = sp;return ($$041|0);
}
function _rwpng_version_info($0) {
$0 = $0|0;
var $1 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = (_png_get_header_ver(0)|0);
HEAP32[$vararg_buffer>>2] = $1;
(_fprintf($0,17932,$vararg_buffer)|0);
STACKTOP = sp;return;
}
function _rwpng_free_image24($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 176|0);
$2 = HEAP32[$1>>2]|0;
_free($2);
HEAP32[$1>>2] = 0;
$3 = ((($0)) + 180|0);
$4 = HEAP32[$3>>2]|0;
_free($4);
HEAP32[$3>>2] = 0;
$5 = ((($0)) + 184|0);
$6 = HEAP32[$5>>2]|0;
_rwpng_free_chunks($6);
HEAP32[$5>>2] = 0;
return;
}
function _rwpng_free_chunks($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
} else {
$2 = HEAP32[$0>>2]|0;
_rwpng_free_chunks($2);
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
_free($4);
_free($0);
return;
}
}
function _rwpng_free_image8($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 188|0);
$2 = HEAP32[$1>>2]|0;
_free($2);
HEAP32[$1>>2] = 0;
$3 = ((($0)) + 184|0);
$4 = HEAP32[$3>>2]|0;
_free($4);
HEAP32[$3>>2] = 0;
$5 = ((($0)) + 192|0);
$6 = HEAP32[$5>>2]|0;
_rwpng_free_chunks($6);
HEAP32[$5>>2] = 0;
return;
}
function _rwpng_read_image24($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_rwpng_read_image24_libpng($0,$1,$2,$3)|0);
return ($4|0);
}
function _rwpng_read_image24_libpng($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$reg2mem142$0 = 0, $$01$i$reg2mem$0 = 0, $$017$i$reg2mem144$0 = 0, $$1$reg2mem$0 = 0, $$reg2mem146$0 = 0.0, $$reg2mem148$0 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, $cond = 0, $cond155 = 0, $cond156 = 0, $cond157 = 0, $cond158 = 0, $cond159 = 0, $cond160 = 0, $cond161 = 0, $cond162 = 0, $cond163 = 0, $cond164 = 0, $cond165 = 0, $cond166 = 0, $cond167 = 0, $cond168 = 0, $cond169 = 0, $cond170 = 0, $cond171 = 0, $cond172 = 0;
var $cond173 = 0, $cond174 = 0, $cond175 = 0, $cond176 = 0, $cond177 = 0, $cond178 = 0, $cond179 = 0, $cond180 = 0, $cond181 = 0, $cond182 = 0, $cond183 = 0, $exitcond$i = 0, $or$cond = 0, $vararg_buffer = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer = sp + 8|0;
_setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
$4 = sp + 36|0;
$5 = sp + 32|0;
$6 = sp + 28|0;
$7 = sp + 24|0;
$8 = sp + 16|0;
$9 = sp;
HEAP32[$4>>2] = 0;
HEAP32[$5>>2] = 0;
$10 = ($3|0)!=(0);
$11 = $10 ? 12 : 11;
__THREW__ = 0;
$12 = (invoke_iiiii(13,(17998|0),($1|0),(14|0),($11|0))|0);
$13 = __THREW__; __THREW__ = 0;
if ((($13|0) != 0) & ((threwValue|0) != 0)) { $14 = _testSetjmp(HEAP32[$13>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($14|0) == 0) { _longjmp($13|0, threwValue|0); } tempRet0 = (threwValue); } else { $14 = -1; };
$15 = tempRet0;
$cond = ($14|0)==(1);
do {
if ($cond) {
$$reg2mem148$0 = $15;
} else {
HEAP32[$4>>2] = $12;
$16 = ($12|0)==(0|0);
if ($16) {
$$1$reg2mem$0 = 24;
_free(_setjmpTable|0);
STACKTOP = sp;return ($$1$reg2mem$0|0);
}
__THREW__ = 0;
$17 = (invoke_ii(15,($12|0))|0);
$18 = __THREW__; __THREW__ = 0;
if ((($18|0) != 0) & ((threwValue|0) != 0)) { $19 = _testSetjmp(HEAP32[$18>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($19|0) == 0) { _longjmp($18|0, threwValue|0); } tempRet0 = (threwValue); } else { $19 = -1; };
$20 = tempRet0;
$cond155 = ($19|0)==(1);
if ($cond155) {
$$reg2mem148$0 = $20;
} else {
HEAP32[$5>>2] = $17;
$21 = ($17|0)==(0|0);
if (!($21)) {
_setjmpTable = _saveSetjmp($1,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
__THREW__ = 0;
$25 = __THREW__; __THREW__ = 0;
if ((($25|0) != 0) & ((threwValue|0) != 0)) { $26 = _testSetjmp(HEAP32[$25>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($26|0) == 0) { _longjmp($25|0, threwValue|0); } tempRet0 = (threwValue); } else { $26 = -1; };
$27 = tempRet0;
$cond156 = ($26|0)==(1);
if ($cond156) {
$$reg2mem148$0 = $27;
break;
}
$$reg2mem148$0 = 0;
break;
}
__THREW__ = 0;
invoke_viii(16,($4|0),(0|0),(0|0));
$22 = __THREW__; __THREW__ = 0;
if ((($22|0) != 0) & ((threwValue|0) != 0)) { $23 = _testSetjmp(HEAP32[$22>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($23|0) == 0) { _longjmp($22|0, threwValue|0); } tempRet0 = (threwValue); } else { $23 = -1; };
$24 = tempRet0;
$cond157 = ($23|0)==(1);
if ($cond157) {
$$reg2mem148$0 = $24;
} else {
$$1$reg2mem$0 = 24;
_free(_setjmpTable|0);
STACKTOP = sp;return ($$1$reg2mem$0|0);
}
}
}
} while(0);
L13: while(1) {
$28 = ($$reg2mem148$0|0)==(0);
if (!($28)) {
__THREW__ = 0;
invoke_viii(16,($4|0),($5|0),(0|0));
$29 = __THREW__; __THREW__ = 0;
if ((($29|0) != 0) & ((threwValue|0) != 0)) { $30 = _testSetjmp(HEAP32[$29>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($30|0) == 0) { _longjmp($29|0, threwValue|0); } tempRet0 = (threwValue); } else { $30 = -1; };
$31 = tempRet0;
$cond158 = ($30|0)==(1);
if ($cond158) {
$$reg2mem148$0 = $31;
continue;
} else {
label = 11;
break;
}
}
$32 = HEAP32[$4>>2]|0;
__THREW__ = 0;
(invoke_iiii(17,($32|0),4,3)|0);
$33 = __THREW__; __THREW__ = 0;
if ((($33|0) != 0) & ((threwValue|0) != 0)) { $34 = _testSetjmp(HEAP32[$33>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($34|0) == 0) { _longjmp($33|0, threwValue|0); } tempRet0 = (threwValue); } else { $34 = -1; };
$35 = tempRet0;
$cond159 = ($34|0)==(1);
if ($cond159) {
$$reg2mem148$0 = $35;
continue;
}
$36 = ($2|0)==(0);
if ($36) {
$37 = HEAP32[$4>>2]|0;
__THREW__ = 0;
invoke_viiii(18,($37|0),2,(18005|0),4);
$38 = __THREW__; __THREW__ = 0;
if ((($38|0) != 0) & ((threwValue|0) != 0)) { $39 = _testSetjmp(HEAP32[$38>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($39|0) == 0) { _longjmp($38|0, threwValue|0); } tempRet0 = (threwValue); } else { $39 = -1; };
$40 = tempRet0;
$cond182 = ($39|0)==(1);
if ($cond182) {
$$reg2mem148$0 = $40;
continue;
}
$41 = HEAP32[$4>>2]|0;
$42 = ((($1)) + 184|0);
__THREW__ = 0;
invoke_viii(19,($41|0),($42|0),(20|0));
$43 = __THREW__; __THREW__ = 0;
if ((($43|0) != 0) & ((threwValue|0) != 0)) { $44 = _testSetjmp(HEAP32[$43>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($44|0) == 0) { _longjmp($43|0, threwValue|0); } tempRet0 = (threwValue); } else { $44 = -1; };
$45 = tempRet0;
$cond183 = ($44|0)==(1);
if ($cond183) {
$$reg2mem148$0 = $45;
continue;
}
}
HEAP32[$8>>2] = $0;
$46 = ((($8)) + 4|0);
HEAP32[$46>>2] = 0;
$47 = HEAP32[$4>>2]|0;
__THREW__ = 0;
invoke_viii(21,($47|0),($8|0),(22|0));
$48 = __THREW__; __THREW__ = 0;
if ((($48|0) != 0) & ((threwValue|0) != 0)) { $49 = _testSetjmp(HEAP32[$48>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($49|0) == 0) { _longjmp($48|0, threwValue|0); } tempRet0 = (threwValue); } else { $49 = -1; };
$50 = tempRet0;
$cond160 = ($49|0)==(1);
if ($cond160) {
$$reg2mem148$0 = $50;
continue;
}
$51 = HEAP32[$4>>2]|0;
$52 = HEAP32[$5>>2]|0;
__THREW__ = 0;
invoke_vii(23,($51|0),($52|0));
$53 = __THREW__; __THREW__ = 0;
if ((($53|0) != 0) & ((threwValue|0) != 0)) { $54 = _testSetjmp(HEAP32[$53>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($54|0) == 0) { _longjmp($53|0, threwValue|0); } tempRet0 = (threwValue); } else { $54 = -1; };
$55 = tempRet0;
$cond161 = ($54|0)==(1);
if ($cond161) {
$$reg2mem148$0 = $55;
continue;
}
$56 = HEAP32[$4>>2]|0;
$57 = HEAP32[$5>>2]|0;
$58 = ((($1)) + 156|0);
$59 = ((($1)) + 160|0);
__THREW__ = 0;
(invoke_iiiiiiiiii(24,($56|0),($57|0),($58|0),($59|0),($7|0),($6|0),(0|0),(0|0),(0|0))|0);
$60 = __THREW__; __THREW__ = 0;
if ((($60|0) != 0) & ((threwValue|0) != 0)) { $61 = _testSetjmp(HEAP32[$60>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($61|0) == 0) { _longjmp($60|0, threwValue|0); } tempRet0 = (threwValue); } else { $61 = -1; };
$62 = tempRet0;
$cond162 = ($61|0)==(1);
if ($cond162) {
$$reg2mem148$0 = $62;
continue;
}
$63 = HEAP32[$6>>2]|0;
$64 = $63 & 4;
$65 = ($64|0)==(0);
if ($65) {
$66 = HEAP32[$4>>2]|0;
__THREW__ = 0;
invoke_vi(25,($66|0));
$67 = __THREW__; __THREW__ = 0;
if ((($67|0) != 0) & ((threwValue|0) != 0)) { $68 = _testSetjmp(HEAP32[$67>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($68|0) == 0) { _longjmp($67|0, threwValue|0); } tempRet0 = (threwValue); } else { $68 = -1; };
$69 = tempRet0;
$cond180 = ($68|0)==(1);
if ($cond180) {
$$reg2mem148$0 = $69;
continue;
}
$70 = HEAP32[$4>>2]|0;
__THREW__ = 0;
invoke_viii(26,($70|0),65535,1);
$71 = __THREW__; __THREW__ = 0;
if ((($71|0) != 0) & ((threwValue|0) != 0)) { $72 = _testSetjmp(HEAP32[$71>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($72|0) == 0) { _longjmp($71|0, threwValue|0); } tempRet0 = (threwValue); } else { $72 = -1; };
$73 = tempRet0;
$cond181 = ($72|0)==(1);
if ($cond181) {
$$reg2mem148$0 = $73;
continue;
}
}
$74 = HEAP32[$7>>2]|0;
$75 = ($74|0)==(16);
if ($75) {
$76 = HEAP32[$4>>2]|0;
__THREW__ = 0;
invoke_vi(27,($76|0));
$77 = __THREW__; __THREW__ = 0;
if ((($77|0) != 0) & ((threwValue|0) != 0)) { $78 = _testSetjmp(HEAP32[$77>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($78|0) == 0) { _longjmp($77|0, threwValue|0); } tempRet0 = (threwValue); } else { $78 = -1; };
$79 = tempRet0;
$cond179 = ($78|0)==(1);
if ($cond179) {
$$reg2mem148$0 = $79;
continue;
}
}
$80 = HEAP32[$6>>2]|0;
$81 = $80 & 2;
$82 = ($81|0)==(0);
if ($82) {
$83 = HEAP32[$4>>2]|0;
__THREW__ = 0;
invoke_vi(28,($83|0));
$84 = __THREW__; __THREW__ = 0;
if ((($84|0) != 0) & ((threwValue|0) != 0)) { $85 = _testSetjmp(HEAP32[$84>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($85|0) == 0) { _longjmp($84|0, threwValue|0); } tempRet0 = (threwValue); } else { $85 = -1; };
$86 = tempRet0;
$cond178 = ($85|0)==(1);
if ($cond178) {
$$reg2mem148$0 = $86;
continue;
}
}
HEAPF64[$9>>3] = 0.45455000000000001;
$87 = HEAP32[$4>>2]|0;
$88 = HEAP32[$5>>2]|0;
__THREW__ = 0;
$89 = (invoke_iiii(29,($87|0),($88|0),2048)|0);
$90 = __THREW__; __THREW__ = 0;
if ((($90|0) != 0) & ((threwValue|0) != 0)) { $91 = _testSetjmp(HEAP32[$90>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($91|0) == 0) { _longjmp($90|0, threwValue|0); } tempRet0 = (threwValue); } else { $91 = -1; };
$92 = tempRet0;
$cond163 = ($91|0)==(1);
if ($cond163) {
$$reg2mem148$0 = $92;
continue;
}
$93 = ($89|0)==(0);
do {
if ($93) {
$96 = HEAP32[$4>>2]|0;
$97 = HEAP32[$5>>2]|0;
__THREW__ = 0;
(invoke_iiii(30,($96|0),($97|0),($9|0))|0);
$98 = __THREW__; __THREW__ = 0;
if ((($98|0) != 0) & ((threwValue|0) != 0)) { $99 = _testSetjmp(HEAP32[$98>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($99|0) == 0) { _longjmp($98|0, threwValue|0); } tempRet0 = (threwValue); } else { $99 = -1; };
$100 = tempRet0;
$cond176 = ($99|0)==(1);
if ($cond176) {
$$reg2mem148$0 = $100;
continue L13;
}
$101 = +HEAPF64[$9>>3];
$102 = $101 > 0.0;
$103 = $101 <= 1.0;
$or$cond = $102 & $103;
if ($or$cond) {
$104 = ((($1)) + 188|0);
HEAP32[$104>>2] = 5;
$105 = ((($1)) + 192|0);
HEAP32[$105>>2] = 5;
$$reg2mem146$0 = $101;
break;
}
$106 = HEAP32[2606]|0;
__THREW__ = 0;
HEAPF64[$vararg_buffer>>3] = $101;
(invoke_iiii(31,($106|0),(18025|0),($vararg_buffer|0))|0);
$107 = __THREW__; __THREW__ = 0;
if ((($107|0) != 0) & ((threwValue|0) != 0)) { $108 = _testSetjmp(HEAP32[$107>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($108|0) == 0) { _longjmp($107|0, threwValue|0); } tempRet0 = (threwValue); } else { $108 = -1; };
$109 = tempRet0;
$cond177 = ($108|0)==(1);
if ($cond177) {
$$reg2mem148$0 = $109;
continue L13;
}
$110 = ((($1)) + 188|0);
HEAP32[$110>>2] = 0;
$111 = ((($1)) + 192|0);
HEAP32[$111>>2] = 0;
HEAPF64[$9>>3] = 0.45455000000000001;
$$reg2mem146$0 = 0.45455000000000001;
} else {
$94 = ((($1)) + 188|0);
HEAP32[$94>>2] = 1;
$95 = ((($1)) + 192|0);
HEAP32[$95>>2] = 1;
$$reg2mem146$0 = 0.45455000000000001;
}
} while(0);
$112 = ((($1)) + 168|0);
HEAPF64[$112>>3] = $$reg2mem146$0;
$113 = HEAP32[$4>>2]|0;
__THREW__ = 0;
(invoke_ii(32,($113|0))|0);
$114 = __THREW__; __THREW__ = 0;
if ((($114|0) != 0) & ((threwValue|0) != 0)) { $115 = _testSetjmp(HEAP32[$114>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($115|0) == 0) { _longjmp($114|0, threwValue|0); } tempRet0 = (threwValue); } else { $115 = -1; };
$116 = tempRet0;
$cond164 = ($115|0)==(1);
if ($cond164) {
$$reg2mem148$0 = $116;
continue;
}
$117 = HEAP32[$4>>2]|0;
$118 = HEAP32[$5>>2]|0;
__THREW__ = 0;
invoke_vii(33,($117|0),($118|0));
$119 = __THREW__; __THREW__ = 0;
if ((($119|0) != 0) & ((threwValue|0) != 0)) { $120 = _testSetjmp(HEAP32[$119>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($120|0) == 0) { _longjmp($119|0, threwValue|0); } tempRet0 = (threwValue); } else { $120 = -1; };
$121 = tempRet0;
$cond165 = ($120|0)==(1);
if ($cond165) {
$$reg2mem148$0 = $121;
continue;
}
$122 = HEAP32[$4>>2]|0;
$123 = HEAP32[$5>>2]|0;
__THREW__ = 0;
$124 = (invoke_iii(34,($122|0),($123|0))|0);
$125 = __THREW__; __THREW__ = 0;
if ((($125|0) != 0) & ((threwValue|0) != 0)) { $126 = _testSetjmp(HEAP32[$125>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($126|0) == 0) { _longjmp($125|0, threwValue|0); } tempRet0 = (threwValue); } else { $126 = -1; };
$127 = tempRet0;
$cond166 = ($126|0)==(1);
if ($cond166) {
$$reg2mem148$0 = $127;
continue;
}
$128 = HEAP32[$59>>2]|0;
$129 = (2147483647 / ($128>>>0))&-1;
$130 = ($124>>>0)>($129>>>0);
if ($130) {
__THREW__ = 0;
invoke_viii(16,($4|0),($5|0),(0|0));
$131 = __THREW__; __THREW__ = 0;
if ((($131|0) != 0) & ((threwValue|0) != 0)) { $132 = _testSetjmp(HEAP32[$131>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($132|0) == 0) { _longjmp($131|0, threwValue|0); } tempRet0 = (threwValue); } else { $132 = -1; };
$133 = tempRet0;
$cond175 = ($132|0)==(1);
if ($cond175) {
$$reg2mem148$0 = $133;
continue;
} else {
label = 43;
break;
}
}
$134 = Math_imul($128, $124)|0;
__THREW__ = 0;
$135 = (invoke_ii(35,($134|0))|0);
$136 = __THREW__; __THREW__ = 0;
if ((($136|0) != 0) & ((threwValue|0) != 0)) { $137 = _testSetjmp(HEAP32[$136>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($137|0) == 0) { _longjmp($136|0, threwValue|0); } tempRet0 = (threwValue); } else { $137 = -1; };
$138 = tempRet0;
$cond167 = ($137|0)==(1);
if ($cond167) {
$$reg2mem148$0 = $138;
continue;
}
$139 = ((($1)) + 180|0);
HEAP32[$139>>2] = $135;
$140 = ($135|0)==(0|0);
if ($140) {
$141 = HEAP32[2606]|0;
__THREW__ = 0;
(invoke_iiiii(36,(18075|0),49,1,($141|0))|0);
$142 = __THREW__; __THREW__ = 0;
if ((($142|0) != 0) & ((threwValue|0) != 0)) { $143 = _testSetjmp(HEAP32[$142>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($143|0) == 0) { _longjmp($142|0, threwValue|0); } tempRet0 = (threwValue); } else { $143 = -1; };
$144 = tempRet0;
$cond173 = ($143|0)==(1);
if ($cond173) {
$$reg2mem148$0 = $144;
continue;
}
__THREW__ = 0;
invoke_viii(16,($4|0),($5|0),(0|0));
$145 = __THREW__; __THREW__ = 0;
if ((($145|0) != 0) & ((threwValue|0) != 0)) { $146 = _testSetjmp(HEAP32[$145>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($146|0) == 0) { _longjmp($145|0, threwValue|0); } tempRet0 = (threwValue); } else { $146 = -1; };
$147 = tempRet0;
$cond174 = ($146|0)==(1);
if ($cond174) {
$$reg2mem148$0 = $147;
continue;
} else {
label = 48;
break;
}
}
$148 = HEAP32[$5>>2]|0;
$149 = HEAP32[$4>>2]|0;
__THREW__ = 0;
$150 = (invoke_iii(34,($149|0),($148|0))|0);
$151 = __THREW__; __THREW__ = 0;
if ((($151|0) != 0) & ((threwValue|0) != 0)) { $152 = _testSetjmp(HEAP32[$151>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($152|0) == 0) { _longjmp($151|0, threwValue|0); } tempRet0 = (threwValue); } else { $152 = -1; };
$153 = tempRet0;
$cond168 = ($152|0)==(1);
if ($cond168) {
$$reg2mem148$0 = $153;
continue;
}
$154 = $128 << 2;
__THREW__ = 0;
$155 = (invoke_ii(35,($154|0))|0);
$156 = __THREW__; __THREW__ = 0;
if ((($156|0) != 0) & ((threwValue|0) != 0)) { $157 = _testSetjmp(HEAP32[$156>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($157|0) == 0) { _longjmp($156|0, threwValue|0); } tempRet0 = (threwValue); } else { $157 = -1; };
$158 = tempRet0;
$cond169 = ($157|0)==(1);
if ($cond169) {
$$reg2mem148$0 = $158;
continue;
}
$159 = ($155|0)==(0|0);
do {
if ($159) {
$$017$i$reg2mem144$0 = 0;
} else {
$160 = ($128|0)==(0);
if ($160) {
$$017$i$reg2mem144$0 = $155;
break;
} else {
$$01$i$reg2mem$0 = 0;
}
while(1) {
$161 = Math_imul($$01$i$reg2mem$0, $150)|0;
$162 = (($135) + ($161)|0);
$163 = (($155) + ($$01$i$reg2mem$0<<2)|0);
HEAP32[$163>>2] = $162;
$164 = (($$01$i$reg2mem$0) + 1)|0;
$exitcond$i = ($164|0)==($128|0);
if ($exitcond$i) {
$$017$i$reg2mem144$0 = $155;
break;
} else {
$$01$i$reg2mem$0 = $164;
}
}
}
} while(0);
$165 = HEAP32[$4>>2]|0;
__THREW__ = 0;
invoke_vii(37,($165|0),($$017$i$reg2mem144$0|0));
$166 = __THREW__; __THREW__ = 0;
if ((($166|0) != 0) & ((threwValue|0) != 0)) { $167 = _testSetjmp(HEAP32[$166>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($167|0) == 0) { _longjmp($166|0, threwValue|0); } tempRet0 = (threwValue); } else { $167 = -1; };
$168 = tempRet0;
$cond170 = ($167|0)==(1);
if ($cond170) {
$$reg2mem148$0 = $168;
continue;
}
$169 = HEAP32[$4>>2]|0;
__THREW__ = 0;
invoke_vii(38,($169|0),(0|0));
$170 = __THREW__; __THREW__ = 0;
if ((($170|0) != 0) & ((threwValue|0) != 0)) { $171 = _testSetjmp(HEAP32[$170>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($171|0) == 0) { _longjmp($170|0, threwValue|0); } tempRet0 = (threwValue); } else { $171 = -1; };
$172 = tempRet0;
$cond171 = ($171|0)==(1);
if ($cond171) {
$$reg2mem148$0 = $172;
continue;
}
__THREW__ = 0;
invoke_viii(16,($4|0),($5|0),(0|0));
$173 = __THREW__; __THREW__ = 0;
if ((($173|0) != 0) & ((threwValue|0) != 0)) { $174 = _testSetjmp(HEAP32[$173>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($174|0) == 0) { _longjmp($173|0, threwValue|0); } tempRet0 = (threwValue); } else { $174 = -1; };
$175 = tempRet0;
$cond172 = ($174|0)==(1);
if ($cond172) {
$$reg2mem148$0 = $175;
} else {
label = 57;
break;
}
}
if ((label|0) == 11) {
$$1$reg2mem$0 = 25;
_free(_setjmpTable|0);
STACKTOP = sp;return ($$1$reg2mem$0|0);
}
else if ((label|0) == 43) {
$$0$reg2mem142$0 = 24;
}
else if ((label|0) == 48) {
$$0$reg2mem142$0 = 24;
}
else if ((label|0) == 57) {
$176 = HEAP32[$46>>2]|0;
$177 = ((($1)) + 164|0);
HEAP32[$177>>2] = $176;
$178 = ((($1)) + 176|0);
HEAP32[$178>>2] = $$017$i$reg2mem144$0;
$$0$reg2mem142$0 = 0;
}
$$1$reg2mem$0 = $$0$reg2mem142$0;
_free(_setjmpTable|0);
STACKTOP = sp;return ($$1$reg2mem$0|0);
}
function _rwpng_warning_stderr_handler($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = HEAP32[2606]|0;
HEAP32[$vararg_buffer>>2] = $1;
(_fprintf($2,18180,$vararg_buffer)|0);
STACKTOP = sp;return;
}
function _rwpng_warning_silent_handler($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function _rwpng_error_handler($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = HEAP32[2606]|0;
HEAP32[$vararg_buffer>>2] = $1;
(_fprintf($2,18151,$vararg_buffer)|0);
(_fflush($2)|0);
$3 = (_png_get_error_ptr($0)|0);
$4 = ($3|0)==(0|0);
if ($4) {
_abort();
// unreachable;
} else {
_longjmp(($3|0),1);
// unreachable;
}
}
function _read_chunk_callback($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_memcmp(18136,$1,5)|0);
$3 = ($2|0)==(0);
if ($3) {
$$0 = 0;
return ($$0|0);
}
$4 = (_memcmp(18141,$1,5)|0);
$5 = ($4|0)==(0);
if ($5) {
$$0 = 0;
return ($$0|0);
}
$6 = (_memcmp(18146,$1,5)|0);
$7 = ($6|0)==(0);
if ($7) {
$$0 = 0;
return ($$0|0);
}
$8 = ((($1)) + 16|0);
$9 = HEAP8[$8>>0]|0;
$10 = ($9<<24>>24)==(0);
if ($10) {
$$0 = 1;
return ($$0|0);
}
$11 = (_png_get_user_chunk_ptr($0)|0);
$12 = (_malloc(20)|0);
$13 = ((($12)) + 12|0);
;HEAP32[$13>>2]=HEAP32[$1>>2]|0;HEAP8[$13+4>>0]=HEAP8[$1+4>>0]|0;
$14 = ((($1)) + 12|0);
$15 = HEAP32[$14>>2]|0;
$16 = ((($12)) + 8|0);
HEAP32[$16>>2] = $15;
$17 = HEAP8[$8>>0]|0;
$18 = ((($12)) + 17|0);
HEAP8[$18>>0] = $17;
$19 = ($15|0)==(0);
if ($19) {
$20 = ((($12)) + 4|0);
HEAP32[$20>>2] = 0;
} else {
$21 = (_malloc($15)|0);
$22 = ((($12)) + 4|0);
HEAP32[$22>>2] = $21;
$23 = ((($1)) + 8|0);
$24 = HEAP32[$23>>2]|0;
_memcpy(($21|0),($24|0),($15|0))|0;
}
$25 = HEAP32[$11>>2]|0;
HEAP32[$12>>2] = $25;
HEAP32[$11>>2] = $12;
$$0 = 1;
return ($$0|0);
}
function _user_read_data($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_png_get_io_ptr($0)|0);
$4 = HEAP32[$3>>2]|0;
$5 = (_fread($1,1,$2,$4)|0);
$6 = ($5|0)==(0);
if ($6) {
_png_error($0,18125);
// unreachable;
} else {
$7 = ((($3)) + 4|0);
$8 = HEAP32[$7>>2]|0;
$9 = (($8) + ($5))|0;
HEAP32[$7>>2] = $9;
return;
}
}
function _rwpng_write_image8($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$0 = 0, $$063 = 0, $$06471 = 0, $$065$ = 0, $$065$lcssa = 0, $$06570 = 0, $$06873 = 0, $$2 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$230$0$$sroa_idx31 = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$332$0$$sroa_idx33 = 0, $$sroa$4$0$$sroa_idx34 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0;
var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1072|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1072|0);
$2 = sp + 44|0;
$3 = sp + 40|0;
$4 = sp + 24|0;
$5 = sp;
$6 = sp + 304|0;
$7 = sp + 48|0;
$8 = ((($1)) + 196|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9>>>0)>(256);
if ($10) {
$$2 = 4;
STACKTOP = sp;return ($$2|0);
}
$11 = ((($1)) + 1228|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12 << 24 >> 24;
$14 = (_rwpng_write_image_init($1,$2,$3,$13)|0);
$15 = ($14|0)==(0);
if (!($15)) {
$$2 = $14;
STACKTOP = sp;return ($$2|0);
}
$16 = ((($1)) + 164|0);
$17 = HEAP32[$16>>2]|0;
HEAP32[$4>>2] = $0;
$$sroa$230$0$$sroa_idx31 = ((($4)) + 4|0);
HEAP32[$$sroa$230$0$$sroa_idx31>>2] = $17;
$$sroa$332$0$$sroa_idx33 = ((($4)) + 8|0);
HEAP32[$$sroa$332$0$$sroa_idx33>>2] = 0;
$$sroa$4$0$$sroa_idx34 = ((($4)) + 12|0);
HEAP32[$$sroa$4$0$$sroa_idx34>>2] = 0;
$18 = HEAP32[$2>>2]|0;
_png_set_write_fn($18,$4,39,40);
$19 = HEAP32[$2>>2]|0;
_png_set_filter($19,0,0);
$20 = HEAP32[$3>>2]|0;
$21 = HEAP32[$2>>2]|0;
$22 = ((($1)) + 1224|0);
$23 = HEAP32[$22>>2]|0;
switch ($23|0) {
case 5: case 0: {
break;
}
default: {
$24 = ((($1)) + 176|0);
$25 = +HEAPF64[$24>>3];
_png_set_gAMA($21,$20,$25);
$26 = ($23|0)==(1);
if ($26) {
_png_set_sRGB($21,$20,0);
}
}
}
$27 = HEAP32[$8>>2]|0;
$28 = ($27>>>0)<(3);
if ($28) {
$$063 = 1;
} else {
$29 = ($27>>>0)<(5);
if ($29) {
$$063 = 2;
} else {
$30 = ($27>>>0)<(17);
$$ = $30 ? 4 : 8;
$$063 = $$;
}
}
$31 = ((($1)) + 192|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($1)) + 168|0);
HEAP32[$33>>2] = 0;
$34 = ($32|0)==(0|0);
if (!($34)) {
$35 = ((($5)) + 8|0);
$36 = ((($5)) + 12|0);
$37 = ((($5)) + 16|0);
$$06873 = $32;
while(1) {
;HEAP32[$5>>2]=0|0;HEAP8[$5+4>>0]=0|0;
$38 = ((($$06873)) + 4|0);
$39 = HEAP32[$38>>2]|0;
HEAP32[$35>>2] = $39;
$40 = ((($$06873)) + 8|0);
$41 = HEAP32[$40>>2]|0;
HEAP32[$36>>2] = $41;
$42 = ((($$06873)) + 17|0);
$43 = HEAP8[$42>>0]|0;
HEAP8[$37>>0] = $43;
$44 = ((($$06873)) + 12|0);
;HEAP32[$5>>2]=HEAP32[$44>>2]|0;HEAP8[$5+4>>0]=HEAP8[$44+4>>0]|0;
$45 = HEAP32[$2>>2]|0;
$46 = HEAP32[$3>>2]|0;
_png_set_unknown_chunks($45,$46,$5,1);
$47 = HEAP32[$40>>2]|0;
$48 = (($47) + 12)|0;
$49 = HEAP32[$33>>2]|0;
$50 = (($48) + ($49))|0;
HEAP32[$33>>2] = $50;
$51 = HEAP32[$$06873>>2]|0;
$52 = ($51|0)==(0|0);
if ($52) {
break;
} else {
$$06873 = $51;
}
}
}
$53 = HEAP32[$2>>2]|0;
$54 = HEAP32[$3>>2]|0;
$55 = ((($1)) + 156|0);
$56 = HEAP32[$55>>2]|0;
$57 = ((($1)) + 160|0);
$58 = HEAP32[$57>>2]|0;
_png_set_IHDR($53,$54,$56,$58,$$063,3,0,0,0);
$59 = HEAP32[$8>>2]|0;
$60 = ($59|0)==(0);
if ($60) {
$$065$lcssa = 0;$$lcssa = 0;
} else {
$$06471 = 0;$$06570 = 0;
while(1) {
$64 = (((($1)) + 200|0) + ($$06471<<2)|0);
$65 = HEAP8[$64>>0]|0;
$66 = (((((($1)) + 200|0) + ($$06471<<2)|0)) + 1|0);
$67 = HEAP8[$66>>0]|0;
$68 = (((((($1)) + 200|0) + ($$06471<<2)|0)) + 2|0);
$69 = HEAP8[$68>>0]|0;
$$sroa$0$0$$sroa_idx = (($6) + (($$06471*3)|0)|0);
HEAP8[$$sroa$0$0$$sroa_idx>>0] = $65;
$$sroa$2$0$$sroa_idx = (((($6) + (($$06471*3)|0)|0)) + 1|0);
HEAP8[$$sroa$2$0$$sroa_idx>>0] = $67;
$$sroa$3$0$$sroa_idx = (((($6) + (($$06471*3)|0)|0)) + 2|0);
HEAP8[$$sroa$3$0$$sroa_idx>>0] = $69;
$70 = (((((($1)) + 200|0) + ($$06471<<2)|0)) + 3|0);
$71 = HEAP8[$70>>0]|0;
$72 = (($7) + ($$06471)|0);
HEAP8[$72>>0] = $71;
$73 = ($71<<24>>24)==(-1);
$74 = (($$06471) + 1)|0;
$$065$ = $73 ? $$06570 : $74;
$75 = ($74>>>0)<($59>>>0);
if ($75) {
$$06471 = $74;$$06570 = $$065$;
} else {
$$065$lcssa = $$065$;$$lcssa = $59;
break;
}
}
}
$61 = HEAP32[$2>>2]|0;
$62 = HEAP32[$3>>2]|0;
_png_set_PLTE($61,$62,$6,$$lcssa);
$63 = ($$065$lcssa|0)==(0);
if (!($63)) {
$76 = HEAP32[$2>>2]|0;
$77 = HEAP32[$3>>2]|0;
_png_set_tRNS($76,$77,$7,$$065$lcssa,0);
}
$78 = ((($1)) + 184|0);
$79 = HEAP32[$78>>2]|0;
$80 = HEAP32[$2>>2]|0;
$81 = HEAP32[$3>>2]|0;
_png_write_info($80,$81);
$82 = HEAP32[$2>>2]|0;
_png_set_packing($82);
$83 = HEAP32[$2>>2]|0;
_png_write_image($83,$79);
$84 = HEAP32[$2>>2]|0;
_png_write_end($84,0);
_png_destroy_write_struct($2,$3);
$85 = HEAP32[$$sroa$4$0$$sroa_idx34>>2]|0;
$86 = ($85|0)==(0);
if ($86) {
$87 = HEAP32[$$sroa$230$0$$sroa_idx31>>2]|0;
$88 = ($87|0)!=(0);
$89 = HEAP32[$$sroa$332$0$$sroa_idx33>>2]|0;
$90 = ($89>>>0)>($87>>>0);
$or$cond = $88 & $90;
if ($or$cond) {
$$0 = 98;
} else {
label = 18;
}
} else {
label = 18;
}
if ((label|0) == 18) {
$$0 = $85;
}
$$2 = $$0;
STACKTOP = sp;return ($$2|0);
}
function _rwpng_write_image_init($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$reg2mem$0 = 0, $$reg2mem29$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $cond31 = 0, $cond32 = 0, $cond33 = 0, $cond34 = 0, $cond35 = 0, $cond36 = 0;
var _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
sp = STACKTOP;
_setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
__THREW__ = 0;
$4 = (invoke_iiiii(41,(17998|0),($0|0),(14|0),(0|0))|0);
$5 = __THREW__; __THREW__ = 0;
if ((($5|0) != 0) & ((threwValue|0) != 0)) { $6 = _testSetjmp(HEAP32[$5>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($6|0) == 0) { _longjmp($5|0, threwValue|0); } tempRet0 = (threwValue); } else { $6 = -1; };
$7 = tempRet0;
$cond = ($6|0)==(1);
do {
if ($cond) {
$$reg2mem29$0 = $7;
} else {
HEAP32[$1>>2] = $4;
$8 = ($4|0)==(0|0);
if ($8) {
$$0$reg2mem$0 = 35;
_free(_setjmpTable|0);
return ($$0$reg2mem$0|0);
}
__THREW__ = 0;
$9 = (invoke_ii(15,($4|0))|0);
$10 = __THREW__; __THREW__ = 0;
if ((($10|0) != 0) & ((threwValue|0) != 0)) { $11 = _testSetjmp(HEAP32[$10>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($11|0) == 0) { _longjmp($10|0, threwValue|0); } tempRet0 = (threwValue); } else { $11 = -1; };
$12 = tempRet0;
$cond31 = ($11|0)==(1);
if ($cond31) {
$$reg2mem29$0 = $12;
} else {
HEAP32[$2>>2] = $9;
$13 = ($9|0)==(0|0);
if (!($13)) {
_setjmpTable = _saveSetjmp($0,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
__THREW__ = 0;
$17 = __THREW__; __THREW__ = 0;
if ((($17|0) != 0) & ((threwValue|0) != 0)) { $18 = _testSetjmp(HEAP32[$17>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($18|0) == 0) { _longjmp($17|0, threwValue|0); } tempRet0 = (threwValue); } else { $18 = -1; };
$19 = tempRet0;
$cond32 = ($18|0)==(1);
if ($cond32) {
$$reg2mem29$0 = $19;
break;
}
$$reg2mem29$0 = 0;
break;
}
__THREW__ = 0;
invoke_vii(42,($1|0),(0|0));
$14 = __THREW__; __THREW__ = 0;
if ((($14|0) != 0) & ((threwValue|0) != 0)) { $15 = _testSetjmp(HEAP32[$14>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($15|0) == 0) { _longjmp($14|0, threwValue|0); } tempRet0 = (threwValue); } else { $15 = -1; };
$16 = tempRet0;
$cond33 = ($15|0)==(1);
if ($cond33) {
$$reg2mem29$0 = $16;
} else {
$$0$reg2mem$0 = 35;
_free(_setjmpTable|0);
return ($$0$reg2mem$0|0);
}
}
}
} while(0);
while(1) {
$20 = ($$reg2mem29$0|0)==(0);
if (!($20)) {
__THREW__ = 0;
invoke_vii(42,($1|0),($2|0));
$21 = __THREW__; __THREW__ = 0;
if ((($21|0) != 0) & ((threwValue|0) != 0)) { $22 = _testSetjmp(HEAP32[$21>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($22|0) == 0) { _longjmp($21|0, threwValue|0); } tempRet0 = (threwValue); } else { $22 = -1; };
$23 = tempRet0;
$cond34 = ($22|0)==(1);
if ($cond34) {
$$reg2mem29$0 = $23;
continue;
} else {
label = 11;
break;
}
}
$24 = HEAP32[$1>>2]|0;
$25 = ($3|0)!=(0);
$26 = $25 ? 1 : 9;
__THREW__ = 0;
invoke_vii(43,($24|0),($26|0));
$27 = __THREW__; __THREW__ = 0;
if ((($27|0) != 0) & ((threwValue|0) != 0)) { $28 = _testSetjmp(HEAP32[$27>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($28|0) == 0) { _longjmp($27|0, threwValue|0); } tempRet0 = (threwValue); } else { $28 = -1; };
$29 = tempRet0;
$cond35 = ($28|0)==(1);
if ($cond35) {
$$reg2mem29$0 = $29;
continue;
}
$30 = HEAP32[$1>>2]|0;
$31 = $25 ? 9 : 5;
__THREW__ = 0;
invoke_vii(44,($30|0),($31|0));
$32 = __THREW__; __THREW__ = 0;
if ((($32|0) != 0) & ((threwValue|0) != 0)) { $33 = _testSetjmp(HEAP32[$32>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($33|0) == 0) { _longjmp($32|0, threwValue|0); } tempRet0 = (threwValue); } else { $33 = -1; };
$34 = tempRet0;
$cond36 = ($33|0)==(1);
if ($cond36) {
$$reg2mem29$0 = $34;
} else {
label = 14;
break;
}
}
if ((label|0) == 11) {
$$0$reg2mem$0 = 35;
_free(_setjmpTable|0);
return ($$0$reg2mem$0|0);
}
else if ((label|0) == 14) {
$$0$reg2mem$0 = 0;
_free(_setjmpTable|0);
return ($$0$reg2mem$0|0);
}
return (0)|0;
}
function _user_write_data($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_png_get_io_ptr($0)|0);
$4 = ((($3)) + 12|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0);
if (!($6)) {
return;
}
$7 = HEAP32[$3>>2]|0;
$8 = (_fwrite($1,$2,1,$7)|0);
$9 = ($8|0)==(0);
if ($9) {
HEAP32[$4>>2] = 16;
}
$10 = ((($3)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = (($11) + ($2))|0;
HEAP32[$10>>2] = $12;
return;
}
function _user_flush_data($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function _rwpng_write_image24($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$01$i = 0, $$017$i = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $exitcond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp + 4|0;
$3 = sp;
$4 = (_rwpng_write_image_init($1,$2,$3,0)|0);
$5 = ($4|0)==(0);
if (!($5)) {
$$0 = $4;
STACKTOP = sp;return ($$0|0);
}
$6 = HEAP32[$2>>2]|0;
_png_init_io($6,$0);
$7 = HEAP32[$3>>2]|0;
$8 = HEAP32[$2>>2]|0;
$9 = ((($1)) + 192|0);
$10 = HEAP32[$9>>2]|0;
switch ($10|0) {
case 5: case 0: {
break;
}
default: {
$11 = ((($1)) + 168|0);
$12 = +HEAPF64[$11>>3];
_png_set_gAMA($8,$7,$12);
$13 = ($10|0)==(1);
if ($13) {
_png_set_sRGB($8,$7,0);
}
}
}
$14 = HEAP32[$2>>2]|0;
$15 = HEAP32[$3>>2]|0;
$16 = ((($1)) + 156|0);
$17 = HEAP32[$16>>2]|0;
$18 = ((($1)) + 160|0);
$19 = HEAP32[$18>>2]|0;
_png_set_IHDR($14,$15,$17,$19,8,6,0,0,0);
$20 = HEAP32[$3>>2]|0;
$21 = HEAP32[$2>>2]|0;
$22 = ((($1)) + 180|0);
$23 = HEAP32[$22>>2]|0;
$24 = HEAP32[$18>>2]|0;
$25 = (_png_get_rowbytes($21,$20)|0);
$26 = $24 << 2;
$27 = (_malloc($26)|0);
$28 = ($27|0)==(0|0);
if ($28) {
$$017$i = 0;
} else {
$29 = ($24|0)==(0);
if ($29) {
$$017$i = $27;
} else {
$$01$i = 0;
while(1) {
$30 = Math_imul($$01$i, $25)|0;
$31 = (($23) + ($30)|0);
$32 = (($27) + ($$01$i<<2)|0);
HEAP32[$32>>2] = $31;
$33 = (($$01$i) + 1)|0;
$exitcond$i = ($33|0)==($24|0);
if ($exitcond$i) {
$$017$i = $27;
break;
} else {
$$01$i = $33;
}
}
}
}
$34 = HEAP32[$2>>2]|0;
$35 = HEAP32[$3>>2]|0;
_png_write_info($34,$35);
$36 = HEAP32[$2>>2]|0;
_png_set_packing($36);
$37 = HEAP32[$2>>2]|0;
_png_write_image($37,$$017$i);
$38 = HEAP32[$2>>2]|0;
_png_write_end($38,0);
_png_destroy_write_struct($2,$3);
_free($$017$i);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _liq_crash_if_invalid_handle_pointer_given($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ($0|0)==(0|0);
if ($2) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$3 = HEAP32[$0>>2]|0;
$4 = ($3|0)==(18202|0);
if ($4) {
$5 = HEAP32[2606]|0;
HEAP32[$vararg_buffer>>2] = $1;
(_fprintf($5,18207,$vararg_buffer)|0);
_abort();
// unreachable;
}
$6 = ($3|0)==($1|0);
$$0 = $6;
STACKTOP = sp;return ($$0|0);
}
function _liq_crash_if_invalid_pointer_given($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 0;
} else {
$2 = HEAP8[$0>>0]|0;
$$0 = 1;
}
return ($$0|0);
}
function _liq_set_quality($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0.0, $$0$i13 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0;
var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($3)) {
$$0 = 105;
return ($$0|0);
}
$4 = ($2>>>0)>(100);
if ($4) {
$$0 = 100;
return ($$0|0);
}
$5 = ($2|0)<($1|0);
$6 = ($1|0)<(0);
$or$cond3 = $6 | $5;
if ($or$cond3) {
$$0 = 100;
return ($$0|0);
}
switch ($2|0) {
case 0: {
$$0$i = 1.0E+20;
break;
}
case 100: {
$$0$i = 0.0;
break;
}
default: {
$7 = (+($2|0));
$8 = $7 + 0.001;
$9 = 0.016 / $8;
$10 = $9 + -0.001;
$11 = $10 < 0.0;
$12 = $11 ? 0.0 : $10;
$13 = $7 + 210.0;
$14 = (+Math_pow((+$13),1.2));
$15 = 2.5 / $14;
$16 = 100.09999999999999 - $7;
$17 = $16 * $15;
$18 = $17 / 100.0;
$19 = $12 + $18;
$$0$i = $19;
}
}
$20 = ((($0)) + 16|0);
HEAPF64[$20>>3] = $$0$i;
switch ($1|0) {
case 0: {
$$0$i13 = 1.0E+20;
break;
}
case 100: {
$$0$i13 = 0.0;
break;
}
default: {
$21 = (+($1|0));
$22 = $21 + 0.001;
$23 = 0.016 / $22;
$24 = $23 + -0.001;
$25 = $24 < 0.0;
$26 = $25 ? 0.0 : $24;
$27 = $21 + 210.0;
$28 = (+Math_pow((+$27),1.2));
$29 = 2.5 / $28;
$30 = 100.09999999999999 - $21;
$31 = $30 * $29;
$32 = $31 / 100.0;
$33 = $26 + $32;
$$0$i13 = $33;
}
}
$34 = ((($0)) + 24|0);
HEAPF64[$34>>3] = $$0$i13;
$$0 = 0;
return ($$0|0);
}
function _liq_set_max_colors($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($2)) {
$$0 = 105;
return ($$0|0);
}
$$off = (($1) + -2)|0;
$3 = ($$off>>>0)>(254);
if ($3) {
$$0 = 100;
return ($$0|0);
}
$4 = ((($0)) + 44|0);
HEAP32[$4>>2] = $1;
$$0 = 0;
return ($$0|0);
}
function _liq_set_min_posterization($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if ($2) {
$3 = ($1>>>0)>(4);
if ($3) {
$$0 = 100;
} else {
$4 = ((($0)) + 52|0);
HEAP32[$4>>2] = $1;
$$0 = 0;
}
} else {
$$0 = 105;
}
return ($$0|0);
}
function _liq_set_speed($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$0 = 0, $$off = 0, $$op = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($2)) {
$$0 = 105;
return ($$0|0);
}
$$off = (($1) + -1)|0;
$3 = ($$off>>>0)>(9);
if ($3) {
$$0 = 100;
return ($$0|0);
}
$4 = (8 - ($1))|0;
$5 = ($4|0)>(0);
$6 = Math_imul($4, $4)|0;
$$op = $6 >>> 1;
$7 = (($$op) + ($4))|0;
$8 = $5 ? $7 : 0;
$9 = ((($0)) + 60|0);
HEAP32[$9>>2] = $8;
$10 = (23 - ($1))|0;
$11 = 1 << $10;
$12 = (+($11|0));
$13 = 1.0 / $12;
$14 = ((($0)) + 32|0);
HEAPF64[$14>>3] = $13;
$15 = Math_imul($1, -9)|0;
$16 = (($15) + 56)|0;
$17 = ($16|0)>(0);
$$ = $17 ? $16 : 0;
$18 = ((($0)) + 64|0);
HEAP32[$18>>2] = $$;
$19 = (10 - ($1))|0;
$20 = $19 << 18;
$21 = $20 | 131072;
$22 = ((($0)) + 48|0);
HEAP32[$22>>2] = $21;
$23 = ($1|0)>(7);
$24 = $23&1;
$25 = ((($0)) + 56|0);
HEAP32[$25>>2] = $24;
$26 = ($1|0)<(6);
$27 = ((($0)) + 70|0);
$28 = $26&1;
HEAP8[$27>>0] = $28;
$29 = ($1|0)<(8);
$30 = $29 ? 1 : $28;
$31 = ((($0)) + 69|0);
HEAP8[$31>>0] = $30;
$32 = $1&255;
$33 = ((($0)) + 71|0);
HEAP8[$33>>0] = $32;
$34 = ($30<<24>>24)!=(0);
$35 = $34 ? 20 : 8;
$36 = ((($0)) + 72|0);
$37 = ($$>>>0)<(2);
if ($37) {
$38 = $35&255;
$39 = (($38) + 30)|0;
$40 = $39&255;
$storemerge = $40;
} else {
$storemerge = $35;
}
HEAP8[$36>>0] = $storemerge;
$41 = (($1) + 1)|0;
$42 = (50 / ($41|0))&-1;
$43 = $42&255;
$44 = ((($0)) + 74|0);
HEAP8[$44>>0] = $43;
$45 = $storemerge&255;
$46 = (100 - ($42))|0;
$47 = (($46) - ($45))|0;
$48 = $47&255;
$49 = ((($0)) + 73|0);
HEAP8[$49>>0] = $48;
$$0 = 0;
return ($$0|0);
}
function _liq_set_output_gamma($0,$1) {
$0 = $0|0;
$1 = +$1;
var $$0 = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$2 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if (!($2)) {
$$0 = 105;
return ($$0|0);
}
$3 = $1 <= 0.0;
$4 = $1 >= 1.0;
$or$cond = $3 | $4;
if ($or$cond) {
$$0 = 100;
return ($$0|0);
}
$5 = ((($0)) + 12|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if (!($7)) {
$8 = (_liq_crash_if_invalid_handle_pointer_given($6,18253)|0);
if ($8) {
$9 = ((($6)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if (!($11)) {
_pam_freecolormap($10);
}
$12 = ((($6)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
$$pre$i = ((($6)) + 8|0);
if (!($14)) {
$15 = HEAP32[$$pre$i>>2]|0;
FUNCTION_TABLE_vi[$15 & 127]($13);
}
HEAP32[$6>>2] = 18202;
$16 = HEAP32[$$pre$i>>2]|0;
FUNCTION_TABLE_vi[$16 & 127]($6);
}
HEAP32[$5>>2] = 0;
}
$17 = ((($0)) + 1064|0);
HEAPF64[$17>>3] = $1;
$$0 = 0;
return ($$0|0);
}
function _liq_set_min_opacity($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($2)) {
$$0 = 105;
return ($$0|0);
}
$3 = ($1>>>0)>(255);
if ($3) {
$$0 = 100;
return ($$0|0);
}
$4 = (+($1|0));
$5 = $4 / 255.0;
$6 = $5;
$7 = ((($0)) + 40|0);
HEAPF32[$7>>2] = $6;
$$0 = 0;
return ($$0|0);
}
function _liq_set_last_index_transparent($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($2)) {
return;
}
$3 = ($1|0)!=(0);
$4 = ((($0)) + 68|0);
$5 = $3&1;
HEAP8[$4>>0] = $5;
return;
}
function _liq_set_log_callback($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($3)) {
return;
}
$4 = ((($0)) + 92|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if (!($6)) {
$7 = ((($0)) + 96|0);
$8 = HEAP32[$7>>2]|0;
FUNCTION_TABLE_vii[$5 & 127]($0,$8);
}
$9 = ((($0)) + 84|0);
HEAP32[$9>>2] = $1;
$10 = ((($0)) + 88|0);
HEAP32[$10>>2] = $2;
return;
}
function _liq_attr_create() {
var $$1$i = 0, $$sroa$11$0$$sroa_idx12$i = 0, $$sroa$12$0$$sroa_idx13$i = 0, $$sroa$13$0$$sroa_idx14$i = 0, $$sroa$2$0$$sroa_idx2$i = 0, $$sroa$2115$0$$sroa_idx16$i = 0, $$sroa$3$0$$sroa_idx3$i = 0, $$sroa$44$0$$sroa_idx5$i = 0, $$sroa$5$0$$sroa_idx6$i = 0, $$sroa$6$0$$sroa_idx7$i = 0, $$sroa$7$0$$sroa_idx8$i = 0, $$sroa$8$0$$sroa_idx9$i = 0, $$sroa$9$0$$sroa_idx10$i = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = (_malloc(120)|0);
$1 = ($0|0)==(0|0);
if ($1) {
$$1$i = 0;
return ($$1$i|0);
}
$2 = $0;
$3 = $2 & 15;
$4 = (16 - ($3))|0;
$5 = (($0) + ($4)|0);
$6 = $4 ^ 89;
$7 = $6&255;
$8 = ((($5)) + -1|0);
HEAP8[$8>>0] = $7;
$9 = ($5|0)==(0|0);
if ($9) {
$$1$i = 0;
return ($$1$i|0);
}
HEAP32[$5>>2] = 18233;
$$sroa$2$0$$sroa_idx2$i = ((($5)) + 4|0);
HEAP32[$$sroa$2$0$$sroa_idx2$i>>2] = 45;
$$sroa$3$0$$sroa_idx3$i = ((($5)) + 8|0);
HEAP32[$$sroa$3$0$$sroa_idx3$i>>2] = 46;
$$sroa$44$0$$sroa_idx5$i = ((($5)) + 16|0);
HEAPF64[$$sroa$44$0$$sroa_idx5$i>>3] = 0.0;
$$sroa$5$0$$sroa_idx6$i = ((($5)) + 24|0);
HEAPF64[$$sroa$5$0$$sroa_idx6$i>>3] = 1.0E+20;
$$sroa$6$0$$sroa_idx7$i = ((($5)) + 32|0);
HEAPF64[$$sroa$6$0$$sroa_idx7$i>>3] = 0.0;
$$sroa$7$0$$sroa_idx8$i = ((($5)) + 40|0);
HEAPF32[$$sroa$7$0$$sroa_idx8$i>>2] = 1.0;
$$sroa$8$0$$sroa_idx9$i = ((($5)) + 44|0);
HEAP32[$$sroa$8$0$$sroa_idx9$i>>2] = 256;
$$sroa$9$0$$sroa_idx10$i = ((($5)) + 48|0);
$$sroa$2115$0$$sroa_idx16$i = ((($5)) + 76|0);
;HEAP32[$$sroa$9$0$$sroa_idx10$i>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx10$i+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx10$i+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx10$i+12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx10$i+16>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx10$i+20>>2]=0|0;HEAP16[$$sroa$9$0$$sroa_idx10$i+24>>1]=0|0;HEAP8[$$sroa$9$0$$sroa_idx10$i+26>>0]=0|0;
;HEAP32[$$sroa$2115$0$$sroa_idx16$i>>2]=0|0;HEAP32[$$sroa$2115$0$$sroa_idx16$i+4>>2]=0|0;HEAP32[$$sroa$2115$0$$sroa_idx16$i+8>>2]=0|0;HEAP32[$$sroa$2115$0$$sroa_idx16$i+12>>2]=0|0;HEAP32[$$sroa$2115$0$$sroa_idx16$i+16>>2]=0|0;HEAP32[$$sroa$2115$0$$sroa_idx16$i+20>>2]=0|0;
$10 = (_liq_crash_if_invalid_handle_pointer_given($5,18233)|0);
if (!($10)) {
$$1$i = $5;
return ($$1$i|0);
}
$11 = ((($5)) + 74|0);
$12 = ((($5)) + 73|0);
$13 = ((($5)) + 72|0);
$14 = ((($5)) + 71|0);
$15 = ((($5)) + 70|0);
$16 = ((($5)) + 69|0);
$$sroa$13$0$$sroa_idx14$i = ((($5)) + 64|0);
$$sroa$12$0$$sroa_idx13$i = ((($5)) + 60|0);
$$sroa$11$0$$sroa_idx12$i = ((($5)) + 56|0);
HEAP32[$$sroa$12$0$$sroa_idx13$i>>2] = 17;
HEAPF64[$$sroa$6$0$$sroa_idx7$i>>3] = 9.5367431640625E-7;
HEAP32[$$sroa$13$0$$sroa_idx14$i>>2] = 29;
HEAP32[$$sroa$9$0$$sroa_idx10$i>>2] = 1966080;
HEAP32[$$sroa$11$0$$sroa_idx12$i>>2] = 0;
HEAP8[$15>>0] = 1;
HEAP8[$16>>0] = 1;
HEAP8[$14>>0] = 3;
HEAP8[$13>>0] = 20;
HEAP8[$11>>0] = 12;
HEAP8[$12>>0] = 68;
$$1$i = $5;
return ($$1$i|0);
}
function _liq_aligned_malloc($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (($0) + 16)|0;
$2 = (_malloc($1)|0);
$3 = ($2|0)==(0|0);
if ($3) {
$$0 = 0;
return ($$0|0);
}
$4 = $2;
$5 = $4 & 15;
$6 = (16 - ($5))|0;
$7 = (($2) + ($6)|0);
$8 = $6 ^ 89;
$9 = $8&255;
$10 = ((($7)) + -1|0);
HEAP8[$10>>0] = $9;
$$0 = $7;
return ($$0|0);
}
function _liq_aligned_free($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + -1|0);
$2 = HEAP8[$1>>0]|0;
$3 = $2&255;
$4 = $3 ^ 89;
$5 = (0 - ($4))|0;
$6 = (($0) + ($5)|0);
_free($6);
return;
}
function _liq_attr_destroy($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($1)) {
return;
}
$2 = ((($0)) + 92|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if (!($4)) {
$5 = ((($0)) + 96|0);
$6 = HEAP32[$5>>2]|0;
FUNCTION_TABLE_vii[$3 & 127]($0,$6);
}
HEAP32[$0>>2] = 18202;
$7 = ((($0)) + 8|0);
$8 = HEAP32[$7>>2]|0;
FUNCTION_TABLE_vi[$8 & 127]($0);
return;
}
function _liq_attr_copy($0) {
$0 = $0|0;
var $$1 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($1)) {
$$1 = 0;
return ($$1|0);
}
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = (FUNCTION_TABLE_ii[$3 & 63](104)|0);
$5 = ($4|0)==(0|0);
if ($5) {
$$1 = 0;
return ($$1|0);
}
dest=$4; src=$0; stop=dest+104|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$$1 = $4;
return ($$1|0);
}
function _liq_image_add_fixed_color($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx5 = 0, $$sroa$3$0$$sroa_idx6 = 0, $$sroa$4$0$$sroa_idx7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0;
var $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0);
$2 = sp;
$3 = (_liq_crash_if_invalid_handle_pointer_given($0,18274)|0);
if (!($3)) {
$$0 = 105;
STACKTOP = sp;return ($$0|0);
}
$4 = ((($0)) + 4172|0);
$5 = HEAP16[$4>>1]|0;
$6 = ($5&65535)>(255);
if ($6) {
$$0 = 106;
STACKTOP = sp;return ($$0|0);
}
$7 = ((($0)) + 24|0);
$8 = +HEAPF64[$7>>3];
_to_f_set_gamma($2,$8);
$9 = HEAP16[$4>>1]|0;
$10 = (($9) + 1)<<16>>16;
HEAP16[$4>>1] = $10;
$11 = $9&65535;
$12 = HEAP8[$1>>0]|0;
$13 = ((($1)) + 1|0);
$14 = HEAP8[$13>>0]|0;
$15 = ((($1)) + 2|0);
$16 = HEAP8[$15>>0]|0;
$17 = ((($1)) + 3|0);
$18 = HEAP8[$17>>0]|0;
$19 = (+($18&255));
$20 = $19 / 255.0;
$21 = $12&255;
$22 = (($2) + ($21<<2)|0);
$23 = +HEAPF32[$22>>2];
$24 = $23 * $20;
$25 = $14&255;
$26 = (($2) + ($25<<2)|0);
$27 = +HEAPF32[$26>>2];
$28 = $20 * $27;
$29 = $16&255;
$30 = (($2) + ($29<<2)|0);
$31 = +HEAPF32[$30>>2];
$32 = $20 * $31;
$$sroa$0$0$$sroa_idx = (((($0)) + 76|0) + ($11<<4)|0);
HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20;
$$sroa$2$0$$sroa_idx5 = (((((($0)) + 76|0) + ($11<<4)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx5>>2] = $24;
$$sroa$3$0$$sroa_idx6 = (((((($0)) + 76|0) + ($11<<4)|0)) + 8|0);
HEAPF32[$$sroa$3$0$$sroa_idx6>>2] = $28;
$$sroa$4$0$$sroa_idx7 = (((((($0)) + 76|0) + ($11<<4)|0)) + 12|0);
HEAPF32[$$sroa$4$0$$sroa_idx7>>2] = $32;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _liq_image_set_memory_ownership($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$024 = 0, $$027 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond26 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_liq_crash_if_invalid_handle_pointer_given($0,18274)|0);
if (!($2)) {
$$024 = 105;
return ($$024|0);
}
$3 = ((($0)) + 16|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)!=(0|0);
$6 = ($1|0)!=(0);
$or$cond = $6 & $5;
$7 = $1 & -13;
$8 = ($7|0)==(0);
$or$cond26 = $8 & $or$cond;
if (!($or$cond26)) {
$$024 = 100;
return ($$024|0);
}
$9 = $1 & 4;
$10 = ($9|0)==(0);
do {
if (!($10)) {
$11 = ((($0)) + 4176|0);
$12 = HEAP8[$11>>0]|0;
$13 = ($12<<24>>24)==(0);
if ($13) {
$14 = ((($0)) + 4175|0);
HEAP8[$14>>0] = 1;
break;
} else {
$$024 = 100;
return ($$024|0);
}
}
} while(0);
$15 = $1 & 8;
$16 = ($15|0)==(0);
if ($16) {
$$024 = 0;
return ($$024|0);
}
$17 = ((($0)) + 4174|0);
HEAP8[$17>>0] = 1;
$18 = ((($0)) + 52|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19|0)==(0|0);
if (!($20)) {
$$024 = 0;
return ($$024|0);
}
$21 = HEAP32[$4>>2]|0;
HEAP32[$18>>2] = $21;
$22 = ((($0)) + 36|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($23>>>0)>(1);
if (!($24)) {
$$024 = 0;
return ($$024|0);
}
$25 = $21;
$$027 = 1;$28 = $25;
while(1) {
$26 = (($4) + ($$027<<2)|0);
$27 = HEAP32[$26>>2]|0;
$29 = ($28>>>0)<($27>>>0);
$$ = $29 ? $28 : $27;
HEAP32[$18>>2] = $$;
$30 = (($$027) + 1)|0;
$31 = ($30>>>0)<($23>>>0);
if ($31) {
$$027 = $30;$28 = $$;
} else {
$$024 = 0;
break;
}
}
return ($$024|0);
}
function _liq_verbose_printf($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $$alloca_mul = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = ((($0)) + 84|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
STACKTOP = sp;return;
}
HEAP32[$2>>2] = $varargs;
$6 = (_vsnprintf(0,0,$1,$2)|0);
$7 = (($6) + 1)|0;
$8 = (_llvm_stacksave()|0);
$$alloca_mul = $7;
$9 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
HEAP32[$2>>2] = $varargs;
(_vsnprintf($9,$7,$1,$2)|0);
$10 = HEAP32[$3>>2]|0;
$11 = ((($0)) + 88|0);
$12 = HEAP32[$11>>2]|0;
FUNCTION_TABLE_viii[$10 & 127]($0,$9,$12);
_llvm_stackrestore(($8|0));
STACKTOP = sp;return;
}
function _liq_image_create_internal($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = +$6;
var $$ = 0, $$1 = 0, $$idx$val = 0, $$idx$val59 = 0, $$idx55$val = 0, $$idx55$val61 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre63 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$11$0$$sroa_idx17 = 0, $$sroa$12$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx4 = 0, $$sroa$4$0$$sroa_idx5 = 0, $$sroa$5$0$$sroa_idx6 = 0, $$sroa$57$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$69$0$$sroa_idx10 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$8$0$$sroa_idx12 = 0;
var $$sroa$9$0$$sroa_idx = 0, $$sroa$914$0$$sroa_idx15 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0;
var $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$7 = $6 < 0.0;
$8 = $6 > 1.0;
$or$cond = $7 | $8;
if ($or$cond) {
$9 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($9)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
HEAP32[$vararg_buffer>>2] = 18341;
_liq_verbose_printf($0,18284,$vararg_buffer);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$10 = ($1|0)!=(0|0);
$11 = ($2|0)!=(0|0);
$or$cond3 = $10 | $11;
if (!($or$cond3)) {
$12 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($12)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
HEAP32[$vararg_buffer1>>2] = 18391;
_liq_verbose_printf($0,18284,$vararg_buffer1);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$13 = ((($0)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = (FUNCTION_TABLE_ii[$14 & 63](4184)|0);
$16 = ($15|0)==(0|0);
if ($16) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$17 = HEAP32[$13>>2]|0;
$18 = ((($0)) + 8|0);
$19 = HEAP32[$18>>2]|0;
$20 = $6 != 0.0;
$21 = $20 ? $6 : 0.45455000000000001;
$22 = ((($0)) + 40|0);
$23 = HEAP32[$22>>2]|0;
HEAP32[$15>>2] = 18274;
$$sroa$3$0$$sroa_idx4 = ((($15)) + 4|0);
HEAP32[$$sroa$3$0$$sroa_idx4>>2] = $17;
$$sroa$4$0$$sroa_idx5 = ((($15)) + 8|0);
HEAP32[$$sroa$4$0$$sroa_idx5>>2] = $19;
$$sroa$5$0$$sroa_idx6 = ((($15)) + 12|0);
HEAP32[$$sroa$5$0$$sroa_idx6>>2] = 0;
$$sroa$57$0$$sroa_idx8 = ((($15)) + 16|0);
HEAP32[$$sroa$57$0$$sroa_idx8>>2] = $1;
$$sroa$6$0$$sroa_idx = ((($15)) + 20|0);
HEAP32[$$sroa$6$0$$sroa_idx>>2] = 0;
$$sroa$69$0$$sroa_idx10 = ((($15)) + 24|0);
HEAPF64[$$sroa$69$0$$sroa_idx10>>3] = $21;
$$sroa$7$0$$sroa_idx11 = ((($15)) + 32|0);
HEAP32[$$sroa$7$0$$sroa_idx11>>2] = $4;
$$sroa$8$0$$sroa_idx12 = ((($15)) + 36|0);
HEAP32[$$sroa$8$0$$sroa_idx12>>2] = $5;
$$sroa$9$0$$sroa_idx = ((($15)) + 40|0);
;HEAP32[$$sroa$9$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx+20>>2]=0|0;
$$sroa$914$0$$sroa_idx15 = ((($15)) + 64|0);
HEAP32[$$sroa$914$0$$sroa_idx15>>2] = $2;
$$sroa$10$0$$sroa_idx16 = ((($15)) + 68|0);
HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $3;
$$sroa$11$0$$sroa_idx17 = ((($15)) + 72|0);
HEAP32[$$sroa$11$0$$sroa_idx17>>2] = $23;
$$sroa$12$0$$sroa_idx = ((($15)) + 76|0);
_memset(($$sroa$12$0$$sroa_idx|0),0,4108)|0;
if ($10) {
$24 = +HEAPF32[$22>>2];
$25 = $24 < 1.0;
if ($25) {
label = 11;
} else {
$$phi$trans$insert = ((($15)) + 56|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$31 = $$pre;
}
} else {
label = 11;
}
do {
if ((label|0) == 11) {
$26 = HEAP32[$13>>2]|0;
$27 = $4 << 2;
$28 = (FUNCTION_TABLE_ii[$26 & 63]($27)|0);
$29 = ((($15)) + 56|0);
HEAP32[$29>>2] = $28;
$30 = ($28|0)==(0|0);
if ($30) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
} else {
$31 = $28;
break;
}
}
} while(0);
$32 = ($31|0)==(0|0);
if ($32) {
$33 = ((($0)) + 69|0);
$34 = HEAP8[$33>>0]|0;
$35 = ($34<<24>>24)==(0);
if ($35) {
$37 = ((($0)) + 70|0);
$38 = HEAP8[$37>>0]|0;
$39 = ($38<<24>>24)==(0);
$$idx$val = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0;
$$idx55$val = HEAP32[$$sroa$8$0$$sroa_idx12>>2]|0;
$40 = Math_imul($$idx55$val, $$idx$val)|0;
$$ = $39 ? 524288 : 4194304;
$41 = $40;$43 = $$;$62 = $$idx$val;
} else {
label = 15;
}
} else {
label = 15;
}
if ((label|0) == 15) {
$$idx$val59 = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0;
$$idx55$val61 = HEAP32[$$sroa$8$0$$sroa_idx12>>2]|0;
$36 = Math_imul($$idx55$val61, $$idx$val59)|0;
$41 = $36;$43 = 4194304;$62 = $$idx$val59;
}
$42 = ($41>>>0)>($43>>>0);
if ($42) {
$44 = ((($0)) + 84|0);
$45 = HEAP32[$44>>2]|0;
$46 = ($45|0)==(0|0);
if ($46) {
$51 = $62;
} else {
$47 = ((($0)) + 88|0);
$48 = HEAP32[$47>>2]|0;
FUNCTION_TABLE_viii[$45 & 127]($0,18408,$48);
$$pre63 = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0;
$51 = $$pre63;
}
$49 = HEAP32[$$sroa$3$0$$sroa_idx4>>2]|0;
$50 = $51 << 4;
$52 = (FUNCTION_TABLE_ii[$49 & 63]($50)|0);
$53 = ((($15)) + 60|0);
HEAP32[$53>>2] = $52;
$54 = ($52|0)==(0|0);
if ($54) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
}
$55 = +HEAPF32[$$sroa$11$0$$sroa_idx17>>2];
$56 = $55 < 1.0;
if (!($56)) {
$$1 = $15;
STACKTOP = sp;return ($$1|0);
}
$57 = ((($0)) + 84|0);
$58 = HEAP32[$57>>2]|0;
$59 = ($58|0)==(0|0);
if ($59) {
$$1 = $15;
STACKTOP = sp;return ($$1|0);
}
$60 = ((($0)) + 88|0);
$61 = HEAP32[$60>>2]|0;
FUNCTION_TABLE_viii[$58 & 127]($0,18428,$61);
$$1 = $15;
STACKTOP = sp;return ($$1|0);
}
function _liq_image_create_rgba_rows($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = +$4;
var $$01820 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $or$cond$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$5 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($5)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$6 = ($2|0)<(1);
$7 = ($3|0)<(1);
$or$cond$i = $6 | $7;
if ($or$cond$i) {
$8 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($8)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
HEAP32[$vararg_buffer>>2] = 18296;
_liq_verbose_printf($0,18284,$vararg_buffer);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$9 = (536870911 / ($3>>>0))&-1;
$10 = ($9>>>0)<($2>>>0);
$11 = ($2>>>0)>(8388607);
$or$cond3$i = $11 | $10;
$12 = ($3>>>0)>(536870911);
$or$cond5$i = $12 | $or$cond3$i;
if ($or$cond5$i) {
$14 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($14)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
HEAP32[$vararg_buffer1>>2] = 18325;
_liq_verbose_printf($0,18284,$vararg_buffer1);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$13 = ($3|0)>(0);
L18: do {
if ($13) {
$$01820 = 0;
while(1) {
$17 = (($1) + ($$01820<<2)|0);
$18 = (_liq_crash_if_invalid_pointer_given($17)|0);
if (!($18)) {
break;
}
$19 = HEAP32[$17>>2]|0;
$20 = (_liq_crash_if_invalid_pointer_given($19)|0);
$15 = (($$01820) + 1)|0;
if (!($20)) {
break;
}
$16 = ($15|0)<($3|0);
if ($16) {
$$01820 = $15;
} else {
break L18;
}
}
$21 = (_liq_crash_if_invalid_handle_pointer_given($0,18233)|0);
if (!($21)) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
HEAP32[$vararg_buffer4>>2] = 18489;
_liq_verbose_printf($0,18284,$vararg_buffer4);
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
} while(0);
$22 = (_liq_image_create_internal($0,$1,0,0,$2,$3,$4)|0);
$$1 = $22;
STACKTOP = sp;return ($$1|0);
}
function _liq_executing_user_callback($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var label = 0, sp = 0;
sp = STACKTOP;
FUNCTION_TABLE_viiii[$0 & 63]($1,$2,$3,$4);
return;
}
function _liq_image_get_width($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18274)|0);
if (!($1)) {
$$0 = -1;
return ($$0|0);
}
$2 = ((($0)) + 32|0);
$3 = HEAP32[$2>>2]|0;
$$0 = $3;
return ($$0|0);
}
function _liq_image_get_height($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18274)|0);
if (!($1)) {
$$0 = -1;
return ($$0|0);
}
$2 = ((($0)) + 36|0);
$3 = HEAP32[$2>>2]|0;
$$0 = $3;
return ($$0|0);
}
function _liq_image_destroy($0) {
$0 = $0|0;
var $$0$i$i = 0, $$0$i11$i = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $or$cond$i$i = 0, $or$cond$i10$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18274)|0);
if (!($1)) {
return;
}
$2 = ((($0)) + 4174|0);
$3 = HEAP16[$2>>1]|0;
$4 = $3&255;
$5 = ($4<<24>>24)==(0);
$6 = ($3&65535) >>> 8;
$7 = $6&255;
if ($5) {
$17 = $7;
} else {
$8 = ((($0)) + 52|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$17 = $7;
} else {
$11 = ((($0)) + 4176|0);
$12 = HEAP8[$11>>0]|0;
$13 = ($12<<24>>24)==(0);
$14 = ((($0)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(46|0);
$or$cond$i$i = $13 & $16;
$$0$i$i = $or$cond$i$i ? 47 : $15;
FUNCTION_TABLE_vi[$$0$i$i & 127]($9);
HEAP32[$8>>2] = 0;
$$phi$trans$insert$i = ((($0)) + 4175|0);
$$pre$i = HEAP8[$$phi$trans$insert$i>>0]|0;
$17 = $$pre$i;
}
}
$18 = ($17<<24>>24)==(0);
if (!($18)) {
$19 = ((($0)) + 16|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==(0|0);
if (!($21)) {
$22 = ((($0)) + 4176|0);
$23 = HEAP8[$22>>0]|0;
$24 = ($23<<24>>24)==(0);
$25 = ((($0)) + 8|0);
$26 = HEAP32[$25>>2]|0;
$27 = ($26|0)==(46|0);
$or$cond$i10$i = $24 & $27;
$$0$i11$i = $or$cond$i10$i ? 47 : $26;
FUNCTION_TABLE_vi[$$0$i11$i & 127]($20);
HEAP32[$19>>2] = 0;
}
}
$28 = ((($0)) + 40|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($29|0)==(0|0);
if (!($30)) {
$31 = ((($0)) + 8|0);
$32 = HEAP32[$31>>2]|0;
FUNCTION_TABLE_vi[$32 & 127]($29);
}
$33 = ((($0)) + 44|0);
$34 = HEAP32[$33>>2]|0;
$35 = ($34|0)==(0|0);
if (!($35)) {
$36 = ((($0)) + 8|0);
$37 = HEAP32[$36>>2]|0;
FUNCTION_TABLE_vi[$37 & 127]($34);
}
$38 = ((($0)) + 48|0);
$39 = HEAP32[$38>>2]|0;
$40 = ($39|0)==(0|0);
if (!($40)) {
$41 = ((($0)) + 8|0);
$42 = HEAP32[$41>>2]|0;
FUNCTION_TABLE_vi[$42 & 127]($39);
}
$43 = ((($0)) + 12|0);
$44 = HEAP32[$43>>2]|0;
$45 = ($44|0)==(0|0);
if (!($45)) {
$46 = ((($0)) + 8|0);
$47 = HEAP32[$46>>2]|0;
FUNCTION_TABLE_vi[$47 & 127]($44);
}
$48 = ((($0)) + 56|0);
$49 = HEAP32[$48>>2]|0;
$50 = ($49|0)==(0|0);
if (!($50)) {
$51 = ((($0)) + 8|0);
$52 = HEAP32[$51>>2]|0;
FUNCTION_TABLE_vi[$52 & 127]($49);
}
$53 = ((($0)) + 60|0);
$54 = HEAP32[$53>>2]|0;
$55 = ($54|0)==(0|0);
$$pre = ((($0)) + 8|0);
if (!($55)) {
$56 = HEAP32[$$pre>>2]|0;
FUNCTION_TABLE_vi[$56 & 127]($54);
}
HEAP32[$0>>2] = 18202;
$57 = HEAP32[$$pre>>2]|0;
FUNCTION_TABLE_vi[$57 & 127]($0);
return;
}
function _liq_quantize_image($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = (_liq_image_quantize($1,$0,$2)|0);
$4 = ($3|0)==(0);
$5 = HEAP32[$2>>2]|0;
$$0 = $4 ? $5 : 0;
STACKTOP = sp;return ($$0|0);
}
function _liq_image_quantize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$i = 0, $$2 = 0, $$sroa$3$0$$sroa_idx1$i = 0, $$sroa$4$0$$sroa_idx2$i = 0, $$sroa$5$0$$sroa_idx$i = 0, $$sroa$54$0$$sroa_idx5$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_liq_crash_if_invalid_handle_pointer_given($1,18233)|0);
if (!($3)) {
$$2 = 105;
return ($$2|0);
}
$4 = (_liq_crash_if_invalid_handle_pointer_given($0,18274)|0);
if (!($4)) {
$$2 = 106;
return ($$2|0);
}
$5 = ((($0)) + 16|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if ($7) {
$8 = ((($0)) + 56|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$$2 = 106;
return ($$2|0);
}
$11 = ((($0)) + 64|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0|0);
if ($13) {
$$2 = 106;
return ($$2|0);
}
}
$14 = (_liq_crash_if_invalid_handle_pointer_given($1,18233)|0);
if (!($14)) {
$$2 = 101;
return ($$2|0);
}
$15 = ((($1)) + 4|0);
$16 = HEAP32[$15>>2]|0;
$17 = (FUNCTION_TABLE_ii[$16 & 63](4128)|0);
$18 = ($17|0)==(0|0);
if ($18) {
$$2 = 101;
return ($$2|0);
}
$19 = HEAP32[$15>>2]|0;
$20 = ((($1)) + 8|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($1)) + 52|0);
$23 = HEAP32[$22>>2]|0;
$24 = ((($1)) + 56|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($23>>>0)>($25>>>0);
$$$i = $26 ? $23 : $25;
$27 = $$$i&65535;
HEAP32[$17>>2] = 18510;
$$sroa$3$0$$sroa_idx1$i = ((($17)) + 4|0);
HEAP32[$$sroa$3$0$$sroa_idx1$i>>2] = $19;
$$sroa$4$0$$sroa_idx2$i = ((($17)) + 8|0);
HEAP32[$$sroa$4$0$$sroa_idx2$i>>2] = $21;
$$sroa$5$0$$sroa_idx$i = ((($17)) + 12|0);
_memset(($$sroa$5$0$$sroa_idx$i|0),0,4110)|0;
$$sroa$54$0$$sroa_idx5$i = ((($17)) + 4122|0);
HEAP16[$$sroa$54$0$$sroa_idx5$i>>1] = $27;
$28 = ((($17)) + 4124|0);
HEAP32[$28>>2] = 0;
$29 = (_liq_histogram_add_image($17,$1,$0)|0);
$30 = ($29|0)==(0);
if (!($30)) {
$$2 = $29;
return ($$2|0);
}
$31 = (_liq_histogram_quantize_internal($17,$1,0,$2)|0);
$32 = (_liq_crash_if_invalid_handle_pointer_given($17,18510)|0);
if (!($32)) {
$$2 = $31;
return ($$2|0);
}
HEAP32[$17>>2] = 18202;
$33 = HEAP32[$$sroa$5$0$$sroa_idx$i>>2]|0;
_pam_freeacolorhash($33);
$34 = HEAP32[$$sroa$4$0$$sroa_idx2$i>>2]|0;
FUNCTION_TABLE_vi[$34 & 127]($17);
$$2 = $31;
return ($$2|0);
}
function _liq_histogram_add_image($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i$i = 0, $$0$i11$i = 0, $$085114$us = 0, $$087116 = 0, $$9 = 0, $$phi$trans$insert$i = 0, $$pr = 0, $$pre$i = 0, $$pre120 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0;
var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i$i = 0, $or$cond$i10$i = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp + 16|0;
$3 = sp;
$4 = sp + 20|0;
$5 = (_liq_crash_if_invalid_handle_pointer_given($1,18233)|0);
if (!($5)) {
$$9 = 105;
STACKTOP = sp;return ($$9|0);
}
$6 = (_liq_crash_if_invalid_handle_pointer_given($0,18510)|0);
if (!($6)) {
$$9 = 105;
STACKTOP = sp;return ($$9|0);
}
$7 = (_liq_crash_if_invalid_handle_pointer_given($2,18274)|0);
if (!($7)) {
$$9 = 105;
STACKTOP = sp;return ($$9|0);
}
$8 = ((($2)) + 32|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($2)) + 36|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($2)) + 40|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
if ($14) {
$15 = ((($1)) + 69|0);
$16 = HEAP8[$15>>0]|0;
$17 = ($16<<24>>24)==(0);
if (!($17)) {
_contrast_maps($2);
}
}
$18 = ((($2)) + 24|0);
$19 = +HEAPF64[$18>>3];
$20 = ((($0)) + 16|0);
HEAPF64[$20>>3] = $19;
$21 = ((($2)) + 4172|0);
$22 = HEAP16[$21>>1]|0;
$23 = ($22<<16>>16)==(0);
L14: do {
if (!($23)) {
$24 = ((($0)) + 4120|0);
$$087116 = 0;
while(1) {
$25 = (((($2)) + 76|0) + ($$087116<<4)|0);
dest=$3; src=$25; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$26 = HEAP16[$24>>1]|0;
$27 = ($26&65535)>(255);
if ($27) {
break;
}
$28 = (($26) + 1)<<16>>16;
$29 = $26&65535;
$30 = (((($0)) + 24|0) + ($29<<4)|0);
HEAP16[$24>>1] = $28;
;HEAP32[$30>>2]=HEAP32[$3>>2]|0;HEAP32[$30+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$3+12>>2]|0;
$31 = (($$087116) + 1)|0;
$32 = HEAP16[$21>>1]|0;
$33 = $32&65535;
$34 = ($31|0)<($33|0);
if ($34) {
$$087116 = $31;
} else {
break L14;
}
}
$$9 = 106;
STACKTOP = sp;return ($$9|0);
}
} while(0);
$35 = ((($1)) + 72|0);
$36 = ((($1)) + 76|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($37|0)==(0|0);
if (!($38)) {
$39 = HEAP8[$35>>0]|0;
$40 = (+($39&255));
$41 = $40 * 0.40000000596046448;
$42 = ((($1)) + 80|0);
$43 = HEAP32[$42>>2]|0;
$44 = (FUNCTION_TABLE_idi[$37 & 0]($41,$43)|0);
$45 = ($44|0)==(0);
if ($45) {
$$9 = 102;
STACKTOP = sp;return ($$9|0);
}
}
$46 = ((($2)) + 16|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)==(0|0);
if ($48) {
$141 = 0;
} else {
$49 = ((($2)) + 72|0);
$50 = +HEAPF32[$49>>2];
$51 = !($50 < 1.0);
$141 = $51;
}
$52 = ((($0)) + 4124|0);
$53 = HEAP8[$52>>0]|0;
$54 = ($53<<24>>24)==(0);
if ($54) {
$55 = ((($1)) + 48|0);
$56 = HEAP32[$55>>2]|0;
$70 = $56;
} else {
$70 = -1;
}
$57 = ((($0)) + 12|0);
$58 = Math_imul($11, $9)|0;
$59 = ((($0)) + 4122|0);
$60 = ((($1)) + 4|0);
$61 = ((($1)) + 8|0);
$62 = ($11|0)==(0);
$63 = ((($1)) + 80|0);
$$pre120 = HEAP32[$57>>2]|0;
L32: do {
if ($62) {
$100 = ($$pre120|0)==(0|0);
if ($100) {
$101 = HEAP16[$59>>1]|0;
$102 = $101&65535;
$103 = HEAP32[$60>>2]|0;
$104 = HEAP32[$61>>2]|0;
$105 = (_pam_allocacolorhash($70,$58,$102,$103,$104)|0);
HEAP32[$57>>2] = $105;
$106 = ($105|0)==(0|0);
if ($106) {
$$9 = 101;
STACKTOP = sp;return ($$9|0);
}
}
} else {
$64 = $$pre120;
while(1) {
$65 = ($64|0)==(0|0);
if ($65) {
$66 = HEAP16[$59>>1]|0;
$67 = $66&65535;
$68 = HEAP32[$60>>2]|0;
$69 = HEAP32[$61>>2]|0;
$71 = (_pam_allocacolorhash($70,$58,$67,$68,$69)|0);
HEAP32[$57>>2] = $71;
$72 = ($71|0)==(0|0);
if ($72) {
$$9 = 101;
label = 40;
break;
} else {
$98 = $71;
}
} else {
$98 = $64;
}
L41: do {
if ($141) {
$96 = HEAP32[$46>>2]|0;
$97 = HEAP32[$12>>2]|0;
$99 = (_pam_computeacolorhash($98,$96,$9,$11,$97)|0);
if (!($99)) {
label = 23;
}
} else {
$$085114$us = 0;
while(1) {
$75 = (_liq_image_get_row_rgba($2,$$085114$us)|0);
HEAP32[$4>>2] = $75;
$76 = HEAP32[$57>>2]|0;
$77 = HEAP32[$12>>2]|0;
$78 = ($77|0)==(0|0);
$79 = Math_imul($$085114$us, $9)|0;
$80 = (($77) + ($79)|0);
$81 = $78 ? 0 : $80;
$82 = (_pam_computeacolorhash($76,$4,$9,1,$81)|0);
$73 = (($$085114$us) + 1)|0;
if (!($82)) {
label = 23;
break L41;
}
$74 = ($73>>>0)<($11>>>0);
if ($74) {
$$085114$us = $73;
} else {
break;
}
}
}
} while(0);
if ((label|0) == 23) {
label = 0;
$83 = HEAP16[$59>>1]|0;
$84 = (($83) + 1)<<16>>16;
HEAP16[$59>>1] = $84;
$85 = $84&65535;
HEAP32[$vararg_buffer>>2] = $85;
_liq_verbose_printf($1,18758,$vararg_buffer);
$86 = HEAP32[$57>>2]|0;
_pam_freeacolorhash($86);
HEAP32[$57>>2] = 0;
$87 = HEAP32[$36>>2]|0;
$88 = ($87|0)==(0|0);
if ($88) {
$64 = 0;
continue;
}
$89 = HEAP8[$35>>0]|0;
$90 = (+($89&255));
$91 = $90 * 0.60000002384185791;
$92 = HEAP32[$63>>2]|0;
$93 = (FUNCTION_TABLE_idi[$87 & 0]($91,$92)|0);
$94 = ($93|0)==(0);
if ($94) {
$$9 = 102;
label = 40;
break;
}
}
$$pr = HEAP32[$57>>2]|0;
$95 = ($$pr|0)==(0|0);
if ($95) {
$64 = 0;
} else {
break L32;
}
}
if ((label|0) == 40) {
STACKTOP = sp;return ($$9|0);
}
}
} while(0);
HEAP8[$52>>0] = 1;
$107 = HEAP32[$12>>2]|0;
$108 = ($107|0)==(0|0);
if (!($108)) {
$109 = ((($2)) + 8|0);
$110 = HEAP32[$109>>2]|0;
FUNCTION_TABLE_vi[$110 & 127]($107);
HEAP32[$12>>2] = 0;
}
$111 = ((($2)) + 4174|0);
$112 = HEAP8[$111>>0]|0;
$113 = ($112<<24>>24)==(0);
if ($113) {
$$9 = 0;
STACKTOP = sp;return ($$9|0);
}
$114 = ((($2)) + 12|0);
$115 = HEAP32[$114>>2]|0;
$116 = ($115|0)==(0|0);
if ($116) {
$$9 = 0;
STACKTOP = sp;return ($$9|0);
}
$117 = HEAP16[$111>>1]|0;
$118 = $117&255;
$119 = ($118<<24>>24)==(0);
$120 = ($117&65535) >>> 8;
$121 = $120&255;
if ($119) {
$131 = $121;
} else {
$122 = ((($2)) + 52|0);
$123 = HEAP32[$122>>2]|0;
$124 = ($123|0)==(0|0);
if ($124) {
$131 = $121;
} else {
$125 = ((($2)) + 4176|0);
$126 = HEAP8[$125>>0]|0;
$127 = ($126<<24>>24)==(0);
$128 = ((($2)) + 8|0);
$129 = HEAP32[$128>>2]|0;
$130 = ($129|0)==(46|0);
$or$cond$i$i = $127 & $130;
$$0$i$i = $or$cond$i$i ? 47 : $129;
FUNCTION_TABLE_vi[$$0$i$i & 127]($123);
HEAP32[$122>>2] = 0;
$$phi$trans$insert$i = ((($2)) + 4175|0);
$$pre$i = HEAP8[$$phi$trans$insert$i>>0]|0;
$131 = $$pre$i;
}
}
$132 = ($131<<24>>24)==(0);
if ($132) {
$$9 = 0;
STACKTOP = sp;return ($$9|0);
}
$133 = HEAP32[$46>>2]|0;
$134 = ($133|0)==(0|0);
if ($134) {
$$9 = 0;
STACKTOP = sp;return ($$9|0);
}
$135 = ((($2)) + 4176|0);
$136 = HEAP8[$135>>0]|0;
$137 = ($136<<24>>24)==(0);
$138 = ((($2)) + 8|0);
$139 = HEAP32[$138>>2]|0;
$140 = ($139|0)==(46|0);
$or$cond$i10$i = $137 & $140;
$$0$i11$i = $or$cond$i10$i ? 47 : $139;
FUNCTION_TABLE_vi[$$0$i11$i & 127]($133);
HEAP32[$46>>2] = 0;
$$9 = 0;
STACKTOP = sp;return ($$9|0);
}
function _liq_histogram_quantize_internal($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$$0120$i$i = 0, $$$0136$i$i = 0.0, $$$i = 0, $$$i$i = 0, $$$i$i$i = 0, $$$i$i$i$us$i$i = 0.0, $$$i128$i = 0.0, $$$i4$i$i$us$i$i = 0.0, $$$i5$i$i$us$i$i = 0.0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i$i131$i = 0.0, $$0$i$i134$i = 0.0, $$0113$i$i = 0, $$0115$i = 0, $$0119152$i$i = 0, $$0119182$i = 0, $$0120$i$i = 0, $$0120177$i = 0.0, $$0121176$i = 0;
var $$0123$i$i = 0, $$0123175$i = 0, $$0128$i$i = 0, $$0129$i$i = 0, $$0132$i$i = 0.0, $$0136$i$i = 0.0, $$0166$i = 0.0, $$019$i$i = 0, $$020$i$i = 0, $$02345$us$i$i = 0, $$044$us$i$i = 0, $$05155$i$i = 0, $$05155$i$i$i = 0, $$05253$i$i = 0, $$05253$i$i$i = 0, $$068$i$i = 0, $$068$i132$i = 0, $$087$lcssa$i$i = 0, $$087112$i$i = 0, $$089115$i$i = 0;
var $$090$lcssa$i194$i = 0, $$090$lcssa129$i$i = 0, $$091122$i$i = 0, $$1 = 0, $$1$i$i = 0, $$1$us$i$i = 0, $$1121$i$i = 0, $$1122$i = 0, $$1124$i$i = 0, $$1130$i$i = 0, $$1133$i$i = 0.0, $$1137$i$i = 0.0, $$188$i$i = 0, $$2$i = 0.0, $$2$i142$i = 0, $$2$i167$i = 0, $$2$ph$i$i = 0, $$2$ph$i$i$i = 0, $$2125$i$i = 0, $$2125$v$i$i = 0;
var $$2134$i$i = 0.0, $$254$i$i = 0, $$254$i$i$i = 0, $$3$i = 0, $$3$i$i = 0, $$4$i = 0.0, $$pow2$i$i = 0.0, $$pr = 0, $$pre = 0, $$pre$i$i = 0, $$pre$i$i19 = 0, $$pre$i138$i = 0, $$pre188$i = 0, $$pre189$i = 0, $$pre54 = 0, $$sroa$0$0$$sroa_idx$us$i$i = 0, $$sroa$0$0$copyload$us$i$i = 0.0, $$sroa$031$0$$sroa_idx$us$i$i = 0, $$sroa$031$0$copyload$us$i$i = 0.0, $$sroa$10$0$$sroa_raw_idx$i = 0;
var $$sroa$2$0$$sroa_idx3$i$i = 0, $$sroa$2$0$$sroa_idx3$i$i$i = 0, $$sroa$3$0$$sroa_idx$i$i = 0, $$sroa$3$0$$sroa_idx$i$i$i = 0, $$sroa$3$0$$sroa_idx4$i = 0, $$sroa$4$0$$sroa_idx25$us$i$i = 0, $$sroa$4$0$$sroa_idx5$i = 0, $$sroa$4$0$$sroa_raw_idx$i$i = 0, $$sroa$4$0$$sroa_raw_idx$i$i$i = 0, $$sroa$4$0$copyload$us$i$i = 0.0, $$sroa$4$i$i = 0, $$sroa$433$0$$sroa_idx34$us$i$i = 0, $$sroa$433$0$copyload$us$i$i = 0.0, $$sroa$5$0$$sroa_idx27$us$i$i = 0, $$sroa$5$0$$sroa_idx6$i = 0, $$sroa$5$0$copyload$us$i$i = 0.0, $$sroa$536$0$$sroa_idx37$us$i$i = 0, $$sroa$536$0$copyload$us$i$i = 0.0, $$sroa$57$0$$sroa_idx8$i = 0, $$sroa$6$0$$sroa_idx$i = 0;
var $$sroa$6$0$$sroa_idx29$us$i$i = 0, $$sroa$6$0$copyload$us$i$i = 0.0, $$sroa$610$0$$sroa_idx11$i = 0, $$sroa$639$0$$sroa_idx40$us$i$i = 0, $$sroa$639$0$copyload$us$i$i = 0.0, $$sroa$7$0$$sroa_idx12$i = 0, $$sroa$8$0$$sroa_idx13$i = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0;
var $166 = 0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0.0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
var $184 = 0, $185 = 0, $186 = 0, $187 = 0.0, $188 = 0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0;
var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0.0;
var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0.0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0.0;
var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0.0, $245 = 0, $246 = 0, $247 = 0.0, $248 = 0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0, $256 = 0.0;
var $257 = 0.0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0;
var $275 = 0, $276 = 0.0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0.0, $310 = 0;
var $311 = 0, $312 = 0.0, $313 = 0, $314 = 0, $315 = 0, $316 = 0.0, $317 = 0.0, $318 = 0.0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0.0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0;
var $33 = 0, $330 = 0, $331 = 0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0.0, $338 = 0, $339 = 0.0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0;
var $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0.0, $352 = 0.0, $353 = 0.0, $354 = 0.0, $355 = 0.0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0.0;
var $366 = 0.0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0.0, $38 = 0, $380 = 0, $381 = 0, $382 = 0.0, $383 = 0.0;
var $384 = 0.0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0.0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0;
var $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0;
var $42 = 0, $420 = 0.0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0;
var $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0.0, $450 = 0, $451 = 0, $452 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0;
var $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0;
var $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond$i$i = 0, $cond$i133$i = 0, $exitcond$i = 0, $not$$i$i = 0;
var $or$cond$i = 0, $or$cond$i$i = 0, $or$cond$i$i$i = 0, $or$cond$i127$i = 0, $or$cond140$i$i = 0, $or$cond141$i$i = 0, $or$cond201$i = 0, $or$cond3$i = 0, $pow2$i$i = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_ptr13 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
$vararg_buffer10 = sp + 48|0;
$vararg_buffer4 = sp + 16|0;
$vararg_buffer1 = sp + 8|0;
$vararg_buffer = sp;
$4 = sp + 152|0;
$5 = sp + 128|0;
$6 = sp + 104|0;
$7 = sp + 80|0;
$8 = sp + 56|0;
$$sroa$4$i$i = sp + 176|0;
$9 = (_liq_crash_if_invalid_pointer_given($3)|0);
if (!($9)) {
$$1 = 105;
STACKTOP = sp;return ($$1|0);
}
HEAP32[$3>>2] = 0;
$10 = (_liq_crash_if_invalid_handle_pointer_given($1,18233)|0);
if (!($10)) {
$$1 = 105;
STACKTOP = sp;return ($$1|0);
}
$11 = (_liq_crash_if_invalid_handle_pointer_given($0,18510)|0);
if (!($11)) {
$$1 = 105;
STACKTOP = sp;return ($$1|0);
}
$12 = ((($1)) + 76|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
if (!($14)) {
$15 = ((($1)) + 80|0);
$16 = HEAP32[$15>>2]|0;
$17 = (FUNCTION_TABLE_idi[$13 & 0](0.0,$16)|0);
$18 = ($17|0)==(0);
if ($18) {
$$1 = 102;
STACKTOP = sp;return ($$1|0);
}
$$pr = HEAP32[$12>>2]|0;
$19 = ($$pr|0)==(0|0);
if (!($19)) {
$20 = ((($1)) + 72|0);
$21 = HEAP8[$20>>0]|0;
$22 = (+($21&255));
$23 = $22 * 0.89999997615814208;
$24 = HEAP32[$15>>2]|0;
$25 = (FUNCTION_TABLE_idi[$$pr & 0]($23,$24)|0);
$26 = ($25|0)==(0);
if ($26) {
$$1 = 102;
STACKTOP = sp;return ($$1|0);
}
}
}
$27 = ((($0)) + 12|0);
$28 = HEAP32[$27>>2]|0;
$29 = ($28|0)==(0|0);
if ($29) {
$$1 = 103;
STACKTOP = sp;return ($$1|0);
}
$30 = ((($0)) + 16|0);
$31 = +HEAPF64[$30>>3];
$32 = ((($1)) + 4|0);
$33 = HEAP32[$32>>2]|0;
$34 = ((($1)) + 8|0);
$35 = HEAP32[$34>>2]|0;
$36 = (_pam_acolorhashtoacolorhist($28,$31,$33,$35)|0);
$37 = HEAP32[$27>>2]|0;
_pam_freeacolorhash($37);
HEAP32[$27>>2] = 0;
$38 = ($36|0)==(0|0);
if ($38) {
$$1 = 101;
STACKTOP = sp;return ($$1|0);
}
$39 = ((($36)) + 16|0);
$40 = HEAP32[$39>>2]|0;
HEAP32[$vararg_buffer>>2] = $40;
_liq_verbose_printf($1,18524,$vararg_buffer);
$41 = ((($0)) + 4120|0);
$42 = HEAP16[$41>>1]|0;
$43 = $42&65535;
$44 = ((($1)) + 16|0);
$45 = +HEAPF64[$44>>3];
$46 = $45;
$47 = $46;
$48 = $47 * 0.5;
$49 = $48 > 3.0517578125E-5;
$50 = $49 ? $48 : 3.0517578125E-5;
$51 = $50;
$52 = ($42<<16>>16)==(0);
$$pre54 = HEAP32[$39>>2]|0;
if ($52) {
$107 = $$pre54;$93 = 0;
} else {
$53 = ($$pre54|0)==(0);
if ($53) {
$107 = 0;$93 = $42;
} else {
$$02345$us$i$i = 0;$86 = $$pre54;
while(1) {
$54 = HEAP32[$36>>2]|0;
$$sroa$0$0$$sroa_idx$us$i$i = (($54) + ($$02345$us$i$i<<5)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$0$0$$sroa_idx$us$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$0$0$$sroa_idx$us$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$0$0$$sroa_idx$us$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$0$0$$sroa_idx$us$i$i+3>>0];$$sroa$0$0$copyload$us$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx25$us$i$i = (((($54) + ($$02345$us$i$i<<5)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx25$us$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx25$us$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx25$us$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx25$us$i$i+3>>0];$$sroa$4$0$copyload$us$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$5$0$$sroa_idx27$us$i$i = (((($54) + ($$02345$us$i$i<<5)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx27$us$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx27$us$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx27$us$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx27$us$i$i+3>>0];$$sroa$5$0$copyload$us$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$6$0$$sroa_idx29$us$i$i = (((($54) + ($$02345$us$i$i<<5)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx29$us$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx29$us$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx29$us$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx29$us$i$i+3>>0];$$sroa$6$0$copyload$us$i$i = +HEAPF32[tempDoublePtr>>2];
$55 = $$sroa$4$0$copyload$us$i$i;
$56 = $$sroa$5$0$copyload$us$i$i;
$57 = $$sroa$6$0$copyload$us$i$i;
$$044$us$i$i = 0;
while(1) {
$$sroa$031$0$$sroa_idx$us$i$i = (((($0)) + 24|0) + ($$044$us$i$i<<4)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$031$0$$sroa_idx$us$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$031$0$$sroa_idx$us$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$031$0$$sroa_idx$us$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$031$0$$sroa_idx$us$i$i+3>>0];$$sroa$031$0$copyload$us$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$433$0$$sroa_idx34$us$i$i = (((((($0)) + 24|0) + ($$044$us$i$i<<4)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$433$0$$sroa_idx34$us$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$433$0$$sroa_idx34$us$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$433$0$$sroa_idx34$us$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$433$0$$sroa_idx34$us$i$i+3>>0];$$sroa$433$0$copyload$us$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$536$0$$sroa_idx37$us$i$i = (((((($0)) + 24|0) + ($$044$us$i$i<<4)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$536$0$$sroa_idx37$us$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$536$0$$sroa_idx37$us$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$536$0$$sroa_idx37$us$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$536$0$$sroa_idx37$us$i$i+3>>0];$$sroa$536$0$copyload$us$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$639$0$$sroa_idx40$us$i$i = (((((($0)) + 24|0) + ($$044$us$i$i<<4)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$639$0$$sroa_idx40$us$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$639$0$$sroa_idx40$us$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$639$0$$sroa_idx40$us$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$639$0$$sroa_idx40$us$i$i+3>>0];$$sroa$639$0$copyload$us$i$i = +HEAPF32[tempDoublePtr>>2];
$60 = $$sroa$031$0$copyload$us$i$i - $$sroa$0$0$copyload$us$i$i;
$61 = $60;
$62 = $$sroa$433$0$copyload$us$i$i;
$63 = $55 - $62;
$64 = $61 + $63;
$65 = $63 * $63;
$66 = $64 * $64;
$67 = $65 > $66;
$$$i$i$i$us$i$i = $67 ? $65 : $66;
$68 = $$sroa$536$0$copyload$us$i$i;
$69 = $56 - $68;
$70 = $61 + $69;
$71 = $69 * $69;
$72 = $70 * $70;
$73 = $71 > $72;
$$$i5$i$i$us$i$i = $73 ? $71 : $72;
$74 = $$$i$i$i$us$i$i + $$$i5$i$i$us$i$i;
$75 = $$sroa$639$0$copyload$us$i$i;
$76 = $57 - $75;
$77 = $61 + $76;
$78 = $76 * $76;
$79 = $77 * $77;
$80 = $78 > $79;
$$$i4$i$i$us$i$i = $80 ? $78 : $79;
$81 = $74 + $$$i4$i$i$us$i$i;
$82 = $81;
$83 = $82 < $51;
$58 = (($$044$us$i$i) + 1)|0;
if ($83) {
label = 16;
break;
}
$59 = ($58>>>0)<($43>>>0);
if ($59) {
$$044$us$i$i = $58;
} else {
$$1$us$i$i = $$02345$us$i$i;$91 = $86;
break;
}
}
if ((label|0) == 16) {
label = 0;
$84 = (($54) + ($$02345$us$i$i<<5)|0);
$85 = (($86) + -1)|0;
HEAP32[$39>>2] = $85;
$87 = (($54) + ($85<<5)|0);
;HEAP32[$84>>2]=HEAP32[$87>>2]|0;HEAP32[$84+4>>2]=HEAP32[$87+4>>2]|0;HEAP32[$84+8>>2]=HEAP32[$87+8>>2]|0;HEAP32[$84+12>>2]=HEAP32[$87+12>>2]|0;HEAP32[$84+16>>2]=HEAP32[$87+16>>2]|0;HEAP32[$84+20>>2]=HEAP32[$87+20>>2]|0;HEAP32[$84+24>>2]=HEAP32[$87+24>>2]|0;HEAP32[$84+28>>2]=HEAP32[$87+28>>2]|0;
$88 = (($$02345$us$i$i) + -1)|0;
$$pre$i$i = HEAP32[$39>>2]|0;
$$1$us$i$i = $88;$91 = $$pre$i$i;
}
$89 = (($$1$us$i$i) + 1)|0;
$90 = ($89>>>0)<($91>>>0);
if ($90) {
$$02345$us$i$i = $89;$86 = $91;
} else {
break;
}
}
$$pre = HEAP16[$41>>1]|0;
$107 = $91;$93 = $$pre;
}
}
$92 = $93&65535;
$94 = +HEAPF64[$30>>3];
$95 = ((($1)) + 44|0);
$96 = HEAP32[$95>>2]|0;
$97 = ((($1)) + 72|0);
$98 = HEAP32[$12>>2]|0;
$99 = ($98|0)==(0|0);
if ($99) {
label = 21;
} else {
$100 = HEAP8[$97>>0]|0;
$101 = (+($100&255));
$102 = ((($1)) + 80|0);
$103 = HEAP32[$102>>2]|0;
$104 = (FUNCTION_TABLE_idi[$98 & 0]($101,$103)|0);
$105 = ($104|0)==(0);
if ($105) {
$$3$i = 102;
} else {
label = 21;
}
}
L39: do {
if ((label|0) == 21) {
$106 = (($107) + ($92))|0;
$108 = ($106>>>0)<=($96>>>0);
$109 = +HEAPF64[$44>>3];
$110 = $109 == 0.0;
$or$cond201$i = $108 & $110;
if ($or$cond201$i) {
$111 = HEAP32[$39>>2]|0;
$112 = ($111|0)==(0);
if ($112) {
$$019$i$i = 0;
} else {
$113 = HEAP32[$32>>2]|0;
$114 = HEAP32[$34>>2]|0;
$115 = (_pam_colormap($111,$113,$114)|0);
$116 = HEAP32[$39>>2]|0;
$117 = ($116|0)==(0);
if ($117) {
$$019$i$i = $115;
} else {
$$pre$i$i19 = HEAP32[$36>>2]|0;
$$020$i$i = 0;$120 = $$pre$i$i19;
while(1) {
$118 = (((($115)) + 12|0) + (($$020$i$i*24)|0)|0);
$119 = (($120) + ($$020$i$i<<5)|0);
;HEAP32[$118>>2]=HEAP32[$119>>2]|0;HEAP32[$118+4>>2]=HEAP32[$119+4>>2]|0;HEAP32[$118+8>>2]=HEAP32[$119+8>>2]|0;HEAP32[$118+12>>2]=HEAP32[$119+12>>2]|0;
$121 = HEAP32[$36>>2]|0;
$122 = (((($121) + ($$020$i$i<<5)|0)) + 20|0);
$123 = HEAP32[$122>>2]|0;
$124 = (((((($115)) + 12|0) + (($$020$i$i*24)|0)|0)) + 16|0);
HEAP32[$124>>2] = $123;
$125 = (($$020$i$i) + 1)|0;
$126 = HEAP32[$39>>2]|0;
$127 = ($125>>>0)<($126>>>0);
if ($127) {
$$020$i$i = $125;$120 = $121;
} else {
$$019$i$i = $115;
break;
}
}
}
}
$128 = HEAP32[$95>>2]|0;
$129 = HEAP32[$32>>2]|0;
$130 = HEAP32[$34>>2]|0;
$131 = ($93<<16>>16)==(0);
if ($131) {
$$0$i$i = $$019$i$i;
} else {
$132 = ($$019$i$i|0)!=(0|0);
if ($132) {
$133 = HEAP32[$$019$i$i>>2]|0;
$135 = $133;
} else {
$135 = 0;
}
$134 = (($135) + ($92))|0;
$136 = ($134>>>0)>($128>>>0);
if ($136) {
$140 = $128;
} else {
if ($132) {
$137 = HEAP32[$$019$i$i>>2]|0;
$139 = $137;
} else {
$139 = 0;
}
$138 = (($139) + ($92))|0;
$140 = $138;
}
$141 = (_pam_colormap($140,$129,$130)|0);
$142 = ($128|0)>($92|0);
$or$cond$i$i = $132 & $142;
if ($or$cond$i$i) {
$146 = HEAP32[$$019$i$i>>2]|0;
$147 = (($128) - ($92))|0;
$148 = ($146>>>0)<($147>>>0);
$$$i$i = $148 ? $146 : $147;
$149 = ($$$i$i|0)==(0);
if ($149) {
$$2$ph$i$i = 0;
} else {
$$05155$i$i = 0;
while(1) {
$150 = (((($141)) + 12|0) + (($$05155$i$i*24)|0)|0);
$151 = (((($$019$i$i)) + 12|0) + (($$05155$i$i*24)|0)|0);
;HEAP32[$150>>2]=HEAP32[$151>>2]|0;HEAP32[$150+4>>2]=HEAP32[$151+4>>2]|0;HEAP32[$150+8>>2]=HEAP32[$151+8>>2]|0;HEAP32[$150+12>>2]=HEAP32[$151+12>>2]|0;HEAP32[$150+16>>2]=HEAP32[$151+16>>2]|0;HEAP32[$150+20>>2]=HEAP32[$151+20>>2]|0;
$152 = (($$05155$i$i) + 1)|0;
$153 = ($152>>>0)<($$$i$i>>>0);
if ($153) {
$$05155$i$i = $152;
} else {
$$2$ph$i$i = $$$i$i;
break;
}
}
}
} else {
$$2$ph$i$i = 0;
}
$143 = ($128|0)<($92|0);
$144 = $143 ? $128 : $92;
$145 = ($144|0)>(0);
if ($145) {
$$05253$i$i = 0;$$254$i$i = $$2$ph$i$i;
while(1) {
$154 = (($$254$i$i) + 1)|0;
$155 = (((($141)) + 12|0) + (($$254$i$i*24)|0)|0);
$156 = (((($0)) + 24|0) + ($$05253$i$i<<4)|0);
_memmove(($155|0),($156|0),16)|0;
$$sroa$2$0$$sroa_idx3$i$i = (((((($141)) + 12|0) + (($$254$i$i*24)|0)|0)) + 16|0);
HEAPF32[$$sroa$2$0$$sroa_idx3$i$i>>2] = 0.0;
$$sroa$3$0$$sroa_idx$i$i = (((((($141)) + 12|0) + (($$254$i$i*24)|0)|0)) + 20|0);
HEAP8[$$sroa$3$0$$sroa_idx$i$i>>0] = 1;
$$sroa$4$0$$sroa_raw_idx$i$i = ((($155)) + 21|0);
;HEAP8[$$sroa$4$0$$sroa_raw_idx$i$i>>0]=HEAP8[$$sroa$4$i$i>>0]|0;HEAP8[$$sroa$4$0$$sroa_raw_idx$i$i+1>>0]=HEAP8[$$sroa$4$i$i+1>>0]|0;HEAP8[$$sroa$4$0$$sroa_raw_idx$i$i+2>>0]=HEAP8[$$sroa$4$i$i+2>>0]|0;
$157 = (($$05253$i$i) + 1)|0;
$158 = ($157|0)<($144|0);
if ($158) {
$$05253$i$i = $157;$$254$i$i = $154;
} else {
break;
}
}
}
if ($132) {
_pam_freecolormap($$019$i$i);
$$0$i$i = $141;
} else {
$$0$i$i = $141;
}
}
$$0115$i = $$0$i$i;$$4$i = 0.0;
} else {
$159 = ((($1)) + 24|0);
$160 = +HEAPF64[$159>>3];
$161 = $108 ? 0.33000000000000002 : 1.0;
$162 = $161 * $160;
$163 = HEAP32[$95>>2]|0;
$164 = ((($1)) + 52|0);
$165 = HEAP32[$164>>2]|0;
$166 = 1 << $165;
$167 = (+($166|0));
$168 = $167 * 9.765625E-4;
$pow2$i$i = $168 * $168;
$169 = $109 > $pow2$i$i;
$$pow2$i$i = $169 ? $109 : $pow2$i$i;
$170 = $$pow2$i$i > $162;
$171 = $170 ? $162 : $$pow2$i$i;
$172 = ((($1)) + 64|0);
$173 = HEAP32[$172>>2]|0;
$174 = ($173|0)>(0);
$175 = $174 ? 1.05 : 1.0;
$176 = (+($173|0));
$177 = $174 ? $176 : 1.0;
$178 = $171 < 6.866455078125E-4;
$179 = $178 ? 6.866455078125E-4 : $171;
$180 = ($93<<16>>16)==(0);
$181 = $171 > 0.0;
$182 = ((($1)) + 80|0);
$$0120$i$i = $163;$$0123$i$i = $173;$$0129$i$i = 0;$$0132$i$i = $175;$$0136$i$i = 1.0E+20;
while(1) {
$183 = HEAP32[$39>>2]|0;
$184 = ($183|0)!=(0);
$185 = ($$0120$i$i>>>0)>($92>>>0);
$or$cond140$i$i = $185 & $184;
if ($or$cond140$i$i) {
$186 = (($$0120$i$i) - ($92))|0;
$187 = $171 * $$0132$i$i;
$188 = $179 > $$0136$i$i;
$$$0136$i$i = $188 ? $179 : $$0136$i$i;
$189 = $$$0136$i$i * 1.2;
$190 = HEAP32[$32>>2]|0;
$191 = HEAP32[$34>>2]|0;
$192 = (_mediancut($36,$186,$187,$189,$190,$191)|0);
$$0128$i$i = $192;$$1124$i$i = $$0123$i$i;
} else {
$$0128$i$i = 0;$$1124$i$i = 0;
}
$193 = HEAP32[$32>>2]|0;
$194 = HEAP32[$34>>2]|0;
if ($180) {
$$0$i$i$i = $$0128$i$i;
} else {
$195 = ($$0128$i$i|0)!=(0|0);
if ($195) {
$196 = HEAP32[$$0128$i$i>>2]|0;
$198 = $196;
} else {
$198 = 0;
}
$197 = (($198) + ($92))|0;
$199 = ($197>>>0)>($$0120$i$i>>>0);
if ($199) {
$203 = $$0120$i$i;
} else {
if ($195) {
$200 = HEAP32[$$0128$i$i>>2]|0;
$202 = $200;
} else {
$202 = 0;
}
$201 = (($202) + ($92))|0;
$203 = $201;
}
$204 = (_pam_colormap($203,$193,$194)|0);
$205 = ($$0120$i$i|0)>($92|0);
$or$cond$i$i$i = $205 & $195;
if ($or$cond$i$i$i) {
$209 = HEAP32[$$0128$i$i>>2]|0;
$210 = (($$0120$i$i) - ($92))|0;
$211 = ($209>>>0)<($210>>>0);
$$$i$i$i = $211 ? $209 : $210;
$212 = ($$$i$i$i|0)==(0);
if ($212) {
$$2$ph$i$i$i = 0;
} else {
$$05155$i$i$i = 0;
while(1) {
$213 = (((($204)) + 12|0) + (($$05155$i$i$i*24)|0)|0);
$214 = (((($$0128$i$i)) + 12|0) + (($$05155$i$i$i*24)|0)|0);
;HEAP32[$213>>2]=HEAP32[$214>>2]|0;HEAP32[$213+4>>2]=HEAP32[$214+4>>2]|0;HEAP32[$213+8>>2]=HEAP32[$214+8>>2]|0;HEAP32[$213+12>>2]=HEAP32[$214+12>>2]|0;HEAP32[$213+16>>2]=HEAP32[$214+16>>2]|0;HEAP32[$213+20>>2]=HEAP32[$214+20>>2]|0;
$215 = (($$05155$i$i$i) + 1)|0;
$216 = ($215>>>0)<($$$i$i$i>>>0);
if ($216) {
$$05155$i$i$i = $215;
} else {
$$2$ph$i$i$i = $$$i$i$i;
break;
}
}
}
} else {
$$2$ph$i$i$i = 0;
}
$206 = ($$0120$i$i|0)<($92|0);
$207 = $206 ? $$0120$i$i : $92;
$208 = ($207|0)>(0);
if ($208) {
$$05253$i$i$i = 0;$$254$i$i$i = $$2$ph$i$i$i;
while(1) {
$217 = (($$254$i$i$i) + 1)|0;
$218 = (((($204)) + 12|0) + (($$254$i$i$i*24)|0)|0);
$219 = (((($0)) + 24|0) + ($$05253$i$i$i<<4)|0);
_memmove(($218|0),($219|0),16)|0;
$$sroa$2$0$$sroa_idx3$i$i$i = (((((($204)) + 12|0) + (($$254$i$i$i*24)|0)|0)) + 16|0);
HEAPF32[$$sroa$2$0$$sroa_idx3$i$i$i>>2] = 0.0;
$$sroa$3$0$$sroa_idx$i$i$i = (((((($204)) + 12|0) + (($$254$i$i$i*24)|0)|0)) + 20|0);
HEAP8[$$sroa$3$0$$sroa_idx$i$i$i>>0] = 1;
$$sroa$4$0$$sroa_raw_idx$i$i$i = ((($218)) + 21|0);
;HEAP8[$$sroa$4$0$$sroa_raw_idx$i$i$i>>0]=HEAP8[$$sroa$4$i$i>>0]|0;HEAP8[$$sroa$4$0$$sroa_raw_idx$i$i$i+1>>0]=HEAP8[$$sroa$4$i$i+1>>0]|0;HEAP8[$$sroa$4$0$$sroa_raw_idx$i$i$i+2>>0]=HEAP8[$$sroa$4$i$i+2>>0]|0;
$220 = (($$05253$i$i$i) + 1)|0;
$221 = ($220|0)<($207|0);
if ($221) {
$$05253$i$i$i = $220;$$254$i$i$i = $217;
} else {
break;
}
}
}
if ($195) {
_pam_freecolormap($$0128$i$i);
$$0$i$i$i = $204;
} else {
$$0$i$i$i = $204;
}
}
$222 = ($$0$i$i$i|0)==(0|0);
if ($222) {
$$3$i = 100;
break L39;
}
$223 = ($$1124$i$i|0)<(1);
if ($223) {
$$0166$i = -1.0;$$2$i167$i = $$0$i$i$i;
break;
}
$224 = ($$0129$i$i|0)!=(0|0);
$not$$i$i = $224 ^ 1;
$225 = $181 & $not$$i$i;
$226 = $225 ? 0 : 48;
$227 = (+_kmeans_do_iteration($36,$$0$i$i$i,$226));
$228 = $227 < $$0136$i$i;
$or$cond141$i$i = $228 | $not$$i$i;
do {
if ($or$cond141$i$i) {
label = 65;
} else {
$229 = !($227 <= $171);
if (!($229)) {
$230 = HEAP32[$$0$i$i$i>>2]|0;
$231 = ($230>>>0)<($$0120$i$i>>>0);
if ($231) {
label = 65;
break;
}
}
$232 = HEAP32[$39>>2]|0;
$233 = ($232|0)==(0);
if (!($233)) {
$234 = HEAP32[$36>>2]|0;
$$0119152$i$i = 0;
while(1) {
$246 = (((($234) + ($$0119152$i$i<<5)|0)) + 20|0);
$247 = +HEAPF32[$246>>2];
$248 = (((($234) + ($$0119152$i$i<<5)|0)) + 16|0);
$249 = +HEAPF32[$248>>2];
$250 = $247 + $249;
$251 = $250 * 0.5;
HEAPF32[$248>>2] = $251;
$252 = (($$0119152$i$i) + 1)|0;
$exitcond$i = ($252|0)==($232|0);
if ($exitcond$i) {
break;
} else {
$$0119152$i$i = $252;
}
}
}
$244 = $$0136$i$i * 4.0;
$245 = $227 > $244;
$$2125$v$i$i = $245 ? -9 : -6;
$$2125$i$i = (($$2125$v$i$i) + ($$1124$i$i))|0;
_pam_freecolormap($$0$i$i$i);
$$1121$i$i = $$0120$i$i;$$1130$i$i = $$0129$i$i;$$1137$i$i = $$0136$i$i;$$2134$i$i = 1.0;$$3$i$i = $$2125$i$i;
}
} while(0);
if ((label|0) == 65) {
label = 0;
if ($224) {
_pam_freecolormap($$0129$i$i);
}
$235 = $227 < $171;
$236 = $227 > 0.0;
$or$cond$i127$i = $235 & $236;
if ($or$cond$i127$i) {
$237 = $$0132$i$i * 1.25;
$238 = $171 / $227;
$239 = $237 < $238;
$$$i128$i = $239 ? $237 : $238;
$$1133$i$i = $$$i128$i;
} else {
$$1133$i$i = $$0132$i$i;
}
$240 = HEAP32[$$0$i$i$i>>2]|0;
$241 = (($240) + 1)|0;
$242 = ($241>>>0)<($$0120$i$i>>>0);
$$$0120$i$i = $242 ? $241 : $$0120$i$i;
$243 = (($$1124$i$i) + -1)|0;
$$1121$i$i = $$$0120$i$i;$$1130$i$i = $$0$i$i$i;$$1137$i$i = $227;$$2134$i$i = $$1133$i$i;$$3$i$i = $243;
}
$253 = (+($$3$i$i|0));
$254 = $253 / $177;
$255 = $254 < 0.0;
$256 = $255 ? 0.0 : $254;
$257 = 1.0 - $256;
$258 = HEAP32[$12>>2]|0;
$259 = ($258|0)==(0|0);
if (!($259)) {
$260 = HEAP16[$97>>1]|0;
$261 = $260&255;
$262 = (+($261&255));
$263 = ($260&65535) >>> 8;
$264 = $263&255;
$265 = (+($264&255));
$266 = $257 * $265;
$267 = $262 + $266;
$268 = HEAP32[$182>>2]|0;
$269 = (FUNCTION_TABLE_idi[$258 & 0]($267,$268)|0);
$270 = ($269|0)==(0);
if ($270) {
label = 75;
break;
}
}
$271 = $257 * 100.0;
$272 = (~~(($271)));
HEAP32[$vararg_buffer1>>2] = $272;
_liq_verbose_printf($1,18559,$vararg_buffer1);
$273 = ($$3$i$i|0)>(0);
if ($273) {
$$0120$i$i = $$1121$i$i;$$0123$i$i = $$3$i$i;$$0129$i$i = $$1130$i$i;$$0132$i$i = $$2134$i$i;$$0136$i$i = $$1137$i$i;
} else {
label = 75;
break;
}
}
if ((label|0) == 75) {
$274 = ($$1130$i$i|0)==(0|0);
if ($274) {
$$3$i = 100;
break;
} else {
$$0166$i = $$1137$i$i;$$2$i167$i = $$1130$i$i;
}
}
$275 = ((($1)) + 32|0);
$276 = +HEAPF64[$275>>3];
$277 = ((($1)) + 60|0);
$278 = HEAP32[$277>>2]|0;
$279 = ($278|0)==(0);
$280 = $$0166$i < 0.0;
$or$cond$i = $280 & $279;
$281 = $162 < 1.0E+20;
$or$cond3$i = $281 & $or$cond$i;
$$$i = $or$cond3$i ? 1 : $278;
$282 = ($$$i|0)==(0);
L126: do {
if ($282) {
$$2$i = $$0166$i;
} else {
$283 = HEAP32[$$2$i167$i>>2]|0;
$284 = ($283>>>0)<(256);
L128: do {
if ($284) {
$285 = HEAP32[$39>>2]|0;
$286 = ($285|0)==(0);
if (!($286)) {
$$0119182$i = 0;$292 = $283;$452 = $285;
while(1) {
$287 = HEAP32[$36>>2]|0;
$288 = (((($287) + ($$0119182$i<<5)|0)) + 28|0);
$289 = HEAP8[$288>>0]|0;
$290 = $289&255;
$291 = ($290>>>0)<($292>>>0);
if ($291) {
$295 = $452;
} else {
HEAP8[$288>>0] = 0;
$$pre189$i = HEAP32[$39>>2]|0;
$295 = $$pre189$i;
}
$293 = (($$0119182$i) + 1)|0;
$294 = ($293>>>0)<($295>>>0);
if (!($294)) {
break L128;
}
$$pre188$i = HEAP32[$$2$i167$i>>2]|0;
$$0119182$i = $293;$292 = $$pre188$i;$452 = $295;
}
}
}
} while(0);
$296 = ((($1)) + 84|0);
$297 = HEAP32[$296>>2]|0;
$298 = ($297|0)==(0|0);
if (!($298)) {
$299 = ((($1)) + 88|0);
$300 = HEAP32[$299>>2]|0;
FUNCTION_TABLE_viii[$297 & 127]($1,18585,$300);
}
$301 = $162 * 3.0;
$302 = $162 * 1.5;
$303 = (+($$$i>>>0));
$$0120177$i = 1.0E+20;$$0121176$i = 0;
while(1) {
$304 = (+_kmeans_do_iteration($36,$$2$i167$i,0));
$305 = HEAP32[$12>>2]|0;
$306 = ($305|0)==(0|0);
if (!($306)) {
$307 = HEAP32[$97>>2]|0;
$308 = $307 & 255;
$309 = $307 >>> 8;
$310 = $309 & 255;
$311 = (($310) + ($308))|0;
$312 = (+($311|0));
$313 = $307 >>> 16;
$314 = $313 & 255;
$315 = Math_imul($314, $$0121176$i)|0;
$316 = (+($315>>>0));
$317 = $316 * 0.89999997615814208;
$318 = $317 / $303;
$319 = $312 + $318;
$320 = HEAP32[$182>>2]|0;
$321 = (FUNCTION_TABLE_idi[$305 & 0]($319,$320)|0);
$322 = ($321|0)==(0);
if ($322) {
$$2$i = $304;
break L126;
}
}
$323 = $$0120177$i - $304;
$324 = (+Math_abs((+$323)));
$325 = $324 < $276;
if ($325) {
$$2$i = $304;
break L126;
}
$326 = $304 > $302;
if ($326) {
$327 = $304 > $301;
if ($327) {
$$2$i = $304;
break L126;
}
$328 = (($$0121176$i) + 1)|0;
$$1122$i = $328;
} else {
$$1122$i = $$0121176$i;
}
$329 = (($$1122$i) + 1)|0;
$330 = ($329>>>0)<($$$i>>>0);
if ($330) {
$$0120177$i = $304;$$0121176$i = $329;
} else {
$$2$i = $304;
break;
}
}
}
} while(0);
$331 = $$2$i > $162;
if ($331) {
$332 = $$2$i * 65536.0;
$333 = $332 / 6.0;
$$068$i$i = 100;
while(1) {
$cond$i$i = ($$068$i$i|0)==(100);
if ($cond$i$i) {
$$0$i$i131$i = 0.0;
} else {
$334 = (+($$068$i$i|0));
$335 = $334 + 0.001;
$336 = 0.016 / $335;
$337 = $336 + -0.001;
$338 = $337 < 0.0;
$339 = $338 ? 0.0 : $337;
$340 = $334 + 210.0;
$341 = (+Math_pow((+$340),1.2));
$342 = 2.5 / $341;
$343 = 100.09999999999999 - $334;
$344 = $343 * $342;
$345 = $344 / 100.0;
$346 = $339 + $345;
$$0$i$i131$i = $346;
}
$347 = $$0$i$i131$i + 9.9999999999999995E-7;
$348 = !($347 >= $$2$i);
if (!($348)) {
$370 = $$068$i$i;
break;
}
$349 = (($$068$i$i) + -1)|0;
$350 = ($$068$i$i|0)>(1);
if ($350) {
$$068$i$i = $349;
} else {
$370 = 0;
break;
}
}
$351 = $162 * 65536.0;
$352 = $351 / 6.0;
$$068$i132$i = 100;
while(1) {
$cond$i133$i = ($$068$i132$i|0)==(100);
if ($cond$i133$i) {
$$0$i$i134$i = 0.0;
} else {
$353 = (+($$068$i132$i|0));
$354 = $353 + 0.001;
$355 = 0.016 / $354;
$356 = $355 + -0.001;
$357 = $356 < 0.0;
$358 = $357 ? 0.0 : $356;
$359 = $353 + 210.0;
$360 = (+Math_pow((+$359),1.2));
$361 = 2.5 / $360;
$362 = 100.09999999999999 - $353;
$363 = $362 * $361;
$364 = $363 / 100.0;
$365 = $358 + $364;
$$0$i$i134$i = $365;
}
$366 = $$0$i$i134$i + 9.9999999999999995E-7;
$367 = !($366 >= $162);
if (!($367)) {
$371 = $$068$i132$i;
break;
}
$368 = (($$068$i132$i) + -1)|0;
$369 = ($$068$i132$i|0)>(1);
if ($369) {
$$068$i132$i = $368;
} else {
$371 = 0;
break;
}
}
HEAPF64[$vararg_buffer4>>3] = $333;
$vararg_ptr7 = ((($vararg_buffer4)) + 8|0);
HEAP32[$vararg_ptr7>>2] = $370;
$vararg_ptr8 = ((($vararg_buffer4)) + 16|0);
HEAPF64[$vararg_ptr8>>3] = $352;
$vararg_ptr9 = ((($vararg_buffer4)) + 24|0);
HEAP32[$vararg_ptr9>>2] = $371;
_liq_verbose_printf($1,18625,$vararg_buffer4);
_pam_freecolormap($$2$i167$i);
$$3$i = 99;
break;
} else {
$$0115$i = $$2$i167$i;$$4$i = $$2$i;
}
}
$372 = HEAP32[$12>>2]|0;
$373 = ($372|0)==(0|0);
if (!($373)) {
$374 = HEAP32[$97>>2]|0;
$375 = $374 & 255;
$376 = $374 >>> 8;
$377 = $376 & 255;
$378 = (($377) + ($375))|0;
$379 = (+($378|0));
$380 = $374 >>> 16;
$381 = $380&255;
$382 = (+($381&255));
$383 = $382 * 0.94999998807907104;
$384 = $379 + $383;
$385 = ((($1)) + 80|0);
$386 = HEAP32[$385>>2]|0;
$387 = (FUNCTION_TABLE_idi[$372 & 0]($384,$386)|0);
$388 = ($387|0)==(0);
if ($388) {
_pam_freecolormap($$0115$i);
$$3$i = 102;
break;
}
}
$389 = ((($1)) + 68|0);
$390 = HEAP8[$389>>0]|0;
$391 = ($390<<24>>24)==(0);
$$pre$i138$i = HEAP32[$$0115$i>>2]|0;
L171: do {
if ($391) {
label = 110;
} else {
$392 = ($$pre$i138$i|0)==(0);
if ($392) {
$$087$lcssa$i$i = 0;$$090$lcssa129$i$i = 0;
label = 119;
} else {
$$091122$i$i = 0;
while(1) {
$396 = (((($$0115$i)) + 12|0) + (($$091122$i$i*24)|0)|0);
$397 = +HEAPF32[$396>>2];
$398 = $397 < 0.00390625;
$394 = (($$091122$i$i) + 1)|0;
if ($398) {
break;
}
$395 = ($394>>>0)<($$pre$i138$i>>>0);
if ($395) {
$$091122$i$i = $394;
} else {
label = 110;
break L171;
}
}
$399 = (($$pre$i138$i) + -1)|0;
$400 = (((($$0115$i)) + 12|0) + (($399*24)|0)|0);
;HEAP32[$4>>2]=HEAP32[$400>>2]|0;HEAP32[$4+4>>2]=HEAP32[$400+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$400+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$400+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[$400+16>>2]|0;HEAP32[$4+20>>2]=HEAP32[$400+20>>2]|0;
;HEAP32[$400>>2]=HEAP32[$396>>2]|0;HEAP32[$400+4>>2]=HEAP32[$396+4>>2]|0;HEAP32[$400+8>>2]=HEAP32[$396+8>>2]|0;HEAP32[$400+12>>2]=HEAP32[$396+12>>2]|0;HEAP32[$400+16>>2]=HEAP32[$396+16>>2]|0;HEAP32[$400+20>>2]=HEAP32[$396+20>>2]|0;
;HEAP32[$396>>2]=HEAP32[$4>>2]|0;HEAP32[$396+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$396+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$396+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$396+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$396+20>>2]=HEAP32[$4+20>>2]|0;
$401 = HEAP32[$$0115$i>>2]|0;
$402 = (($401) + -1)|0;
$403 = ($402|0)==(0);
if (!($403)) {
$404 = ((($$0115$i)) + 12|0);
_qsort($404,$402,24,49);
}
}
}
} while(0);
do {
if ((label|0) == 110) {
$393 = ($$pre$i138$i|0)==(0);
if ($393) {
$$087$lcssa$i$i = 0;$$090$lcssa129$i$i = 0;
label = 119;
} else {
$$089115$i$i = 0;
while(1) {
$406 = (((((($$0115$i)) + 12|0) + (($$089115$i$i*24)|0)|0)) + 20|0);
$407 = HEAP8[$406>>0]|0;
$408 = ($407<<24>>24)==(0);
if (!($408)) {
label = 115;
break;
}
$409 = (($$089115$i$i) + 1)|0;
$410 = ($409>>>0)<($$pre$i138$i>>>0);
if ($410) {
$$089115$i$i = $409;
} else {
$$090$lcssa$i194$i = $409;
break;
}
}
if ((label|0) == 115) {
$405 = ($$089115$i$i|0)==(0);
if ($405) {
$$087$lcssa$i$i = 0;$$090$lcssa129$i$i = 0;
label = 119;
break;
} else {
$$090$lcssa$i194$i = $$089115$i$i;
}
}
$$0113$i$i = 0;$$087112$i$i = 0;
while(1) {
$419 = (((($$0115$i)) + 12|0) + (($$0113$i$i*24)|0)|0);
$420 = +HEAPF32[$419>>2];
$421 = $420 < 0.99609375;
if ($421) {
$422 = ($$0113$i$i|0)==($$087112$i$i|0);
if ($422) {
$$1$i$i = $$0113$i$i;
} else {
$423 = (((($$0115$i)) + 12|0) + (($$087112$i$i*24)|0)|0);
;HEAP32[$5>>2]=HEAP32[$423>>2]|0;HEAP32[$5+4>>2]=HEAP32[$423+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$423+8>>2]|0;HEAP32[$5+12>>2]=HEAP32[$423+12>>2]|0;HEAP32[$5+16>>2]=HEAP32[$423+16>>2]|0;HEAP32[$5+20>>2]=HEAP32[$423+20>>2]|0;
;HEAP32[$423>>2]=HEAP32[$419>>2]|0;HEAP32[$423+4>>2]=HEAP32[$419+4>>2]|0;HEAP32[$423+8>>2]=HEAP32[$419+8>>2]|0;HEAP32[$423+12>>2]=HEAP32[$419+12>>2]|0;HEAP32[$423+16>>2]=HEAP32[$419+16>>2]|0;HEAP32[$423+20>>2]=HEAP32[$419+20>>2]|0;
;HEAP32[$419>>2]=HEAP32[$5>>2]|0;HEAP32[$419+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$419+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$419+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$419+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$419+20>>2]=HEAP32[$5+20>>2]|0;
$424 = (($$0113$i$i) + -1)|0;
$$1$i$i = $424;
}
$425 = (($$087112$i$i) + 1)|0;
$$188$i$i = $425;$$2$i142$i = $$1$i$i;
} else {
$$188$i$i = $$087112$i$i;$$2$i142$i = $$0113$i$i;
}
$426 = (($$2$i142$i) + 1)|0;
$427 = ($426>>>0)<($$090$lcssa$i194$i>>>0);
if ($427) {
$$0113$i$i = $426;$$087112$i$i = $$188$i$i;
} else {
$$087$lcssa$i$i = $$188$i$i;$$090$lcssa129$i$i = $$090$lcssa$i194$i;
label = 119;
break;
}
}
}
}
} while(0);
if ((label|0) == 119) {
$411 = ($$087$lcssa$i$i|0)==(1);
$412 = $411 ? 18689 : 18691;
HEAP32[$vararg_buffer10>>2] = $$087$lcssa$i$i;
$vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
HEAP32[$vararg_ptr13>>2] = $412;
_liq_verbose_printf($1,18695,$vararg_buffer10);
$413 = ($$087$lcssa$i$i|0)==(0);
if (!($413)) {
$414 = ((($$0115$i)) + 12|0);
_qsort($414,$$087$lcssa$i$i,24,49);
}
$415 = (($$090$lcssa129$i$i) - ($$087$lcssa$i$i))|0;
$416 = ($415|0)==(0);
if (!($416)) {
$417 = (((($$0115$i)) + 12|0) + (($$087$lcssa$i$i*24)|0)|0);
_qsort($417,$415,24,49);
}
$418 = ($$090$lcssa129$i$i>>>0)>(9);
if ($418) {
$428 = HEAP32[$$0115$i>>2]|0;
$429 = ($428>>>0)>(16);
if ($429) {
$430 = ((($$0115$i)) + 180|0);
;HEAP32[$6>>2]=HEAP32[$430>>2]|0;HEAP32[$6+4>>2]=HEAP32[$430+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$430+8>>2]|0;HEAP32[$6+12>>2]=HEAP32[$430+12>>2]|0;HEAP32[$6+16>>2]=HEAP32[$430+16>>2]|0;HEAP32[$6+20>>2]=HEAP32[$430+20>>2]|0;
$431 = ((($$0115$i)) + 36|0);
;HEAP32[$430>>2]=HEAP32[$431>>2]|0;HEAP32[$430+4>>2]=HEAP32[$431+4>>2]|0;HEAP32[$430+8>>2]=HEAP32[$431+8>>2]|0;HEAP32[$430+12>>2]=HEAP32[$431+12>>2]|0;HEAP32[$430+16>>2]=HEAP32[$431+16>>2]|0;HEAP32[$430+20>>2]=HEAP32[$431+20>>2]|0;
;HEAP32[$431>>2]=HEAP32[$6>>2]|0;HEAP32[$431+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$431+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$431+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$431+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$431+20>>2]=HEAP32[$6+20>>2]|0;
$432 = ((($$0115$i)) + 204|0);
;HEAP32[$7>>2]=HEAP32[$432>>2]|0;HEAP32[$7+4>>2]=HEAP32[$432+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$432+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$432+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$432+16>>2]|0;HEAP32[$7+20>>2]=HEAP32[$432+20>>2]|0;
$433 = ((($$0115$i)) + 60|0);
;HEAP32[$432>>2]=HEAP32[$433>>2]|0;HEAP32[$432+4>>2]=HEAP32[$433+4>>2]|0;HEAP32[$432+8>>2]=HEAP32[$433+8>>2]|0;HEAP32[$432+12>>2]=HEAP32[$433+12>>2]|0;HEAP32[$432+16>>2]=HEAP32[$433+16>>2]|0;HEAP32[$432+20>>2]=HEAP32[$433+20>>2]|0;
;HEAP32[$433>>2]=HEAP32[$7>>2]|0;HEAP32[$433+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$433+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$433+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$433+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$433+20>>2]=HEAP32[$7+20>>2]|0;
$434 = ((($$0115$i)) + 228|0);
;HEAP32[$8>>2]=HEAP32[$434>>2]|0;HEAP32[$8+4>>2]=HEAP32[$434+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$434+8>>2]|0;HEAP32[$8+12>>2]=HEAP32[$434+12>>2]|0;HEAP32[$8+16>>2]=HEAP32[$434+16>>2]|0;HEAP32[$8+20>>2]=HEAP32[$434+20>>2]|0;
$435 = ((($$0115$i)) + 84|0);
;HEAP32[$434>>2]=HEAP32[$435>>2]|0;HEAP32[$434+4>>2]=HEAP32[$435+4>>2]|0;HEAP32[$434+8>>2]=HEAP32[$435+8>>2]|0;HEAP32[$434+12>>2]=HEAP32[$435+12>>2]|0;HEAP32[$434+16>>2]=HEAP32[$435+16>>2]|0;HEAP32[$434+20>>2]=HEAP32[$435+20>>2]|0;
;HEAP32[$435>>2]=HEAP32[$8>>2]|0;HEAP32[$435+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$435+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$435+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$435+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$435+20>>2]=HEAP32[$8+20>>2]|0;
}
}
}
if ($2) {
$436 = HEAP32[$$0115$i>>2]|0;
$437 = ($436|0)==(0);
if (!($437)) {
$$0123175$i = 0;
while(1) {
$438 = (((((($$0115$i)) + 12|0) + (($$0123175$i*24)|0)|0)) + 20|0);
HEAP8[$438>>0] = 1;
$439 = (($$0123175$i) + 1)|0;
$440 = HEAP32[$$0115$i>>2]|0;
$441 = ($439>>>0)<($440>>>0);
if ($441) {
$$0123175$i = $439;
} else {
break;
}
}
}
}
$442 = HEAP32[$32>>2]|0;
$443 = (FUNCTION_TABLE_ii[$442 & 63](1088)|0);
$444 = ($443|0)==(0|0);
if ($444) {
$$3$i = 101;
} else {
$445 = HEAP32[$32>>2]|0;
$446 = HEAP32[$34>>2]|0;
$447 = ((($1)) + 52|0);
$448 = HEAP32[$447>>2]|0;
$449 = ((($1)) + 70|0);
$450 = HEAP8[$449>>0]|0;
HEAP32[$443>>2] = 18242;
$$sroa$3$0$$sroa_idx4$i = ((($443)) + 4|0);
HEAP32[$$sroa$3$0$$sroa_idx4$i>>2] = $445;
$$sroa$4$0$$sroa_idx5$i = ((($443)) + 8|0);
HEAP32[$$sroa$4$0$$sroa_idx5$i>>2] = $446;
$$sroa$5$0$$sroa_idx6$i = ((($443)) + 12|0);
HEAP32[$$sroa$5$0$$sroa_idx6$i>>2] = 0;
$$sroa$57$0$$sroa_idx8$i = ((($443)) + 16|0);
HEAP32[$$sroa$57$0$$sroa_idx8$i>>2] = $$0115$i;
$$sroa$6$0$$sroa_idx$i = ((($443)) + 20|0);
_memset(($$sroa$6$0$$sroa_idx$i|0),0,1044)|0;
$$sroa$610$0$$sroa_idx11$i = ((($443)) + 1064|0);
HEAPF64[$$sroa$610$0$$sroa_idx11$i>>3] = $94;
$$sroa$7$0$$sroa_idx12$i = ((($443)) + 1072|0);
HEAPF64[$$sroa$7$0$$sroa_idx12$i>>3] = $$4$i;
$$sroa$8$0$$sroa_idx13$i = ((($443)) + 1080|0);
HEAP32[$$sroa$8$0$$sroa_idx13$i>>2] = $448;
$451 = ((($443)) + 1084|0);
HEAP8[$451>>0] = $450;
$$sroa$10$0$$sroa_raw_idx$i = ((($443)) + 1085|0);
;HEAP8[$$sroa$10$0$$sroa_raw_idx$i>>0]=0|0;HEAP8[$$sroa$10$0$$sroa_raw_idx$i+1>>0]=0|0;HEAP8[$$sroa$10$0$$sroa_raw_idx$i+2>>0]=0|0;
HEAP32[$3>>2] = $443;
$$3$i = 0;
}
}
} while(0);
_pam_freeacolorhist($36);
$$1 = $$3$i;
STACKTOP = sp;return ($$1|0);
}
function _adjust_histogram_callback($0,$1) {
$0 = $0|0;
$1 = +$1;
var $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 20|0);
$3 = +HEAPF32[$2>>2];
$4 = ((($0)) + 16|0);
$5 = +HEAPF32[$4>>2];
$6 = $3 + $5;
$7 = $1 + 1.0;
$8 = (+Math_sqrt((+$7)));
$9 = $6 * $8;
HEAPF32[$4>>2] = $9;
return;
}
function _compare_popularity($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 16|0);
$3 = +HEAPF32[$2>>2];
$4 = ((($1)) + 16|0);
$5 = +HEAPF32[$4>>2];
$6 = $3 > $5;
$7 = $6 ? -1 : 1;
return ($7|0);
}
function _contrast_maps($0) {
$0 = $0|0;
var $$ = 0.0, $$0297317 = 0, $$0297317$phi = 0, $$0298316 = 0, $$0299315 = 0, $$0300304 = 0, $$0303 = 0, $$301 = 0.0, $$302 = 0, $$pre = 0, $$pre$phi325Z2D = 0, $$pre$phiZ2D = 0, $$pre324 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$0123$0$$sroa_idx126 = 0, $$sroa$0123$0$copyload127 = 0.0, $$sroa$0123$0305 = 0.0, $$sroa$0148$0$copyload = 0.0, $$sroa$0148$0309 = 0.0;
var $$sroa$0148$0309$phi = 0.0, $$sroa$078$0$$sroa_idx = 0, $$sroa$078$0$copyload = 0.0, $$sroa$12$0$$sroa_idx159 = 0, $$sroa$12$0$copyload = 0.0, $$sroa$12$0311 = 0.0, $$sroa$12$0311$phi = 0.0, $$sroa$16$0$$sroa_idx164 = 0, $$sroa$16$0$copyload = 0.0, $$sroa$16$0312 = 0.0, $$sroa$16$0312$phi = 0.0, $$sroa$4$0$$sroa_idx72 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$480$0$$sroa_idx81 = 0, $$sroa$480$0$copyload = 0.0, $$sroa$5$0$$sroa_idx74 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$583$0$$sroa_idx84 = 0, $$sroa$583$0$copyload = 0.0, $$sroa$6$0$$sroa_idx76 = 0;
var $$sroa$6$0$copyload = 0.0, $$sroa$6129$0$$sroa_idx133 = 0, $$sroa$6129$0$copyload134 = 0.0, $$sroa$6129$0306 = 0.0, $$sroa$686$0$$sroa_idx87 = 0, $$sroa$686$0$copyload = 0.0, $$sroa$7$0$$sroa_idx139 = 0, $$sroa$7$0$copyload140 = 0.0, $$sroa$7$0307 = 0.0, $$sroa$8$0$$sroa_idx145 = 0, $$sroa$8$0$copyload146 = 0.0, $$sroa$8$0308 = 0.0, $$sroa$8153$0$$sroa_idx154 = 0, $$sroa$8153$0$copyload = 0.0, $$sroa$8153$0310 = 0.0, $$sroa$8153$0310$phi = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0;
var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0;
var $84 = 0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond321 = 0, $exitcond322 = 0;
var $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 32|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($0)) + 36|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($2>>>0)<(4);
$6 = ($4>>>0)<(4);
$or$cond = $5 | $6;
if ($or$cond) {
return;
}
$7 = ($2*3)|0;
$8 = Math_imul($7, $4)|0;
$9 = ($8>>>0)>(67108864);
if ($9) {
return;
}
$10 = ((($0)) + 40|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0|0);
if ($12) {
$13 = Math_imul($4, $2)|0;
$14 = ((($0)) + 4|0);
$15 = HEAP32[$14>>2]|0;
$16 = (FUNCTION_TABLE_ii[$15 & 63]($13)|0);
$26 = $16;
} else {
$26 = $11;
}
HEAP32[$10>>2] = 0;
$17 = ((($0)) + 44|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
$20 = Math_imul($4, $2)|0;
$21 = ((($0)) + 4|0);
$22 = HEAP32[$21>>2]|0;
$23 = (FUNCTION_TABLE_ii[$22 & 63]($20)|0);
$$pre$phi325Z2D = $20;$$pre$phiZ2D = $21;$28 = $23;
} else {
$$pre = ((($0)) + 4|0);
$$pre324 = Math_imul($4, $2)|0;
$$pre$phi325Z2D = $$pre324;$$pre$phiZ2D = $$pre;$28 = $18;
}
HEAP32[$17>>2] = 0;
$24 = HEAP32[$$pre$phiZ2D>>2]|0;
$25 = (FUNCTION_TABLE_ii[$24 & 63]($$pre$phi325Z2D)|0);
$27 = ($26|0)!=(0|0);
$29 = ($28|0)!=(0|0);
$or$cond3 = $27 & $29;
$30 = ($25|0)!=(0|0);
$or$cond5 = $or$cond3 & $30;
if (!($or$cond5)) {
$31 = ((($0)) + 8|0);
$32 = HEAP32[$31>>2]|0;
FUNCTION_TABLE_vi[$32 & 127]($26);
$33 = HEAP32[$31>>2]|0;
FUNCTION_TABLE_vi[$33 & 127]($28);
$34 = HEAP32[$31>>2]|0;
FUNCTION_TABLE_vi[$34 & 127]($25);
return;
}
$35 = (_liq_image_get_row_f($0,0)|0);
$36 = ($4|0)==(0);
if (!($36)) {
$37 = (($4) + -1)|0;
$38 = ($2|0)==(0);
$39 = (($2) + -1)|0;
$$0297317 = $35;$$0298316 = $35;$$0299315 = 0;
while(1) {
$40 = (($$0299315) + 1)|0;
$42 = ($37>>>0)<($40>>>0);
$43 = $42 ? $37 : $40;
$44 = (_liq_image_get_row_f($0,$43)|0);
$$sroa$0148$0$copyload = +HEAPF32[$$0298316>>2];
$$sroa$8153$0$$sroa_idx154 = ((($$0298316)) + 4|0);
$$sroa$8153$0$copyload = +HEAPF32[$$sroa$8153$0$$sroa_idx154>>2];
$$sroa$12$0$$sroa_idx159 = ((($$0298316)) + 8|0);
$$sroa$12$0$copyload = +HEAPF32[$$sroa$12$0$$sroa_idx159>>2];
$$sroa$16$0$$sroa_idx164 = ((($$0298316)) + 12|0);
$$sroa$16$0$copyload = +HEAPF32[$$sroa$16$0$$sroa_idx164>>2];
if (!($38)) {
$45 = Math_imul($$0299315, $2)|0;
$$0300304 = 0;$$sroa$0123$0305 = $$sroa$0148$0$copyload;$$sroa$0148$0309 = $$sroa$0148$0$copyload;$$sroa$12$0311 = $$sroa$12$0$copyload;$$sroa$16$0312 = $$sroa$16$0$copyload;$$sroa$6129$0306 = $$sroa$8153$0$copyload;$$sroa$7$0307 = $$sroa$12$0$copyload;$$sroa$8$0308 = $$sroa$16$0$copyload;$$sroa$8153$0310 = $$sroa$8153$0$copyload;
while(1) {
$46 = (($$0300304) + 1)|0;
$47 = ($39>>>0)<($46>>>0);
$48 = $47 ? $39 : $46;
$$sroa$0123$0$$sroa_idx126 = (($$0298316) + ($48<<4)|0);
$$sroa$0123$0$copyload127 = +HEAPF32[$$sroa$0123$0$$sroa_idx126>>2];
$$sroa$6129$0$$sroa_idx133 = (((($$0298316) + ($48<<4)|0)) + 4|0);
$$sroa$6129$0$copyload134 = +HEAPF32[$$sroa$6129$0$$sroa_idx133>>2];
$$sroa$7$0$$sroa_idx139 = (((($$0298316) + ($48<<4)|0)) + 8|0);
$$sroa$7$0$copyload140 = +HEAPF32[$$sroa$7$0$$sroa_idx139>>2];
$$sroa$8$0$$sroa_idx145 = (((($$0298316) + ($48<<4)|0)) + 12|0);
$$sroa$8$0$copyload146 = +HEAPF32[$$sroa$8$0$$sroa_idx145>>2];
$49 = $$sroa$0148$0309 + $$sroa$0123$0$copyload127;
$50 = $$sroa$0123$0305 * 2.0;
$51 = $49 - $50;
$52 = (+Math_abs((+$51)));
$53 = $$sroa$8153$0310 + $$sroa$6129$0$copyload134;
$54 = $$sroa$6129$0306 * 2.0;
$55 = $53 - $54;
$56 = (+Math_abs((+$55)));
$57 = $$sroa$12$0311 + $$sroa$7$0$copyload140;
$58 = $$sroa$7$0307 * 2.0;
$59 = $57 - $58;
$60 = (+Math_abs((+$59)));
$61 = $$sroa$16$0312 + $$sroa$8$0$copyload146;
$62 = $$sroa$8$0308 * 2.0;
$63 = $61 - $62;
$64 = (+Math_abs((+$63)));
$$sroa$078$0$$sroa_idx = (($$0297317) + ($$0300304<<4)|0);
$$sroa$078$0$copyload = +HEAPF32[$$sroa$078$0$$sroa_idx>>2];
$$sroa$480$0$$sroa_idx81 = (((($$0297317) + ($$0300304<<4)|0)) + 4|0);
$$sroa$480$0$copyload = +HEAPF32[$$sroa$480$0$$sroa_idx81>>2];
$$sroa$583$0$$sroa_idx84 = (((($$0297317) + ($$0300304<<4)|0)) + 8|0);
$$sroa$583$0$copyload = +HEAPF32[$$sroa$583$0$$sroa_idx84>>2];
$$sroa$686$0$$sroa_idx87 = (((($$0297317) + ($$0300304<<4)|0)) + 12|0);
$$sroa$686$0$copyload = +HEAPF32[$$sroa$686$0$$sroa_idx87>>2];
$$sroa$0$0$$sroa_idx = (($44) + ($$0300304<<4)|0);
$$sroa$0$0$copyload = +HEAPF32[$$sroa$0$0$$sroa_idx>>2];
$$sroa$4$0$$sroa_idx72 = (((($44) + ($$0300304<<4)|0)) + 4|0);
$$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx72>>2];
$$sroa$5$0$$sroa_idx74 = (((($44) + ($$0300304<<4)|0)) + 8|0);
$$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx74>>2];
$$sroa$6$0$$sroa_idx76 = (((($44) + ($$0300304<<4)|0)) + 12|0);
$$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx76>>2];
$65 = $$sroa$078$0$copyload + $$sroa$0$0$copyload;
$66 = $65 - $50;
$67 = (+Math_abs((+$66)));
$68 = $$sroa$480$0$copyload + $$sroa$4$0$copyload;
$69 = $68 - $54;
$70 = (+Math_abs((+$69)));
$71 = $$sroa$583$0$copyload + $$sroa$5$0$copyload;
$72 = $71 - $58;
$73 = (+Math_abs((+$72)));
$74 = $$sroa$686$0$copyload + $$sroa$6$0$copyload;
$75 = $74 - $62;
$76 = (+Math_abs((+$75)));
$77 = $52 > $56;
$78 = $77 ? $52 : $56;
$79 = $60 > $64;
$80 = $79 ? $60 : $64;
$81 = $78 > $80;
$$ = $81 ? $78 : $80;
$82 = $67 > $70;
$83 = $82 ? $67 : $70;
$84 = $73 > $76;
$85 = $84 ? $73 : $76;
$86 = $83 > $85;
$87 = $86 ? $83 : $85;
$88 = $$ > $87;
$89 = $88 ? $$ : $87;
$90 = $$ - $87;
$91 = (+Math_abs((+$90)));
$92 = $91 * 0.5;
$93 = $89 - $92;
$94 = $$ < $87;
$95 = $94 ? $$ : $87;
$96 = $93 > $95;
$$301 = $96 ? $93 : $95;
$97 = 1.0 - $$301;
$98 = $97 * $97;
$99 = $98 * $98;
$100 = $99 * 256.0;
$101 = $100 < 256.0;
$102 = (~~(($100))&255);
$103 = $101 ? $102 : -1;
$104 = (($$0300304) + ($45))|0;
$105 = (($26) + ($104)|0);
HEAP8[$105>>0] = $103;
$106 = 1.0 - $89;
$107 = $106 * 256.0;
$108 = $107 > 0.0;
$109 = $107 < 256.0;
$110 = (~~(($107))&255);
$111 = $109 ? $110 : -1;
$112 = $108 ? $111 : 0;
$113 = (($28) + ($104)|0);
HEAP8[$113>>0] = $112;
$exitcond321 = ($46|0)==($2|0);
if ($exitcond321) {
break;
} else {
$$sroa$8153$0310$phi = $$sroa$6129$0306;$$sroa$16$0312$phi = $$sroa$8$0308;$$sroa$12$0311$phi = $$sroa$7$0307;$$sroa$0148$0309$phi = $$sroa$0123$0305;$$0300304 = $46;$$sroa$0123$0305 = $$sroa$0123$0$copyload127;$$sroa$6129$0306 = $$sroa$6129$0$copyload134;$$sroa$7$0307 = $$sroa$7$0$copyload140;$$sroa$8$0308 = $$sroa$8$0$copyload146;$$sroa$8153$0310 = $$sroa$8153$0310$phi;$$sroa$16$0312 = $$sroa$16$0312$phi;$$sroa$12$0311 = $$sroa$12$0311$phi;$$sroa$0148$0309 = $$sroa$0148$0309$phi;
}
}
}
$exitcond322 = ($40|0)==($4|0);
if ($exitcond322) {
break;
} else {
$$0297317$phi = $$0298316;$$0298316 = $44;$$0299315 = $40;$$0297317 = $$0297317$phi;
}
}
}
_liq_max3($26,$25,$2,$4);
_liq_max3($25,$26,$2,$4);
_liq_blur($26,$25,$26,$2,$4,3);
_liq_max3($26,$25,$2,$4);
_liq_min3($25,$26,$2,$4);
_liq_min3($26,$25,$2,$4);
_liq_min3($25,$26,$2,$4);
_liq_min3($28,$25,$2,$4);
_liq_max3($25,$28,$2,$4);
$41 = ($$pre$phi325Z2D|0)==(0);
if (!($41)) {
$$0303 = 0;
while(1) {
$116 = (($26) + ($$0303)|0);
$117 = HEAP8[$116>>0]|0;
$118 = (($28) + ($$0303)|0);
$119 = HEAP8[$118>>0]|0;
$120 = ($117&255)<($119&255);
$$302 = $120 ? $117 : $119;
HEAP8[$118>>0] = $$302;
$121 = (($$0303) + 1)|0;
$exitcond = ($121|0)==($$pre$phi325Z2D|0);
if ($exitcond) {
break;
} else {
$$0303 = $121;
}
}
}
$114 = ((($0)) + 8|0);
$115 = HEAP32[$114>>2]|0;
FUNCTION_TABLE_vi[$115 & 127]($25);
HEAP32[$10>>2] = $26;
HEAP32[$17>>2] = $28;
return;
}
function _liq_image_get_row_rgba($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$033$i = 0, $$pre$phiZ2D = 0, $$pre20 = 0, $$sroa$3$0$$sroa_idx$i = 0, $$sroa$3$0$copyload$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0;
var $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 16|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
do {
if ($4) {
$17 = ((($0)) + 56|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($0)) + 32|0);
$20 = HEAP32[$19>>2]|0;
$$pre20 = ((($0)) + 72|0);
$21 = ((($0)) + 64|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($0)) + 68|0);
$24 = HEAP32[$23>>2]|0;
_liq_executing_user_callback($22,$18,$1,$20,$24);
$$pre$phiZ2D = $$pre20;$32 = $19;$36 = $18;
} else {
$5 = ((($0)) + 72|0);
$6 = +HEAPF32[$5>>2];
$7 = !($6 < 1.0);
if (!($7)) {
$10 = ((($0)) + 56|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 32|0);
$13 = HEAP32[$12>>2]|0;
$14 = (($3) + ($1<<2)|0);
$15 = HEAP32[$14>>2]|0;
$16 = $13 << 2;
_memcpy(($11|0),($15|0),($16|0))|0;
$$pre$phiZ2D = $5;$32 = $12;$36 = $11;
break;
}
$8 = (($3) + ($1<<2)|0);
$9 = HEAP32[$8>>2]|0;
$$0 = $9;
return ($$0|0);
}
} while(0);
$25 = +HEAPF32[$$pre$phiZ2D>>2];
$26 = $25 < 1.0;
if (!($26)) {
$$0 = $36;
return ($$0|0);
}
$27 = $25 * 169.0;
$28 = $27 * 0.00390625;
$29 = $28 * 255.0;
$30 = (~~(($29))>>>0);
$31 = HEAP32[$32>>2]|0;
$33 = ($31|0)==(0);
if ($33) {
$$0 = $36;
return ($$0|0);
}
$34 = 1.0 - $28;
$35 = $25 - $28;
$$033$i = 0;
while(1) {
$$sroa$3$0$$sroa_idx$i = (((($36) + ($$033$i<<2)|0)) + 3|0);
$$sroa$3$0$copyload$i = HEAP8[$$sroa$3$0$$sroa_idx$i>>0]|0;
$37 = $$sroa$3$0$copyload$i&255;
$38 = ($37>>>0)<($30>>>0);
if (!($38)) {
$39 = (+($$sroa$3$0$copyload$i&255));
$40 = $39 / 255.0;
$41 = $40 - $28;
$42 = $34 * $41;
$43 = $42 / $35;
$44 = $28 + $43;
$45 = $44 * 256.0;
$46 = $45 >= 255.0;
$47 = $46 ? 255.0 : $45;
$48 = (~~(($47))&255);
HEAP8[$$sroa$3$0$$sroa_idx$i>>0] = $48;
}
$49 = (($$033$i) + 1)|0;
$exitcond = ($49|0)==($31|0);
if ($exitcond) {
$$0 = $36;
break;
} else {
$$033$i = $49;
}
}
return ($$0|0);
}
function _liq_image_get_row_f($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$017$i = 0, $$017$i35 = 0, $$033 = 0, $$050 = 0, $$idx = 0, $$idx$val = 0, $$idx34 = 0, $$idx34$val = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre51 = 0, $$pre53 = 0, $$sroa$0$0$$sroa_idx$i = 0, $$sroa$0$0$$sroa_idx$i44 = 0, $$sroa$015$0$$sroa_idx$i = 0, $$sroa$015$0$$sroa_idx$i36 = 0, $$sroa$015$0$copyload$i = 0, $$sroa$015$0$copyload$i37 = 0, $$sroa$2$0$$sroa_idx12$i = 0, $$sroa$2$0$$sroa_idx12$i45 = 0;
var $$sroa$3$0$$sroa_idx13$i = 0, $$sroa$3$0$$sroa_idx13$i46 = 0, $$sroa$4$0$$sroa_idx14$i = 0, $$sroa$4$0$$sroa_idx14$i47 = 0, $$sroa$416$0$$sroa_idx$i = 0, $$sroa$416$0$$sroa_idx$i38 = 0, $$sroa$416$0$copyload$i = 0, $$sroa$416$0$copyload$i39 = 0, $$sroa$5$0$$sroa_idx$i = 0, $$sroa$5$0$$sroa_idx$i40 = 0, $$sroa$5$0$copyload$i = 0, $$sroa$5$0$copyload$i41 = 0, $$sroa$6$0$$sroa_idx$i = 0, $$sroa$6$0$$sroa_idx$i42 = 0, $$sroa$6$0$copyload$i = 0, $$sroa$6$0$copyload$i43 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0;
var $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $phitmp = 0, label = 0;
var sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 2048|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2048|0);
$2 = sp + 1024|0;
$3 = sp;
$4 = ((($0)) + 12|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
do {
if ($6) {
$7 = ((($0)) + 60|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
if (!($9)) {
$10 = ((($0)) + 24|0);
$11 = +HEAPF64[$10>>3];
_to_f_set_gamma($2,$11);
$12 = HEAP32[$7>>2]|0;
$13 = (_liq_image_get_row_rgba($0,$1)|0);
$14 = ((($0)) + 32|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0);
if (!($16)) {
$$017$i = 0;
while(1) {
$$sroa$015$0$$sroa_idx$i = (($13) + ($$017$i<<2)|0);
$$sroa$015$0$copyload$i = HEAP8[$$sroa$015$0$$sroa_idx$i>>0]|0;
$$sroa$416$0$$sroa_idx$i = (((($13) + ($$017$i<<2)|0)) + 1|0);
$$sroa$416$0$copyload$i = HEAP8[$$sroa$416$0$$sroa_idx$i>>0]|0;
$$sroa$5$0$$sroa_idx$i = (((($13) + ($$017$i<<2)|0)) + 2|0);
$$sroa$5$0$copyload$i = HEAP8[$$sroa$5$0$$sroa_idx$i>>0]|0;
$$sroa$6$0$$sroa_idx$i = (((($13) + ($$017$i<<2)|0)) + 3|0);
$$sroa$6$0$copyload$i = HEAP8[$$sroa$6$0$$sroa_idx$i>>0]|0;
$17 = (+($$sroa$6$0$copyload$i&255));
$18 = $17 / 255.0;
$19 = $$sroa$015$0$copyload$i&255;
$20 = (($2) + ($19<<2)|0);
$21 = +HEAPF32[$20>>2];
$22 = $21 * $18;
$23 = $$sroa$416$0$copyload$i&255;
$24 = (($2) + ($23<<2)|0);
$25 = +HEAPF32[$24>>2];
$26 = $18 * $25;
$27 = $$sroa$5$0$copyload$i&255;
$28 = (($2) + ($27<<2)|0);
$29 = +HEAPF32[$28>>2];
$30 = $18 * $29;
$$sroa$0$0$$sroa_idx$i = (($12) + ($$017$i<<4)|0);
HEAPF32[$$sroa$0$0$$sroa_idx$i>>2] = $18;
$$sroa$2$0$$sroa_idx12$i = (((($12) + ($$017$i<<4)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx12$i>>2] = $22;
$$sroa$3$0$$sroa_idx13$i = (((($12) + ($$017$i<<4)|0)) + 8|0);
HEAPF32[$$sroa$3$0$$sroa_idx13$i>>2] = $26;
$$sroa$4$0$$sroa_idx14$i = (((($12) + ($$017$i<<4)|0)) + 12|0);
HEAPF32[$$sroa$4$0$$sroa_idx14$i>>2] = $30;
$31 = (($$017$i) + 1)|0;
$32 = HEAP32[$14>>2]|0;
$33 = ($31>>>0)<($32>>>0);
if ($33) {
$$017$i = $31;
} else {
break;
}
}
}
$$033 = $12;
STACKTOP = sp;return ($$033|0);
}
$$idx = ((($0)) + 32|0);
$$idx$val = HEAP32[$$idx>>2]|0;
$$idx34 = ((($0)) + 36|0);
$$idx34$val = HEAP32[$$idx34>>2]|0;
$34 = Math_imul($$idx34$val, $$idx$val)|0;
$35 = ($34>>>0)>(4194304);
if (!($35)) {
$36 = ((($0)) + 4|0);
$37 = HEAP32[$36>>2]|0;
$38 = $$idx$val << 4;
$39 = Math_imul($38, $$idx34$val)|0;
$40 = (FUNCTION_TABLE_ii[$37 & 63]($39)|0);
HEAP32[$4>>2] = $40;
$phitmp = ($40|0)==(0|0);
if (!($phitmp)) {
$48 = ((($0)) + 24|0);
$49 = +HEAPF64[$48>>3];
_to_f_set_gamma($3,$49);
$50 = HEAP32[$$idx34>>2]|0;
$51 = ($50|0)==(0);
if (!($51)) {
$$pre = HEAP32[$$idx>>2]|0;
$$050 = 0;$53 = $$pre;
while(1) {
$52 = Math_imul($53, $$050)|0;
$54 = HEAP32[$4>>2]|0;
$55 = (($54) + ($52<<4)|0);
$56 = (_liq_image_get_row_rgba($0,$$050)|0);
$57 = HEAP32[$$idx>>2]|0;
$58 = ($57|0)==(0);
if ($58) {
$83 = 0;
} else {
$$017$i35 = 0;
while(1) {
$$sroa$015$0$$sroa_idx$i36 = (($56) + ($$017$i35<<2)|0);
$$sroa$015$0$copyload$i37 = HEAP8[$$sroa$015$0$$sroa_idx$i36>>0]|0;
$$sroa$416$0$$sroa_idx$i38 = (((($56) + ($$017$i35<<2)|0)) + 1|0);
$$sroa$416$0$copyload$i39 = HEAP8[$$sroa$416$0$$sroa_idx$i38>>0]|0;
$$sroa$5$0$$sroa_idx$i40 = (((($56) + ($$017$i35<<2)|0)) + 2|0);
$$sroa$5$0$copyload$i41 = HEAP8[$$sroa$5$0$$sroa_idx$i40>>0]|0;
$$sroa$6$0$$sroa_idx$i42 = (((($56) + ($$017$i35<<2)|0)) + 3|0);
$$sroa$6$0$copyload$i43 = HEAP8[$$sroa$6$0$$sroa_idx$i42>>0]|0;
$59 = (+($$sroa$6$0$copyload$i43&255));
$60 = $59 / 255.0;
$61 = $$sroa$015$0$copyload$i37&255;
$62 = (($3) + ($61<<2)|0);
$63 = +HEAPF32[$62>>2];
$64 = $63 * $60;
$65 = $$sroa$416$0$copyload$i39&255;
$66 = (($3) + ($65<<2)|0);
$67 = +HEAPF32[$66>>2];
$68 = $60 * $67;
$69 = $$sroa$5$0$copyload$i41&255;
$70 = (($3) + ($69<<2)|0);
$71 = +HEAPF32[$70>>2];
$72 = $60 * $71;
$$sroa$0$0$$sroa_idx$i44 = (($55) + ($$017$i35<<4)|0);
HEAPF32[$$sroa$0$0$$sroa_idx$i44>>2] = $60;
$$sroa$2$0$$sroa_idx12$i45 = (((($55) + ($$017$i35<<4)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx12$i45>>2] = $64;
$$sroa$3$0$$sroa_idx13$i46 = (((($55) + ($$017$i35<<4)|0)) + 8|0);
HEAPF32[$$sroa$3$0$$sroa_idx13$i46>>2] = $68;
$$sroa$4$0$$sroa_idx14$i47 = (((($55) + ($$017$i35<<4)|0)) + 12|0);
HEAPF32[$$sroa$4$0$$sroa_idx14$i47>>2] = $72;
$73 = (($$017$i35) + 1)|0;
$74 = HEAP32[$$idx>>2]|0;
$75 = ($73>>>0)<($74>>>0);
if ($75) {
$$017$i35 = $73;
} else {
$83 = $74;
break;
}
}
}
$76 = (($$050) + 1)|0;
$77 = HEAP32[$$idx34>>2]|0;
$78 = ($76>>>0)<($77>>>0);
if ($78) {
$$050 = $76;$53 = $83;
} else {
break;
}
}
}
$$pre51 = HEAP32[$4>>2]|0;
$$pre$phiZ2D = $$idx;$82 = $$pre51;
break;
}
}
$41 = ((($0)) + 4|0);
$42 = HEAP32[$41>>2]|0;
$43 = HEAP32[$$idx>>2]|0;
$44 = $43 << 4;
$45 = (FUNCTION_TABLE_ii[$42 & 63]($44)|0);
HEAP32[$7>>2] = $45;
$46 = ($45|0)==(0|0);
if ($46) {
$$033 = 0;
STACKTOP = sp;return ($$033|0);
}
$47 = (_liq_image_get_row_f($0,$1)|0);
$$033 = $47;
STACKTOP = sp;return ($$033|0);
} else {
$$pre53 = ((($0)) + 32|0);
$$pre$phiZ2D = $$pre53;$82 = $5;
}
} while(0);
$79 = HEAP32[$$pre$phiZ2D>>2]|0;
$80 = Math_imul($79, $1)|0;
$81 = (($82) + ($80<<4)|0);
$$033 = $81;
STACKTOP = sp;return ($$033|0);
}
function _liq_set_dithering_level($0,$1) {
$0 = $0|0;
$1 = +$1;
var $$0 = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$2 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if (!($2)) {
$$0 = 105;
return ($$0|0);
}
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
$6 = (_liq_crash_if_invalid_handle_pointer_given($4,18253)|0);
if ($6) {
$7 = ((($4)) + 16|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
if (!($9)) {
_pam_freecolormap($8);
}
$10 = ((($4)) + 12|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0|0);
$$pre$i = ((($4)) + 8|0);
if (!($12)) {
$13 = HEAP32[$$pre$i>>2]|0;
FUNCTION_TABLE_vi[$13 & 127]($11);
}
HEAP32[$4>>2] = 18202;
$14 = HEAP32[$$pre$i>>2]|0;
FUNCTION_TABLE_vi[$14 & 127]($4);
}
HEAP32[$3>>2] = 0;
}
$15 = ((($0)) + 1056|0);
$16 = +HEAPF32[$15>>2];
$17 = $16 < 0.0;
$18 = $16 > 1.0;
$or$cond = $17 | $18;
if ($or$cond) {
$$0 = 100;
return ($$0|0);
}
HEAPF32[$15>>2] = $1;
$$0 = 0;
return ($$0|0);
}
function _liq_get_output_gamma($0) {
$0 = $0|0;
var $$0 = 0.0, $1 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if (!($1)) {
$$0 = -1.0;
return (+$$0);
}
$2 = ((($0)) + 1064|0);
$3 = +HEAPF64[$2>>3];
$$0 = $3;
return (+$$0);
}
function _liq_result_destroy($0) {
$0 = $0|0;
var $$pre$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if (!($1)) {
return;
}
$2 = ((($0)) + 28|0);
_memset(($2|0),0,1028)|0;
$3 = ((($0)) + 12|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
$6 = ((($4)) + 28|0);
_memset(($6|0),0,1028)|0;
$7 = HEAP32[$3>>2]|0;
$8 = (_liq_crash_if_invalid_handle_pointer_given($7,18253)|0);
if ($8) {
$9 = ((($7)) + 16|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if (!($11)) {
_pam_freecolormap($10);
}
$12 = ((($7)) + 12|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
$$pre$i = ((($7)) + 8|0);
if (!($14)) {
$15 = HEAP32[$$pre$i>>2]|0;
FUNCTION_TABLE_vi[$15 & 127]($13);
}
HEAP32[$7>>2] = 18202;
$16 = HEAP32[$$pre$i>>2]|0;
FUNCTION_TABLE_vi[$16 & 127]($7);
}
}
$17 = ((($0)) + 16|0);
$18 = HEAP32[$17>>2]|0;
_pam_freecolormap($18);
HEAP32[$0>>2] = 18202;
$19 = ((($0)) + 8|0);
$20 = HEAP32[$19>>2]|0;
FUNCTION_TABLE_vi[$20 & 127]($0);
return;
}
function _liq_get_quantization_error($0) {
$0 = $0|0;
var $$0 = 0.0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if (!($1)) {
$$0 = -1.0;
return (+$$0);
}
$2 = ((($0)) + 1072|0);
$3 = +HEAPF64[$2>>3];
$4 = !($3 >= 0.0);
if ($4) {
$$0 = -1.0;
return (+$$0);
}
$5 = $3 * 65536.0;
$6 = $5 / 6.0;
$$0 = $6;
return (+$$0);
}
function _liq_get_quantization_quality($0) {
$0 = $0|0;
var $$0 = 0, $$0$i$i = 0.0, $$068$i = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0.0, $4 = 0, $5 = 0.0;
var $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $cond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if (!($1)) {
$$0 = -1;
return ($$0|0);
}
$2 = ((($0)) + 1072|0);
$3 = +HEAPF64[$2>>3];
$4 = !($3 >= 0.0);
if ($4) {
$$0 = -1;
return ($$0|0);
} else {
$$068$i = 100;
}
while(1) {
$cond$i = ($$068$i|0)==(100);
if ($cond$i) {
$$0$i$i = 0.0;
} else {
$5 = (+($$068$i|0));
$6 = $5 + 0.001;
$7 = 0.016 / $6;
$8 = $7 + -0.001;
$9 = $8 < 0.0;
$10 = $9 ? 0.0 : $8;
$11 = $5 + 210.0;
$12 = (+Math_pow((+$11),1.2));
$13 = 2.5 / $12;
$14 = 100.09999999999999 - $5;
$15 = $14 * $13;
$16 = $15 / 100.0;
$17 = $10 + $16;
$$0$i$i = $17;
}
$18 = $$0$i$i + 9.9999999999999995E-7;
$19 = !($18 >= $3);
if (!($19)) {
$$0 = $$068$i;
label = 7;
break;
}
$20 = (($$068$i) + -1)|0;
$21 = ($$068$i|0)>(1);
if ($21) {
$$068$i = $20;
} else {
$$0 = 0;
label = 7;
break;
}
}
if ((label|0) == 7) {
return ($$0|0);
}
return (0)|0;
}
function _liq_get_palette($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if (!($1)) {
$$0 = 0;
return ($$0|0);
}
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if (!($4)) {
$5 = ((($3)) + 28|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0);
if (!($7)) {
$$0 = $5;
return ($$0|0);
}
}
$8 = ((($0)) + 28|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0);
if (!($10)) {
$$0 = $8;
return ($$0|0);
}
$11 = ((($0)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($0)) + 1064|0);
$14 = +HEAPF64[$13>>3];
$15 = ((($0)) + 1080|0);
$16 = HEAP32[$15>>2]|0;
_set_rounded_palette($8,$12,$14,$16);
$$0 = $8;
return ($$0|0);
}
function _set_rounded_palette($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = +$2;
$3 = $3|0;
var $$ = 0, $$047 = 0, $$45 = 0, $$46 = 0, $$sink$i = 0, $$sink25$i = 0, $$sink26$i = 0, $$sink27$i = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$026$0 = 0, $$sroa$032$0$$sroa_idx = 0, $$sroa$032$0$copyload = 0.0, $$sroa$13$0 = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$434$0$$sroa_idx35 = 0, $$sroa$434$0$copyload = 0.0, $$sroa$5$0$$sroa_idx37 = 0, $$sroa$5$0$copyload = 0.0;
var $$sroa$6$0$$sroa_idx39 = 0, $$sroa$6$0$copyload = 0.0, $$sroa$8$0 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0;
var $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0;
var $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0);
$4 = sp;
_to_f_set_gamma($4,$2);
$5 = HEAP32[$1>>2]|0;
HEAP32[$0>>2] = $5;
$6 = HEAP32[$1>>2]|0;
$7 = ($6|0)==(0);
if ($7) {
STACKTOP = sp;return;
}
$8 = -1 << $3;
$9 = (8 - ($3))|0;
$10 = $2;
$11 = $10;
$12 = $11 / 0.54990000000000006;
$13 = $12;
$$047 = 0;
while(1) {
$$sroa$032$0$$sroa_idx = (((($1)) + 12|0) + (($$047*24)|0)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$032$0$$sroa_idx>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$032$0$$sroa_idx+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$032$0$$sroa_idx+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$032$0$$sroa_idx+3>>0];$$sroa$032$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$434$0$$sroa_idx35 = (((((($1)) + 12|0) + (($$047*24)|0)|0)) + 4|0);
$$sroa$5$0$$sroa_idx37 = (((((($1)) + 12|0) + (($$047*24)|0)|0)) + 8|0);
$$sroa$6$0$$sroa_idx39 = (((((($1)) + 12|0) + (($$047*24)|0)|0)) + 12|0);
$14 = $$sroa$032$0$copyload < 0.00390625;
if ($14) {
$$sink$i = 0;$$sink25$i = 0;$$sink26$i = 0;$$sink27$i = 0;
} else {
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx39>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx39+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx39+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx39+3>>0];$$sroa$6$0$copyload = +HEAPF32[tempDoublePtr>>2];
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx37>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx37+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx37+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx37+3>>0];$$sroa$5$0$copyload = +HEAPF32[tempDoublePtr>>2];
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$434$0$$sroa_idx35>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$434$0$$sroa_idx35+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$434$0$$sroa_idx35+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$434$0$$sroa_idx35+3>>0];$$sroa$434$0$copyload = +HEAPF32[tempDoublePtr>>2];
$15 = $$sroa$434$0$copyload / $$sroa$032$0$copyload;
$16 = $$sroa$5$0$copyload / $$sroa$032$0$copyload;
$17 = $$sroa$6$0$copyload / $$sroa$032$0$copyload;
$18 = (+Math_pow((+$15),(+$13)));
$19 = (+Math_pow((+$16),(+$13)));
$20 = (+Math_pow((+$17),(+$13)));
$21 = $18 * 256.0;
$22 = $19 * 256.0;
$23 = $20 * 256.0;
$24 = $$sroa$032$0$copyload * 256.0;
$25 = $21 >= 255.0;
$26 = $25 ? 255.0 : $21;
$27 = (~~(($26))&255);
$28 = $22 >= 255.0;
$29 = $28 ? 255.0 : $22;
$30 = (~~(($29))&255);
$31 = $23 >= 255.0;
$32 = $31 ? 255.0 : $23;
$33 = (~~(($32))&255);
$34 = $24 >= 255.0;
$35 = $34 ? 255.0 : $24;
$36 = (~~(($35))&255);
$$sink$i = $36;$$sink25$i = $33;$$sink26$i = $30;$$sink27$i = $27;
}
$37 = $$sink27$i&255;
$38 = $37 & $8;
$39 = $37 >>> $9;
$40 = $38 | $39;
$41 = $40&255;
$42 = $$sink26$i&255;
$43 = $42 & $8;
$44 = $42 >>> $9;
$45 = $43 | $44;
$46 = $45&255;
$47 = $$sink25$i&255;
$48 = $47 & $8;
$49 = $47 >>> $9;
$50 = $48 | $49;
$51 = $50&255;
$52 = $$sink$i&255;
$53 = $52 & $8;
$54 = $52 >>> $9;
$55 = $53 | $54;
$56 = $55&255;
$57 = (+($56&255));
$58 = $57 / 255.0;
$59 = $40 & 255;
$60 = (($4) + ($59<<2)|0);
$61 = +HEAPF32[$60>>2];
$62 = $61 * $58;
$63 = $45 & 255;
$64 = (($4) + ($63<<2)|0);
$65 = +HEAPF32[$64>>2];
$66 = $65 * $58;
$67 = $50 & 255;
$68 = (($4) + ($67<<2)|0);
$69 = +HEAPF32[$68>>2];
$70 = $69 * $58;
HEAPF32[$$sroa$032$0$$sroa_idx>>2] = $58;
HEAPF32[$$sroa$434$0$$sroa_idx35>>2] = $62;
HEAPF32[$$sroa$5$0$$sroa_idx37>>2] = $66;
HEAPF32[$$sroa$6$0$$sroa_idx39>>2] = $70;
$71 = ($56<<24>>24)==(0);
if ($71) {
$72 = (((((($1)) + 12|0) + (($$047*24)|0)|0)) + 20|0);
$73 = HEAP8[$72>>0]|0;
$74 = ($73<<24>>24)==(0);
$$ = $74 ? 71 : $41;
$$45 = $74 ? 112 : $46;
$$46 = $74 ? 76 : $51;
$$sroa$026$0 = $$;$$sroa$13$0 = $$46;$$sroa$8$0 = $$45;
} else {
$$sroa$026$0 = $41;$$sroa$13$0 = $51;$$sroa$8$0 = $46;
}
$$sroa$0$0$$sroa_idx = (((($0)) + 4|0) + ($$047<<2)|0);
HEAP8[$$sroa$0$0$$sroa_idx>>0] = $$sroa$026$0;
$$sroa$2$0$$sroa_idx = (((((($0)) + 4|0) + ($$047<<2)|0)) + 1|0);
HEAP8[$$sroa$2$0$$sroa_idx>>0] = $$sroa$8$0;
$$sroa$3$0$$sroa_idx = (((((($0)) + 4|0) + ($$047<<2)|0)) + 2|0);
HEAP8[$$sroa$3$0$$sroa_idx>>0] = $$sroa$13$0;
$$sroa$4$0$$sroa_idx = (((((($0)) + 4|0) + ($$047<<2)|0)) + 3|0);
HEAP8[$$sroa$4$0$$sroa_idx>>0] = $56;
$75 = (($$047) + 1)|0;
$76 = HEAP32[$1>>2]|0;
$77 = ($75>>>0)<($76>>>0);
if ($77) {
$$047 = $75;
} else {
break;
}
}
STACKTOP = sp;return;
}
function _liq_write_remapped_image_rows($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$073$i = 0, $$$073$us84$i = 0, $$$2$us$us$i$us = 0, $$$2$us86$i = 0, $$$i$i = 0.0, $$0$$i$i = 0.0, $$0$75$i$i = 0.0, $$0$i$i = 0.0, $$0229272$i = 0, $$0229272$i$phi = 0, $$0230271$i = 0, $$0230271$i$phi = 0, $$0233$i = 0.0, $$0234$i = 0.0, $$0235270$i = 0, $$0236$i = 0, $$0237269$i = 0, $$0238268$i = 0, $$060 = 0.0, $$06281 = 0;
var $$07197$i = 0, $$07197$i$us = 0, $$07281$i = 0, $$07281$us$us$i$us = 0, $$07281$us82$i = 0, $$073$i$i = 0.0, $$073$lcssa$i = 0, $$073$lcssa$i$us = 0, $$07380$i = 0, $$07380$us$us$i$us = 0, $$07380$us83$i = 0, $$07596$i = 0, $$07596$i$us = 0, $$099$i = 0, $$1$$i$i = 0.0, $$1$76$i$i = 0.0, $$1$i$i = 0.0, $$1$i67 = 0, $$1$i67$us = 0, $$1$i71 = 0;
var $$161 = 0.0, $$17688$i = 0, $$17688$i$us = 0, $$2$i$i = 0.0, $$277$i = 0, $$277$i$us = 0, $$3$i$i = 0.0, $$4 = 0, $$74$i$i = 0.0, $$not = 0, $$not82 = 0, $$pre = 0, $$pre$i = 0, $$pre$i68 = 0, $$pre$i68$us = 0, $$pre$phi127$iZ2D = 0, $$pre121$i = 0, $$pre122$i = 0, $$pre123$i$us = 0, $$pre124$i = 0;
var $$pre126$i = 0, $$sroa$0$0$$sroa_idx$i72 = 0, $$sroa$0$0$copyload$i = 0.0, $$sroa$0$0$i = 0.0, $$sroa$0249$0$$sroa_idx250$i = 0, $$sroa$0249$0$copyload251$i = 0.0, $$sroa$045$0$$sroa_idx$i = 0, $$sroa$045$0$copyload$i = 0.0, $$sroa$10$0$$sroa_idx12$i = 0, $$sroa$13$0$$sroa_raw_idx$i = 0, $$sroa$14$0$i = 0.0, $$sroa$27$0$i = 0.0, $$sroa$3$0$$sroa_idx1$i = 0, $$sroa$4$0$$sroa_idx2$i = 0, $$sroa$4$0$$sroa_idx240$i = 0, $$sroa$4$0$$sroa_idx47$i = 0, $$sroa$4$0$copyload$i = 0.0, $$sroa$4$0$copyload241$i = 0.0, $$sroa$40$0$i = 0.0, $$sroa$5$0$$sroa_idx243$i = 0;
var $$sroa$5$0$$sroa_idx3$i = 0, $$sroa$5$0$$sroa_idx49$i = 0, $$sroa$5$0$copyload$i = 0.0, $$sroa$5$0$copyload244$i = 0.0, $$sroa$5253$0$$sroa_idx255$i = 0, $$sroa$5253$0$copyload256$i = 0.0, $$sroa$54$0$$sroa_idx5$i = 0, $$sroa$6$0$$sroa_idx246$i = 0, $$sroa$6$0$$sroa_idx51$i = 0, $$sroa$6$0$$sroa_idx6$i = 0, $$sroa$6$0$copyload$i = 0.0, $$sroa$6$0$copyload247$i = 0.0, $$sroa$6258$0$$sroa_idx260$i = 0, $$sroa$6258$0$copyload261$i = 0.0, $$sroa$7$0$$sroa_idx264$i = 0, $$sroa$7$0$$sroa_idx7$i = 0, $$sroa$7$0$copyload265$i = 0.0, $$sroa$8$0$$sroa_idx$i = 0, $$sroa$89$0$$sroa_idx10$i = 0, $$sroa$9$0$$sroa_idx11$i = 0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0;
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
var $154 = 0, $155 = 0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0;
var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0.0, $185 = 0, $186 = 0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0;
var $190 = 0.0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0, $218 = 0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0.0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0, $232 = 0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0;
var $263 = 0.0, $264 = 0, $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0, $28 = 0, $280 = 0.0;
var $281 = 0.0, $282 = 0, $283 = 0.0, $284 = 0, $285 = 0, $286 = 0.0, $287 = 0.0, $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0;
var $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0;
var $317 = 0.0, $318 = 0.0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0;
var $335 = 0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0.0, $349 = 0.0, $35 = 0, $350 = 0.0, $351 = 0, $352 = 0.0;
var $353 = 0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0, $364 = 0.0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0.0, $37 = 0, $370 = 0.0;
var $371 = 0, $372 = 0.0, $373 = 0.0, $374 = 0.0, $375 = 0, $376 = 0.0, $377 = 0.0, $378 = 0.0, $379 = 0, $38 = 0, $380 = 0.0, $381 = 0.0, $382 = 0.0, $383 = 0, $384 = 0.0, $385 = 0.0, $386 = 0.0, $387 = 0, $388 = 0.0, $389 = 0.0;
var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0.0, $394 = 0.0, $395 = 0.0, $396 = 0, $397 = 0.0, $398 = 0.0, $399 = 0.0, $4 = 0, $40 = 0, $400 = 0, $401 = 0.0, $402 = 0.0, $403 = 0.0, $404 = 0, $405 = 0.0, $406 = 0.0;
var $407 = 0.0, $408 = 0, $409 = 0.0, $41 = 0, $410 = 0, $411 = 0.0, $412 = 0, $413 = 0.0, $414 = 0, $415 = 0.0, $416 = 0, $417 = 0.0, $418 = 0.0, $419 = 0.0, $42 = 0, $420 = 0, $421 = 0.0, $422 = 0.0, $423 = 0.0, $424 = 0;
var $425 = 0.0, $426 = 0.0, $427 = 0.0, $428 = 0, $429 = 0.0, $43 = 0, $430 = 0.0, $431 = 0.0, $432 = 0, $433 = 0, $434 = 0.0, $435 = 0.0, $436 = 0.0, $437 = 0, $438 = 0.0, $439 = 0.0, $44 = 0.0, $440 = 0.0, $441 = 0, $442 = 0.0;
var $443 = 0.0, $444 = 0.0, $445 = 0, $446 = 0.0, $447 = 0.0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0.0, $460 = 0;
var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0.0, $466 = 0, $467 = 0.0, $468 = 0, $469 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0.0;
var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond$i = 0, $exitcond108$i = 0, $exitcond114$i$us = 0, $exitcond117$i = 0, $exitcond117$i$us = 0, $exitcond118$i = 0, $exitcond118$i$us = 0, $exitcond119$i = 0, $indvars$iv$next113$i = 0, $indvars$iv$next113$i$us = 0, $indvars$iv$next116$i = 0, $indvars$iv$next116$i$us = 0;
var $indvars$iv112$i = 0, $indvars$iv112$i$us = 0, $indvars$iv115$i = 0, $indvars$iv115$i$us = 0, $or$cond$i = 0, $or$cond$i$us = 0, $storemerge$i = 0.0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if (!($4)) {
$$4 = 105;
STACKTOP = sp;return ($$4|0);
}
$5 = (_liq_crash_if_invalid_handle_pointer_given($1,18274)|0);
if (!($5)) {
$$4 = 105;
STACKTOP = sp;return ($$4|0);
}
$6 = ((($1)) + 36|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0);
L7: do {
if (!($8)) {
$$06281 = 0;
while(1) {
$12 = (($2) + ($$06281<<2)|0);
$13 = (_liq_crash_if_invalid_pointer_given($12)|0);
if (!($13)) {
$$4 = 105;
label = 107;
break;
}
$14 = HEAP32[$12>>2]|0;
$15 = (_liq_crash_if_invalid_pointer_given($14)|0);
$10 = (($$06281) + 1)|0;
if (!($15)) {
$$4 = 105;
label = 107;
break;
}
$9 = HEAP32[$6>>2]|0;
$11 = ($10>>>0)<($9>>>0);
if ($11) {
$$06281 = $10;
} else {
break L7;
}
}
if ((label|0) == 107) {
STACKTOP = sp;return ($$4|0);
}
}
} while(0);
$16 = ((($0)) + 12|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(0|0);
if (!($18)) {
$19 = (_liq_crash_if_invalid_handle_pointer_given($17,18253)|0);
if ($19) {
$20 = ((($17)) + 16|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==(0|0);
if (!($22)) {
_pam_freecolormap($21);
}
$23 = ((($17)) + 12|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==(0|0);
$$pre$i = ((($17)) + 8|0);
if (!($25)) {
$26 = HEAP32[$$pre$i>>2]|0;
FUNCTION_TABLE_vi[$26 & 127]($24);
}
HEAP32[$17>>2] = 18202;
$27 = HEAP32[$$pre$i>>2]|0;
FUNCTION_TABLE_vi[$27 & 127]($17);
}
}
$28 = (_liq_crash_if_invalid_handle_pointer_given($0,18242)|0);
if ($28) {
$29 = ((($0)) + 4|0);
$30 = HEAP32[$29>>2]|0;
$31 = (FUNCTION_TABLE_ii[$30 & 63](1080)|0);
$32 = ($31|0)==(0|0);
if (!($32)) {
$33 = HEAP32[$29>>2]|0;
$34 = ((($0)) + 8|0);
$35 = HEAP32[$34>>2]|0;
$36 = ((($0)) + 16|0);
$37 = HEAP32[$36>>2]|0;
$38 = (_pam_duplicate_colormap($37)|0);
$39 = ((($0)) + 20|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($0)) + 24|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($0)) + 1064|0);
$44 = +HEAPF64[$43>>3];
$45 = ((($0)) + 1072|0);
$46 = +HEAPF64[$45>>3];
$47 = ((($0)) + 1056|0);
$48 = HEAP32[$47>>2]|0;
$49 = ((($0)) + 1084|0);
$50 = HEAP8[$49>>0]|0;
$51 = ($50<<24>>24)!=(0);
$52 = $51 ? 20 : 0;
HEAP32[$31>>2] = 18253;
$$sroa$3$0$$sroa_idx1$i = ((($31)) + 4|0);
HEAP32[$$sroa$3$0$$sroa_idx1$i>>2] = $33;
$$sroa$4$0$$sroa_idx2$i = ((($31)) + 8|0);
HEAP32[$$sroa$4$0$$sroa_idx2$i>>2] = $35;
$$sroa$5$0$$sroa_idx3$i = ((($31)) + 12|0);
HEAP32[$$sroa$5$0$$sroa_idx3$i>>2] = 0;
$$sroa$54$0$$sroa_idx5$i = ((($31)) + 16|0);
HEAP32[$$sroa$54$0$$sroa_idx5$i>>2] = $38;
$$sroa$6$0$$sroa_idx6$i = ((($31)) + 20|0);
HEAP32[$$sroa$6$0$$sroa_idx6$i>>2] = $40;
$$sroa$7$0$$sroa_idx7$i = ((($31)) + 24|0);
HEAP32[$$sroa$7$0$$sroa_idx7$i>>2] = $42;
$$sroa$8$0$$sroa_idx$i = ((($31)) + 28|0);
_memset(($$sroa$8$0$$sroa_idx$i|0),0,1028)|0;
$$sroa$89$0$$sroa_idx10$i = ((($31)) + 1056|0);
HEAPF64[$$sroa$89$0$$sroa_idx10$i>>3] = $44;
$$sroa$9$0$$sroa_idx11$i = ((($31)) + 1064|0);
HEAPF64[$$sroa$9$0$$sroa_idx11$i>>3] = $46;
$$sroa$10$0$$sroa_idx12$i = ((($31)) + 1072|0);
HEAP32[$$sroa$10$0$$sroa_idx12$i>>2] = $48;
$53 = ((($31)) + 1076|0);
HEAP8[$53>>0] = $50;
$54 = ((($31)) + 1077|0);
HEAP8[$54>>0] = $52;
$$sroa$13$0$$sroa_raw_idx$i = ((($31)) + 1078|0);
HEAP16[$$sroa$13$0$$sroa_raw_idx$i>>1] = 0;
HEAP32[$16>>2] = $31;
$55 = ((($1)) + 44|0);
$56 = HEAP32[$55>>2]|0;
$57 = ($56|0)==(0|0);
$58 = $40;
if ($57) {
$59 = ((($1)) + 48|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)==(0|0);
if ($61) {
$62 = HEAP8[$49>>0]|0;
$63 = ($62<<24>>24)==(0);
if ($63) {
$64 = $58;
} else {
_contrast_maps($1);
$$pre = HEAP32[$$sroa$6$0$$sroa_idx6$i>>2]|0;
$64 = $$pre;
}
} else {
$64 = $58;
}
} else {
$64 = $58;
}
$65 = ($64|0)==(0|0);
if (!($65)) {
$66 = HEAP8[$54>>0]|0;
$67 = (+($66&255));
$68 = $67 * 0.25;
$69 = HEAP32[$$sroa$7$0$$sroa_idx7$i>>2]|0;
$70 = (FUNCTION_TABLE_idi[$64 & 0]($68,$69)|0);
$71 = ($70|0)==(0);
if ($71) {
$$4 = 102;
STACKTOP = sp;return ($$4|0);
}
}
$72 = +HEAPF64[$$sroa$9$0$$sroa_idx11$i>>3];
$73 = $72;
$74 = +HEAPF32[$$sroa$10$0$$sroa_idx12$i>>2];
$75 = $74 == 0.0;
do {
if ($75) {
$76 = HEAP32[$$sroa$54$0$$sroa_idx5$i>>2]|0;
$77 = +HEAPF64[$$sroa$89$0$$sroa_idx10$i>>3];
$78 = ((($0)) + 1080|0);
$79 = HEAP32[$78>>2]|0;
_set_rounded_palette($$sroa$8$0$$sroa_idx$i,$76,$77,$79);
$80 = HEAP32[$$sroa$54$0$$sroa_idx5$i>>2]|0;
$81 = (+_remap_to_palette($1,$2,$80));
$$161 = $81;
} else {
$82 = HEAP8[$53>>0]|0;
$83 = ($82<<24>>24)==(0);
if ($83) {
$$060 = $73;$468 = 0;
} else {
$84 = HEAP32[$55>>2]|0;
$85 = ($84|0)==(0|0);
if ($85) {
$$060 = $73;$468 = 0;
} else {
$86 = ((($1)) + 48|0);
$87 = HEAP32[$86>>2]|0;
$88 = ($87|0)==(0|0);
if ($88) {
$89 = HEAP32[$$sroa$54$0$$sroa_idx5$i>>2]|0;
$90 = (+_remap_to_palette($1,$2,$89));
$91 = ((($1)) + 32|0);
$92 = HEAP32[$91>>2]|0;
$93 = HEAP32[$6>>2]|0;
$94 = HEAP32[$55>>2]|0;
$95 = ($93|0)==(0);
if ($95) {
$96 = $94;
$174 = $96;
} else {
$97 = ($92>>>0)>(1);
$98 = (($92) + -1)|0;
$99 = (($93) + -1)|0;
$$099$i = 0;
while(1) {
$100 = (($2) + ($$099$i<<2)|0);
L50: do {
if ($97) {
$101 = HEAP32[$100>>2]|0;
$102 = HEAP8[$101>>0]|0;
$103 = ($$099$i|0)==(0);
$104 = ($$099$i>>>0)<($99>>>0);
$105 = (($$099$i) + 1)|0;
$106 = (($2) + ($105<<2)|0);
$107 = (($$099$i) + -1)|0;
$108 = (($2) + ($107<<2)|0);
$109 = Math_imul($$099$i, $92)|0;
if ($103) {
$$not82 = $104 ^ 1;
$$07197$i$us = $102;$$07596$i$us = 0;$111 = $101;$indvars$iv112$i$us = 1;$indvars$iv115$i$us = 2;
while(1) {
$110 = (($111) + ($indvars$iv112$i$us)|0);
$112 = HEAP8[$110>>0]|0;
$113 = ($112<<24>>24)!=($$07197$i$us<<24>>24);
$114 = ($indvars$iv112$i$us|0)==($98|0);
$or$cond$i$us = $114 | $113;
do {
if ($or$cond$i$us) {
$115 = (($indvars$iv112$i$us) - ($$07596$i$us))|0;
$116 = ($115*10)|0;
$$not = ($indvars$iv112$i$us>>>0)<=($$07596$i$us>>>0);
$brmerge = $$not | $$not82;
if ($brmerge) {
$$073$lcssa$i$us = $116;
} else {
$$pre123$i$us = HEAP32[$106>>2]|0;
$$07281$us$us$i$us = $$07596$i$us;$$07380$us$us$i$us = $116;
while(1) {
$117 = (($$pre123$i$us) + ($$07281$us$us$i$us)|0);
$118 = HEAP8[$117>>0]|0;
$119 = ($118<<24>>24)==($$07197$i$us<<24>>24);
$120 = (($$07380$us$us$i$us) + 15)|0;
$$$2$us$us$i$us = $119 ? $120 : $$07380$us$us$i$us;
$121 = (($$07281$us$us$i$us) + 1)|0;
$exitcond114$i$us = ($121|0)==($indvars$iv112$i$us|0);
if ($exitcond114$i$us) {
$$073$lcssa$i$us = $$$2$us$us$i$us;
break;
} else {
$$07281$us$us$i$us = $121;$$07380$us$us$i$us = $$$2$us$us$i$us;
}
}
}
$122 = ($indvars$iv112$i$us>>>0)<($$07596$i$us>>>0);
if ($122) {
$$1$i67$us = $112;$$277$i$us = $$07596$i$us;
break;
}
$123 = (($$073$lcssa$i$us) + 20)|0;
$124 = (+($123|0));
$125 = 20.0 / $124;
$126 = 1.0 - $125;
$$17688$i$us = $$07596$i$us;
while(1) {
$127 = (($$17688$i$us) + ($109))|0;
$128 = (($94) + ($127)|0);
$129 = HEAP8[$128>>0]|0;
$130 = $129&255;
$131 = (($130) + 128)|0;
$132 = (+($131|0));
$133 = $132 * 0.66579633951187134;
$134 = $126 * $133;
$135 = (~~(($134))&255);
$136 = (($$17688$i$us) + 1)|0;
HEAP8[$128>>0] = $135;
$exitcond117$i$us = ($136|0)==($indvars$iv115$i$us|0);
if ($exitcond117$i$us) {
$$1$i67$us = $112;$$277$i$us = $indvars$iv115$i$us;
break;
} else {
$$17688$i$us = $136;
}
}
} else {
$$1$i67$us = $$07197$i$us;$$277$i$us = $$07596$i$us;
}
} while(0);
$exitcond118$i$us = ($indvars$iv115$i$us|0)==($92|0);
if ($exitcond118$i$us) {
$$pre$phi127$iZ2D = $105;
break L50;
}
$indvars$iv$next116$i$us = (($indvars$iv115$i$us) + 1)|0;
$indvars$iv$next113$i$us = (($indvars$iv112$i$us) + 1)|0;
$$pre$i68$us = HEAP32[$100>>2]|0;
$$07197$i$us = $$1$i67$us;$$07596$i$us = $$277$i$us;$111 = $$pre$i68$us;$indvars$iv112$i$us = $indvars$iv$next113$i$us;$indvars$iv115$i$us = $indvars$iv$next116$i$us;
}
} else {
$$07197$i = $102;$$07596$i = 0;$138 = $101;$indvars$iv112$i = 1;$indvars$iv115$i = 2;
}
while(1) {
$137 = (($138) + ($indvars$iv112$i)|0);
$139 = HEAP8[$137>>0]|0;
$140 = ($139<<24>>24)!=($$07197$i<<24>>24);
$141 = ($indvars$iv112$i|0)==($98|0);
$or$cond$i = $141 | $140;
do {
if ($or$cond$i) {
$142 = (($indvars$iv112$i) - ($$07596$i))|0;
$143 = ($142*10)|0;
$144 = ($indvars$iv112$i>>>0)>($$07596$i>>>0);
L72: do {
if ($144) {
$$pre121$i = HEAP32[$108>>2]|0;
if (!($104)) {
$$07281$i = $$07596$i;$$07380$i = $143;
while(1) {
$159 = (($$pre121$i) + ($$07281$i)|0);
$160 = HEAP8[$159>>0]|0;
$161 = ($160<<24>>24)==($$07197$i<<24>>24);
$162 = (($$07380$i) + 15)|0;
$$$073$i = $161 ? $162 : $$07380$i;
$163 = (($$07281$i) + 1)|0;
$exitcond$i = ($163|0)==($indvars$iv112$i|0);
if ($exitcond$i) {
$$073$lcssa$i = $$$073$i;
break L72;
} else {
$$07281$i = $163;$$07380$i = $$$073$i;
}
}
}
$$pre122$i = HEAP32[$106>>2]|0;
$$07281$us82$i = $$07596$i;$$07380$us83$i = $143;
while(1) {
$145 = (($$pre121$i) + ($$07281$us82$i)|0);
$146 = HEAP8[$145>>0]|0;
$147 = ($146<<24>>24)==($$07197$i<<24>>24);
$148 = (($$07380$us83$i) + 15)|0;
$$$073$us84$i = $147 ? $148 : $$07380$us83$i;
$149 = (($$pre122$i) + ($$07281$us82$i)|0);
$150 = HEAP8[$149>>0]|0;
$151 = ($150<<24>>24)==($$07197$i<<24>>24);
$152 = (($$$073$us84$i) + 15)|0;
$$$2$us86$i = $151 ? $152 : $$$073$us84$i;
$153 = (($$07281$us82$i) + 1)|0;
$exitcond108$i = ($153|0)==($indvars$iv112$i|0);
if ($exitcond108$i) {
$$073$lcssa$i = $$$2$us86$i;
break;
} else {
$$07281$us82$i = $153;$$07380$us83$i = $$$2$us86$i;
}
}
} else {
$$073$lcssa$i = $143;
}
} while(0);
$154 = ($indvars$iv112$i>>>0)<($$07596$i>>>0);
if ($154) {
$$1$i67 = $139;$$277$i = $$07596$i;
break;
}
$155 = (($$073$lcssa$i) + 20)|0;
$156 = (+($155|0));
$157 = 20.0 / $156;
$158 = 1.0 - $157;
$$17688$i = $$07596$i;
while(1) {
$164 = (($$17688$i) + ($109))|0;
$165 = (($94) + ($164)|0);
$166 = HEAP8[$165>>0]|0;
$167 = $166&255;
$168 = (($167) + 128)|0;
$169 = (+($168|0));
$170 = $169 * 0.66579633951187134;
$171 = $158 * $170;
$172 = (~~(($171))&255);
$173 = (($$17688$i) + 1)|0;
HEAP8[$165>>0] = $172;
$exitcond117$i = ($173|0)==($indvars$iv115$i|0);
if ($exitcond117$i) {
$$1$i67 = $139;$$277$i = $indvars$iv115$i;
break;
} else {
$$17688$i = $173;
}
}
} else {
$$1$i67 = $$07197$i;$$277$i = $$07596$i;
}
} while(0);
$exitcond118$i = ($indvars$iv115$i|0)==($92|0);
if ($exitcond118$i) {
$$pre$phi127$iZ2D = $105;
break L50;
}
$indvars$iv$next116$i = (($indvars$iv115$i) + 1)|0;
$indvars$iv$next113$i = (($indvars$iv112$i) + 1)|0;
$$pre$i68 = HEAP32[$100>>2]|0;
$$07197$i = $$1$i67;$$07596$i = $$277$i;$138 = $$pre$i68;$indvars$iv112$i = $indvars$iv$next113$i;$indvars$iv115$i = $indvars$iv$next116$i;
}
} else {
$$pre126$i = (($$099$i) + 1)|0;
$$pre$phi127$iZ2D = $$pre126$i;
}
} while(0);
$exitcond119$i = ($$pre$phi127$iZ2D|0)==($93|0);
if ($exitcond119$i) {
break;
} else {
$$099$i = $$pre$phi127$iZ2D;
}
}
$$pre124$i = HEAP32[$55>>2]|0;
$174 = $$pre124$i;
}
HEAP32[$86>>2] = $174;
HEAP32[$55>>2] = 0;
$$060 = $90;$468 = 1;
} else {
$$060 = $73;$468 = 0;
}
}
}
$175 = HEAP32[$$sroa$6$0$$sroa_idx6$i>>2]|0;
$176 = ($175|0)==(0|0);
if (!($176)) {
$177 = HEAP8[$54>>0]|0;
$178 = (+($177&255));
$179 = $178 * 0.5;
$180 = HEAP32[$$sroa$7$0$$sroa_idx7$i>>2]|0;
$181 = (FUNCTION_TABLE_idi[$175 & 0]($179,$180)|0);
$182 = ($181|0)==(0);
if ($182) {
$$4 = 102;
STACKTOP = sp;return ($$4|0);
}
}
$183 = HEAP32[$$sroa$54$0$$sroa_idx5$i>>2]|0;
$184 = +HEAPF64[$$sroa$89$0$$sroa_idx10$i>>3];
$185 = ((($0)) + 1080|0);
$186 = HEAP32[$185>>2]|0;
_set_rounded_palette($$sroa$8$0$$sroa_idx$i,$183,$184,$186);
$187 = $$060;
$188 = $187 * 2.3999999999999999;
$189 = $188 > 0.0625;
$190 = $189 ? $188 : 0.0625;
$191 = $190;
$192 = HEAP32[$6>>2]|0;
$193 = ((($1)) + 32|0);
$194 = HEAP32[$193>>2]|0;
$195 = HEAP8[$53>>0]|0;
$196 = ($195<<24>>24)==(0);
if ($196) {
$217 = 0;
} else {
$197 = ((($1)) + 48|0);
$198 = HEAP32[$197>>2]|0;
$199 = ($198|0)==(0|0);
if ($199) {
$200 = HEAP32[$55>>2]|0;
$217 = $200;
} else {
$217 = $198;
}
}
$201 = HEAP32[$$sroa$54$0$$sroa_idx5$i>>2]|0;
$202 = (($194) + 2)|0;
$203 = $202 << 4;
$204 = $202 << 5;
$205 = ((($1)) + 4|0);
$206 = HEAP32[$205>>2]|0;
$207 = (FUNCTION_TABLE_ii[$206 & 63]($204)|0);
$208 = ($207|0)==(0|0);
if ($208) {
$$4 = 102;
STACKTOP = sp;return ($$4|0);
}
_memset(($207|0),0,($204|0))|0;
$209 = (($207) + ($202<<4)|0);
$210 = (_nearest_init($201)|0);
$211 = +HEAPF32[$$sroa$10$0$$sroa_idx12$i>>2];
$212 = $211;
$213 = 1.0 - $212;
$214 = $213 * $213;
$215 = 1.0 - $214;
$216 = $215;
$218 = ($217|0)!=(0|0);
if ($218) {
$219 = $216;
$220 = $219 * 0.0039215686274509803;
$221 = $220;
$$0233$i = $221;
} else {
$$0233$i = $216;
}
$222 = $$0233$i * 0.9375;
$223 = ($192|0)>(0);
if (!($223)) {
$457 = ((($1)) + 8|0);
$458 = HEAP32[$457>>2]|0;
$459 = ($207>>>0)<($209>>>0);
$460 = $459 ? $207 : $209;
FUNCTION_TABLE_vi[$458 & 127]($460);
_nearest_free($210);
$$161 = $$060;
break;
}
$224 = (($194) + -1)|0;
$225 = ((($3)) + 4|0);
$226 = ((($3)) + 8|0);
$227 = ((($3)) + 12|0);
$228 = (+($192|0));
$$0229272$i = $207;$$0230271$i = $209;$$0235270$i = 1;$$0237269$i = 0;$$0238268$i = 0;
while(1) {
$229 = HEAP8[$54>>0]|0;
$230 = (+($229&255));
$231 = HEAP32[$$sroa$6$0$$sroa_idx6$i>>2]|0;
$232 = ($231|0)==(0|0);
if (!($232)) {
$233 = (+($$0237269$i|0));
$234 = 100.0 - $230;
$235 = $233 * $234;
$236 = $235 / $228;
$237 = $230 + $236;
$238 = HEAP32[$$sroa$7$0$$sroa_idx7$i>>2]|0;
$239 = (FUNCTION_TABLE_idi[$231 & 0]($237,$238)|0);
$240 = ($239|0)==(0);
if ($240) {
break;
}
}
_memset(($$0230271$i|0),0,($203|0))|0;
$241 = ($$0235270$i|0)>(0);
$242 = $241 ? 0 : $224;
$243 = (_liq_image_get_row_f($1,$$0237269$i)|0);
$244 = Math_imul($$0237269$i, $194)|0;
$245 = (($2) + ($$0237269$i<<2)|0);
$$0236$i = $242;$$1$i71 = $$0238268$i;
while(1) {
if ($218) {
$246 = (($$0236$i) + ($244))|0;
$247 = (($217) + ($246)|0);
$248 = HEAP8[$247>>0]|0;
$249 = (+($248&255));
$250 = $222 * $249;
$$0234$i = $250;
} else {
$$0234$i = $222;
}
$251 = (($$0236$i) + 1)|0;
$$sroa$0249$0$$sroa_idx250$i = (($243) + ($$0236$i<<4)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$0249$0$$sroa_idx250$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$0249$0$$sroa_idx250$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$0249$0$$sroa_idx250$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$0249$0$$sroa_idx250$i+3>>0];$$sroa$0249$0$copyload251$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$5253$0$$sroa_idx255$i = (((($243) + ($$0236$i<<4)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5253$0$$sroa_idx255$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5253$0$$sroa_idx255$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5253$0$$sroa_idx255$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5253$0$$sroa_idx255$i+3>>0];$$sroa$5253$0$copyload256$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$6258$0$$sroa_idx260$i = (((($243) + ($$0236$i<<4)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6258$0$$sroa_idx260$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6258$0$$sroa_idx260$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6258$0$$sroa_idx260$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6258$0$$sroa_idx260$i+3>>0];$$sroa$6258$0$copyload261$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$7$0$$sroa_idx264$i = (((($243) + ($$0236$i<<4)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$7$0$$sroa_idx264$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$7$0$$sroa_idx264$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$7$0$$sroa_idx264$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$7$0$$sroa_idx264$i+3>>0];$$sroa$7$0$copyload265$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$0$0$$sroa_idx$i72 = (($$0229272$i) + ($251<<4)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$0$0$$sroa_idx$i72>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$0$0$$sroa_idx$i72+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$0$0$$sroa_idx$i72+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$0$0$$sroa_idx$i72+3>>0];$$sroa$0$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx240$i = (((($$0229272$i) + ($251<<4)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx240$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx240$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx240$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx240$i+3>>0];$$sroa$4$0$copyload241$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$5$0$$sroa_idx243$i = (((($$0229272$i) + ($251<<4)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx243$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx243$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx243$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx243$i+3>>0];$$sroa$5$0$copyload244$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$6$0$$sroa_idx246$i = (((($$0229272$i) + ($251<<4)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx246$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx246$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx246$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx246$i+3>>0];$$sroa$6$0$copyload247$i = +HEAPF32[tempDoublePtr>>2];
$252 = $$0234$i * $$sroa$4$0$copyload241$i;
$253 = $$0234$i * $$sroa$5$0$copyload244$i;
$254 = $$0234$i * $$sroa$6$0$copyload247$i;
$255 = $$0234$i * $$sroa$0$0$copyload$i;
$256 = $$sroa$5253$0$copyload256$i + $252;
$257 = $256 > 1.1000000238418579;
do {
if ($257) {
$258 = 1.1000000238418579 - $$sroa$5253$0$copyload256$i;
$259 = $258 / $252;
$260 = $259 > 1.0;
$$$i$i = $260 ? 1.0 : $259;
$$0$i$i = $$$i$i;
} else {
$261 = $256 < -0.10000000149011612;
if (!($261)) {
$$0$i$i = 1.0;
break;
}
$262 = -0.10000000149011612 - $$sroa$5253$0$copyload256$i;
$263 = $262 / $252;
$264 = $263 > 1.0;
$$74$i$i = $264 ? 1.0 : $263;
$$0$i$i = $$74$i$i;
}
} while(0);
$265 = $$sroa$6258$0$copyload261$i + $253;
$266 = $265 > 1.1000000238418579;
do {
if ($266) {
$267 = 1.1000000238418579 - $$sroa$6258$0$copyload261$i;
$268 = $267 / $253;
$269 = $$0$i$i < $268;
$$0$$i$i = $269 ? $$0$i$i : $268;
$$1$i$i = $$0$$i$i;
} else {
$270 = $265 < -0.10000000149011612;
if (!($270)) {
$$1$i$i = $$0$i$i;
break;
}
$271 = -0.10000000149011612 - $$sroa$6258$0$copyload261$i;
$272 = $271 / $253;
$273 = $$0$i$i < $272;
$$0$75$i$i = $273 ? $$0$i$i : $272;
$$1$i$i = $$0$75$i$i;
}
} while(0);
$274 = $$sroa$7$0$copyload265$i + $254;
$275 = $274 > 1.1000000238418579;
do {
if ($275) {
$276 = 1.1000000238418579 - $$sroa$7$0$copyload265$i;
$277 = $276 / $254;
$278 = $$1$i$i < $277;
$$1$$i$i = $278 ? $$1$i$i : $277;
$$2$i$i = $$1$$i$i;
} else {
$279 = $274 < -0.10000000149011612;
if (!($279)) {
$$2$i$i = $$1$i$i;
break;
}
$280 = -0.10000000149011612 - $$sroa$7$0$copyload265$i;
$281 = $280 / $254;
$282 = $$1$i$i < $281;
$$1$76$i$i = $282 ? $$1$i$i : $281;
$$2$i$i = $$1$76$i$i;
}
} while(0);
$283 = $$sroa$0249$0$copyload251$i + $255;
$284 = $283 > 1.0;
do {
if ($284) {
$$073$i$i = 1.0;
} else {
$285 = $283 < 0.0;
if (!($285)) {
$$073$i$i = $283;
break;
}
$$073$i$i = 0.0;
}
} while(0);
$286 = $252 * $252;
$287 = $253 * $253;
$288 = $286 + $287;
$289 = $254 * $254;
$290 = $288 + $289;
$291 = $255 * $255;
$292 = $291 + $290;
$293 = $292 > $191;
do {
if ($293) {
$294 = $$2$i$i;
$295 = $294 * 0.80000000000000004;
$296 = $295;
$$3$i$i = $296;
label = 92;
} else {
$297 = $292 < 3.0517578125E-5;
if (!($297)) {
$$3$i$i = $$2$i$i;
label = 92;
break;
}
HEAPF32[$3>>2] = $$sroa$0249$0$copyload251$i;
HEAPF32[$225>>2] = $$sroa$5253$0$copyload256$i;
HEAPF32[$226>>2] = $$sroa$6258$0$copyload261$i;
$storemerge$i = $$sroa$7$0$copyload265$i;
}
} while(0);
if ((label|0) == 92) {
label = 0;
HEAPF32[$3>>2] = $$073$i$i;
$298 = $252 * $$3$i$i;
$299 = $$sroa$5253$0$copyload256$i + $298;
HEAPF32[$225>>2] = $299;
$300 = $253 * $$3$i$i;
$301 = $$sroa$6258$0$copyload261$i + $300;
HEAPF32[$226>>2] = $301;
$302 = $254 * $$3$i$i;
$303 = $$sroa$7$0$copyload265$i + $302;
$storemerge$i = $303;
}
HEAPF32[$227>>2] = $storemerge$i;
if ($468) {
$304 = HEAP32[$245>>2]|0;
$305 = (($304) + ($$0236$i)|0);
$306 = HEAP8[$305>>0]|0;
$307 = $306&255;
$308 = $307;
} else {
$308 = $$1$i71;
}
$309 = (_nearest_search($210,$3,$308,0)|0);
$310 = $309&255;
$311 = HEAP32[$245>>2]|0;
$312 = (($311) + ($$0236$i)|0);
HEAP8[$312>>0] = $310;
$$sroa$045$0$$sroa_idx$i = (((($201)) + 12|0) + (($309*24)|0)|0);
$$sroa$045$0$copyload$i = +HEAPF32[$$sroa$045$0$$sroa_idx$i>>2];
$$sroa$4$0$$sroa_idx47$i = (((((($201)) + 12|0) + (($309*24)|0)|0)) + 4|0);
$$sroa$4$0$copyload$i = +HEAPF32[$$sroa$4$0$$sroa_idx47$i>>2];
$$sroa$5$0$$sroa_idx49$i = (((((($201)) + 12|0) + (($309*24)|0)|0)) + 8|0);
$$sroa$5$0$copyload$i = +HEAPF32[$$sroa$5$0$$sroa_idx49$i>>2];
$$sroa$6$0$$sroa_idx51$i = (((((($201)) + 12|0) + (($309*24)|0)|0)) + 12|0);
$$sroa$6$0$copyload$i = +HEAPF32[$$sroa$6$0$$sroa_idx51$i>>2];
$313 = +HEAPF32[$3>>2];
$314 = $313 - $$sroa$045$0$copyload$i;
$315 = +HEAPF32[$225>>2];
$316 = $315 - $$sroa$4$0$copyload$i;
$317 = +HEAPF32[$226>>2];
$318 = $317 - $$sroa$5$0$copyload$i;
$319 = +HEAPF32[$227>>2];
$320 = $319 - $$sroa$6$0$copyload$i;
$321 = $316 * $316;
$322 = $318 * $318;
$323 = $321 + $322;
$324 = $320 * $320;
$325 = $323 + $324;
$326 = $314 * $314;
$327 = $326 + $325;
$328 = $327 > $191;
if ($328) {
$329 = $316 * 0.75;
$330 = $318 * 0.75;
$331 = $320 * 0.75;
$332 = $314 * 0.75;
$$sroa$0$0$i = $332;$$sroa$14$0$i = $329;$$sroa$27$0$i = $330;$$sroa$40$0$i = $331;
} else {
$$sroa$0$0$i = $314;$$sroa$14$0$i = $316;$$sroa$27$0$i = $318;$$sroa$40$0$i = $320;
}
$333 = $$sroa$0$0$i * 0.4375;
if ($241) {
$334 = (($$0236$i) + 2)|0;
$335 = (($$0229272$i) + ($334<<4)|0);
$336 = +HEAPF32[$335>>2];
$337 = $333 + $336;
HEAPF32[$335>>2] = $337;
$338 = $$sroa$14$0$i * 0.4375;
$339 = (((($$0229272$i) + ($334<<4)|0)) + 4|0);
$340 = +HEAPF32[$339>>2];
$341 = $338 + $340;
HEAPF32[$339>>2] = $341;
$342 = $$sroa$27$0$i * 0.4375;
$343 = (((($$0229272$i) + ($334<<4)|0)) + 8|0);
$344 = +HEAPF32[$343>>2];
$345 = $342 + $344;
HEAPF32[$343>>2] = $345;
$346 = $$sroa$40$0$i * 0.4375;
$347 = (((($$0229272$i) + ($334<<4)|0)) + 12|0);
$348 = +HEAPF32[$347>>2];
$349 = $346 + $348;
HEAPF32[$347>>2] = $349;
$350 = $$sroa$0$0$i * 0.0625;
$351 = (($$0230271$i) + ($334<<4)|0);
HEAPF32[$351>>2] = $350;
$352 = $$sroa$14$0$i * 0.0625;
$353 = (((($$0230271$i) + ($334<<4)|0)) + 4|0);
HEAPF32[$353>>2] = $352;
$354 = $$sroa$27$0$i * 0.0625;
$355 = (((($$0230271$i) + ($334<<4)|0)) + 8|0);
HEAPF32[$355>>2] = $354;
$356 = $$sroa$40$0$i * 0.0625;
$357 = (((($$0230271$i) + ($334<<4)|0)) + 12|0);
HEAPF32[$357>>2] = $356;
$358 = $$sroa$0$0$i * 0.3125;
$359 = (($$0230271$i) + ($251<<4)|0);
$360 = +HEAPF32[$359>>2];
$361 = $358 + $360;
HEAPF32[$359>>2] = $361;
$362 = $$sroa$14$0$i * 0.3125;
$363 = (((($$0230271$i) + ($251<<4)|0)) + 4|0);
$364 = +HEAPF32[$363>>2];
$365 = $362 + $364;
HEAPF32[$363>>2] = $365;
$366 = $$sroa$27$0$i * 0.3125;
$367 = (((($$0230271$i) + ($251<<4)|0)) + 8|0);
$368 = +HEAPF32[$367>>2];
$369 = $366 + $368;
HEAPF32[$367>>2] = $369;
$370 = $$sroa$40$0$i * 0.3125;
$371 = (((($$0230271$i) + ($251<<4)|0)) + 12|0);
$372 = +HEAPF32[$371>>2];
$373 = $370 + $372;
HEAPF32[$371>>2] = $373;
$374 = $$sroa$0$0$i * 0.1875;
$375 = (($$0230271$i) + ($$0236$i<<4)|0);
$376 = +HEAPF32[$375>>2];
$377 = $374 + $376;
HEAPF32[$375>>2] = $377;
$378 = $$sroa$14$0$i * 0.1875;
$379 = (((($$0230271$i) + ($$0236$i<<4)|0)) + 4|0);
$380 = +HEAPF32[$379>>2];
$381 = $378 + $380;
HEAPF32[$379>>2] = $381;
$382 = $$sroa$27$0$i * 0.1875;
$383 = (((($$0230271$i) + ($$0236$i<<4)|0)) + 8|0);
$384 = +HEAPF32[$383>>2];
$385 = $382 + $384;
HEAPF32[$383>>2] = $385;
$386 = $$sroa$40$0$i * 0.1875;
$387 = (((($$0230271$i) + ($$0236$i<<4)|0)) + 12|0);
$388 = +HEAPF32[$387>>2];
$389 = $386 + $388;
HEAPF32[$387>>2] = $389;
$390 = (($$0236$i) + ($$0235270$i))|0;
$391 = ($390|0)<($194|0);
if ($391) {
$469 = $390;
} else {
break;
}
} else {
$392 = (($$0229272$i) + ($$0236$i<<4)|0);
$393 = +HEAPF32[$392>>2];
$394 = $333 + $393;
HEAPF32[$392>>2] = $394;
$395 = $$sroa$14$0$i * 0.4375;
$396 = (((($$0229272$i) + ($$0236$i<<4)|0)) + 4|0);
$397 = +HEAPF32[$396>>2];
$398 = $395 + $397;
HEAPF32[$396>>2] = $398;
$399 = $$sroa$27$0$i * 0.4375;
$400 = (((($$0229272$i) + ($$0236$i<<4)|0)) + 8|0);
$401 = +HEAPF32[$400>>2];
$402 = $399 + $401;
HEAPF32[$400>>2] = $402;
$403 = $$sroa$40$0$i * 0.4375;
$404 = (((($$0229272$i) + ($$0236$i<<4)|0)) + 12|0);
$405 = +HEAPF32[$404>>2];
$406 = $403 + $405;
HEAPF32[$404>>2] = $406;
$407 = $$sroa$0$0$i * 0.0625;
$408 = (($$0230271$i) + ($$0236$i<<4)|0);
HEAPF32[$408>>2] = $407;
$409 = $$sroa$14$0$i * 0.0625;
$410 = (((($$0230271$i) + ($$0236$i<<4)|0)) + 4|0);
HEAPF32[$410>>2] = $409;
$411 = $$sroa$27$0$i * 0.0625;
$412 = (((($$0230271$i) + ($$0236$i<<4)|0)) + 8|0);
HEAPF32[$412>>2] = $411;
$413 = $$sroa$40$0$i * 0.0625;
$414 = (((($$0230271$i) + ($$0236$i<<4)|0)) + 12|0);
HEAPF32[$414>>2] = $413;
$415 = $$sroa$0$0$i * 0.3125;
$416 = (($$0230271$i) + ($251<<4)|0);
$417 = +HEAPF32[$416>>2];
$418 = $415 + $417;
HEAPF32[$416>>2] = $418;
$419 = $$sroa$14$0$i * 0.3125;
$420 = (((($$0230271$i) + ($251<<4)|0)) + 4|0);
$421 = +HEAPF32[$420>>2];
$422 = $419 + $421;
HEAPF32[$420>>2] = $422;
$423 = $$sroa$27$0$i * 0.3125;
$424 = (((($$0230271$i) + ($251<<4)|0)) + 8|0);
$425 = +HEAPF32[$424>>2];
$426 = $423 + $425;
HEAPF32[$424>>2] = $426;
$427 = $$sroa$40$0$i * 0.3125;
$428 = (((($$0230271$i) + ($251<<4)|0)) + 12|0);
$429 = +HEAPF32[$428>>2];
$430 = $427 + $429;
HEAPF32[$428>>2] = $430;
$431 = $$sroa$0$0$i * 0.1875;
$432 = (($$0236$i) + 2)|0;
$433 = (($$0230271$i) + ($432<<4)|0);
$434 = +HEAPF32[$433>>2];
$435 = $431 + $434;
HEAPF32[$433>>2] = $435;
$436 = $$sroa$14$0$i * 0.1875;
$437 = (((($$0230271$i) + ($432<<4)|0)) + 4|0);
$438 = +HEAPF32[$437>>2];
$439 = $436 + $438;
HEAPF32[$437>>2] = $439;
$440 = $$sroa$27$0$i * 0.1875;
$441 = (((($$0230271$i) + ($432<<4)|0)) + 8|0);
$442 = +HEAPF32[$441>>2];
$443 = $440 + $442;
HEAPF32[$441>>2] = $443;
$444 = $$sroa$40$0$i * 0.1875;
$445 = (((($$0230271$i) + ($432<<4)|0)) + 12|0);
$446 = +HEAPF32[$445>>2];
$447 = $444 + $446;
HEAPF32[$445>>2] = $447;
$448 = (($$0236$i) + ($$0235270$i))|0;
$449 = ($448|0)<(1);
if ($449) {
break;
} else {
$469 = $448;
}
}
$$0236$i = $469;$$1$i71 = $309;
}
$450 = (0 - ($$0235270$i))|0;
$451 = (($$0237269$i) + 1)|0;
$452 = ($451|0)<($192|0);
if ($452) {
$$0230271$i$phi = $$0229272$i;$$0229272$i$phi = $$0230271$i;$$0235270$i = $450;$$0237269$i = $451;$$0238268$i = $309;$$0230271$i = $$0230271$i$phi;$$0229272$i = $$0229272$i$phi;
} else {
label = 104;
break;
}
}
if ((label|0) == 104) {
$461 = ((($1)) + 8|0);
$462 = HEAP32[$461>>2]|0;
$463 = ($$0230271$i>>>0)<($$0229272$i>>>0);
$464 = $463 ? $$0230271$i : $$0229272$i;
FUNCTION_TABLE_vi[$462 & 127]($464);
_nearest_free($210);
$$161 = $$060;
break;
}
$453 = ((($1)) + 8|0);
$454 = HEAP32[$453>>2]|0;
$455 = ($$0229272$i>>>0)<($$0230271$i>>>0);
$456 = $455 ? $$0229272$i : $$0230271$i;
FUNCTION_TABLE_vi[$454 & 127]($456);
_nearest_free($210);
$$4 = 102;
STACKTOP = sp;return ($$4|0);
}
} while(0);
$465 = +HEAPF64[$$sroa$9$0$$sroa_idx11$i>>3];
$466 = $465 < 0.0;
if (!($466)) {
$$4 = 0;
STACKTOP = sp;return ($$4|0);
}
$467 = $$161;
HEAPF64[$$sroa$9$0$$sroa_idx11$i>>3] = $467;
$$4 = 0;
STACKTOP = sp;return ($$4|0);
}
}
HEAP32[$16>>2] = 0;
$$4 = 101;
STACKTOP = sp;return ($$4|0);
}
function _remap_to_palette($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$04954$us = 0, $$050 = 0.0, $$05157 = 0, $$05157$us = 0, $$052$lcssa = 0.0, $$05256$us = 0.0, $$055$us = 0, $$153$us = 0.0, $$alloca_mul = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond63 = 0, $exitcond64 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$$byval_copy = sp + 8|0;
$3 = sp;
$4 = ((($0)) + 36|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($0)) + 32|0);
$7 = HEAP32[$6>>2]|0;
$8 = (_liq_image_get_row_f($0,0)|0);
$9 = ($8|0)==(0|0);
if ($9) {
$$050 = -1.0;
STACKTOP = sp;return (+$$050);
}
$10 = (_nearest_init($2)|0);
$11 = HEAP32[$2>>2]|0;
$12 = (($11) + 2)|0;
$13 = (_llvm_stacksave()|0);
$$alloca_mul = ($12*40)|0;
$14 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
_kmeans_init($2,1,$14);
$15 = ($5|0)>(0);
L4: do {
if ($15) {
$16 = ($7|0)==(0);
if ($16) {
$$05157 = 0;
while(1) {
(_liq_image_get_row_f($0,$$05157)|0);
$35 = (($$05157) + 1)|0;
$exitcond = ($35|0)==($5|0);
if ($exitcond) {
$$052$lcssa = 0.0;
break L4;
} else {
$$05157 = $35;
}
}
} else {
$$05157$us = 0;$$05256$us = 0.0;
}
while(1) {
$17 = (_liq_image_get_row_f($0,$$05157$us)|0);
$18 = (($1) + ($$05157$us<<2)|0);
$$04954$us = 0;$$055$us = 0;$$153$us = $$05256$us;
while(1) {
$19 = (($17) + ($$055$us<<4)|0);
$20 = (_nearest_search($10,$19,$$04954$us,$3)|0);
$21 = $20&255;
$22 = HEAP32[$18>>2]|0;
$23 = (($22) + ($$055$us)|0);
HEAP8[$23>>0] = $21;
$24 = +HEAPF32[$3>>2];
$25 = $24;
$26 = $$153$us + $25;
;HEAP32[$$byval_copy>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$19+12>>2]|0;
_kmeans_update_color($$byval_copy,1.0,$2,$20,0,$14);
$27 = (($$055$us) + 1)|0;
$exitcond63 = ($27|0)==($7|0);
if ($exitcond63) {
break;
} else {
$$04954$us = $20;$$055$us = $27;$$153$us = $26;
}
}
$28 = (($$05157$us) + 1)|0;
$exitcond64 = ($28|0)==($5|0);
if ($exitcond64) {
$$052$lcssa = $26;
break;
} else {
$$05157$us = $28;$$05256$us = $26;
}
}
} else {
$$052$lcssa = 0.0;
}
} while(0);
_kmeans_finalize($2,1,$14);
_nearest_free($10);
$29 = HEAP32[$6>>2]|0;
$30 = HEAP32[$4>>2]|0;
$31 = Math_imul($30, $29)|0;
$32 = (+($31>>>0));
$33 = $$052$lcssa / $32;
$34 = $33;
_llvm_stackrestore(($13|0));
$$050 = $34;
STACKTOP = sp;return (+$$050);
}
function _pam_computeacolorhash($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$us = 0, $$06386$us = 0, $$06485$us = 0.0, $$06888$us = 0, $$07387$us = 0, $$1$us = 0.0, $$17484$us = 0, $$2$us = 0.0, $$275$us = 0, $$5 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0;
var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$$byval_copy = sp + 4|0;
$5 = sp;
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = 255 >>> $7;
$9 = $8 << $7;
$10 = $8 ^ 255;
$11 = $9 << 24;
$12 = $9 << 16;
$13 = $9 << 8;
$14 = $12 | $9;
$15 = $14 | $11;
$16 = $15 | $13;
$17 = $10 << 24;
$18 = $10 << 16;
$19 = $10 << 8;
$20 = $18 | $10;
$21 = $20 | $17;
$22 = $21 | $19;
$23 = ((($0)) + 24|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($3|0)==(0);
L1: do {
if (!($25)) {
$26 = ($2|0)==(0);
$27 = (8 - ($7))|0;
if (!($26)) {
$$06888$us = 0;$$07387$us = $4;
L3: while(1) {
$28 = (($1) + ($$06888$us<<2)|0);
$$06386$us = 0;$$06485$us = 1.0;$$17484$us = $$07387$us;
while(1) {
$31 = ($$17484$us|0)==(0|0);
if ($31) {
$$1$us = $$06485$us;$$275$us = 0;
} else {
$32 = ((($$17484$us)) + 1|0);
$33 = HEAP8[$$17484$us>>0]|0;
$34 = (+($33&255));
$35 = $34 / 255.0;
$36 = $35 + 0.5;
$37 = $36;
$$1$us = $37;$$275$us = $32;
}
$38 = HEAP32[$28>>2]|0;
$39 = (($38) + ($$06386$us<<2)|0);
$40 = HEAPU8[$39>>0]|(HEAPU8[$39+1>>0]<<8)|(HEAPU8[$39+2>>0]<<16)|(HEAPU8[$39+3>>0]<<24);
HEAP32[$5>>2] = $40;
$41 = ($40>>>0)<(16777216);
if ($41) {
HEAP32[$5>>2] = 0;
$$0$us = 0;$$2$us = 10.0;
} else {
$42 = $40 & $16;
$43 = $40 & $22;
$44 = $43 >>> $27;
$45 = $44 | $42;
HEAP32[$5>>2] = $45;
$46 = (($45>>>0) % ($24>>>0))&-1;
$$0$us = $46;$$2$us = $$1$us;
}
;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;
$47 = (_pam_add_to_hash($0,$$0$us,$$2$us,$$byval_copy,$$06888$us,$3)|0);
$29 = (($$06386$us) + 1)|0;
if (!($47)) {
$$5 = 0;
break L3;
}
$30 = ($29>>>0)<($2>>>0);
if ($30) {
$$06386$us = $29;$$06485$us = $$2$us;$$17484$us = $$275$us;
} else {
break;
}
}
$48 = (($$06888$us) + 1)|0;
$49 = ($48>>>0)<($3>>>0);
if ($49) {
$$06888$us = $48;$$07387$us = $$275$us;
} else {
break L1;
}
}
STACKTOP = sp;return ($$5|0);
}
}
} while(0);
$50 = ((($0)) + 16|0);
HEAP32[$50>>2] = $2;
$51 = ((($0)) + 20|0);
$52 = HEAP32[$51>>2]|0;
$53 = (($52) + ($3))|0;
HEAP32[$51>>2] = $53;
$$5 = 1;
STACKTOP = sp;return ($$5|0);
}
function _pam_add_to_hash($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = +$2;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0107$lcssa = 0, $$0107114 = 0, $$0108 = 0, $$0109 = 0, $$4 = 0, $$pre117 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$022$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx4 = 0, $$sroa$225$0$$sroa_idx26 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = (((($0)) + 2080|0) + (($1*28)|0)|0);
$7 = HEAP32[$6>>2]|0;
$8 = HEAP32[$3>>2]|0;
$9 = ($7|0)==($8|0);
$10 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 16|0);
$11 = HEAP32[$10>>2]|0;
L1: do {
if ($9) {
$12 = ($11|0)==(0);
if (!($12)) {
$13 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 4|0);
$14 = +HEAPF32[$13>>2];
$15 = $14 + $2;
HEAPF32[$13>>2] = $15;
$$4 = 1;
return ($$4|0);
}
} else {
switch ($11|0) {
case 0: {
break L1;
break;
}
case 1: {
$95 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 8|0);
HEAP32[$95>>2] = $8;
$96 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 12|0);
HEAPF32[$96>>2] = $2;
HEAP32[$10>>2] = 2;
$97 = ((($0)) + 12|0);
$98 = HEAP32[$97>>2]|0;
$99 = (($98) + 1)|0;
HEAP32[$97>>2] = $99;
$$4 = 1;
return ($$4|0);
break;
}
default: {
}
}
$16 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 8|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==($8|0);
if ($18) {
$19 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 12|0);
$20 = +HEAPF32[$19>>2];
$21 = $20 + $2;
HEAPF32[$19>>2] = $21;
$$4 = 1;
return ($$4|0);
}
$22 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 24|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($11|0)==(2);
L14: do {
if ($24) {
$$0107$lcssa = 0;
} else {
$25 = (($11) + -2)|0;
$$0107114 = 0;
while(1) {
$26 = (($23) + ($$0107114<<3)|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==($8|0);
if ($28) {
break;
}
$32 = (($$0107114) + 1)|0;
$33 = ($32>>>0)<($25>>>0);
if ($33) {
$$0107114 = $32;
} else {
$$0107$lcssa = $32;
break L14;
}
}
$29 = (((($23) + ($$0107114<<3)|0)) + 4|0);
$30 = +HEAPF32[$29>>2];
$31 = $30 + $2;
HEAPF32[$29>>2] = $31;
$$4 = 1;
return ($$4|0);
}
} while(0);
$34 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 20|0);
$35 = HEAP32[$34>>2]|0;
$36 = ($$0107$lcssa>>>0)<($35>>>0);
if ($36) {
$$sroa$022$0$$sroa_idx = (($23) + ($$0107$lcssa<<3)|0);
HEAP32[$$sroa$022$0$$sroa_idx>>2] = $8;
$$sroa$225$0$$sroa_idx26 = (((($23) + ($$0107$lcssa<<3)|0)) + 4|0);
HEAPF32[$$sroa$225$0$$sroa_idx26>>2] = $2;
$37 = HEAP32[$10>>2]|0;
$38 = (($37) + 1)|0;
HEAP32[$10>>2] = $38;
$39 = ((($0)) + 12|0);
$40 = HEAP32[$39>>2]|0;
$41 = (($40) + 1)|0;
HEAP32[$39>>2] = $41;
$$4 = 1;
return ($$4|0);
}
$42 = ((($0)) + 12|0);
$43 = HEAP32[$42>>2]|0;
$44 = (($43) + 1)|0;
HEAP32[$42>>2] = $44;
$45 = ((($0)) + 8|0);
$46 = HEAP32[$45>>2]|0;
$47 = ($44>>>0)>($46>>>0);
if ($47) {
$$4 = 0;
return ($$4|0);
}
$48 = ($23|0)==(0|0);
do {
if ($48) {
$49 = ((($0)) + 28|0);
$50 = HEAP32[$49>>2]|0;
$51 = ($50|0)==(0);
if ($51) {
$52 = ((($0)) + 20|0);
$53 = HEAP32[$52>>2]|0;
$54 = (($5) - ($4))|0;
$55 = (($54) + ($53))|0;
$56 = $44 << 1;
$57 = Math_imul($56, $55)|0;
$58 = (($4) + 1)|0;
$59 = (($58) + ($53))|0;
$60 = (($57>>>0) / ($59>>>0))&-1;
$61 = $60 << 3;
$62 = (($61) + 8192)|0;
$63 = (_mempool_alloc($0,64,$62)|0);
$$0108 = $63;$$0109 = 8;
break;
} else {
$64 = (($50) + -1)|0;
HEAP32[$49>>2] = $64;
$65 = (((($0)) + 32|0) + ($64<<2)|0);
$66 = HEAP32[$65>>2]|0;
$$0108 = $66;$$0109 = 8;
break;
}
} else {
$67 = HEAP32[$34>>2]|0;
$68 = $67 << 1;
$69 = (($68) + 16)|0;
$70 = ((($0)) + 28|0);
$71 = HEAP32[$70>>2]|0;
$72 = ($71>>>0)<(511);
if ($72) {
$73 = (((($0)) + 32|0) + ($71<<2)|0);
$74 = (($71) + 1)|0;
HEAP32[$70>>2] = $74;
HEAP32[$73>>2] = $23;
$$pre117 = HEAP32[$42>>2]|0;
$81 = $$pre117;
} else {
$81 = $44;
}
$75 = ((($0)) + 20|0);
$76 = HEAP32[$75>>2]|0;
$77 = (($5) - ($4))|0;
$78 = (($77) + ($76))|0;
$79 = $78 << 1;
$80 = Math_imul($79, $81)|0;
$82 = (($4) + 1)|0;
$83 = (($82) + ($76))|0;
$84 = (($80>>>0) / ($83>>>0))&-1;
$85 = $69 << 5;
$86 = (($84) + ($85))|0;
$87 = $86 << 3;
$88 = $69 << 3;
$89 = (_mempool_alloc($0,$88,$87)|0);
$90 = ($89|0)==(0|0);
if ($90) {
$$4 = 0;
return ($$4|0);
} else {
$91 = HEAP32[$34>>2]|0;
$92 = $91 << 3;
_memcpy(($89|0),($23|0),($92|0))|0;
$$0108 = $89;$$0109 = $69;
break;
}
}
} while(0);
HEAP32[$22>>2] = $$0108;
HEAP32[$34>>2] = $$0109;
$$sroa$0$0$$sroa_idx = (($$0108) + ($$0107$lcssa<<3)|0);
HEAP32[$$sroa$0$0$$sroa_idx>>2] = $8;
$$sroa$2$0$$sroa_idx4 = (((($$0108) + ($$0107$lcssa<<3)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx4>>2] = $2;
$93 = HEAP32[$10>>2]|0;
$94 = (($93) + 1)|0;
HEAP32[$10>>2] = $94;
$$4 = 1;
return ($$4|0);
}
} while(0);
HEAP32[$6>>2] = $8;
$100 = (((((($0)) + 2080|0) + (($1*28)|0)|0)) + 4|0);
HEAPF32[$100>>2] = $2;
HEAP32[$10>>2] = 1;
$101 = ((($0)) + 12|0);
$102 = HEAP32[$101>>2]|0;
$103 = (($102) + 1)|0;
HEAP32[$101>>2] = $103;
$$4 = 1;
return ($$4|0);
}
function _pam_allocacolorhash($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$0 = 0, $$sroa$3$0$$sroa_idx1 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$54$0$$sroa_idx5 = 0, $$sroa$6$0$$sroa_idx = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$5 = sp;
$6 = ($1>>>0)>(262144);
$7 = $6 ? 6 : 5;
$8 = (($7) + ($2))|0;
$9 = (($1>>>0) / ($8>>>0))&-1;
$10 = ($9>>>0)>($0>>>0);
$$ = $10 ? $0 : $9;
$11 = ($$>>>0)<(66000);
$12 = ($$>>>0)<(200000);
$13 = $12 ? 12011 : 24019;
$14 = $11 ? 6673 : $13;
HEAP32[$5>>2] = 0;
$15 = ($14*28)|0;
$16 = (($15) + 2080)|0;
$17 = $$ << 3;
$18 = (($16) + ($17))|0;
$19 = (_mempool_create($5,$16,$18,$3,$4)|0);
$20 = ($19|0)==(0|0);
if ($20) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$21 = HEAP32[$5>>2]|0;
HEAP32[$19>>2] = $21;
$$sroa$3$0$$sroa_idx1 = ((($19)) + 4|0);
HEAP32[$$sroa$3$0$$sroa_idx1>>2] = $2;
$$sroa$4$0$$sroa_idx2 = ((($19)) + 8|0);
HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $0;
$$sroa$5$0$$sroa_idx = ((($19)) + 12|0);
;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;
$$sroa$54$0$$sroa_idx5 = ((($19)) + 24|0);
HEAP32[$$sroa$54$0$$sroa_idx5>>2] = $14;
$$sroa$6$0$$sroa_idx = ((($19)) + 28|0);
_memset(($$sroa$6$0$$sroa_idx|0),0,2052)|0;
$22 = ((($19)) + 2080|0);
_memset(($22|0),0,($15|0))|0;
$$0 = $19;
STACKTOP = sp;return ($$0|0);
}
function _pam_acolorhashtoacolorhist($0,$1,$2,$3) {
$0 = $0|0;
$1 = +$1;
$2 = $2|0;
$3 = $3|0;
var $$$i = 0.0, $$$i79 = 0.0, $$$i92 = 0.0, $$06$i = 0, $$061 = 0, $$06299 = 0, $$06398 = 0, $$064$lcssa = 0.0, $$06497 = 0.0, $$095 = 0, $$16593 = 0.0, $$194 = 0, $$2 = 0, $$266 = 0.0, $$phitmp = 0, $$sroa$0$0$$sroa_idx$i = 0, $$sroa$0$0$$sroa_idx$i75 = 0, $$sroa$0$0$$sroa_idx$i88 = 0, $$sroa$017$0$copyload$i = 0, $$sroa$017$0$copyload$i68 = 0;
var $$sroa$017$0$copyload$i81 = 0, $$sroa$2$0$$sroa_idx14$i = 0, $$sroa$2$0$$sroa_idx14$i76 = 0, $$sroa$2$0$$sroa_idx14$i89 = 0, $$sroa$2$0$$sroa_idx33 = 0, $$sroa$3$0$$sroa_idx15$i = 0, $$sroa$3$0$$sroa_idx15$i77 = 0, $$sroa$3$0$$sroa_idx15$i90 = 0, $$sroa$3$0$$sroa_idx34 = 0, $$sroa$4$0$$sroa_idx16$i = 0, $$sroa$4$0$$sroa_idx16$i78 = 0, $$sroa$4$0$$sroa_idx16$i91 = 0, $$sroa$4$0$$sroa_idx35 = 0, $$sroa$418$0$$sroa_idx$i = 0, $$sroa$418$0$$sroa_idx$i69 = 0, $$sroa$418$0$$sroa_idx$i82 = 0, $$sroa$418$0$copyload$i = 0, $$sroa$418$0$copyload$i70 = 0, $$sroa$418$0$copyload$i83 = 0, $$sroa$5$0$$sroa_idx$i = 0;
var $$sroa$5$0$$sroa_idx$i71 = 0, $$sroa$5$0$$sroa_idx$i84 = 0, $$sroa$5$0$$sroa_idx36 = 0, $$sroa$5$0$copyload$i = 0, $$sroa$5$0$copyload$i72 = 0, $$sroa$5$0$copyload$i85 = 0, $$sroa$6$0$$sroa_idx$i = 0, $$sroa$6$0$$sroa_idx$i73 = 0, $$sroa$6$0$$sroa_idx$i86 = 0, $$sroa$6$0$copyload$i = 0, $$sroa$6$0$copyload$i74 = 0, $$sroa$6$0$copyload$i87 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0.0;
var $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0;
var $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0;
var $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond$i = 0, $or$cond = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0);
$4 = sp;
$5 = (FUNCTION_TABLE_ii[$2 & 63](24)|0);
$6 = ($5|0)!=(0|0);
$7 = ($0|0)!=(0|0);
$or$cond = $7 & $6;
if (!($or$cond)) {
$$061 = 0;
STACKTOP = sp;return ($$061|0);
}
$8 = ((($0)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0);
$phitmp = $9 << 5;
$$phitmp = $10 ? 32 : $phitmp;
$11 = (FUNCTION_TABLE_ii[$2 & 63]($$phitmp)|0);
$12 = HEAP32[$8>>2]|0;
$13 = ((($0)) + 4|0);
$14 = HEAP32[$13>>2]|0;
HEAP32[$5>>2] = $11;
$$sroa$2$0$$sroa_idx33 = ((($5)) + 4|0);
HEAP32[$$sroa$2$0$$sroa_idx33>>2] = $3;
$$sroa$3$0$$sroa_idx34 = ((($5)) + 8|0);
HEAPF64[$$sroa$3$0$$sroa_idx34>>3] = 0.0;
$$sroa$4$0$$sroa_idx35 = ((($5)) + 16|0);
HEAP32[$$sroa$4$0$$sroa_idx35>>2] = $12;
$$sroa$5$0$$sroa_idx36 = ((($5)) + 20|0);
HEAP32[$$sroa$5$0$$sroa_idx36>>2] = $14;
$15 = ($11|0)==(0|0);
if ($15) {
$$061 = 0;
STACKTOP = sp;return ($$061|0);
}
$16 = 0.54990000000000006 / $1;
$$06$i = 0;
while(1) {
$17 = (+($$06$i|0));
$18 = $17 / 255.0;
$19 = (+Math_pow((+$18),(+$16)));
$20 = $19;
$21 = (($4) + ($$06$i<<2)|0);
HEAPF32[$21>>2] = $20;
$22 = (($$06$i) + 1)|0;
$exitcond$i = ($22|0)==(256);
if ($exitcond$i) {
break;
} else {
$$06$i = $22;
}
}
$23 = ((($0)) + 16|0);
$24 = HEAP32[$23>>2]|0;
$25 = (+($24>>>0));
$26 = $25 * 0.10000000149011612;
$27 = ((($0)) + 20|0);
$28 = HEAP32[$27>>2]|0;
$29 = (+($28>>>0));
$30 = $26 * $29;
$31 = ((($0)) + 24|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==(0);
if ($33) {
$$064$lcssa = 0.0;
} else {
$$06299 = 0;$$06398 = 0;$$06497 = 0.0;
while(1) {
$34 = (((((($0)) + 2080|0) + (($$06299*28)|0)|0)) + 16|0);
$35 = HEAP32[$34>>2]|0;
$36 = ($35|0)==(0);
if ($36) {
$$2 = $$06398;$$266 = $$06497;
} else {
$37 = HEAP32[$5>>2]|0;
$38 = (($$06398) + 1)|0;
$39 = (((($0)) + 2080|0) + (($$06299*28)|0)|0);
$$sroa$017$0$copyload$i81 = HEAP8[$39>>0]|0;
$$sroa$418$0$$sroa_idx$i82 = ((($39)) + 1|0);
$$sroa$418$0$copyload$i83 = HEAP8[$$sroa$418$0$$sroa_idx$i82>>0]|0;
$$sroa$5$0$$sroa_idx$i84 = ((($39)) + 2|0);
$$sroa$5$0$copyload$i85 = HEAP8[$$sroa$5$0$$sroa_idx$i84>>0]|0;
$$sroa$6$0$$sroa_idx$i86 = ((($39)) + 3|0);
$$sroa$6$0$copyload$i87 = HEAP8[$$sroa$6$0$$sroa_idx$i86>>0]|0;
$40 = (+($$sroa$6$0$copyload$i87&255));
$41 = $40 / 255.0;
$42 = $$sroa$017$0$copyload$i81&255;
$43 = (($4) + ($42<<2)|0);
$44 = +HEAPF32[$43>>2];
$45 = $44 * $41;
$46 = $$sroa$418$0$copyload$i83&255;
$47 = (($4) + ($46<<2)|0);
$48 = +HEAPF32[$47>>2];
$49 = $41 * $48;
$50 = $$sroa$5$0$copyload$i85&255;
$51 = (($4) + ($50<<2)|0);
$52 = +HEAPF32[$51>>2];
$53 = $41 * $52;
$$sroa$0$0$$sroa_idx$i88 = (($37) + ($$06398<<5)|0);
HEAPF32[$$sroa$0$0$$sroa_idx$i88>>2] = $41;
$$sroa$2$0$$sroa_idx14$i89 = (((($37) + ($$06398<<5)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx14$i89>>2] = $45;
$$sroa$3$0$$sroa_idx15$i90 = (((($37) + ($$06398<<5)|0)) + 8|0);
HEAPF32[$$sroa$3$0$$sroa_idx15$i90>>2] = $49;
$$sroa$4$0$$sroa_idx16$i91 = (((($37) + ($$06398<<5)|0)) + 12|0);
HEAPF32[$$sroa$4$0$$sroa_idx16$i91>>2] = $53;
$54 = (((((($0)) + 2080|0) + (($$06299*28)|0)|0)) + 4|0);
$55 = +HEAPF32[$54>>2];
$56 = $55 < $30;
$$$i92 = $56 ? $55 : $30;
$57 = (((($37) + ($$06398<<5)|0)) + 20|0);
HEAPF32[$57>>2] = $$$i92;
$58 = (((($37) + ($$06398<<5)|0)) + 16|0);
HEAPF32[$58>>2] = $$$i92;
$59 = $$$i92;
$60 = $$06497 + $59;
$61 = HEAP32[$34>>2]|0;
$62 = ($61>>>0)>(1);
if ($62) {
$63 = HEAP32[$5>>2]|0;
$64 = (($$06398) + 2)|0;
$65 = (((((($0)) + 2080|0) + (($$06299*28)|0)|0)) + 8|0);
$$sroa$017$0$copyload$i68 = HEAP8[$65>>0]|0;
$$sroa$418$0$$sroa_idx$i69 = ((($65)) + 1|0);
$$sroa$418$0$copyload$i70 = HEAP8[$$sroa$418$0$$sroa_idx$i69>>0]|0;
$$sroa$5$0$$sroa_idx$i71 = ((($65)) + 2|0);
$$sroa$5$0$copyload$i72 = HEAP8[$$sroa$5$0$$sroa_idx$i71>>0]|0;
$$sroa$6$0$$sroa_idx$i73 = ((($65)) + 3|0);
$$sroa$6$0$copyload$i74 = HEAP8[$$sroa$6$0$$sroa_idx$i73>>0]|0;
$66 = (+($$sroa$6$0$copyload$i74&255));
$67 = $66 / 255.0;
$68 = $$sroa$017$0$copyload$i68&255;
$69 = (($4) + ($68<<2)|0);
$70 = +HEAPF32[$69>>2];
$71 = $70 * $67;
$72 = $$sroa$418$0$copyload$i70&255;
$73 = (($4) + ($72<<2)|0);
$74 = +HEAPF32[$73>>2];
$75 = $67 * $74;
$76 = $$sroa$5$0$copyload$i72&255;
$77 = (($4) + ($76<<2)|0);
$78 = +HEAPF32[$77>>2];
$79 = $67 * $78;
$$sroa$0$0$$sroa_idx$i75 = (($63) + ($38<<5)|0);
HEAPF32[$$sroa$0$0$$sroa_idx$i75>>2] = $67;
$$sroa$2$0$$sroa_idx14$i76 = (((($63) + ($38<<5)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx14$i76>>2] = $71;
$$sroa$3$0$$sroa_idx15$i77 = (((($63) + ($38<<5)|0)) + 8|0);
HEAPF32[$$sroa$3$0$$sroa_idx15$i77>>2] = $75;
$$sroa$4$0$$sroa_idx16$i78 = (((($63) + ($38<<5)|0)) + 12|0);
HEAPF32[$$sroa$4$0$$sroa_idx16$i78>>2] = $79;
$80 = (((((($0)) + 2080|0) + (($$06299*28)|0)|0)) + 12|0);
$81 = +HEAPF32[$80>>2];
$82 = $81 < $30;
$$$i79 = $82 ? $81 : $30;
$83 = (((($63) + ($38<<5)|0)) + 20|0);
HEAPF32[$83>>2] = $$$i79;
$84 = (((($63) + ($38<<5)|0)) + 16|0);
HEAPF32[$84>>2] = $$$i79;
$85 = $$$i79;
$86 = $60 + $85;
$87 = HEAP32[$34>>2]|0;
$88 = ($87|0)==(2);
if ($88) {
$$2 = $64;$$266 = $86;
} else {
$89 = (((((($0)) + 2080|0) + (($$06299*28)|0)|0)) + 24|0);
$$095 = 0;$$16593 = $86;$$194 = $64;
while(1) {
$90 = HEAP32[$5>>2]|0;
$91 = (($$194) + 1)|0;
$92 = HEAP32[$89>>2]|0;
$93 = (($92) + ($$095<<3)|0);
$$sroa$017$0$copyload$i = HEAP8[$93>>0]|0;
$$sroa$418$0$$sroa_idx$i = ((($93)) + 1|0);
$$sroa$418$0$copyload$i = HEAP8[$$sroa$418$0$$sroa_idx$i>>0]|0;
$$sroa$5$0$$sroa_idx$i = ((($93)) + 2|0);
$$sroa$5$0$copyload$i = HEAP8[$$sroa$5$0$$sroa_idx$i>>0]|0;
$$sroa$6$0$$sroa_idx$i = ((($93)) + 3|0);
$$sroa$6$0$copyload$i = HEAP8[$$sroa$6$0$$sroa_idx$i>>0]|0;
$94 = (+($$sroa$6$0$copyload$i&255));
$95 = $94 / 255.0;
$96 = $$sroa$017$0$copyload$i&255;
$97 = (($4) + ($96<<2)|0);
$98 = +HEAPF32[$97>>2];
$99 = $98 * $95;
$100 = $$sroa$418$0$copyload$i&255;
$101 = (($4) + ($100<<2)|0);
$102 = +HEAPF32[$101>>2];
$103 = $95 * $102;
$104 = $$sroa$5$0$copyload$i&255;
$105 = (($4) + ($104<<2)|0);
$106 = +HEAPF32[$105>>2];
$107 = $95 * $106;
$$sroa$0$0$$sroa_idx$i = (($90) + ($$194<<5)|0);
HEAPF32[$$sroa$0$0$$sroa_idx$i>>2] = $95;
$$sroa$2$0$$sroa_idx14$i = (((($90) + ($$194<<5)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx14$i>>2] = $99;
$$sroa$3$0$$sroa_idx15$i = (((($90) + ($$194<<5)|0)) + 8|0);
HEAPF32[$$sroa$3$0$$sroa_idx15$i>>2] = $103;
$$sroa$4$0$$sroa_idx16$i = (((($90) + ($$194<<5)|0)) + 12|0);
HEAPF32[$$sroa$4$0$$sroa_idx16$i>>2] = $107;
$108 = (((($92) + ($$095<<3)|0)) + 4|0);
$109 = +HEAPF32[$108>>2];
$110 = $109 < $30;
$$$i = $110 ? $109 : $30;
$111 = (((($90) + ($$194<<5)|0)) + 20|0);
HEAPF32[$111>>2] = $$$i;
$112 = (((($90) + ($$194<<5)|0)) + 16|0);
HEAPF32[$112>>2] = $$$i;
$113 = $$$i;
$114 = $$16593 + $113;
$115 = (($$095) + 1)|0;
$116 = HEAP32[$34>>2]|0;
$117 = (($116) + -2)|0;
$118 = ($115>>>0)<($117>>>0);
if ($118) {
$$095 = $115;$$16593 = $114;$$194 = $91;
} else {
$$2 = $91;$$266 = $114;
break;
}
}
}
} else {
$$2 = $38;$$266 = $60;
}
}
$119 = (($$06299) + 1)|0;
$120 = HEAP32[$31>>2]|0;
$121 = ($119>>>0)<($120>>>0);
if ($121) {
$$06299 = $119;$$06398 = $$2;$$06497 = $$266;
} else {
$$064$lcssa = $$266;
break;
}
}
}
HEAPF64[$$sroa$3$0$$sroa_idx34>>3] = $$064$lcssa;
$$061 = $5;
STACKTOP = sp;return ($$061|0);
}
function _to_f_set_gamma($0,$1) {
$0 = $0|0;
$1 = +$1;
var $$06 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = 0.54990000000000006 / $1;
$$06 = 0;
while(1) {
$3 = (+($$06|0));
$4 = $3 / 255.0;
$5 = (+Math_pow((+$4),(+$2)));
$6 = $5;
$7 = (($0) + ($$06<<2)|0);
HEAPF32[$7>>2] = $6;
$8 = (($$06) + 1)|0;
$exitcond = ($8|0)==(256);
if ($exitcond) {
break;
} else {
$$06 = $8;
}
}
return;
}
function _pam_freeacolorhash($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = HEAP32[$0>>2]|0;
_mempool_destroy($2);
return;
}
function _pam_freeacolorhist($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 4|0);
$2 = HEAP32[$1>>2]|0;
$3 = HEAP32[$0>>2]|0;
FUNCTION_TABLE_vi[$2 & 127]($3);
$4 = HEAP32[$1>>2]|0;
FUNCTION_TABLE_vi[$4 & 127]($0);
return;
}
function _pam_colormap($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0*24)|0;
$4 = (($3) + 12)|0;
$5 = (FUNCTION_TABLE_ii[$1 & 63]($4)|0);
$6 = ($5|0)==(0|0);
if ($6) {
$$0 = 0;
return ($$0|0);
}
HEAP32[$5>>2] = $0;
$$sroa$2$0$$sroa_idx1 = ((($5)) + 4|0);
HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $1;
$$sroa$3$0$$sroa_idx2 = ((($5)) + 8|0);
HEAP32[$$sroa$3$0$$sroa_idx2>>2] = $2;
$7 = ((($5)) + 12|0);
_memset(($7|0),0,($3|0))|0;
$$0 = $5;
return ($$0|0);
}
function _pam_duplicate_colormap($0) {
$0 = $0|0;
var $$0$i = 0, $$013 = 0, $$sroa$2$0$$sroa_idx1$i = 0, $$sroa$3$0$$sroa_idx2$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[$0>>2]|0;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($1*24)|0;
$7 = (($6) + 12)|0;
$8 = (FUNCTION_TABLE_ii[$3 & 63]($7)|0);
$9 = ($8|0)==(0|0);
if ($9) {
$$0$i = 0;
} else {
HEAP32[$8>>2] = $1;
$$sroa$2$0$$sroa_idx1$i = ((($8)) + 4|0);
HEAP32[$$sroa$2$0$$sroa_idx1$i>>2] = $3;
$$sroa$3$0$$sroa_idx2$i = ((($8)) + 8|0);
HEAP32[$$sroa$3$0$$sroa_idx2$i>>2] = $5;
$10 = ((($8)) + 12|0);
_memset(($10|0),0,($6|0))|0;
$$0$i = $8;
}
$11 = HEAP32[$0>>2]|0;
$12 = ($11|0)==(0);
if ($12) {
return ($$0$i|0);
} else {
$$013 = 0;
}
while(1) {
$13 = (((($$0$i)) + 12|0) + (($$013*24)|0)|0);
$14 = (((($0)) + 12|0) + (($$013*24)|0)|0);
;HEAP32[$13>>2]=HEAP32[$14>>2]|0;HEAP32[$13+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$13+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$13+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$13+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$13+20>>2]=HEAP32[$14+20>>2]|0;
$15 = (($$013) + 1)|0;
$16 = HEAP32[$0>>2]|0;
$17 = ($15>>>0)<($16>>>0);
if ($17) {
$$013 = $15;
} else {
break;
}
}
return ($$0$i|0);
}
function _pam_freecolormap($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 8|0);
$2 = HEAP32[$1>>2]|0;
FUNCTION_TABLE_vi[$2 & 127]($0);
return;
}
function _mediancut($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = +$2;
$3 = +$3;
$4 = $4|0;
$5 = $5|0;
var $$ = 0, $$$i = 0.0, $$$i$i$i$i$i = 0.0, $$$i$i$i$i$i116 = 0.0, $$$i4$i$i$i$i = 0.0, $$$i4$i$i$i$i118 = 0.0, $$$i5$i$i$i$i = 0.0, $$$i5$i$i$i$i117 = 0.0, $$0$i = 0.0, $$0$i$i$i$i$i = 0, $$0$i50$i$i$i$i = 0, $$0$lcssa = 0.0, $$0$lcssa$i$i$i$i = 0, $$0$ph45$i$i$i$i = 0, $$0100149 = 0, $$0101$lcssa = 0.0, $$0101148 = 0.0, $$0102155 = 0, $$0103150 = 0, $$014$lcssa$i$i = 0.0;
var $$01433$i$i = 0.0, $$0156 = 0.0, $$01618$i = 0, $$017$i = 0, $$020$ph$i$i$i = 0, $$021$i$i$i = 0, $$021$ph$i$i$i = 0, $$02325$i = 0, $$024$i = 0, $$024$ph$i$i$i = 0, $$030$ph44$i$i$i$i = 0, $$034$i$i = 0, $$03649$i = 0, $$03748$i = 0.0, $$042$i$i$i$i = 0, $$042$lcssa$i = 0.0, $$04278$i = 0.0, $$04380$i = 0, $$046$i = 0, $$04757$i = 0;
var $$04855$i = 0, $$04954$i = 0.0, $$079$i = 0, $$1$i = 0, $$1$i$i$i = 0.0, $$1$i$i$i$i = 0, $$138$i = 0.0, $$150$i = 0.0, $$150$i$i$i = 0.0, $$152$i$i$i = 0.0, $$154$i$i$i = 0.0, $$2 = 0, $$2$i = 0, $$251$i = 0.0, $$345$i = 0.0, $$4$i = 0.0, $$53$i = 0.0, $$alloca_mul = 0, $$in$i$i$i$i = 0, $$lcssa147 = 0;
var $$lcssa41$i$i$i = 0, $$lcssa76$i = 0, $$sroa$0$0$$sroa_idx$i$1$i$i = 0, $$sroa$0$0$$sroa_idx$i$i = 0, $$sroa$0$0$copyload$i$1$i$i = 0.0, $$sroa$0$0$copyload$i$i = 0.0, $$sroa$0$0$copyload$i$i$i = 0.0, $$sroa$0$0$i = 0.0, $$sroa$022$0$$sroa_idx$i$i = 0, $$sroa$022$0$copyload$i$i = 0.0, $$sroa$056$0$$sroa_idx$i = 0, $$sroa$056$0$copyload$i = 0.0, $$sroa$4$0$$sroa_idx16$i$i = 0, $$sroa$4$0$$sroa_idx58$i = 0, $$sroa$4$0$$sroa_idx7$i$1$i$i = 0, $$sroa$4$0$$sroa_idx7$i$i$i = 0, $$sroa$4$0$copyload$i = 0.0, $$sroa$4$0$copyload$i$1$i$i = 0.0, $$sroa$4$0$copyload$i$i = 0.0, $$sroa$4$0$copyload$i$i$i = 0.0;
var $$sroa$424$0$$sroa_idx25$i$i = 0, $$sroa$424$0$copyload$i$i = 0.0, $$sroa$5$0$$sroa_idx18$i$i = 0, $$sroa$5$0$$sroa_idx9$i$1$i$i = 0, $$sroa$5$0$$sroa_idx9$i$i$i = 0, $$sroa$5$0$copyload$i$1$i$i = 0.0, $$sroa$5$0$copyload$i$i = 0.0, $$sroa$5$0$copyload$i$i$i = 0.0, $$sroa$5$0$i = 0.0, $$sroa$527$0$$sroa_idx28$i$i = 0, $$sroa$527$0$copyload$i$i = 0.0, $$sroa$560$0$$sroa_idx61$i = 0, $$sroa$560$0$copyload$i = 0.0, $$sroa$6$0$$sroa_idx11$i$1$i$i = 0, $$sroa$6$0$$sroa_idx11$i$i$i = 0, $$sroa$6$0$$sroa_idx20$i$i = 0, $$sroa$6$0$$sroa_idx63$i = 0, $$sroa$6$0$copyload$i = 0.0, $$sroa$6$0$copyload$i$1$i$i = 0.0, $$sroa$6$0$copyload$i$i = 0.0;
var $$sroa$6$0$copyload$i$i$i = 0.0, $$sroa$630$0$$sroa_idx31$i$i = 0, $$sroa$630$0$copyload$i$i = 0.0, $$sroa$7$0$i = 0.0, $$sroa$765$0$$sroa_idx66$i = 0, $$sroa$765$0$copyload$i = 0.0, $$sroa$9$0$i = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0;
var $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0;
var $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0;
var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0.0, $196 = 0, $197 = 0.0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0;
var $202 = 0.0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0;
var $220 = 0.0, $221 = 0, $222 = 0.0, $223 = 0.0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0;
var $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
var $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0.0, $265 = 0, $266 = 0.0, $267 = 0.0, $268 = 0, $269 = 0, $27 = 0.0, $270 = 0, $271 = 0.0, $272 = 0, $273 = 0.0, $274 = 0;
var $275 = 0, $276 = 0, $277 = 0, $278 = 0.0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0.0, $287 = 0.0, $288 = 0.0, $289 = 0, $29 = 0.0, $290 = 0.0, $291 = 0.0, $292 = 0.0;
var $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0, $310 = 0;
var $311 = 0.0, $312 = 0.0, $313 = 0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0.0, $32 = 0.0, $320 = 0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0, $327 = 0, $328 = 0, $329 = 0;
var $33 = 0.0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0.0, $34 = 0.0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0, $345 = 0, $346 = 0, $347 = 0;
var $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0;
var $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $exitcond = 0, $exitcond$i = 0, $exitcond$i108 = 0, $exitcond$i110 = 0, $exitcond$i113 = 0, $exitcond$i119 = 0, $or$cond27$i$i$i = 0, $phitmp$i = 0.0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
$6 = sp + 104|0;
$7 = sp + 72|0;
$8 = sp + 40|0;
$9 = sp + 8|0;
$10 = sp;
$11 = HEAP32[$0>>2]|0;
$$alloca_mul = $1<<6;
$12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
$13 = ((($0)) + 16|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0);
if ($15) {
$$0$lcssa = 0.0;$$lcssa147 = 0;
} else {
$$0102155 = 0;$$0156 = 0.0;
while(1) {
$26 = (((($11) + ($$0102155<<5)|0)) + 16|0);
$27 = +HEAPF32[$26>>2];
$28 = $27;
$29 = $$0156 + $28;
$30 = (($$0102155) + 1)|0;
$31 = ($30>>>0)<($14>>>0);
if ($31) {
$$0102155 = $30;$$0156 = $29;
} else {
$$0$lcssa = $29;$$lcssa147 = $14;
break;
}
}
}
_box_init($12,$11,0,$$lcssa147,$$0$lcssa);
$16 = ($1>>>0)>(1);
L5: do {
if ($16) {
$17 = (+($1>>>0));
$18 = ((($9)) + 4|0);
$19 = ((($9)) + 8|0);
$20 = ((($9)) + 12|0);
$21 = ((($9)) + 16|0);
$22 = ((($9)) + 20|0);
$23 = ((($9)) + 24|0);
$24 = ((($9)) + 28|0);
$25 = ((($0)) + 8|0);
$$0103150 = 1;
L7: while(1) {
$32 = (+($$0103150>>>0));
$33 = $32 / $17;
$34 = $33 * 16.0;
$35 = $34 * $3;
$36 = $35 + $3;
$$04757$i = -1;$$04855$i = 0;$$04954$i = 0.0;
while(1) {
$37 = (((($12) + ($$04855$i<<6)|0)) + 60|0);
$38 = HEAP32[$37>>2]|0;
$39 = ($38>>>0)<(2);
if ($39) {
$$2$i = $$04757$i;$$251$i = $$04954$i;
} else {
$40 = (((($12) + ($$04855$i<<6)|0)) + 20|0);
$41 = +HEAPF32[$40>>2];
$42 = (((($12) + ($$04855$i<<6)|0)) + 24|0);
$43 = +HEAPF32[$42>>2];
$44 = (((($12) + ($$04855$i<<6)|0)) + 28|0);
$45 = +HEAPF32[$44>>2];
$46 = $43 > $45;
$$$i = $46 ? $43 : $45;
$47 = $41 > $$$i;
$48 = $47 ? $41 : $$$i;
$49 = (((($12) + ($$04855$i<<6)|0)) + 32|0);
$50 = +HEAPF64[$49>>3];
$51 = (((($12) + ($$04855$i<<6)|0)) + 16|0);
$52 = +HEAPF32[$51>>2];
$53 = $52 > $48;
$$53$i = $53 ? $52 : $48;
$54 = $$53$i;
$55 = $50 * $54;
$56 = (((($12) + ($$04855$i<<6)|0)) + 48|0);
$57 = +HEAPF64[$56>>3];
$58 = $57 > $36;
if ($58) {
$59 = $57 * $55;
$60 = $59 / $36;
$$0$i = $60;
} else {
$$0$i = $55;
}
$61 = $$0$i > $$04954$i;
$$150$i = $61 ? $$0$i : $$04954$i;
$$1$i = $61 ? $$04855$i : $$04757$i;
$$2$i = $$1$i;$$251$i = $$150$i;
}
$62 = (($$04855$i) + 1)|0;
$exitcond$i = ($62|0)==($$0103150|0);
if ($exitcond$i) {
break;
} else {
$$04757$i = $$2$i;$$04855$i = $62;$$04954$i = $$251$i;
}
}
$63 = ($$2$i|0)<(0);
if ($63) {
$$2 = $$0103150;
break L5;
}
$64 = (($12) + ($$2$i<<6)|0);
$65 = (((($12) + ($$2$i<<6)|0)) + 56|0);
$66 = HEAP32[$65>>2]|0;
$67 = (((($12) + ($$2$i<<6)|0)) + 60|0);
$68 = HEAP32[$67>>2]|0;
HEAP32[$9>>2] = 0;
$69 = (((($12) + ($$2$i<<6)|0)) + 16|0);
$70 = HEAP32[$69>>2]|0;
HEAP32[$18>>2] = $70;
HEAP32[$19>>2] = 1;
$71 = (((($12) + ($$2$i<<6)|0)) + 20|0);
$72 = HEAP32[$71>>2]|0;
HEAP32[$20>>2] = $72;
HEAP32[$21>>2] = 2;
$73 = (((($12) + ($$2$i<<6)|0)) + 24|0);
$74 = HEAP32[$73>>2]|0;
HEAP32[$22>>2] = $74;
HEAP32[$23>>2] = 3;
$75 = (((($12) + ($$2$i<<6)|0)) + 28|0);
$76 = HEAP32[$75>>2]|0;
HEAP32[$24>>2] = $76;
_qsort($9,4,8,50);
$77 = HEAP32[$67>>2]|0;
$78 = ($77|0)==(0);
if ($78) {
$$lcssa76$i = 0;
} else {
$79 = HEAP32[$9>>2]|0;
$80 = HEAP32[$21>>2]|0;
$81 = HEAP32[$19>>2]|0;
$82 = HEAP32[$23>>2]|0;
$$04380$i = 0;
while(1) {
$184 = HEAP32[$65>>2]|0;
$185 = (($184) + ($$04380$i))|0;
$186 = (($11) + ($185<<5)|0);
$187 = (($186) + ($79<<2)|0);
$188 = +HEAPF32[$187>>2];
$189 = $188;
$190 = $189 * 65535.0;
$191 = (~~(($190))>>>0);
$192 = $191 << 16;
$193 = (($186) + ($80<<2)|0);
$194 = +HEAPF32[$193>>2];
$195 = $194;
$196 = (($186) + ($81<<2)|0);
$197 = +HEAPF32[$196>>2];
$198 = $197;
$199 = $198 * 0.5;
$200 = $195 + $199;
$201 = (($186) + ($82<<2)|0);
$202 = +HEAPF32[$201>>2];
$203 = $202;
$204 = $203 * 0.25;
$205 = $200 + $204;
$206 = $205 * 65535.0;
$207 = (~~(($206))>>>0);
$208 = $207 | $192;
$209 = (((($11) + ($185<<5)|0)) + 28|0);
HEAP32[$209>>2] = $208;
$210 = (($$04380$i) + 1)|0;
$211 = HEAP32[$67>>2]|0;
$212 = ($210>>>0)<($211>>>0);
if ($212) {
$$04380$i = $210;
} else {
$$lcssa76$i = $211;
break;
}
}
}
$83 = (($$lcssa76$i) + -1)|0;
$84 = $83 >>> 1;
$85 = HEAP32[$65>>2]|0;
$86 = (($11) + ($85<<5)|0);
$$020$ph$i$i$i = $86;$$021$ph$i$i$i = $$lcssa76$i;$$024$ph$i$i$i = $84;
while(1) {
$87 = ((($$020$ph$i$i$i)) + 284|0);
$$in$i$i$i$i = ((($$020$ph$i$i$i)) + 28|0);
$$021$i$i$i = $$021$ph$i$i$i;
while(1) {
$88 = ($$021$i$i$i>>>0)>(7);
L28: do {
if ($88) {
$89 = ($$021$i$i$i>>>0)<(32);
$90 = $$021$i$i$i >>> 1;
do {
if ($89) {
$$0$i50$i$i$i$i = $90;
} else {
$91 = (($$021$i$i$i) + -1)|0;
$92 = HEAP32[$87>>2]|0;
$93 = (((($$020$ph$i$i$i) + ($90<<5)|0)) + 28|0);
$94 = HEAP32[$93>>2]|0;
$95 = (((($$020$ph$i$i$i) + ($91<<5)|0)) + 28|0);
$96 = HEAP32[$95>>2]|0;
$97 = ($92>>>0)<($94>>>0);
if ($97) {
$98 = ($94>>>0)<($96>>>0);
if ($98) {
$$0$i50$i$i$i$i = $90;
break;
}
$99 = ($92>>>0)<($96>>>0);
$100 = $99 ? $91 : 8;
$$0$i$i$i$i$i = $100;
} else {
$101 = ($94>>>0)>($96>>>0);
if ($101) {
$$0$i50$i$i$i$i = $90;
break;
}
$102 = ($92>>>0)<($96>>>0);
$103 = $102 ? 8 : $91;
$$0$i$i$i$i$i = $103;
}
$104 = ($$0$i$i$i$i$i|0)==(0);
if ($104) {
label = 26;
break L28;
} else {
$$0$i50$i$i$i$i = $$0$i$i$i$i$i;
}
}
} while(0);
$105 = (($$020$ph$i$i$i) + ($$0$i50$i$i$i$i<<5)|0);
;HEAP32[$6>>2]=HEAP32[$$020$ph$i$i$i>>2]|0;HEAP32[$6+4>>2]=HEAP32[$$020$ph$i$i$i+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$$020$ph$i$i$i+8>>2]|0;HEAP32[$6+12>>2]=HEAP32[$$020$ph$i$i$i+12>>2]|0;HEAP32[$6+16>>2]=HEAP32[$$020$ph$i$i$i+16>>2]|0;HEAP32[$6+20>>2]=HEAP32[$$020$ph$i$i$i+20>>2]|0;HEAP32[$6+24>>2]=HEAP32[$$020$ph$i$i$i+24>>2]|0;HEAP32[$6+28>>2]=HEAP32[$$020$ph$i$i$i+28>>2]|0;
;HEAP32[$$020$ph$i$i$i>>2]=HEAP32[$105>>2]|0;HEAP32[$$020$ph$i$i$i+4>>2]=HEAP32[$105+4>>2]|0;HEAP32[$$020$ph$i$i$i+8>>2]=HEAP32[$105+8>>2]|0;HEAP32[$$020$ph$i$i$i+12>>2]=HEAP32[$105+12>>2]|0;HEAP32[$$020$ph$i$i$i+16>>2]=HEAP32[$105+16>>2]|0;HEAP32[$$020$ph$i$i$i+20>>2]=HEAP32[$105+20>>2]|0;HEAP32[$$020$ph$i$i$i+24>>2]=HEAP32[$105+24>>2]|0;HEAP32[$$020$ph$i$i$i+28>>2]=HEAP32[$105+28>>2]|0;
;HEAP32[$105>>2]=HEAP32[$6>>2]|0;HEAP32[$105+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$105+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$105+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$105+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$105+20>>2]=HEAP32[$6+20>>2]|0;HEAP32[$105+24>>2]=HEAP32[$6+24>>2]|0;HEAP32[$105+28>>2]=HEAP32[$6+28>>2]|0;
label = 26;
} else {
$106 = ($$021$i$i$i>>>0)>(1);
if ($106) {
label = 26;
} else {
$125 = 0;
}
}
} while(0);
if ((label|0) == 26) {
label = 0;
$107 = HEAP32[$$in$i$i$i$i>>2]|0;
$$0$ph45$i$i$i$i = 1;$$030$ph44$i$i$i$i = $$021$i$i$i;
L42: while(1) {
$$042$i$i$i$i = $$0$ph45$i$i$i$i;
while(1) {
$108 = (((($$020$ph$i$i$i) + ($$042$i$i$i$i<<5)|0)) + 28|0);
$109 = HEAP32[$108>>2]|0;
$110 = ($109>>>0)<($107>>>0);
if ($110) {
break;
}
$112 = (($$042$i$i$i$i) + 1)|0;
$113 = ($112>>>0)<($$030$ph44$i$i$i$i>>>0);
if ($113) {
$$042$i$i$i$i = $112;
} else {
$$0$lcssa$i$i$i$i = $112;
break L42;
}
}
$111 = (($$020$ph$i$i$i) + ($$042$i$i$i$i<<5)|0);
$$1$i$i$i$i = $$030$ph44$i$i$i$i;
while(1) {
$114 = (($$1$i$i$i$i) + -1)|0;
$115 = ($$042$i$i$i$i>>>0)<($114>>>0);
if (!($115)) {
$$lcssa41$i$i$i = 0;
break;
}
$116 = (((($$020$ph$i$i$i) + ($114<<5)|0)) + 28|0);
$117 = HEAP32[$116>>2]|0;
$118 = ($117>>>0)>($107>>>0);
if ($118) {
$$lcssa41$i$i$i = 1;
break;
} else {
$$1$i$i$i$i = $114;
}
}
$119 = ($$042$i$i$i$i|0)==($114|0);
if (!($119)) {
$120 = (($$020$ph$i$i$i) + ($114<<5)|0);
;HEAP32[$7>>2]=HEAP32[$111>>2]|0;HEAP32[$7+4>>2]=HEAP32[$111+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$111+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$111+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$111+16>>2]|0;HEAP32[$7+20>>2]=HEAP32[$111+20>>2]|0;HEAP32[$7+24>>2]=HEAP32[$111+24>>2]|0;HEAP32[$7+28>>2]=HEAP32[$111+28>>2]|0;
;HEAP32[$111>>2]=HEAP32[$120>>2]|0;HEAP32[$111+4>>2]=HEAP32[$120+4>>2]|0;HEAP32[$111+8>>2]=HEAP32[$120+8>>2]|0;HEAP32[$111+12>>2]=HEAP32[$120+12>>2]|0;HEAP32[$111+16>>2]=HEAP32[$120+16>>2]|0;HEAP32[$111+20>>2]=HEAP32[$120+20>>2]|0;HEAP32[$111+24>>2]=HEAP32[$120+24>>2]|0;HEAP32[$111+28>>2]=HEAP32[$120+28>>2]|0;
;HEAP32[$120>>2]=HEAP32[$7>>2]|0;HEAP32[$120+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$120+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$120+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$120+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$120+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$120+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$120+28>>2]=HEAP32[$7+28>>2]|0;
}
if ($$lcssa41$i$i$i) {
$$0$ph45$i$i$i$i = $$042$i$i$i$i;$$030$ph44$i$i$i$i = $114;
} else {
$$0$lcssa$i$i$i$i = $$042$i$i$i$i;
break;
}
}
$121 = (($$0$lcssa$i$i$i$i) + -1)|0;
$122 = ($121|0)==(0);
if ($122) {
$125 = 0;
} else {
$123 = (($$020$ph$i$i$i) + ($121<<5)|0);
;HEAP32[$8>>2]=HEAP32[$$020$ph$i$i$i>>2]|0;HEAP32[$8+4>>2]=HEAP32[$$020$ph$i$i$i+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$$020$ph$i$i$i+8>>2]|0;HEAP32[$8+12>>2]=HEAP32[$$020$ph$i$i$i+12>>2]|0;HEAP32[$8+16>>2]=HEAP32[$$020$ph$i$i$i+16>>2]|0;HEAP32[$8+20>>2]=HEAP32[$$020$ph$i$i$i+20>>2]|0;HEAP32[$8+24>>2]=HEAP32[$$020$ph$i$i$i+24>>2]|0;HEAP32[$8+28>>2]=HEAP32[$$020$ph$i$i$i+28>>2]|0;
;HEAP32[$$020$ph$i$i$i>>2]=HEAP32[$123>>2]|0;HEAP32[$$020$ph$i$i$i+4>>2]=HEAP32[$123+4>>2]|0;HEAP32[$$020$ph$i$i$i+8>>2]=HEAP32[$123+8>>2]|0;HEAP32[$$020$ph$i$i$i+12>>2]=HEAP32[$123+12>>2]|0;HEAP32[$$020$ph$i$i$i+16>>2]=HEAP32[$123+16>>2]|0;HEAP32[$$020$ph$i$i$i+20>>2]=HEAP32[$123+20>>2]|0;HEAP32[$$020$ph$i$i$i+24>>2]=HEAP32[$123+24>>2]|0;HEAP32[$$020$ph$i$i$i+28>>2]=HEAP32[$123+28>>2]|0;
;HEAP32[$123>>2]=HEAP32[$8>>2]|0;HEAP32[$123+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$123+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$123+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$123+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$123+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$123+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[$123+28>>2]=HEAP32[$8+28>>2]|0;
$125 = $121;
}
}
$124 = ($$024$ph$i$i$i>>>0)<($125>>>0);
if ($124) {
$$021$i$i$i = $125;
} else {
break;
}
}
$126 = (($125) + 1)|0;
$127 = ($$021$i$i$i>>>0)>($126>>>0);
$128 = ($$024$ph$i$i$i>>>0)>($126>>>0);
$or$cond27$i$i$i = $127 & $128;
$129 = (($$020$ph$i$i$i) + ($126<<5)|0);
$130 = (($$021$i$i$i) - ($126))|0;
$131 = (($$024$ph$i$i$i) - ($126))|0;
if ($or$cond27$i$i$i) {
$$020$ph$i$i$i = $129;$$021$ph$i$i$i = $130;$$024$ph$i$i$i = $131;
} else {
break;
}
}
$132 = HEAP32[$67>>2]|0;
$133 = $132 & 1;
$134 = ($133|0)==(0);
$135 = HEAP32[$65>>2]|0;
$136 = (($135) + ($84))|0;
$137 = (($11) + ($136<<5)|0);
$$sroa$0$0$copyload$i$i$i = +HEAPF32[$137>>2];
$$sroa$4$0$$sroa_idx7$i$i$i = (((($11) + ($136<<5)|0)) + 4|0);
$$sroa$4$0$copyload$i$i$i = +HEAPF32[$$sroa$4$0$$sroa_idx7$i$i$i>>2];
$$sroa$5$0$$sroa_idx9$i$i$i = (((($11) + ($136<<5)|0)) + 8|0);
$$sroa$5$0$copyload$i$i$i = +HEAPF32[$$sroa$5$0$$sroa_idx9$i$i$i>>2];
$$sroa$6$0$$sroa_idx11$i$i$i = (((($11) + ($136<<5)|0)) + 12|0);
$$sroa$6$0$copyload$i$i$i = +HEAPF32[$$sroa$6$0$$sroa_idx11$i$i$i>>2];
if ($134) {
$138 = (((($11) + ($136<<5)|0)) + 16|0);
$139 = +HEAPF32[$138>>2];
$140 = $139;
$141 = $140 + 0.0;
$142 = $$sroa$0$0$copyload$i$i$i;
$143 = $142 * $140;
$144 = $143 + 0.0;
$145 = $$sroa$4$0$copyload$i$i$i;
$146 = $145 * $140;
$147 = $146 + 0.0;
$148 = $$sroa$5$0$copyload$i$i$i;
$149 = $148 * $140;
$150 = $149 + 0.0;
$151 = $$sroa$6$0$copyload$i$i$i;
$152 = $151 * $140;
$153 = $152 + 0.0;
$$sroa$0$0$$sroa_idx$i$1$i$i = ((($137)) + 32|0);
$$sroa$0$0$copyload$i$1$i$i = +HEAPF32[$$sroa$0$0$$sroa_idx$i$1$i$i>>2];
$$sroa$4$0$$sroa_idx7$i$1$i$i = ((($137)) + 36|0);
$$sroa$4$0$copyload$i$1$i$i = +HEAPF32[$$sroa$4$0$$sroa_idx7$i$1$i$i>>2];
$$sroa$5$0$$sroa_idx9$i$1$i$i = ((($137)) + 40|0);
$$sroa$5$0$copyload$i$1$i$i = +HEAPF32[$$sroa$5$0$$sroa_idx9$i$1$i$i>>2];
$$sroa$6$0$$sroa_idx11$i$1$i$i = ((($137)) + 44|0);
$$sroa$6$0$copyload$i$1$i$i = +HEAPF32[$$sroa$6$0$$sroa_idx11$i$1$i$i>>2];
$154 = ((($137)) + 48|0);
$155 = +HEAPF32[$154>>2];
$156 = $155;
$157 = $141 + $156;
$158 = $$sroa$0$0$copyload$i$1$i$i;
$159 = $158 * $156;
$160 = $144 + $159;
$161 = $$sroa$4$0$copyload$i$1$i$i;
$162 = $161 * $156;
$163 = $147 + $162;
$164 = $$sroa$5$0$copyload$i$1$i$i;
$165 = $164 * $156;
$166 = $150 + $165;
$167 = $$sroa$6$0$copyload$i$1$i$i;
$168 = $167 * $156;
$169 = $153 + $168;
$170 = $157 != 0.0;
if ($170) {
$171 = $160 / $157;
$172 = $163 / $157;
$173 = $166 / $157;
$174 = $169 / $157;
$$1$i$i$i = $172;$$150$i$i$i = $173;$$152$i$i$i = $174;$$154$i$i$i = $171;
} else {
$$1$i$i$i = $163;$$150$i$i$i = $166;$$152$i$i$i = $169;$$154$i$i$i = $160;
}
$175 = $$154$i$i$i;
$176 = $$1$i$i$i;
$177 = $$150$i$i$i;
$178 = $$152$i$i$i;
$$sroa$0$0$i = $175;$$sroa$5$0$i = $176;$$sroa$7$0$i = $177;$$sroa$9$0$i = $178;
} else {
$$sroa$0$0$i = $$sroa$0$0$copyload$i$i$i;$$sroa$5$0$i = $$sroa$4$0$copyload$i$i$i;$$sroa$7$0$i = $$sroa$5$0$copyload$i$i$i;$$sroa$9$0$i = $$sroa$6$0$copyload$i$i$i;
}
$179 = (($135) + ($132))|0;
$180 = ($135>>>0)<($179>>>0);
if ($180) {
$181 = $$sroa$5$0$i;
$182 = $$sroa$7$0$i;
$183 = $$sroa$9$0$i;
$$04278$i = 0.0;$$079$i = $135;
while(1) {
$$sroa$056$0$$sroa_idx$i = (($11) + ($$079$i<<5)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$056$0$$sroa_idx$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$056$0$$sroa_idx$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$056$0$$sroa_idx$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$056$0$$sroa_idx$i+3>>0];$$sroa$056$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx58$i = (((($11) + ($$079$i<<5)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx58$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx58$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx58$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx58$i+3>>0];$$sroa$4$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$560$0$$sroa_idx61$i = (((($11) + ($$079$i<<5)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$560$0$$sroa_idx61$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$560$0$$sroa_idx61$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$560$0$$sroa_idx61$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$560$0$$sroa_idx61$i+3>>0];$$sroa$560$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$6$0$$sroa_idx63$i = (((($11) + ($$079$i<<5)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx63$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx63$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx63$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx63$i+3>>0];$$sroa$6$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$765$0$$sroa_idx66$i = (((($11) + ($$079$i<<5)|0)) + 16|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$765$0$$sroa_idx66$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$765$0$$sroa_idx66$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$765$0$$sroa_idx66$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$765$0$$sroa_idx66$i+3>>0];$$sroa$765$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$214 = $$sroa$056$0$copyload$i - $$sroa$0$0$i;
$215 = $214;
$216 = $$sroa$4$0$copyload$i;
$217 = $181 - $216;
$218 = $215 + $217;
$219 = $217 * $217;
$220 = $218 * $218;
$221 = $219 > $220;
$$$i$i$i$i$i116 = $221 ? $219 : $220;
$222 = $$sroa$560$0$copyload$i;
$223 = $182 - $222;
$224 = $215 + $223;
$225 = $223 * $223;
$226 = $224 * $224;
$227 = $225 > $226;
$$$i5$i$i$i$i117 = $227 ? $225 : $226;
$228 = $$$i$i$i$i$i116 + $$$i5$i$i$i$i117;
$229 = $$sroa$6$0$copyload$i;
$230 = $183 - $229;
$231 = $215 + $230;
$232 = $230 * $230;
$233 = $231 * $231;
$234 = $232 > $233;
$$$i4$i$i$i$i118 = $234 ? $232 : $233;
$235 = $228 + $$$i4$i$i$i$i118;
$236 = $235;
$237 = $236;
$238 = (+Math_sqrt((+$237)));
$239 = $$sroa$765$0$copyload$i;
$240 = $239 + 1.0;
$241 = (+Math_sqrt((+$240)));
$242 = $241 + -1.0;
$243 = $238 * $242;
$244 = $243;
$245 = (((($11) + ($$079$i<<5)|0)) + 24|0);
HEAPF32[$245>>2] = $244;
$246 = $244;
$213 = $$04278$i + $246;
$247 = (($$079$i) + 1)|0;
$exitcond$i119 = ($247|0)==($179|0);
if ($exitcond$i119) {
break;
} else {
$$04278$i = $213;$$079$i = $247;
}
}
$phitmp$i = $213 * 0.5;
$$042$lcssa$i = $phitmp$i;
} else {
$$042$lcssa$i = 0.0;
}
HEAPF64[$10>>3] = 0.0;
$248 = (($11) + ($66<<5)|0);
$249 = (_hist_item_sort_halfvar($248,$68,$10,$$042$lcssa$i)|0);
$250 = (($68) + -1)|0;
$251 = $249;
$252 = $248;
$253 = (($251) - ($252))|0;
$254 = $253 >> 5;
$255 = (($254) + 1)|0;
$256 = ($250>>>0)<($255>>>0);
$$ = $256 ? $250 : $255;
$257 = (((($12) + ($$2$i<<6)|0)) + 32|0);
$258 = +HEAPF64[$257>>3];
$259 = ($$|0)==(0);
if ($259) {
$$0101$lcssa = 0.0;
} else {
$$0100149 = 0;$$0101148 = 0.0;
while(1) {
$321 = (($$0100149) + ($66))|0;
$322 = (((($11) + ($321<<5)|0)) + 16|0);
$323 = +HEAPF32[$322>>2];
$324 = $323;
$325 = $$0101148 + $324;
$326 = (($$0100149) + 1)|0;
$327 = ($326>>>0)<($$>>>0);
if ($327) {
$$0100149 = $326;$$0101148 = $325;
} else {
$$0101$lcssa = $325;
break;
}
}
}
$260 = HEAP32[$65>>2]|0;
_box_init($64,$11,$260,$$,$$0101$lcssa);
$261 = (($12) + ($$0103150<<6)|0);
$262 = (($$) + ($66))|0;
$263 = (($68) - ($$))|0;
$264 = $258 - $$0101$lcssa;
_box_init($261,$11,$262,$263,$264);
$265 = (($$0103150) + 1)|0;
$266 = +HEAPF64[$25>>3];
$267 = $266 * $2;
$$03649$i = 0;$$03748$i = 0.0;
while(1) {
$270 = (((($12) + ($$03649$i<<6)|0)) + 40|0);
$271 = +HEAPF64[$270>>3];
$272 = !($271 >= 0.0);
$273 = $$03748$i + $271;
$$138$i = $272 ? $$03748$i : $273;
$274 = $$138$i > $267;
$268 = (($$03649$i) + 1)|0;
if ($274) {
break;
}
$269 = ($268>>>0)<($265>>>0);
if ($269) {
$$03649$i = $268;$$03748$i = $$138$i;
} else {
$$046$i = 0;$$345$i = $$138$i;
label = 54;
break;
}
}
L79: do {
if ((label|0) == 54) {
while(1) {
label = 0;
$277 = (((($12) + ($$046$i<<6)|0)) + 40|0);
$278 = +HEAPF64[$277>>3];
$279 = $278 < 0.0;
if ($279) {
$280 = HEAP32[$0>>2]|0;
$$sroa$0$0$$sroa_idx$i$i = (($12) + ($$046$i<<6)|0);
$$sroa$0$0$copyload$i$i = +HEAPF32[$$sroa$0$0$$sroa_idx$i$i>>2];
$281 = (((($12) + ($$046$i<<6)|0)) + 60|0);
$282 = HEAP32[$281>>2]|0;
$283 = ($282|0)==(0);
if ($283) {
$$014$lcssa$i$i = 0.0;
} else {
$$sroa$6$0$$sroa_idx20$i$i = (((($12) + ($$046$i<<6)|0)) + 12|0);
$$sroa$6$0$copyload$i$i = +HEAPF32[$$sroa$6$0$$sroa_idx20$i$i>>2];
$$sroa$5$0$$sroa_idx18$i$i = (((($12) + ($$046$i<<6)|0)) + 8|0);
$$sroa$5$0$copyload$i$i = +HEAPF32[$$sroa$5$0$$sroa_idx18$i$i>>2];
$$sroa$4$0$$sroa_idx16$i$i = (((($12) + ($$046$i<<6)|0)) + 4|0);
$$sroa$4$0$copyload$i$i = +HEAPF32[$$sroa$4$0$$sroa_idx16$i$i>>2];
$284 = (((($12) + ($$046$i<<6)|0)) + 56|0);
$285 = HEAP32[$284>>2]|0;
$286 = $$sroa$4$0$copyload$i$i;
$287 = $$sroa$5$0$copyload$i$i;
$288 = $$sroa$6$0$copyload$i$i;
$$01433$i$i = 0.0;$$034$i$i = 0;
while(1) {
$289 = (($$034$i$i) + ($285))|0;
$$sroa$022$0$$sroa_idx$i$i = (($280) + ($289<<5)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$022$0$$sroa_idx$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$022$0$$sroa_idx$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$022$0$$sroa_idx$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$022$0$$sroa_idx$i$i+3>>0];$$sroa$022$0$copyload$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$424$0$$sroa_idx25$i$i = (((($280) + ($289<<5)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$424$0$$sroa_idx25$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$424$0$$sroa_idx25$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$424$0$$sroa_idx25$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$424$0$$sroa_idx25$i$i+3>>0];$$sroa$424$0$copyload$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$527$0$$sroa_idx28$i$i = (((($280) + ($289<<5)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$527$0$$sroa_idx28$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$527$0$$sroa_idx28$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$527$0$$sroa_idx28$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$527$0$$sroa_idx28$i$i+3>>0];$$sroa$527$0$copyload$i$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$630$0$$sroa_idx31$i$i = (((($280) + ($289<<5)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$630$0$$sroa_idx31$i$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$630$0$$sroa_idx31$i$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$630$0$$sroa_idx31$i$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$630$0$$sroa_idx31$i$i+3>>0];$$sroa$630$0$copyload$i$i = +HEAPF32[tempDoublePtr>>2];
$290 = $$sroa$022$0$copyload$i$i - $$sroa$0$0$copyload$i$i;
$291 = $290;
$292 = $$sroa$424$0$copyload$i$i;
$293 = $286 - $292;
$294 = $291 + $293;
$295 = $293 * $293;
$296 = $294 * $294;
$297 = $295 > $296;
$$$i$i$i$i$i = $297 ? $295 : $296;
$298 = $$sroa$527$0$copyload$i$i;
$299 = $287 - $298;
$300 = $291 + $299;
$301 = $299 * $299;
$302 = $300 * $300;
$303 = $301 > $302;
$$$i5$i$i$i$i = $303 ? $301 : $302;
$304 = $$$i$i$i$i$i + $$$i5$i$i$i$i;
$305 = $$sroa$630$0$copyload$i$i;
$306 = $288 - $305;
$307 = $291 + $306;
$308 = $306 * $306;
$309 = $307 * $307;
$310 = $308 > $309;
$$$i4$i$i$i$i = $310 ? $308 : $309;
$311 = $304 + $$$i4$i$i$i$i;
$312 = $311;
$313 = (((($280) + ($289<<5)|0)) + 20|0);
$314 = +HEAPF32[$313>>2];
$315 = $314 * $312;
$316 = $315;
$317 = $$01433$i$i + $316;
$318 = (($$034$i$i) + 1)|0;
$exitcond$i113 = ($318|0)==($282|0);
if ($exitcond$i113) {
$$014$lcssa$i$i = $317;
break;
} else {
$$01433$i$i = $317;$$034$i$i = $318;
}
}
}
HEAPF64[$277>>3] = $$014$lcssa$i$i;
$319 = $$345$i + $$014$lcssa$i$i;
$$4$i = $319;
} else {
$$4$i = $$345$i;
}
$320 = $$4$i > $267;
$275 = (($$046$i) + 1)|0;
if ($320) {
break L79;
}
$276 = ($275>>>0)<($265>>>0);
if ($276) {
$$046$i = $275;$$345$i = $$4$i;
label = 54;
} else {
break L7;
}
}
}
} while(0);
$328 = ($265>>>0)<($1>>>0);
if ($328) {
$$0103150 = $265;
} else {
$$2 = $265;
break L5;
}
}
$$2 = $265;
} else {
$$2 = 1;
}
} while(0);
$329 = (_pam_colormap($$2,$4,$5)|0);
$$02325$i = 0;
while(1) {
$330 = (((($329)) + 12|0) + (($$02325$i*24)|0)|0);
$331 = (($12) + ($$02325$i<<6)|0);
;HEAP32[$330>>2]=HEAP32[$331>>2]|0;HEAP32[$330+4>>2]=HEAP32[$331+4>>2]|0;HEAP32[$330+8>>2]=HEAP32[$331+8>>2]|0;HEAP32[$330+12>>2]=HEAP32[$331+12>>2]|0;
$332 = (((((($329)) + 12|0) + (($$02325$i*24)|0)|0)) + 16|0);
HEAPF32[$332>>2] = 0.0;
$333 = (((($12) + ($$02325$i<<6)|0)) + 56|0);
$334 = HEAP32[$333>>2]|0;
$335 = (((($12) + ($$02325$i<<6)|0)) + 60|0);
$336 = HEAP32[$335>>2]|0;
$337 = (($336) + ($334))|0;
$338 = ($334>>>0)<($337>>>0);
if ($338) {
$$024$i = $334;$343 = 0.0;
while(1) {
$341 = (((($11) + ($$024$i<<5)|0)) + 20|0);
$342 = +HEAPF32[$341>>2];
$339 = $343 + $342;
$344 = (($$024$i) + 1)|0;
$exitcond = ($344|0)==($337|0);
if ($exitcond) {
break;
} else {
$$024$i = $344;$343 = $339;
}
}
HEAPF32[$332>>2] = $339;
}
$340 = (($$02325$i) + 1)|0;
$exitcond$i110 = ($340|0)==($$2|0);
if ($exitcond$i110) {
$$01618$i = 0;
break;
} else {
$$02325$i = $340;
}
}
while(1) {
$345 = (((($12) + ($$01618$i<<6)|0)) + 56|0);
$346 = HEAP32[$345>>2]|0;
$347 = (((($12) + ($$01618$i<<6)|0)) + 60|0);
$348 = HEAP32[$347>>2]|0;
$349 = (($348) + ($346))|0;
$350 = ($346>>>0)<($349>>>0);
if ($350) {
$351 = $$01618$i&255;
$$017$i = $346;
while(1) {
$353 = (((($11) + ($$017$i<<5)|0)) + 28|0);
HEAP8[$353>>0] = $351;
$354 = (($$017$i) + 1)|0;
$355 = HEAP32[$345>>2]|0;
$356 = HEAP32[$347>>2]|0;
$357 = (($356) + ($355))|0;
$358 = ($354>>>0)<($357>>>0);
if ($358) {
$$017$i = $354;
} else {
break;
}
}
}
$352 = (($$01618$i) + 1)|0;
$exitcond$i108 = ($352|0)==($$2|0);
if ($exitcond$i108) {
break;
} else {
$$01618$i = $352;
}
}
STACKTOP = sp;return ($329|0);
}
function _box_init($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = +$4;
var $$$i$i$i$i = 0.0, $$$i4$i$i$i = 0.0, $$$i5$i$i$i = 0.0, $$0$i$i = 0.0, $$0$i54$i = 0.0, $$0$i55$i = 0.0, $$0$i56$i = 0.0, $$0$lcssa$i = 0.0, $$0$lcssa$i25 = 0.0, $$01534$i = 0, $$035$i = 0.0, $$04961$i = 0.0, $$050$lcssa$i = 0.0, $$05060$i = 0.0, $$051$lcssa$i = 0.0, $$05159$i = 0.0, $$05160$i = 0.0, $$052$lcssa$i = 0.0, $$05258$i = 0.0, $$05357$i = 0;
var $$05359$i = 0.0, $$05558$i = 0.0, $$05657$i = 0, $$061$i = 0.0, $$062$i = 0.0, $$1$i = 0.0, $$1$i23 = 0.0, $$150$i = 0.0, $$152$i = 0.0, $$154$i = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$$sroa_idx$i = 0, $$sroa$0$0$$sroa_idx$i27 = 0, $$sroa$0$0$copyload$i = 0.0, $$sroa$0$0$copyload$i28 = 0.0, $$sroa$023$0$$sroa_idx$i = 0, $$sroa$023$0$copyload$i = 0.0, $$sroa$2$0$$sroa_idx32 = 0, $$sroa$236$0$$sroa_idx37 = 0, $$sroa$3$0$$sroa_idx33 = 0;
var $$sroa$338$0$$sroa_idx39 = 0, $$sroa$4$0$$sroa_idx34 = 0, $$sroa$4$0$$sroa_idx6$i = 0, $$sroa$4$0$$sroa_idx7$i = 0, $$sroa$4$0$copyload$i = 0.0, $$sroa$4$0$copyload$i29 = 0.0, $$sroa$425$0$$sroa_idx26$i = 0, $$sroa$425$0$copyload$i = 0.0, $$sroa$440$0$$sroa_idx41 = 0, $$sroa$5$0$$sroa_idx8$i = 0, $$sroa$5$0$$sroa_idx9$i = 0, $$sroa$5$0$copyload$i = 0.0, $$sroa$5$0$copyload$i30 = 0.0, $$sroa$528$0$$sroa_idx29$i = 0, $$sroa$528$0$copyload$i = 0.0, $$sroa$6$0$$sroa_idx10$i = 0, $$sroa$6$0$$sroa_idx11$i = 0, $$sroa$6$0$copyload$i = 0.0, $$sroa$6$0$copyload$i31 = 0.0, $$sroa$631$0$$sroa_idx32$i = 0;
var $$sroa$631$0$copyload$i = 0.0, $10 = 0, $100 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0;
var $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0;
var $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0;
var $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0.0, $83 = 0.0;
var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond$i = 0, $exitcond58 = 0;
var $phitmp$i = 0.0, $phitmp68$i = 0.0, $phitmp69$i = 0.0, $phitmp70$i = 0.0, $phitmp71$i = 0.0, $phitmp72$i = 0.0, $phitmp73$i = 0.0, $phitmp74$i = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($0)) + 56|0);
HEAP32[$5>>2] = $2;
$6 = ((($0)) + 60|0);
HEAP32[$6>>2] = $3;
$7 = ((($0)) + 32|0);
HEAPF64[$7>>3] = $4;
$8 = ((($0)) + 40|0);
HEAPF64[$8>>3] = -1.0;
$9 = (($1) + ($2<<5)|0);
$10 = ($3|0)==(0);
if ($10) {
$$1$i = 0.0;$$150$i = 0.0;$$152$i = 0.0;$$154$i = 0.0;
} else {
$$04961$i = 0.0;$$05160$i = 0.0;$$05359$i = 0.0;$$05558$i = 0.0;$$05657$i = 0;$$062$i = 0.0;
while(1) {
$$sroa$0$0$$sroa_idx$i = (($9) + ($$05657$i<<5)|0);
$$sroa$0$0$copyload$i = +HEAPF32[$$sroa$0$0$$sroa_idx$i>>2];
$$sroa$4$0$$sroa_idx7$i = (((($9) + ($$05657$i<<5)|0)) + 4|0);
$$sroa$4$0$copyload$i = +HEAPF32[$$sroa$4$0$$sroa_idx7$i>>2];
$$sroa$5$0$$sroa_idx9$i = (((($9) + ($$05657$i<<5)|0)) + 8|0);
$$sroa$5$0$copyload$i = +HEAPF32[$$sroa$5$0$$sroa_idx9$i>>2];
$$sroa$6$0$$sroa_idx11$i = (((($9) + ($$05657$i<<5)|0)) + 12|0);
$$sroa$6$0$copyload$i = +HEAPF32[$$sroa$6$0$$sroa_idx11$i>>2];
$13 = (((($9) + ($$05657$i<<5)|0)) + 16|0);
$14 = +HEAPF32[$13>>2];
$15 = $14;
$12 = $$05558$i + $15;
$16 = $$sroa$0$0$copyload$i;
$17 = $16 * $15;
$18 = $$05359$i + $17;
$19 = $$sroa$4$0$copyload$i;
$20 = $19 * $15;
$21 = $$062$i + $20;
$22 = $$sroa$5$0$copyload$i;
$23 = $22 * $15;
$24 = $$04961$i + $23;
$25 = $$sroa$6$0$copyload$i;
$26 = $25 * $15;
$27 = $$05160$i + $26;
$28 = (($$05657$i) + 1)|0;
$exitcond$i = ($28|0)==($3|0);
if ($exitcond$i) {
break;
} else {
$$04961$i = $24;$$05160$i = $27;$$05359$i = $18;$$05558$i = $12;$$05657$i = $28;$$062$i = $21;
}
}
$11 = $12 != 0.0;
if ($11) {
$29 = $18 / $12;
$30 = $21 / $12;
$31 = $24 / $12;
$32 = $27 / $12;
$$1$i = $30;$$150$i = $31;$$152$i = $32;$$154$i = $29;
} else {
$$1$i = $21;$$150$i = $24;$$152$i = $27;$$154$i = $18;
}
}
$33 = $$154$i;
$34 = $$1$i;
$35 = $$150$i;
$36 = $$152$i;
HEAPF32[$0>>2] = $33;
$$sroa$236$0$$sroa_idx37 = ((($0)) + 4|0);
HEAPF32[$$sroa$236$0$$sroa_idx37>>2] = $34;
$$sroa$338$0$$sroa_idx39 = ((($0)) + 8|0);
HEAPF32[$$sroa$338$0$$sroa_idx39>>2] = $35;
$$sroa$440$0$$sroa_idx41 = ((($0)) + 12|0);
HEAPF32[$$sroa$440$0$$sroa_idx41>>2] = $36;
if ($10) {
$$0$lcssa$i25 = 0.0;$$050$lcssa$i = 0.0;$$051$lcssa$i = 0.0;$$052$lcssa$i = 0.0;
} else {
$$05060$i = 0.0;$$05159$i = 0.0;$$05258$i = 0.0;$$05357$i = 0;$$061$i = 0.0;
while(1) {
$41 = (($$05357$i) + ($2))|0;
$$sroa$0$0$$sroa_idx$i27 = (($1) + ($41<<5)|0);
$$sroa$0$0$copyload$i28 = +HEAPF32[$$sroa$0$0$$sroa_idx$i27>>2];
$$sroa$4$0$$sroa_idx6$i = (((($1) + ($41<<5)|0)) + 4|0);
$$sroa$4$0$copyload$i29 = +HEAPF32[$$sroa$4$0$$sroa_idx6$i>>2];
$$sroa$5$0$$sroa_idx8$i = (((($1) + ($41<<5)|0)) + 8|0);
$$sroa$5$0$copyload$i30 = +HEAPF32[$$sroa$5$0$$sroa_idx8$i>>2];
$$sroa$6$0$$sroa_idx10$i = (((($1) + ($41<<5)|0)) + 12|0);
$$sroa$6$0$copyload$i31 = +HEAPF32[$$sroa$6$0$$sroa_idx10$i>>2];
$42 = (((($1) + ($41<<5)|0)) + 16|0);
$43 = +HEAPF32[$42>>2];
$44 = $43;
$45 = $33 - $$sroa$0$0$copyload$i28;
$46 = $45;
$47 = $46 * $46;
$48 = $47 < 6.103515625E-5;
$49 = $47 * 0.25;
$$0$i$i = $48 ? $49 : $47;
$50 = $$0$i$i * $44;
$37 = $$061$i + $50;
$51 = $34 - $$sroa$4$0$copyload$i29;
$52 = $51;
$53 = $52 * $52;
$54 = $53 < 1.52587890625E-5;
$55 = $53 * 0.25;
$$0$i56$i = $54 ? $55 : $53;
$56 = $44 * $$0$i56$i;
$38 = $$05060$i + $56;
$57 = $35 - $$sroa$5$0$copyload$i30;
$58 = $57;
$59 = $58 * $58;
$60 = $59 < 1.52587890625E-5;
$61 = $59 * 0.25;
$$0$i55$i = $60 ? $61 : $59;
$62 = $44 * $$0$i55$i;
$39 = $$05159$i + $62;
$63 = $36 - $$sroa$6$0$copyload$i31;
$64 = $63;
$65 = $64 * $64;
$66 = $65 < 1.52587890625E-5;
$67 = $65 * 0.25;
$$0$i54$i = $66 ? $67 : $65;
$68 = $44 * $$0$i54$i;
$40 = $$05258$i + $68;
$69 = (($$05357$i) + 1)|0;
$exitcond58 = ($69|0)==($3|0);
if ($exitcond58) {
break;
} else {
$$05060$i = $38;$$05159$i = $39;$$05258$i = $40;$$05357$i = $69;$$061$i = $37;
}
}
$phitmp$i = $37 * 0.25;
$phitmp68$i = $phitmp$i;
$phitmp69$i = $38 * 0.4375;
$phitmp70$i = $phitmp69$i;
$phitmp71$i = $39 * 0.5625;
$phitmp72$i = $phitmp71$i;
$phitmp73$i = $40 * 0.3125;
$phitmp74$i = $phitmp73$i;
$$0$lcssa$i25 = $phitmp68$i;$$050$lcssa$i = $phitmp70$i;$$051$lcssa$i = $phitmp72$i;$$052$lcssa$i = $phitmp74$i;
}
$$sroa$0$0$$sroa_idx = ((($0)) + 16|0);
HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $$0$lcssa$i25;
$$sroa$2$0$$sroa_idx32 = ((($0)) + 20|0);
HEAPF32[$$sroa$2$0$$sroa_idx32>>2] = $$050$lcssa$i;
$$sroa$3$0$$sroa_idx33 = ((($0)) + 24|0);
HEAPF32[$$sroa$3$0$$sroa_idx33>>2] = $$051$lcssa$i;
$$sroa$4$0$$sroa_idx34 = ((($0)) + 28|0);
HEAPF32[$$sroa$4$0$$sroa_idx34>>2] = $$052$lcssa$i;
if ($10) {
$$0$lcssa$i = 0.0;
$100 = ((($0)) + 48|0);
HEAPF64[$100>>3] = $$0$lcssa$i;
return;
}
$70 = $34;
$71 = $35;
$72 = $36;
$$01534$i = 0;$$035$i = 0.0;
while(1) {
$73 = (($$01534$i) + ($2))|0;
$$sroa$023$0$$sroa_idx$i = (($1) + ($73<<5)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$023$0$$sroa_idx$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$023$0$$sroa_idx$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$023$0$$sroa_idx$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$023$0$$sroa_idx$i+3>>0];$$sroa$023$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$425$0$$sroa_idx26$i = (((($1) + ($73<<5)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$425$0$$sroa_idx26$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$425$0$$sroa_idx26$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$425$0$$sroa_idx26$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$425$0$$sroa_idx26$i+3>>0];$$sroa$425$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$528$0$$sroa_idx29$i = (((($1) + ($73<<5)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$528$0$$sroa_idx29$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$528$0$$sroa_idx29$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$528$0$$sroa_idx29$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$528$0$$sroa_idx29$i+3>>0];$$sroa$528$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$631$0$$sroa_idx32$i = (((($1) + ($73<<5)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$631$0$$sroa_idx32$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$631$0$$sroa_idx32$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$631$0$$sroa_idx32$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$631$0$$sroa_idx32$i+3>>0];$$sroa$631$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$74 = $$sroa$023$0$copyload$i - $33;
$75 = $74;
$76 = $$sroa$425$0$copyload$i;
$77 = $70 - $76;
$78 = $75 + $77;
$79 = $77 * $77;
$80 = $78 * $78;
$81 = $79 > $80;
$$$i$i$i$i = $81 ? $79 : $80;
$82 = $$sroa$528$0$copyload$i;
$83 = $71 - $82;
$84 = $75 + $83;
$85 = $83 * $83;
$86 = $84 * $84;
$87 = $85 > $86;
$$$i5$i$i$i = $87 ? $85 : $86;
$88 = $$$i$i$i$i + $$$i5$i$i$i;
$89 = $$sroa$631$0$copyload$i;
$90 = $72 - $89;
$91 = $75 + $90;
$92 = $90 * $90;
$93 = $91 * $91;
$94 = $92 > $93;
$$$i4$i$i$i = $94 ? $92 : $93;
$95 = $88 + $$$i4$i$i$i;
$96 = $95;
$97 = $96;
$98 = $97 > $$035$i;
$$1$i23 = $98 ? $97 : $$035$i;
$99 = (($$01534$i) + 1)|0;
$exitcond = ($99|0)==($3|0);
if ($exitcond) {
$$0$lcssa$i = $$1$i23;
break;
} else {
$$01534$i = $99;$$035$i = $$1$i23;
}
}
$100 = ((($0)) + 48|0);
HEAPF64[$100>>3] = $$0$lcssa$i;
return;
}
function _comparevariance($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 4|0);
$3 = +HEAPF32[$2>>2];
$4 = ((($1)) + 4|0);
$5 = +HEAPF32[$4>>2];
$6 = $3 > $5;
$7 = $3 < $5;
$8 = $7&1;
$9 = $6 ? -1 : $8;
return ($9|0);
}
function _hist_item_sort_halfvar($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = +$3;
var $$0$i$i = 0, $$0$i50$i = 0, $$0$lcssa$i = 0, $$0$ph45$i = 0, $$030$ph44$i = 0, $$042$i = 0, $$05177 = 0.0, $$05276 = 0, $$053 = 0, $$055 = 0, $$1$i = 0, $$363 = 0, $$in$i = 0, $$lcssa81 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0;
var $72 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
$4 = sp + 64|0;
$5 = sp + 32|0;
$6 = sp;
$$053 = $0;$$055 = $1;
L1: while(1) {
$7 = ($$055>>>0)>(7);
L3: do {
if ($7) {
$8 = ($$055>>>0)<(32);
$9 = $$055 >>> 1;
do {
if ($8) {
$$0$i50$i = $9;
} else {
$10 = (($$055) + -1)|0;
$11 = ((($$053)) + 284|0);
$12 = HEAP32[$11>>2]|0;
$13 = (((($$053) + ($9<<5)|0)) + 28|0);
$14 = HEAP32[$13>>2]|0;
$15 = (((($$053) + ($10<<5)|0)) + 28|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($12>>>0)<($14>>>0);
if ($17) {
$18 = ($14>>>0)<($16>>>0);
if ($18) {
$$0$i50$i = $9;
break;
}
$19 = ($12>>>0)<($16>>>0);
$20 = $19 ? $10 : 8;
$$0$i$i = $20;
} else {
$21 = ($14>>>0)>($16>>>0);
if ($21) {
$$0$i50$i = $9;
break;
}
$22 = ($12>>>0)<($16>>>0);
$23 = $22 ? 8 : $10;
$$0$i$i = $23;
}
$24 = ($$0$i$i|0)==(0);
if ($24) {
label = 12;
break L3;
} else {
$$0$i50$i = $$0$i$i;
}
}
} while(0);
$25 = (($$053) + ($$0$i50$i<<5)|0);
;HEAP32[$4>>2]=HEAP32[$$053>>2]|0;HEAP32[$4+4>>2]=HEAP32[$$053+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$$053+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$$053+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[$$053+16>>2]|0;HEAP32[$4+20>>2]=HEAP32[$$053+20>>2]|0;HEAP32[$4+24>>2]=HEAP32[$$053+24>>2]|0;HEAP32[$4+28>>2]=HEAP32[$$053+28>>2]|0;
;HEAP32[$$053>>2]=HEAP32[$25>>2]|0;HEAP32[$$053+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$$053+8>>2]=HEAP32[$25+8>>2]|0;HEAP32[$$053+12>>2]=HEAP32[$25+12>>2]|0;HEAP32[$$053+16>>2]=HEAP32[$25+16>>2]|0;HEAP32[$$053+20>>2]=HEAP32[$25+20>>2]|0;HEAP32[$$053+24>>2]=HEAP32[$25+24>>2]|0;HEAP32[$$053+28>>2]=HEAP32[$25+28>>2]|0;
;HEAP32[$25>>2]=HEAP32[$4>>2]|0;HEAP32[$25+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$25+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$25+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$25+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$25+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$25+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$25+28>>2]=HEAP32[$4+28>>2]|0;
label = 12;
} else {
$26 = ($$055>>>0)>(1);
if ($26) {
label = 12;
} else {
$45 = 0;
}
}
} while(0);
if ((label|0) == 12) {
label = 0;
$$in$i = ((($$053)) + 28|0);
$27 = HEAP32[$$in$i>>2]|0;
$$0$ph45$i = 1;$$030$ph44$i = $$055;
L17: while(1) {
$$042$i = $$0$ph45$i;
while(1) {
$28 = (((($$053) + ($$042$i<<5)|0)) + 28|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($29>>>0)<($27>>>0);
if ($30) {
break;
}
$32 = (($$042$i) + 1)|0;
$33 = ($32>>>0)<($$030$ph44$i>>>0);
if ($33) {
$$042$i = $32;
} else {
$$0$lcssa$i = $32;
break L17;
}
}
$31 = (($$053) + ($$042$i<<5)|0);
$$1$i = $$030$ph44$i;
while(1) {
$34 = (($$1$i) + -1)|0;
$35 = ($$042$i>>>0)<($34>>>0);
if (!($35)) {
$$lcssa81 = 0;
break;
}
$36 = (((($$053) + ($34<<5)|0)) + 28|0);
$37 = HEAP32[$36>>2]|0;
$38 = ($37>>>0)>($27>>>0);
if ($38) {
$$lcssa81 = 1;
break;
} else {
$$1$i = $34;
}
}
$39 = ($$042$i|0)==($34|0);
if (!($39)) {
$40 = (($$053) + ($34<<5)|0);
;HEAP32[$5>>2]=HEAP32[$31>>2]|0;HEAP32[$5+4>>2]=HEAP32[$31+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$31+8>>2]|0;HEAP32[$5+12>>2]=HEAP32[$31+12>>2]|0;HEAP32[$5+16>>2]=HEAP32[$31+16>>2]|0;HEAP32[$5+20>>2]=HEAP32[$31+20>>2]|0;HEAP32[$5+24>>2]=HEAP32[$31+24>>2]|0;HEAP32[$5+28>>2]=HEAP32[$31+28>>2]|0;
;HEAP32[$31>>2]=HEAP32[$40>>2]|0;HEAP32[$31+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$40+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$40+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$40+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$40+24>>2]|0;HEAP32[$31+28>>2]=HEAP32[$40+28>>2]|0;
;HEAP32[$40>>2]=HEAP32[$5>>2]|0;HEAP32[$40+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$40+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$40+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$40+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$40+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$40+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$40+28>>2]=HEAP32[$5+28>>2]|0;
}
if ($$lcssa81) {
$$0$ph45$i = $$042$i;$$030$ph44$i = $34;
} else {
$$0$lcssa$i = $$042$i;
break;
}
}
$41 = (($$0$lcssa$i) + -1)|0;
$42 = ($41|0)==(0);
if ($42) {
$45 = 0;
} else {
$43 = (($$053) + ($41<<5)|0);
;HEAP32[$6>>2]=HEAP32[$$053>>2]|0;HEAP32[$6+4>>2]=HEAP32[$$053+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$$053+8>>2]|0;HEAP32[$6+12>>2]=HEAP32[$$053+12>>2]|0;HEAP32[$6+16>>2]=HEAP32[$$053+16>>2]|0;HEAP32[$6+20>>2]=HEAP32[$$053+20>>2]|0;HEAP32[$6+24>>2]=HEAP32[$$053+24>>2]|0;HEAP32[$6+28>>2]=HEAP32[$$053+28>>2]|0;
;HEAP32[$$053>>2]=HEAP32[$43>>2]|0;HEAP32[$$053+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$053+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$053+12>>2]=HEAP32[$43+12>>2]|0;HEAP32[$$053+16>>2]=HEAP32[$43+16>>2]|0;HEAP32[$$053+20>>2]=HEAP32[$43+20>>2]|0;HEAP32[$$053+24>>2]=HEAP32[$43+24>>2]|0;HEAP32[$$053+28>>2]=HEAP32[$43+28>>2]|0;
;HEAP32[$43>>2]=HEAP32[$6>>2]|0;HEAP32[$43+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$43+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$43+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$43+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$43+20>>2]=HEAP32[$6+20>>2]|0;HEAP32[$43+24>>2]=HEAP32[$6+24>>2]|0;HEAP32[$43+28>>2]=HEAP32[$6+28>>2]|0;
$45 = $41;
}
}
$44 = (($45) + 1)|0;
$46 = +HEAPF64[$2>>3];
$47 = $46 < $3;
if ($47) {
$$05177 = $46;$$05276 = 0;
while(1) {
$48 = (($$05276) + 1)|0;
$49 = (((($$053) + ($$05276<<5)|0)) + 24|0);
$50 = +HEAPF32[$49>>2];
$51 = $50;
$52 = $$05177 + $51;
$53 = ($48>>>0)<=($45>>>0);
$54 = $52 < $3;
$or$cond = $53 & $54;
if ($or$cond) {
$$05177 = $52;$$05276 = $48;
} else {
break;
}
}
if ($54) {
HEAPF64[$2>>3] = $52;
} else {
label = 28;
}
} else {
label = 28;
}
do {
if ((label|0) == 28) {
label = 0;
$55 = ($45|0)==(0);
if ($55) {
$58 = ((($$053)) + 24|0);
$59 = +HEAPF32[$58>>2];
$60 = $59;
$61 = $46 + $60;
HEAPF64[$2>>3] = $61;
$62 = $61 > $3;
if ($62) {
$$363 = $$053;
label = 33;
break L1;
} else {
break;
}
} else {
$56 = (_hist_item_sort_halfvar($$053,$45,$2,$3)|0);
$57 = ($56|0)==(0|0);
if ($57) {
break;
} else {
$$363 = $56;
label = 33;
break L1;
}
}
}
} while(0);
$63 = ($$055>>>0)>($44>>>0);
$64 = (($$053) + ($44<<5)|0);
$65 = (($$055) - ($44))|0;
if ($63) {
$$053 = $64;$$055 = $65;
} else {
label = 32;
break;
}
}
if ((label|0) == 32) {
$66 = (((($$053) + ($44<<5)|0)) + 24|0);
$67 = +HEAPF32[$66>>2];
$68 = $67;
$69 = +HEAPF64[$2>>3];
$70 = $69 + $68;
HEAPF64[$2>>3] = $70;
$71 = $70 > $3;
$72 = $71 ? $64 : 0;
$$363 = $72;
STACKTOP = sp;return ($$363|0);
}
else if ((label|0) == 33) {
STACKTOP = sp;return ($$363|0);
}
return (0)|0;
}
function _liq_max3($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$$us = 0, $$07789 = 0, $$07789$us = 0, $$07884$us = 0, $$07884$us$phi = 0, $$07983$us = 0, $$08082$us = 0, $$090 = 0, $$090$us = 0, $$185$us = 0, $$81$us = 0, $$sink$us = 0, $$sink2$us = 0, $$sink3$sink$us = 0, $$sink4$us = 0, $$sink6 = 0, $$sink6$us = 0, $10 = 0, $11 = 0;
var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond97 = 0, $exitcond98 = 0, $scevgep = 0, $scevgep96 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$4 = ($3|0)==(0);
if ($4) {
return;
}
$5 = (($3) + -1)|0;
$6 = (($2) + -1)|0;
$7 = ($6|0)==(0);
if ($7) {
$$07789 = 0;$$090 = $1;
while(1) {
$42 = Math_imul($$07789, $2)|0;
$43 = (($0) + ($42)|0);
$44 = ($$07789>>>0)>(1);
$45 = (($$07789) + -1)|0;
$46 = $44 ? $45 : 0;
$47 = Math_imul($46, $2)|0;
$48 = (($0) + ($47)|0);
$49 = (($$07789) + 1)|0;
$50 = ($5>>>0)<($49>>>0);
$51 = $50 ? $5 : $49;
$52 = Math_imul($51, $2)|0;
$53 = (($0) + ($52)|0);
$54 = HEAP8[$43>>0]|0;
$55 = HEAP8[$53>>0]|0;
$56 = HEAP8[$48>>0]|0;
$57 = ($55&255)>($56&255);
$$ = $57 ? $55 : $56;
$58 = ($54&255)>($$&255);
$$sink6 = $58 ? $54 : $$;
$59 = ((($$090)) + 1|0);
HEAP8[$$090>>0] = $$sink6;
$exitcond = ($49|0)==($3|0);
if ($exitcond) {
break;
} else {
$$07789 = $49;$$090 = $59;
}
}
return;
}
$8 = (($2) + -2)|0;
$$07789$us = 0;$$090$us = $1;
while(1) {
$9 = Math_imul($$07789$us, $2)|0;
$10 = (($0) + ($9)|0);
$11 = ($$07789$us>>>0)>(1);
$12 = (($$07789$us) + -1)|0;
$13 = $11 ? $12 : 0;
$14 = Math_imul($13, $2)|0;
$15 = (($0) + ($14)|0);
$16 = (($$07789$us) + 1)|0;
$17 = ($5>>>0)<($16>>>0);
$18 = $17 ? $5 : $16;
$19 = Math_imul($18, $2)|0;
$20 = (($0) + ($19)|0);
$21 = HEAP8[$10>>0]|0;
$scevgep = (($$090$us) + ($8)|0);
$$07884$us = $21;$$07983$us = 0;$$08082$us = $21;$$185$us = $$090$us;
while(1) {
$22 = (($$07983$us) + 1)|0;
$23 = (($10) + ($22)|0);
$24 = HEAP8[$23>>0]|0;
$25 = ($$07884$us&255)>($24&255);
$$sink$us = $25 ? $$07884$us : $24;
$26 = (($20) + ($$07983$us)|0);
$27 = HEAP8[$26>>0]|0;
$28 = (($15) + ($$07983$us)|0);
$29 = HEAP8[$28>>0]|0;
$30 = ($27&255)>($29&255);
$$81$us = $30 ? $27 : $29;
$31 = ($$sink$us&255)>($$81$us&255);
$$sink2$us = $31 ? $$sink$us : $$81$us;
$32 = ($$08082$us&255)>($$sink2$us&255);
$$sink3$sink$us = $32 ? $$08082$us : $$sink2$us;
$33 = ((($$185$us)) + 1|0);
HEAP8[$$185$us>>0] = $$sink3$sink$us;
$exitcond97 = ($22|0)==($6|0);
if ($exitcond97) {
break;
} else {
$$07884$us$phi = $$08082$us;$$07983$us = $22;$$08082$us = $24;$$185$us = $33;$$07884$us = $$07884$us$phi;
}
}
$scevgep96 = (($$090$us) + ($6)|0);
$34 = ($$08082$us&255)>($24&255);
$$sink4$us = $34 ? $$08082$us : $24;
$35 = (($20) + ($6)|0);
$36 = HEAP8[$35>>0]|0;
$37 = (($15) + ($6)|0);
$38 = HEAP8[$37>>0]|0;
$39 = ($36&255)>($38&255);
$$$us = $39 ? $36 : $38;
$40 = ($$sink4$us&255)>($$$us&255);
$$sink6$us = $40 ? $$sink4$us : $$$us;
$41 = ((($scevgep)) + 2|0);
HEAP8[$scevgep96>>0] = $$sink6$us;
$exitcond98 = ($16|0)==($3|0);
if ($exitcond98) {
break;
} else {
$$07789$us = $16;$$090$us = $41;
}
}
return;
}
function _liq_min3($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$$us = 0, $$07789 = 0, $$07789$us = 0, $$07884$us = 0, $$07884$us$phi = 0, $$07983$us = 0, $$08082$us = 0, $$090 = 0, $$090$us = 0, $$185$us = 0, $$81$us = 0, $$sink$us = 0, $$sink2$us = 0, $$sink3$sink$us = 0, $$sink4$us = 0, $$sink6 = 0, $$sink6$us = 0, $10 = 0, $11 = 0;
var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond97 = 0, $exitcond98 = 0, $scevgep = 0, $scevgep96 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$4 = ($3|0)==(0);
if ($4) {
return;
}
$5 = (($3) + -1)|0;
$6 = (($2) + -1)|0;
$7 = ($6|0)==(0);
if ($7) {
$$07789 = 0;$$090 = $1;
while(1) {
$42 = Math_imul($$07789, $2)|0;
$43 = (($0) + ($42)|0);
$44 = ($$07789>>>0)>(1);
$45 = (($$07789) + -1)|0;
$46 = $44 ? $45 : 0;
$47 = Math_imul($46, $2)|0;
$48 = (($0) + ($47)|0);
$49 = (($$07789) + 1)|0;
$50 = ($5>>>0)<($49>>>0);
$51 = $50 ? $5 : $49;
$52 = Math_imul($51, $2)|0;
$53 = (($0) + ($52)|0);
$54 = HEAP8[$43>>0]|0;
$55 = HEAP8[$53>>0]|0;
$56 = HEAP8[$48>>0]|0;
$57 = ($55&255)<($56&255);
$$ = $57 ? $55 : $56;
$58 = ($54&255)<($$&255);
$$sink6 = $58 ? $54 : $$;
$59 = ((($$090)) + 1|0);
HEAP8[$$090>>0] = $$sink6;
$exitcond = ($49|0)==($3|0);
if ($exitcond) {
break;
} else {
$$07789 = $49;$$090 = $59;
}
}
return;
}
$8 = (($2) + -2)|0;
$$07789$us = 0;$$090$us = $1;
while(1) {
$9 = Math_imul($$07789$us, $2)|0;
$10 = (($0) + ($9)|0);
$11 = ($$07789$us>>>0)>(1);
$12 = (($$07789$us) + -1)|0;
$13 = $11 ? $12 : 0;
$14 = Math_imul($13, $2)|0;
$15 = (($0) + ($14)|0);
$16 = (($$07789$us) + 1)|0;
$17 = ($5>>>0)<($16>>>0);
$18 = $17 ? $5 : $16;
$19 = Math_imul($18, $2)|0;
$20 = (($0) + ($19)|0);
$21 = HEAP8[$10>>0]|0;
$scevgep = (($$090$us) + ($8)|0);
$$07884$us = $21;$$07983$us = 0;$$08082$us = $21;$$185$us = $$090$us;
while(1) {
$22 = (($$07983$us) + 1)|0;
$23 = (($10) + ($22)|0);
$24 = HEAP8[$23>>0]|0;
$25 = ($$07884$us&255)<($24&255);
$$sink$us = $25 ? $$07884$us : $24;
$26 = (($20) + ($$07983$us)|0);
$27 = HEAP8[$26>>0]|0;
$28 = (($15) + ($$07983$us)|0);
$29 = HEAP8[$28>>0]|0;
$30 = ($27&255)<($29&255);
$$81$us = $30 ? $27 : $29;
$31 = ($$sink$us&255)<($$81$us&255);
$$sink2$us = $31 ? $$sink$us : $$81$us;
$32 = ($$08082$us&255)<($$sink2$us&255);
$$sink3$sink$us = $32 ? $$08082$us : $$sink2$us;
$33 = ((($$185$us)) + 1|0);
HEAP8[$$185$us>>0] = $$sink3$sink$us;
$exitcond97 = ($22|0)==($6|0);
if ($exitcond97) {
break;
} else {
$$07884$us$phi = $$08082$us;$$07983$us = $22;$$08082$us = $24;$$185$us = $33;$$07884$us = $$07884$us$phi;
}
}
$scevgep96 = (($$090$us) + ($6)|0);
$34 = ($$08082$us&255)<($24&255);
$$sink4$us = $34 ? $$08082$us : $24;
$35 = (($20) + ($6)|0);
$36 = HEAP8[$35>>0]|0;
$37 = (($15) + ($6)|0);
$38 = HEAP8[$37>>0]|0;
$39 = ($36&255)<($38&255);
$$$us = $39 ? $36 : $38;
$40 = ($$sink4$us&255)<($$$us&255);
$$sink6$us = $40 ? $$sink4$us : $$$us;
$41 = ((($scevgep)) + 2|0);
HEAP8[$scevgep96>>0] = $$sink6$us;
$exitcond98 = ($16|0)==($3|0);
if ($exitcond98) {
break;
} else {
$$07789$us = $16;$$090$us = $41;
}
}
return;
}
function _liq_blur($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = $5 << 1;
$7 = $6 | 1;
$8 = ($7>>>0)>($3>>>0);
$9 = ($7>>>0)>($4>>>0);
$or$cond = $8 | $9;
if ($or$cond) {
return;
}
_transposing_1d_blur($0,$1,$3,$4,$5);
_transposing_1d_blur($1,$2,$4,$3,$5);
return;
}
function _transposing_1d_blur($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$07892 = 0, $$07892$us = 0, $$07988$us = 0, $$08299 = 0, $$08299$us = 0, $$097 = 0, $$097$us = 0, $$187$us = 0, $$2$lcssa$us = 0, $$291$us = 0, $$396 = 0, $$396$us = 0, $$phi$trans$insert = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $exitcond111 = 0, $exitcond112 = 0;
var $exitcond113 = 0, $exitcond114 = 0, $exitcond114128 = 0, $exitcond115 = 0, $exitcond116 = 0, $exitcond117 = 0, $exitcond118 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($3|0)==(0);
if ($5) {
return;
}
$6 = ($4|0)==(0);
$7 = (($2) - ($4))|0;
$8 = ($7>>>0)>($4>>>0);
$9 = (($2) + -1)|0;
$10 = $4 << 1;
$11 = ($7>>>0)<($2>>>0);
if ($6) {
$$08299 = 0;
while(1) {
$68 = Math_imul($$08299, $2)|0;
$69 = (($0) + ($68)|0);
if ($8) {
$$07892 = 0;
while(1) {
$73 = Math_imul($$07892, $3)|0;
$74 = (($73) + ($$08299))|0;
$75 = (($1) + ($74)|0);
HEAP8[$75>>0] = 0;
$76 = (($$07892) + 1)|0;
$exitcond111 = ($76|0)==($7|0);
if ($exitcond111) {
break;
} else {
$$07892 = $76;
}
}
}
if ($11) {
$70 = (($69) + ($9)|0);
$71 = HEAP8[$70>>0]|0;
$72 = $71&255;
$$097 = $7;$$396 = 0;
while(1) {
$78 = (($69) + ($$097)|0);
$79 = HEAP8[$78>>0]|0;
$80 = $79&255;
$81 = (($$396) - ($80))|0;
$82 = (($81) + ($72))|0;
$83 = (($82>>>0) / ($10>>>0))&-1;
$84 = $83&255;
$85 = Math_imul($$097, $3)|0;
$86 = (($85) + ($$08299))|0;
$87 = (($1) + ($86)|0);
HEAP8[$87>>0] = $84;
$88 = (($$097) + 1)|0;
$exitcond112 = ($88|0)==($2|0);
if ($exitcond112) {
break;
} else {
$$097 = $88;$$396 = $82;
}
}
}
$77 = (($$08299) + 1)|0;
$exitcond113 = ($77|0)==($3|0);
if ($exitcond113) {
break;
} else {
$$08299 = $77;
}
}
return;
}
$exitcond114128 = ($4|0)==(1);
$$08299$us = 0;
while(1) {
$12 = Math_imul($$08299$us, $2)|0;
$13 = (($0) + ($12)|0);
$14 = HEAP8[$13>>0]|0;
$15 = $14&255;
$16 = Math_imul($15, $4)|0;
$17 = $14&255;
$18 = (($17) + ($16))|0;
if ($exitcond114128) {
$$07988$us = 0;$$187$us = $18;
} else {
$61 = 1;$64 = $18;
while(1) {
$$phi$trans$insert = (($13) + ($61)|0);
$$pre = HEAP8[$$phi$trans$insert>>0]|0;
$62 = $$pre&255;
$63 = (($62) + ($64))|0;
$65 = (($61) + 1)|0;
$exitcond114 = ($65|0)==($4|0);
if ($exitcond114) {
$$07988$us = 0;$$187$us = $63;
break;
} else {
$61 = $65;$64 = $63;
}
}
}
while(1) {
$49 = (($$187$us) - ($15))|0;
$50 = (($$07988$us) + ($4))|0;
$51 = (($13) + ($50)|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52&255;
$54 = (($49) + ($53))|0;
$55 = (($54>>>0) / ($10>>>0))&-1;
$56 = $55&255;
$57 = Math_imul($$07988$us, $3)|0;
$58 = (($57) + ($$08299$us))|0;
$59 = (($1) + ($58)|0);
HEAP8[$59>>0] = $56;
$60 = (($$07988$us) + 1)|0;
$exitcond115 = ($60|0)==($4|0);
if ($exitcond115) {
break;
} else {
$$07988$us = $60;$$187$us = $54;
}
}
if ($8) {
$$07892$us = $4;$$291$us = $54;
while(1) {
$33 = (($$07892$us) - ($4))|0;
$34 = (($13) + ($33)|0);
$35 = HEAP8[$34>>0]|0;
$36 = $35&255;
$37 = (($$291$us) - ($36))|0;
$38 = (($$07892$us) + ($4))|0;
$39 = (($13) + ($38)|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40&255;
$42 = (($37) + ($41))|0;
$43 = (($42>>>0) / ($10>>>0))&-1;
$44 = $43&255;
$45 = Math_imul($$07892$us, $3)|0;
$46 = (($45) + ($$08299$us))|0;
$47 = (($1) + ($46)|0);
HEAP8[$47>>0] = $44;
$48 = (($$07892$us) + 1)|0;
$exitcond116 = ($48|0)==($7|0);
if ($exitcond116) {
$$2$lcssa$us = $42;
break;
} else {
$$07892$us = $48;$$291$us = $42;
}
}
} else {
$$2$lcssa$us = $54;
}
if ($11) {
$66 = (($13) + ($9)|0);
$67 = HEAP8[$66>>0]|0;
$26 = $67&255;
$$097$us = $7;$$396$us = $$2$lcssa$us;
while(1) {
$20 = (($$097$us) - ($4))|0;
$21 = (($13) + ($20)|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = (($$396$us) - ($23))|0;
$25 = (($24) + ($26))|0;
$27 = (($25>>>0) / ($10>>>0))&-1;
$28 = $27&255;
$29 = Math_imul($$097$us, $3)|0;
$30 = (($29) + ($$08299$us))|0;
$31 = (($1) + ($30)|0);
HEAP8[$31>>0] = $28;
$32 = (($$097$us) + 1)|0;
$exitcond117 = ($32|0)==($2|0);
if ($exitcond117) {
break;
} else {
$$097$us = $32;$$396$us = $25;
}
}
}
$19 = (($$08299$us) + 1)|0;
$exitcond118 = ($19|0)==($3|0);
if ($exitcond118) {
break;
} else {
$$08299$us = $19;
}
}
return;
}
function _mempool_create($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$1 = 0, $$pre = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$3$0$$sroa_idx3 = 0, $$sroa$4$0$$sroa_idx4 = 0, $$sroa$5$0$$sroa_idx5 = 0, $$tr42 = 0, $$tr43 = 0, $$tr44 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (($1) + 15)|0;
$$pre = HEAP32[$0>>2]|0;
$6 = $$pre;
$$tr42 = $2;$$tr43 = $3;$$tr44 = $4;$17 = $$pre;$24 = $6;$7 = $$pre;
while(1) {
$8 = ($7|0)==(0|0);
if (!($8)) {
$9 = HEAP32[$7>>2]|0;
$10 = (($9) + ($1))|0;
$11 = ((($7)) + 4|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($10>>>0)>($12>>>0);
if (!($13)) {
label = 4;
break;
}
}
$18 = ($$tr42|0)==(0);
$$ = $18 ? 131072 : $$tr42;
$19 = ($5>>>0)>($$>>>0);
$20 = $19 ? $5 : $$;
$21 = (($20) + 32)|0;
$22 = (FUNCTION_TABLE_ii[$$tr43 & 63]($21)|0);
HEAP32[$0>>2] = $22;
$23 = ($22|0)==(0|0);
if ($23) {
$$1 = 0;
label = 9;
break;
}
HEAP32[$22>>2] = 20;
$$sroa$2$0$$sroa_idx2 = ((($22)) + 4|0);
HEAP32[$$sroa$2$0$$sroa_idx2>>2] = $21;
$$sroa$3$0$$sroa_idx3 = ((($22)) + 8|0);
HEAP32[$$sroa$3$0$$sroa_idx3>>2] = $$tr43;
$$sroa$4$0$$sroa_idx4 = ((($22)) + 12|0);
HEAP32[$$sroa$4$0$$sroa_idx4>>2] = $$tr44;
$$sroa$5$0$$sroa_idx5 = ((($22)) + 16|0);
HEAP32[$$sroa$5$0$$sroa_idx5>>2] = $24;
$25 = HEAP32[$0>>2]|0;
$26 = $25;
$27 = HEAP32[$25>>2]|0;
$28 = (($26) + ($27))|0;
$29 = (0 - ($28))|0;
$30 = $29 & 15;
$31 = (($30) + ($27))|0;
HEAP32[$25>>2] = $31;
$32 = (($31) + ($1))|0;
$33 = ((($25)) + 4|0);
$34 = HEAP32[$33>>2]|0;
$35 = ($32>>>0)>($34>>>0);
if (!($35)) {
label = 7;
break;
}
$39 = ((($25)) + 8|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($25)) + 12|0);
$42 = HEAP32[$41>>2]|0;
$$tr42 = $1;$$tr43 = $40;$$tr44 = $42;$17 = $25;$24 = $26;$7 = $25;
}
if ((label|0) == 4) {
$14 = $5 & -16;
$15 = (($9) + ($14))|0;
HEAP32[$7>>2] = $15;
$16 = (($17) + ($9)|0);
$$1 = $16;
return ($$1|0);
}
else if ((label|0) == 7) {
$36 = $5 & -16;
$37 = (($31) + ($36))|0;
HEAP32[$25>>2] = $37;
$38 = (($25) + ($31)|0);
$$1 = $38;
return ($$1|0);
}
else if ((label|0) == 9) {
return ($$1|0);
}
return (0)|0;
}
function _mempool_alloc($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = HEAP32[$3>>2]|0;
$5 = (($4) + ($1))|0;
$6 = ((($3)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($5>>>0)>($7>>>0);
if ($8) {
$13 = ((($3)) + 8|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($3)) + 12|0);
$16 = HEAP32[$15>>2]|0;
$17 = (_mempool_create($0,$1,$2,$14,$16)|0);
$$0 = $17;
return ($$0|0);
} else {
$9 = (($1) + 15)|0;
$10 = $9 & -16;
$11 = (($4) + ($10))|0;
HEAP32[$3>>2] = $11;
$12 = (($3) + ($4)|0);
$$0 = $12;
return ($$0|0);
}
return (0)|0;
}
function _mempool_destroy($0) {
$0 = $0|0;
var $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
} else {
$$06 = $0;
}
while(1) {
$2 = ((($$06)) + 16|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($$06)) + 12|0);
$5 = HEAP32[$4>>2]|0;
FUNCTION_TABLE_vi[$5 & 127]($$06);
$6 = ($3|0)==(0|0);
if ($6) {
break;
} else {
$$06 = $3;
}
}
return;
}
function _kmeans_init($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = ($3*40)|0;
$5 = (($4) + 80)|0;
$6 = Math_imul($5, $1)|0;
_memset(($2|0),0,($6|0))|0;
return;
}
function _kmeans_update_color($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = +$1;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0;
var $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = HEAP32[$2>>2]|0;
$7 = (($6) + 2)|0;
$8 = Math_imul($7, $4)|0;
$9 = (($8) + ($3))|0;
$10 = +HEAPF32[$0>>2];
$11 = $10 * $1;
$12 = $11;
$13 = (($5) + (($9*40)|0)|0);
$14 = +HEAPF64[$13>>3];
$15 = $14 + $12;
HEAPF64[$13>>3] = $15;
$16 = ((($0)) + 4|0);
$17 = +HEAPF32[$16>>2];
$18 = $17 * $1;
$19 = $18;
$20 = (((($5) + (($9*40)|0)|0)) + 8|0);
$21 = +HEAPF64[$20>>3];
$22 = $21 + $19;
HEAPF64[$20>>3] = $22;
$23 = ((($0)) + 8|0);
$24 = +HEAPF32[$23>>2];
$25 = $24 * $1;
$26 = $25;
$27 = (((($5) + (($9*40)|0)|0)) + 16|0);
$28 = +HEAPF64[$27>>3];
$29 = $28 + $26;
HEAPF64[$27>>3] = $29;
$30 = ((($0)) + 12|0);
$31 = +HEAPF32[$30>>2];
$32 = $31 * $1;
$33 = $32;
$34 = (((($5) + (($9*40)|0)|0)) + 24|0);
$35 = +HEAPF64[$34>>3];
$36 = $35 + $33;
HEAPF64[$34>>3] = $36;
$37 = $1;
$38 = (((($5) + (($9*40)|0)|0)) + 32|0);
$39 = +HEAPF64[$38>>3];
$40 = $37 + $39;
HEAPF64[$38>>3] = $40;
return;
}
function _kmeans_finalize($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$05768$us = 0.0, $$05867$us = 0.0, $$05966$us = 0.0, $$06065$us = 0, $$06164$us = 0.0, $$06263$us = 0.0, $$073 = 0, $$073$us = 0, $$pre = 0, $$sroa$0$0$$sroa_idx$us = 0, $$sroa$2$0$$sroa_idx1$us = 0, $$sroa$3$0$$sroa_idx2$us = 0, $$sroa$4$0$$sroa_idx3$us = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0;
var $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0;
var $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = ($3|0)==(0);
if ($4) {
return;
}
$5 = ($1|0)==(0);
if ($5) {
$$073 = 0;
while(1) {
$43 = (($$073) + 1)|0;
$44 = ($43>>>0)<($3>>>0);
if ($44) {
$$073 = $43;
} else {
break;
}
}
return;
} else {
$$073$us = 0;$7 = $3;
}
while(1) {
$6 = (($7) + 2)|0;
$$05768$us = 0.0;$$05867$us = 0.0;$$05966$us = 0.0;$$06065$us = 0;$$06164$us = 0.0;$$06263$us = 0.0;
while(1) {
$29 = Math_imul($6, $$06065$us)|0;
$30 = (($29) + ($$073$us))|0;
$31 = (($2) + (($30*40)|0)|0);
$32 = +HEAPF64[$31>>3];
$13 = $$05768$us + $32;
$33 = (((($2) + (($30*40)|0)|0)) + 8|0);
$34 = +HEAPF64[$33>>3];
$16 = $$05867$us + $34;
$35 = (((($2) + (($30*40)|0)|0)) + 16|0);
$36 = +HEAPF64[$35>>3];
$19 = $$05966$us + $36;
$37 = (((($2) + (($30*40)|0)|0)) + 24|0);
$38 = +HEAPF64[$37>>3];
$22 = $$06263$us + $38;
$39 = (((($2) + (($30*40)|0)|0)) + 32|0);
$40 = +HEAPF64[$39>>3];
$12 = $$06164$us + $40;
$41 = (($$06065$us) + 1)|0;
$exitcond = ($41|0)==($1|0);
if ($exitcond) {
break;
} else {
$$05768$us = $13;$$05867$us = $16;$$05966$us = $19;$$06065$us = $41;$$06164$us = $12;$$06263$us = $22;
}
}
$42 = $12 != 0.0;
if ($42) {
$8 = (((((($0)) + 12|0) + (($$073$us*24)|0)|0)) + 20|0);
$9 = HEAP8[$8>>0]|0;
$10 = ($9<<24>>24)==(0);
if ($10) {
$11 = $13 / $12;
$14 = $11;
$15 = $16 / $12;
$17 = $15;
$18 = $19 / $12;
$20 = $18;
$21 = $22 / $12;
$23 = $21;
$$sroa$0$0$$sroa_idx$us = (((($0)) + 12|0) + (($$073$us*24)|0)|0);
HEAPF32[$$sroa$0$0$$sroa_idx$us>>2] = $14;
$$sroa$2$0$$sroa_idx1$us = (((((($0)) + 12|0) + (($$073$us*24)|0)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx1$us>>2] = $17;
$$sroa$3$0$$sroa_idx2$us = (((((($0)) + 12|0) + (($$073$us*24)|0)|0)) + 8|0);
HEAPF32[$$sroa$3$0$$sroa_idx2$us>>2] = $20;
$$sroa$4$0$$sroa_idx3$us = (((((($0)) + 12|0) + (($$073$us*24)|0)|0)) + 12|0);
HEAPF32[$$sroa$4$0$$sroa_idx3$us>>2] = $23;
$24 = $12;
$25 = (((((($0)) + 12|0) + (($$073$us*24)|0)|0)) + 16|0);
HEAPF32[$25>>2] = $24;
$$pre = HEAP32[$0>>2]|0;
$28 = $$pre;
} else {
$28 = $7;
}
} else {
$28 = $7;
}
$26 = (($$073$us) + 1)|0;
$27 = ($26>>>0)<($28>>>0);
if ($27) {
$$073$us = $26;$7 = $28;
} else {
break;
}
}
return;
}
function _kmeans_do_iteration($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0.0, $$04658 = 0, $$04658$us = 0, $$059 = 0.0, $$059$us = 0.0, $$073$us$i = 0, $$alloca_mul = 0, $$pre$i = 0, $$sroa$0$0$$sroa_idx$us$i = 0, $$sroa$0$0$copyload = 0.0, $$sroa$0$0$copyload$us = 0.0, $$sroa$2$0$$sroa_idx1$us$i = 0, $$sroa$3$0$$sroa_idx2$us$i = 0, $$sroa$4$0$$sroa_idx3$us$i = 0, $$sroa$4$0$$sroa_idx48 = 0, $$sroa$4$0$$sroa_idx48$us = 0, $$sroa$4$0$copyload = 0.0, $$sroa$4$0$copyload$us = 0.0, $$sroa$5$0$$sroa_idx50 = 0, $$sroa$5$0$$sroa_idx50$us = 0;
var $$sroa$5$0$copyload = 0.0, $$sroa$5$0$copyload$us = 0.0, $$sroa$6$0$$sroa_idx52 = 0, $$sroa$6$0$$sroa_idx52$us = 0, $$sroa$6$0$copyload = 0.0, $$sroa$6$0$copyload$us = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0;
var $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0;
var $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond68 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = HEAP32[$1>>2]|0;
$5 = (($4) + 2)|0;
$$alloca_mul = ($5*40)|0;
$6 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
$7 = ($4*40)|0;
$8 = (($7) + 80)|0;
_memset(($6|0),0,($8|0))|0;
$9 = (_nearest_init($1)|0);
$10 = HEAP32[$0>>2]|0;
$11 = ((($0)) + 16|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)>(0);
if ($13) {
$14 = ($2|0)==(0|0);
if ($14) {
$$04658$us = 0;$$059$us = 0.0;
while(1) {
$15 = (($10) + ($$04658$us<<5)|0);
$16 = (((($10) + ($$04658$us<<5)|0)) + 28|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17&255;
$19 = (_nearest_search($9,$15,$18,$3)|0);
$20 = $19&255;
HEAP8[$16>>0] = $20;
$21 = +HEAPF32[$3>>2];
$22 = (((($10) + ($$04658$us<<5)|0)) + 20|0);
$23 = +HEAPF32[$22>>2];
$24 = $21 * $23;
$25 = $24;
$26 = $$059$us + $25;
HEAP8[tempDoublePtr>>0]=HEAP8[$15>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$15+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$15+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$15+3>>0];$$sroa$0$0$copyload$us = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx48$us = (((($10) + ($$04658$us<<5)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx48$us>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx48$us+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx48$us+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx48$us+3>>0];$$sroa$4$0$copyload$us = +HEAPF32[tempDoublePtr>>2];
$$sroa$5$0$$sroa_idx50$us = (((($10) + ($$04658$us<<5)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx50$us>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx50$us+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx50$us+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx50$us+3>>0];$$sroa$5$0$copyload$us = +HEAPF32[tempDoublePtr>>2];
$$sroa$6$0$$sroa_idx52$us = (((($10) + ($$04658$us<<5)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx52$us>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx52$us+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx52$us+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx52$us+3>>0];$$sroa$6$0$copyload$us = +HEAPF32[tempDoublePtr>>2];
$27 = $23 * $$sroa$0$0$copyload$us;
$28 = $27;
$29 = (($6) + (($19*40)|0)|0);
$30 = +HEAPF64[$29>>3];
$31 = $28 + $30;
HEAPF64[$29>>3] = $31;
$32 = $23 * $$sroa$4$0$copyload$us;
$33 = $32;
$34 = (((($6) + (($19*40)|0)|0)) + 8|0);
$35 = +HEAPF64[$34>>3];
$36 = $33 + $35;
HEAPF64[$34>>3] = $36;
$37 = $23 * $$sroa$5$0$copyload$us;
$38 = $37;
$39 = (((($6) + (($19*40)|0)|0)) + 16|0);
$40 = +HEAPF64[$39>>3];
$41 = $38 + $40;
HEAPF64[$39>>3] = $41;
$42 = $23 * $$sroa$6$0$copyload$us;
$43 = $42;
$44 = (((($6) + (($19*40)|0)|0)) + 24|0);
$45 = +HEAPF64[$44>>3];
$46 = $43 + $45;
HEAPF64[$44>>3] = $46;
$47 = $23;
$48 = (((($6) + (($19*40)|0)|0)) + 32|0);
$49 = +HEAPF64[$48>>3];
$50 = $47 + $49;
HEAPF64[$48>>3] = $50;
$51 = (($$04658$us) + 1)|0;
$exitcond = ($51|0)==($12|0);
if ($exitcond) {
$$0$lcssa = $26;
break;
} else {
$$04658$us = $51;$$059$us = $26;
}
}
} else {
$$04658 = 0;$$059 = 0.0;
while(1) {
$89 = (($10) + ($$04658<<5)|0);
$90 = (((($10) + ($$04658<<5)|0)) + 28|0);
$91 = HEAP8[$90>>0]|0;
$92 = $91&255;
$93 = (_nearest_search($9,$89,$92,$3)|0);
$94 = $93&255;
HEAP8[$90>>0] = $94;
$95 = +HEAPF32[$3>>2];
$96 = (((($10) + ($$04658<<5)|0)) + 20|0);
$97 = +HEAPF32[$96>>2];
$98 = $95 * $97;
$99 = $98;
$100 = $$059 + $99;
HEAP8[tempDoublePtr>>0]=HEAP8[$89>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$89+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$89+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$89+3>>0];$$sroa$0$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx48 = (((($10) + ($$04658<<5)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx48>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx48+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx48+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx48+3>>0];$$sroa$4$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$5$0$$sroa_idx50 = (((($10) + ($$04658<<5)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx50>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx50+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx50+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx50+3>>0];$$sroa$5$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$6$0$$sroa_idx52 = (((($10) + ($$04658<<5)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx52>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx52+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx52+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx52+3>>0];$$sroa$6$0$copyload = +HEAPF32[tempDoublePtr>>2];
$101 = $97 * $$sroa$0$0$copyload;
$102 = $101;
$103 = (($6) + (($93*40)|0)|0);
$104 = +HEAPF64[$103>>3];
$105 = $102 + $104;
HEAPF64[$103>>3] = $105;
$106 = $97 * $$sroa$4$0$copyload;
$107 = $106;
$108 = (((($6) + (($93*40)|0)|0)) + 8|0);
$109 = +HEAPF64[$108>>3];
$110 = $107 + $109;
HEAPF64[$108>>3] = $110;
$111 = $97 * $$sroa$5$0$copyload;
$112 = $111;
$113 = (((($6) + (($93*40)|0)|0)) + 16|0);
$114 = +HEAPF64[$113>>3];
$115 = $112 + $114;
HEAPF64[$113>>3] = $115;
$116 = $97 * $$sroa$6$0$copyload;
$117 = $116;
$118 = (((($6) + (($93*40)|0)|0)) + 24|0);
$119 = +HEAPF64[$118>>3];
$120 = $117 + $119;
HEAPF64[$118>>3] = $120;
$121 = $97;
$122 = (((($6) + (($93*40)|0)|0)) + 32|0);
$123 = +HEAPF64[$122>>3];
$124 = $121 + $123;
HEAPF64[$122>>3] = $124;
FUNCTION_TABLE_vid[$2 & 63]($89,$95);
$125 = (($$04658) + 1)|0;
$exitcond68 = ($125|0)==($12|0);
if ($exitcond68) {
$$0$lcssa = $100;
break;
} else {
$$04658 = $125;$$059 = $100;
}
}
}
} else {
$$0$lcssa = 0.0;
}
_nearest_free($9);
$52 = HEAP32[$1>>2]|0;
$53 = ($52|0)==(0);
if ($53) {
$86 = ((($0)) + 8|0);
$87 = +HEAPF64[$86>>3];
$88 = $$0$lcssa / $87;
STACKTOP = sp;return (+$88);
} else {
$$073$us$i = 0;$126 = $52;
}
while(1) {
$54 = (($6) + (($$073$us$i*40)|0)|0);
$55 = +HEAPF64[$54>>3];
$56 = $55 + 0.0;
$57 = (((($6) + (($$073$us$i*40)|0)|0)) + 8|0);
$58 = +HEAPF64[$57>>3];
$59 = $58 + 0.0;
$60 = (((($6) + (($$073$us$i*40)|0)|0)) + 16|0);
$61 = +HEAPF64[$60>>3];
$62 = $61 + 0.0;
$63 = (((($6) + (($$073$us$i*40)|0)|0)) + 24|0);
$64 = +HEAPF64[$63>>3];
$65 = $64 + 0.0;
$66 = (((($6) + (($$073$us$i*40)|0)|0)) + 32|0);
$67 = +HEAPF64[$66>>3];
$68 = $67 + 0.0;
$69 = $68 != 0.0;
if ($69) {
$70 = (((((($1)) + 12|0) + (($$073$us$i*24)|0)|0)) + 20|0);
$71 = HEAP8[$70>>0]|0;
$72 = ($71<<24>>24)==(0);
if ($72) {
$73 = $56 / $68;
$74 = $73;
$75 = $59 / $68;
$76 = $75;
$77 = $62 / $68;
$78 = $77;
$79 = $65 / $68;
$80 = $79;
$$sroa$0$0$$sroa_idx$us$i = (((($1)) + 12|0) + (($$073$us$i*24)|0)|0);
HEAPF32[$$sroa$0$0$$sroa_idx$us$i>>2] = $74;
$$sroa$2$0$$sroa_idx1$us$i = (((((($1)) + 12|0) + (($$073$us$i*24)|0)|0)) + 4|0);
HEAPF32[$$sroa$2$0$$sroa_idx1$us$i>>2] = $76;
$$sroa$3$0$$sroa_idx2$us$i = (((((($1)) + 12|0) + (($$073$us$i*24)|0)|0)) + 8|0);
HEAPF32[$$sroa$3$0$$sroa_idx2$us$i>>2] = $78;
$$sroa$4$0$$sroa_idx3$us$i = (((((($1)) + 12|0) + (($$073$us$i*24)|0)|0)) + 12|0);
HEAPF32[$$sroa$4$0$$sroa_idx3$us$i>>2] = $80;
$81 = $68;
$82 = (((((($1)) + 12|0) + (($$073$us$i*24)|0)|0)) + 16|0);
HEAPF32[$82>>2] = $81;
$$pre$i = HEAP32[$1>>2]|0;
$85 = $$pre$i;
} else {
$85 = $126;
}
} else {
$85 = $126;
}
$83 = (($$073$us$i) + 1)|0;
$84 = ($83>>>0)<($85>>>0);
if ($84) {
$$073$us$i = $83;$126 = $85;
} else {
break;
}
}
$86 = ((($0)) + 8|0);
$87 = +HEAPF64[$86>>3];
$88 = $$0$lcssa / $87;
STACKTOP = sp;return (+$88);
}
function _nearest_init($0) {
$0 = $0|0;
var $$03638 = 0, $$037 = 0, $$alloca_mul = 0, $$lcssa = 0, $$sroa$3$0$$sroa_idx6 = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$48$0$$sroa_idx9 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp + 12|0;
$2 = sp;
HEAP32[$1>>2] = 0;
$3 = HEAP32[$0>>2]|0;
$4 = $3 << 5;
$5 = (($4) + 1052)|0;
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($0)) + 8|0);
$9 = HEAP32[$8>>2]|0;
$10 = (_mempool_create($1,1036,$5,$7,$9)|0);
$11 = HEAP32[$0>>2]|0;
$12 = (_llvm_stacksave()|0);
$$alloca_mul = $11<<3;
$13 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);;
$14 = HEAP32[$0>>2]|0;
$15 = ($14|0)==(0);
if ($15) {
$$lcssa = 0;
} else {
$$03638 = 0;
while(1) {
$23 = (((($13) + ($$03638<<3)|0)) + 4|0);
HEAP32[$23>>2] = $$03638;
$24 = (($$03638) + 1)|0;
$25 = ($24>>>0)<($14>>>0);
if ($25) {
$$03638 = $24;
} else {
$$lcssa = $14;
break;
}
}
}
$16 = ((($0)) + 12|0);
$17 = (_vp_create_node($1,$13,$$lcssa,$16)|0);
$18 = HEAP32[$1>>2]|0;
HEAP32[$10>>2] = $17;
$$sroa$3$0$$sroa_idx6 = ((($10)) + 4|0);
HEAP32[$$sroa$3$0$$sroa_idx6>>2] = $16;
$$sroa$4$0$$sroa_idx = ((($10)) + 8|0);
_memset(($$sroa$4$0$$sroa_idx|0),0,1024)|0;
$$sroa$48$0$$sroa_idx9 = ((($10)) + 1032|0);
HEAP32[$$sroa$48$0$$sroa_idx9>>2] = $18;
$19 = HEAP32[$0>>2]|0;
$20 = ($19|0)==(0);
if ($20) {
_llvm_stackrestore(($12|0));
STACKTOP = sp;return ($10|0);
}
$21 = ((($2)) + 4|0);
$22 = ((($2)) + 8|0);
$$037 = 0;
while(1) {
HEAPF32[$2>>2] = 1.0000000200408773E+20;
HEAP32[$21>>2] = 0;
HEAP32[$22>>2] = $$037;
$26 = (((($0)) + 12|0) + (($$037*24)|0)|0);
_vp_search_node($17,$26,$2);
$27 = +HEAPF32[$2>>2];
$28 = $27 * $27;
$29 = $28 * 0.25;
$30 = (($$sroa$4$0$$sroa_idx) + ($$037<<2)|0);
HEAPF32[$30>>2] = $29;
$31 = (($$037) + 1)|0;
$32 = HEAP32[$0>>2]|0;
$33 = ($31>>>0)<($32>>>0);
if ($33) {
$$037 = $31;
} else {
break;
}
}
_llvm_stackrestore(($12|0));
STACKTOP = sp;return ($10|0);
}
function _vp_create_node($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$$i$i$i$i = 0.0, $$$i4$i$i$i = 0.0, $$$i5$i$i$i = 0.0, $$017$i = 0, $$01822$i = 0.0, $$01921$i = 0, $$023$i = 0, $$1 = 0, $$1$i = 0.0, $$120$i = 0, $$sroa$0$0$$sroa_idx$i = 0, $$sroa$0$0$copyload = 0.0, $$sroa$0$0$copyload$i = 0.0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$218$0$$sroa_idx19 = 0, $$sroa$3 = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$320 = 0, $$sroa$320$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx11$i = 0;
var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx65 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$4$0$copyload$i = 0.0, $$sroa$421$0$$sroa_idx22 = 0, $$sroa$5$0$$sroa_idx13$i = 0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$$sroa_idx67 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$5$0$copyload$i = 0.0, $$sroa$523$0$$sroa_idx24 = 0, $$sroa$6$0$$sroa_idx15$i = 0, $$sroa$6$0$$sroa_idx69 = 0, $$sroa$6$0$copyload = 0.0, $$sroa$6$0$copyload$i = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0;
var $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $8 = 0, $9 = 0, $exitcond$i = 0, $exitcond$i62 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$$sroa$320 = sp + 16|0;
$$sroa$3 = sp;
$4 = ($2|0)<(1);
if ($4) {
$$1 = 0;
STACKTOP = sp;return ($$1|0);
}
$5 = (_mempool_alloc($0,32,0)|0);
$6 = ($2|0)==(1);
$7 = ((($1)) + 4|0);
$8 = HEAP32[$7>>2]|0;
if ($6) {
$9 = (($3) + (($8*24)|0)|0);
;HEAP32[$$sroa$320>>2]=HEAP32[$9>>2]|0;HEAP32[$$sroa$320+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$sroa$320+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$sroa$320+12>>2]=HEAP32[$9+12>>2]|0;
HEAP32[$5>>2] = 0;
$$sroa$218$0$$sroa_idx19 = ((($5)) + 4|0);
HEAP32[$$sroa$218$0$$sroa_idx19>>2] = 0;
$$sroa$320$0$$sroa_idx = ((($5)) + 8|0);
;HEAP32[$$sroa$320$0$$sroa_idx>>2]=HEAP32[$$sroa$320>>2]|0;HEAP32[$$sroa$320$0$$sroa_idx+4>>2]=HEAP32[$$sroa$320+4>>2]|0;HEAP32[$$sroa$320$0$$sroa_idx+8>>2]=HEAP32[$$sroa$320+8>>2]|0;HEAP32[$$sroa$320$0$$sroa_idx+12>>2]=HEAP32[$$sroa$320+12>>2]|0;
$$sroa$421$0$$sroa_idx22 = ((($5)) + 24|0);
HEAPF32[$$sroa$421$0$$sroa_idx22>>2] = 1.0000000200408773E+20;
$$sroa$523$0$$sroa_idx24 = ((($5)) + 28|0);
HEAP32[$$sroa$523$0$$sroa_idx24>>2] = $8;
$$1 = $5;
STACKTOP = sp;return ($$1|0);
}
$10 = (((($3) + (($8*24)|0)|0)) + 16|0);
$11 = +HEAPF32[$10>>2];
$$01822$i = $11;$$01921$i = 0;$$023$i = 1;
while(1) {
$12 = (((($1) + ($$023$i<<3)|0)) + 4|0);
$13 = HEAP32[$12>>2]|0;
$14 = (((($3) + (($13*24)|0)|0)) + 16|0);
$15 = +HEAPF32[$14>>2];
$16 = $15 > $$01822$i;
$$120$i = $16 ? $$023$i : $$01921$i;
$$1$i = $16 ? $15 : $$01822$i;
$17 = (($$023$i) + 1)|0;
$exitcond$i = ($17|0)==($2|0);
if ($exitcond$i) {
break;
} else {
$$01822$i = $$1$i;$$01921$i = $$120$i;$$023$i = $17;
}
}
$18 = (($1) + ($$120$i<<3)|0);
$19 = (((($1) + ($$120$i<<3)|0)) + 4|0);
$20 = HEAP32[$19>>2]|0;
$21 = (($2) + -1)|0;
$22 = (($1) + ($21<<3)|0);
$23 = $22;
$24 = $23;
$25 = HEAP32[$24>>2]|0;
$26 = (($23) + 4)|0;
$27 = $26;
$28 = HEAP32[$27>>2]|0;
$29 = $18;
$30 = $29;
HEAP32[$30>>2] = $25;
$31 = (($29) + 4)|0;
$32 = $31;
HEAP32[$32>>2] = $28;
$33 = (($3) + (($20*24)|0)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$33>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$33+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$33+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$33+3>>0];$$sroa$0$0$copyload = +HEAPF32[tempDoublePtr>>2];
$34 = ($2|0)>(1);
if ($34) {
$$sroa$6$0$$sroa_idx69 = (((($3) + (($20*24)|0)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx69>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx69+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx69+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx69+3>>0];$$sroa$6$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$5$0$$sroa_idx67 = (((($3) + (($20*24)|0)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx67>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx67+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx67+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx67+3>>0];$$sroa$5$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx65 = (((($3) + (($20*24)|0)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx65>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx65+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx65+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx65+3>>0];$$sroa$4$0$copyload = +HEAPF32[tempDoublePtr>>2];
$35 = $$sroa$4$0$copyload;
$36 = $$sroa$5$0$copyload;
$37 = $$sroa$6$0$copyload;
$$017$i = 0;
while(1) {
$38 = (((($1) + ($$017$i<<3)|0)) + 4|0);
$39 = HEAP32[$38>>2]|0;
$$sroa$0$0$$sroa_idx$i = (($3) + (($39*24)|0)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$0$0$$sroa_idx$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$0$0$$sroa_idx$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$0$0$$sroa_idx$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$0$0$$sroa_idx$i+3>>0];$$sroa$0$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx11$i = (((($3) + (($39*24)|0)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx11$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx11$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx11$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx11$i+3>>0];$$sroa$4$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$5$0$$sroa_idx13$i = (((($3) + (($39*24)|0)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx13$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx13$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx13$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx13$i+3>>0];$$sroa$5$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$$sroa$6$0$$sroa_idx15$i = (((($3) + (($39*24)|0)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx15$i>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx15$i+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx15$i+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx15$i+3>>0];$$sroa$6$0$copyload$i = +HEAPF32[tempDoublePtr>>2];
$40 = $$sroa$0$0$copyload$i - $$sroa$0$0$copyload;
$41 = $40;
$42 = $$sroa$4$0$copyload$i;
$43 = $35 - $42;
$44 = $41 + $43;
$45 = $43 * $43;
$46 = $44 * $44;
$47 = $45 > $46;
$$$i$i$i$i = $47 ? $45 : $46;
$48 = $$sroa$5$0$copyload$i;
$49 = $36 - $48;
$50 = $41 + $49;
$51 = $49 * $49;
$52 = $50 * $50;
$53 = $51 > $52;
$$$i5$i$i$i = $53 ? $51 : $52;
$54 = $$$i$i$i$i + $$$i5$i$i$i;
$55 = $$sroa$6$0$copyload$i;
$56 = $37 - $55;
$57 = $41 + $56;
$58 = $56 * $56;
$59 = $57 * $57;
$60 = $58 > $59;
$$$i4$i$i$i = $60 ? $58 : $59;
$61 = $54 + $$$i4$i$i$i;
$62 = $61;
$63 = (($1) + ($$017$i<<3)|0);
HEAPF32[$63>>2] = $62;
$64 = (($$017$i) + 1)|0;
$exitcond$i62 = ($64|0)==($21|0);
if ($exitcond$i62) {
break;
} else {
$$017$i = $64;
}
}
}
_qsort($1,$21,8,51);
$65 = (($21|0) / 2)&-1;
;HEAP32[$$sroa$3>>2]=HEAP32[$33>>2]|0;HEAP32[$$sroa$3+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$sroa$3+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$sroa$3+12>>2]=HEAP32[$33+12>>2]|0;
$66 = (($1) + ($65<<3)|0);
$67 = +HEAPF32[$66>>2];
$68 = (+Math_sqrt((+$67)));
HEAP32[$5>>2] = 0;
$$sroa$2$0$$sroa_idx1 = ((($5)) + 4|0);
HEAP32[$$sroa$2$0$$sroa_idx1>>2] = 0;
$$sroa$3$0$$sroa_idx = ((($5)) + 8|0);
;HEAP32[$$sroa$3$0$$sroa_idx>>2]=HEAP32[$$sroa$3>>2]|0;HEAP32[$$sroa$3$0$$sroa_idx+4>>2]=HEAP32[$$sroa$3+4>>2]|0;HEAP32[$$sroa$3$0$$sroa_idx+8>>2]=HEAP32[$$sroa$3+8>>2]|0;HEAP32[$$sroa$3$0$$sroa_idx+12>>2]=HEAP32[$$sroa$3+12>>2]|0;
$$sroa$4$0$$sroa_idx2 = ((($5)) + 24|0);
HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $68;
$$sroa$5$0$$sroa_idx3 = ((($5)) + 28|0);
HEAP32[$$sroa$5$0$$sroa_idx3>>2] = $20;
$69 = (_vp_create_node($0,$1,$65,$3)|0);
HEAP32[$5>>2] = $69;
$70 = (($21) - ($65))|0;
$71 = (_vp_create_node($0,$66,$70,$3)|0);
HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $71;
$$1 = $5;
STACKTOP = sp;return ($$1|0);
}
function _vp_search_node($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$i$i$i = 0.0, $$$i4$i$i = 0.0, $$$i5$i$i = 0.0, $$030 = 0, $$pre = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$038$0$copyload = 0.0, $$sroa$4$0$$sroa_idx32 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$440$0$$sroa_idx41 = 0, $$sroa$440$0$copyload = 0.0, $$sroa$5$0$$sroa_idx34 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$543$0$$sroa_idx44 = 0, $$sroa$543$0$copyload = 0.0, $$sroa$6$0$$sroa_idx36 = 0, $$sroa$6$0$copyload = 0.0, $$sroa$646$0$$sroa_idx47 = 0, $$sroa$646$0$copyload = 0.0;
var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0;
var $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0;
var $48 = 0.0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$$sroa$440$0$$sroa_idx41 = ((($1)) + 4|0);
$$sroa$543$0$$sroa_idx44 = ((($1)) + 8|0);
$$sroa$646$0$$sroa_idx47 = ((($1)) + 12|0);
$3 = ((($2)) + 8|0);
$4 = ((($2)) + 4|0);
$$pre = +HEAPF32[$2>>2];
$$030 = $0;$33 = $$pre;
while(1) {
HEAP8[tempDoublePtr>>0]=HEAP8[$1>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$1+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$1+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$1+3>>0];$$sroa$038$0$copyload = +HEAPF32[tempDoublePtr>>2];
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$440$0$$sroa_idx41>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$440$0$$sroa_idx41+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$440$0$$sroa_idx41+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$440$0$$sroa_idx41+3>>0];$$sroa$440$0$copyload = +HEAPF32[tempDoublePtr>>2];
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$543$0$$sroa_idx44>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$543$0$$sroa_idx44+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$543$0$$sroa_idx44+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$543$0$$sroa_idx44+3>>0];$$sroa$543$0$copyload = +HEAPF32[tempDoublePtr>>2];
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$646$0$$sroa_idx47>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$646$0$$sroa_idx47+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$646$0$$sroa_idx47+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$646$0$$sroa_idx47+3>>0];$$sroa$646$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$0$0$$sroa_idx = ((($$030)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$0$0$$sroa_idx>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$0$0$$sroa_idx+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$0$0$$sroa_idx+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$0$0$$sroa_idx+3>>0];$$sroa$0$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx32 = ((($$030)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx32>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx32+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx32+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx32+3>>0];$$sroa$4$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$5$0$$sroa_idx34 = ((($$030)) + 16|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx34>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx34+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx34+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx34+3>>0];$$sroa$5$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$6$0$$sroa_idx36 = ((($$030)) + 20|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx36>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx36+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx36+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx36+3>>0];$$sroa$6$0$copyload = +HEAPF32[tempDoublePtr>>2];
$5 = $$sroa$038$0$copyload - $$sroa$0$0$copyload;
$6 = $5;
$7 = $$sroa$4$0$copyload;
$8 = $$sroa$440$0$copyload;
$9 = $7 - $8;
$10 = $6 + $9;
$11 = $9 * $9;
$12 = $10 * $10;
$13 = $11 > $12;
$$$i$i$i = $13 ? $11 : $12;
$14 = $$sroa$5$0$copyload;
$15 = $$sroa$543$0$copyload;
$16 = $14 - $15;
$17 = $6 + $16;
$18 = $16 * $16;
$19 = $17 * $17;
$20 = $18 > $19;
$$$i5$i$i = $20 ? $18 : $19;
$21 = $$$i$i$i + $$$i5$i$i;
$22 = $$sroa$6$0$copyload;
$23 = $$sroa$646$0$copyload;
$24 = $22 - $23;
$25 = $6 + $24;
$26 = $24 * $24;
$27 = $25 * $25;
$28 = $26 > $27;
$$$i4$i$i = $28 ? $26 : $27;
$29 = $21 + $$$i4$i$i;
$30 = $29;
$31 = (+Math_sqrt((+$30)));
$32 = $31 < $33;
if ($32) {
$34 = HEAP32[$3>>2]|0;
$35 = ((($$030)) + 28|0);
$36 = HEAP32[$35>>2]|0;
$37 = ($34|0)==($36|0);
if (!($37)) {
HEAPF32[$2>>2] = $31;
HEAP32[$4>>2] = $36;
}
}
$38 = ((($$030)) + 24|0);
$39 = +HEAPF32[$38>>2];
$40 = $31 < $39;
if ($40) {
$41 = HEAP32[$$030>>2]|0;
$42 = ($41|0)==(0|0);
if (!($42)) {
_vp_search_node($41,$1,$2);
}
$43 = ((($$030)) + 4|0);
$44 = HEAP32[$43>>2]|0;
$45 = ($44|0)==(0|0);
if ($45) {
label = 14;
break;
}
$46 = +HEAPF32[$38>>2];
$47 = +HEAPF32[$2>>2];
$48 = $46 - $47;
$49 = !($31 >= $48);
if ($49) {
label = 14;
break;
} else {
$$030 = $44;$33 = $47;
continue;
}
} else {
$50 = ((($$030)) + 4|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51|0)==(0|0);
if (!($52)) {
_vp_search_node($51,$1,$2);
}
$53 = HEAP32[$$030>>2]|0;
$54 = ($53|0)==(0|0);
if ($54) {
label = 14;
break;
}
$55 = +HEAPF32[$38>>2];
$56 = +HEAPF32[$2>>2];
$57 = $55 + $56;
$58 = !($31 <= $57);
if ($58) {
label = 14;
break;
} else {
$$030 = $53;$33 = $56;
continue;
}
}
}
if ((label|0) == 14) {
return;
}
}
function _vp_compare_distance($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = +HEAPF32[$0>>2];
$3 = +HEAPF32[$1>>2];
$4 = $2 > $3;
$5 = $4 ? 1 : -1;
return ($5|0);
}
function _nearest_search($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$$i$i$i = 0.0, $$$i4$i$i = 0.0, $$$i5$i$i = 0.0, $$0 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload = 0.0, $$sroa$024$0$copyload = 0.0, $$sroa$4$0$$sroa_idx18 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$426$0$$sroa_idx27 = 0, $$sroa$426$0$copyload = 0.0, $$sroa$5$0$$sroa_idx20 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$529$0$$sroa_idx30 = 0, $$sroa$529$0$copyload = 0.0, $$sroa$6$0$$sroa_idx22 = 0, $$sroa$6$0$copyload = 0.0, $$sroa$632$0$$sroa_idx33 = 0, $$sroa$632$0$copyload = 0.0, $10 = 0.0;
var $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0;
var $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
$5 = ((($0)) + 4|0);
$6 = HEAP32[$5>>2]|0;
HEAP8[tempDoublePtr>>0]=HEAP8[$1>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$1+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$1+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$1+3>>0];$$sroa$024$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$426$0$$sroa_idx27 = ((($1)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$426$0$$sroa_idx27>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$426$0$$sroa_idx27+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$426$0$$sroa_idx27+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$426$0$$sroa_idx27+3>>0];$$sroa$426$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$529$0$$sroa_idx30 = ((($1)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$529$0$$sroa_idx30>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$529$0$$sroa_idx30+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$529$0$$sroa_idx30+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$529$0$$sroa_idx30+3>>0];$$sroa$529$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$632$0$$sroa_idx33 = ((($1)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$632$0$$sroa_idx33>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$632$0$$sroa_idx33+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$632$0$$sroa_idx33+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$632$0$$sroa_idx33+3>>0];$$sroa$632$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$0$0$$sroa_idx = (($6) + (($2*24)|0)|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$0$0$$sroa_idx>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$0$0$$sroa_idx+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$0$0$$sroa_idx+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$0$0$$sroa_idx+3>>0];$$sroa$0$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$4$0$$sroa_idx18 = (((($6) + (($2*24)|0)|0)) + 4|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$4$0$$sroa_idx18>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$4$0$$sroa_idx18+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$4$0$$sroa_idx18+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$4$0$$sroa_idx18+3>>0];$$sroa$4$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$5$0$$sroa_idx20 = (((($6) + (($2*24)|0)|0)) + 8|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$5$0$$sroa_idx20>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$5$0$$sroa_idx20+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$5$0$$sroa_idx20+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$5$0$$sroa_idx20+3>>0];$$sroa$5$0$copyload = +HEAPF32[tempDoublePtr>>2];
$$sroa$6$0$$sroa_idx22 = (((($6) + (($2*24)|0)|0)) + 12|0);
HEAP8[tempDoublePtr>>0]=HEAP8[$$sroa$6$0$$sroa_idx22>>0];HEAP8[tempDoublePtr+1>>0]=HEAP8[$$sroa$6$0$$sroa_idx22+1>>0];HEAP8[tempDoublePtr+2>>0]=HEAP8[$$sroa$6$0$$sroa_idx22+2>>0];HEAP8[tempDoublePtr+3>>0]=HEAP8[$$sroa$6$0$$sroa_idx22+3>>0];$$sroa$6$0$copyload = +HEAPF32[tempDoublePtr>>2];
$7 = $$sroa$024$0$copyload - $$sroa$0$0$copyload;
$8 = $7;
$9 = $$sroa$4$0$copyload;
$10 = $$sroa$426$0$copyload;
$11 = $9 - $10;
$12 = $8 + $11;
$13 = $11 * $11;
$14 = $12 * $12;
$15 = $13 > $14;
$$$i$i$i = $15 ? $13 : $14;
$16 = $$sroa$5$0$copyload;
$17 = $$sroa$529$0$copyload;
$18 = $16 - $17;
$19 = $8 + $18;
$20 = $18 * $18;
$21 = $19 * $19;
$22 = $20 > $21;
$$$i5$i$i = $22 ? $20 : $21;
$23 = $$$i$i$i + $$$i5$i$i;
$24 = $$sroa$6$0$copyload;
$25 = $$sroa$632$0$copyload;
$26 = $24 - $25;
$27 = $8 + $26;
$28 = $26 * $26;
$29 = $27 * $27;
$30 = $28 > $29;
$$$i4$i$i = $30 ? $28 : $29;
$31 = $23 + $$$i4$i$i;
$32 = $31;
$33 = (((($0)) + 8|0) + ($2<<2)|0);
$34 = +HEAPF32[$33>>2];
$35 = $32 < $34;
if ($35) {
$36 = ($3|0)==(0|0);
if ($36) {
$$0 = $2;
STACKTOP = sp;return ($$0|0);
}
HEAPF32[$3>>2] = $32;
$$0 = $2;
STACKTOP = sp;return ($$0|0);
} else {
$37 = (+Math_sqrt((+$32)));
HEAPF32[$4>>2] = $37;
$38 = ((($4)) + 4|0);
HEAP32[$38>>2] = $2;
$39 = ((($4)) + 8|0);
HEAP32[$39>>2] = -1;
$40 = HEAP32[$0>>2]|0;
_vp_search_node($40,$1,$4);
$41 = ($3|0)==(0|0);
if (!($41)) {
$42 = +HEAPF32[$4>>2];
$43 = $42 * $42;
HEAPF32[$3>>2] = $43;
}
$44 = HEAP32[$38>>2]|0;
$$0 = $44;
STACKTOP = sp;return ($$0|0);
}
return (0)|0;
}
function _nearest_free($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 1032|0);
$2 = HEAP32[$1>>2]|0;
_mempool_destroy($2);
return;
}
function _png_destroy_png_struct($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0);
$1 = sp;
$2 = ($0|0)==(0|0);
if ($2) {
STACKTOP = sp;return;
}
_memcpy(($1|0),($0|0),900)|0;
_memset(($0|0),0,900)|0;
$3 = ((($1)) + 724|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
_free($0);
} else {
FUNCTION_TABLE_vii[$4 & 127]($1,$0);
}
_png_free_jmpbuf($1);
STACKTOP = sp;return;
}
function _png_free_jmpbuf($0) {
$0 = $0|0;
var $$pre = 0, $$reg2mem18$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0;
var $cond20 = 0, $or$cond = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
_setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
$1 = sp;
$2 = ($0|0)==(0|0);
if ($2) {
_free(_setjmpTable|0);
STACKTOP = sp;return;
}
$3 = ((($0)) + 160|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
$$pre = ((($0)) + 164|0);
if (!($5)) {
$6 = HEAP32[$$pre>>2]|0;
$7 = ($6|0)==(0);
$8 = ($4|0)==($0|0);
$or$cond = $8 | $7;
if (!($or$cond)) {
_setjmpTable = _saveSetjmp($1,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
__THREW__ = 0;
$9 = __THREW__; __THREW__ = 0;
if ((($9|0) != 0) & ((threwValue|0) != 0)) { $10 = _testSetjmp(HEAP32[$9>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($10|0) == 0) { _longjmp($9|0, threwValue|0); } tempRet0 = (threwValue); } else { $10 = -1; };
$11 = tempRet0;
$cond = ($10|0)==(1);
if ($cond) {
$$reg2mem18$0 = $11;
} else {
$$reg2mem18$0 = 0;
}
while(1) {
$12 = ($$reg2mem18$0|0)==(0);
if (!($12)) {
break;
}
HEAP32[$3>>2] = $1;
HEAP32[$$pre>>2] = 0;
$13 = ((($0)) + 156|0);
HEAP32[$13>>2] = 52;
__THREW__ = 0;
invoke_vii(53,($0|0),($4|0));
$14 = __THREW__; __THREW__ = 0;
if ((($14|0) != 0) & ((threwValue|0) != 0)) { $15 = _testSetjmp(HEAP32[$14>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($15|0) == 0) { _longjmp($14|0, threwValue|0); } tempRet0 = (threwValue); } else { $15 = -1; };
$16 = tempRet0;
$cond20 = ($15|0)==(1);
if ($cond20) {
$$reg2mem18$0 = $16;
} else {
label = 8;
break;
}
}
if ((label|0) == 8) {
}
}
}
HEAP32[$$pre>>2] = 0;
HEAP32[$3>>2] = 0;
$17 = ((($0)) + 156|0);
HEAP32[$17>>2] = 0;
_free(_setjmpTable|0);
STACKTOP = sp;return;
}
function _png_free($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
$3 = ($1|0)==(0|0);
$or$cond = $2 | $3;
if ($or$cond) {
return;
}
$4 = ((($0)) + 724|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if ($6) {
_free($1);
return;
} else {
FUNCTION_TABLE_vii[$5 & 127]($0,$1);
return;
}
}
function _png_calloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$i$i = 0, $$0$i6 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$$0$i6 = 0;
return ($$0$i6|0);
}
$3 = ($1|0)==(0);
if ($3) {
_png_error($0,18820);
// unreachable;
}
$4 = ((($0)) + 720|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if ($6) {
$8 = (_malloc($1)|0);
$$0$i$i = $8;
} else {
$7 = (FUNCTION_TABLE_iii[$5 & 63]($0,$1)|0);
$$0$i$i = $7;
}
$9 = ($$0$i$i|0)==(0|0);
if ($9) {
_png_error($0,18820);
// unreachable;
}
_memset(($$0$i$i|0),0,($1|0))|0;
$$0$i6 = $$0$i$i;
return ($$0$i6|0);
}
function _png_error($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ($0|0)==(0|0);
if (!($2)) {
$3 = ((($0)) + 168|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
FUNCTION_TABLE_vii[$4 & 127]($0,$1);
}
}
$6 = HEAP32[2606]|0;
$7 = ($1|0)!=(0|0);
$8 = $7 ? $1 : 18834;
HEAP32[$vararg_buffer>>2] = $8;
(_fprintf($6,18844,$vararg_buffer)|0);
(_fputc(10,$6)|0);
_png_longjmp($0,1);
// unreachable;
}
function _png_longjmp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if (!($2)) {
$3 = ((($0)) + 156|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
$6 = ((($0)) + 160|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if (!($8)) {
FUNCTION_TABLE_vii[$4 & 127]($7,$1);
}
}
}
_abort();
// unreachable;
}
function _png_malloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0$i = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$$0 = 0;
return ($$0|0);
}
$3 = ($1|0)==(0);
if ($3) {
_png_error($0,18820);
// unreachable;
}
$4 = ((($0)) + 720|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if ($6) {
$8 = (_malloc($1)|0);
$$0$i = $8;
} else {
$7 = (FUNCTION_TABLE_iii[$5 & 63]($0,$1)|0);
$$0$i = $7;
}
$9 = ($$0$i|0)==(0|0);
if ($9) {
_png_error($0,18820);
// unreachable;
} else {
$$0 = $$0$i;
return ($$0|0);
}
return (0)|0;
}
function _png_malloc_base($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($1|0)==(0);
if ($2) {
$$0 = 0;
return ($$0|0);
}
$3 = ($0|0)==(0|0);
if (!($3)) {
$4 = ((($0)) + 720|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if (!($6)) {
$7 = (FUNCTION_TABLE_iii[$5 & 63]($0,$1)|0);
$$0 = $7;
return ($$0|0);
}
}
$8 = (_malloc($1)|0);
$$0 = $8;
return ($$0|0);
}
function _png_malloc_array($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($1|0)<(1);
$4 = ($2|0)==(0);
$or$cond = $3 | $4;
if ($or$cond) {
_png_error($0,18861);
// unreachable;
}
$5 = (4294967295 / ($2>>>0))&-1;
$6 = ($5>>>0)<($1>>>0);
if ($6) {
$$0$i = 0;
return ($$0$i|0);
}
$7 = Math_imul($2, $1)|0;
$8 = ($7|0)==(0);
if ($8) {
$$0$i = 0;
return ($$0$i|0);
}
$9 = ($0|0)==(0|0);
if (!($9)) {
$10 = ((($0)) + 720|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0|0);
if (!($12)) {
$13 = (FUNCTION_TABLE_iii[$11 & 63]($0,$7)|0);
$$0$i = $13;
return ($$0$i|0);
}
}
$14 = (_malloc($7)|0);
$$0$i = $14;
return ($$0$i|0);
}
function _png_realloc_array($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$i = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($3|0)<(1);
$6 = ($4|0)==(0);
$or$cond = $5 | $6;
$7 = ($2|0)<(0);
$or$cond3 = $7 | $or$cond;
if ($or$cond3) {
_png_error($0,18889);
// unreachable;
}
$8 = ($1|0)==(0|0);
$9 = ($2|0)>(0);
$or$cond5 = $8 & $9;
if ($or$cond5) {
_png_error($0,18889);
// unreachable;
}
$10 = (2147483647 - ($2))|0;
$11 = ($10|0)<($3|0);
if ($11) {
$$1 = 0;
return ($$1|0);
}
$12 = (($3) + ($2))|0;
$13 = (4294967295 / ($4>>>0))&-1;
$14 = ($13>>>0)<($12>>>0);
if ($14) {
$$1 = 0;
return ($$1|0);
}
$15 = Math_imul($12, $4)|0;
$16 = ($15|0)==(0);
if ($16) {
$$1 = 0;
return ($$1|0);
}
$17 = ($0|0)==(0|0);
if ($17) {
label = 10;
} else {
$18 = ((($0)) + 720|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19|0)==(0|0);
if ($20) {
label = 10;
} else {
$21 = (FUNCTION_TABLE_iii[$19 & 63]($0,$15)|0);
$$0$i = $21;
}
}
if ((label|0) == 10) {
$22 = (_malloc($15)|0);
$$0$i = $22;
}
$23 = ($$0$i|0)==(0|0);
if ($23) {
$$1 = 0;
return ($$1|0);
}
$24 = Math_imul($4, $2)|0;
if ($9) {
_memcpy(($$0$i|0),($1|0),($24|0))|0;
}
$25 = (($$0$i) + ($24)|0);
$26 = Math_imul($4, $3)|0;
_memset(($25|0),0,($26|0))|0;
$$1 = $$0$i;
return ($$1|0);
}
function _png_malloc_warn($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$i = 0, $$1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$$1 = 0;
return ($$1|0);
}
$3 = ($1|0)==(0);
if (!($3)) {
$4 = ((($0)) + 720|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if ($6) {
$8 = (_malloc($1)|0);
$$0$i = $8;
} else {
$7 = (FUNCTION_TABLE_iii[$5 & 63]($0,$1)|0);
$$0$i = $7;
}
$9 = ($$0$i|0)==(0|0);
if (!($9)) {
$$1 = $$0$i;
return ($$1|0);
}
}
_png_warning($0,18820);
$$1 = 0;
return ($$1|0);
}
function _png_warning($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$115 = 0, $$116 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$2 = ($0|0)==(0|0);
if ($2) {
$$116 = 0;
} else {
$3 = HEAP8[$1>>0]|0;
$4 = ($3<<24>>24)==(35);
if ($4) {
$5 = ((($1)) + 1|0);
$6 = HEAP8[$5>>0]|0;
$7 = ($6<<24>>24)==(32);
if ($7) {
$$115 = 1;
} else {
$8 = ((($1)) + 2|0);
$9 = HEAP8[$8>>0]|0;
$10 = ($9<<24>>24)==(32);
if ($10) {
$$115 = 2;
} else {
$17 = ((($1)) + 3|0);
$18 = HEAP8[$17>>0]|0;
$19 = ($18<<24>>24)==(32);
if ($19) {
$$115 = 3;
} else {
$20 = ((($1)) + 4|0);
$21 = HEAP8[$20>>0]|0;
$22 = ($21<<24>>24)==(32);
if ($22) {
$$115 = 4;
} else {
$23 = ((($1)) + 5|0);
$24 = HEAP8[$23>>0]|0;
$25 = ($24<<24>>24)==(32);
if ($25) {
$$115 = 5;
} else {
$26 = ((($1)) + 6|0);
$27 = HEAP8[$26>>0]|0;
$28 = ($27<<24>>24)==(32);
if ($28) {
$$115 = 6;
} else {
$29 = ((($1)) + 7|0);
$30 = HEAP8[$29>>0]|0;
$31 = ($30<<24>>24)==(32);
if ($31) {
$$115 = 7;
} else {
$32 = ((($1)) + 8|0);
$33 = HEAP8[$32>>0]|0;
$34 = ($33<<24>>24)==(32);
if ($34) {
$$115 = 8;
} else {
$35 = ((($1)) + 9|0);
$36 = HEAP8[$35>>0]|0;
$37 = ($36<<24>>24)==(32);
if ($37) {
$$115 = 9;
} else {
$38 = ((($1)) + 10|0);
$39 = HEAP8[$38>>0]|0;
$40 = ($39<<24>>24)==(32);
if ($40) {
$$115 = 10;
} else {
$41 = ((($1)) + 11|0);
$42 = HEAP8[$41>>0]|0;
$43 = ($42<<24>>24)==(32);
if ($43) {
$$115 = 11;
} else {
$44 = ((($1)) + 12|0);
$45 = HEAP8[$44>>0]|0;
$46 = ($45<<24>>24)==(32);
if ($46) {
$$115 = 12;
} else {
$47 = ((($1)) + 13|0);
$48 = HEAP8[$47>>0]|0;
$49 = ($48<<24>>24)==(32);
if ($49) {
$$115 = 13;
} else {
$50 = ((($1)) + 14|0);
$51 = HEAP8[$50>>0]|0;
$52 = ($51<<24>>24)==(32);
$$ = $52 ? 14 : 15;
$$115 = $$;
}
}
}
}
}
}
}
}
}
}
}
}
}
} else {
$$115 = 0;
}
$11 = ((($0)) + 172|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0|0);
if ($13) {
$$116 = $$115;
} else {
$14 = (($1) + ($$115)|0);
FUNCTION_TABLE_vii[$12 & 127]($0,$14);
STACKTOP = sp;return;
}
}
$15 = (($1) + ($$116)|0);
$16 = HEAP32[2606]|0;
HEAP32[$vararg_buffer>>2] = $15;
(_fprintf($16,18919,$vararg_buffer)|0);
(_fputc(10,$16)|0);
STACKTOP = sp;return;
}
function _png_set_mem_fn($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
if ($4) {
return;
}
$5 = ((($0)) + 716|0);
HEAP32[$5>>2] = $1;
$6 = ((($0)) + 720|0);
HEAP32[$6>>2] = $2;
$7 = ((($0)) + 724|0);
HEAP32[$7>>2] = $3;
return;
}
function _png_set_bKGD($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
$4 = ($1|0)==(0|0);
$or$cond = $3 | $4;
$5 = ($2|0)==(0|0);
$or$cond3 = $or$cond | $5;
if ($or$cond3) {
return;
}
$6 = ((($1)) + 170|0);
;HEAP16[$6>>1]=HEAP16[$2>>1]|0;HEAP16[$6+2>>1]=HEAP16[$2+2>>1]|0;HEAP16[$6+4>>1]=HEAP16[$2+4>>1]|0;HEAP16[$6+6>>1]=HEAP16[$2+6>>1]|0;HEAP16[$6+8>>1]=HEAP16[$2+8>>1]|0;
$7 = ((($1)) + 8|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 | 32;
HEAP32[$7>>2] = $9;
return;
}
function _png_colorspace_set_chromaticities($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $storemerge$i = 0, $storemerge$in$i = 0, dest = 0, label = 0, sp = 0, src = 0;
var stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$4 = sp;
$5 = (_png_colorspace_check_xy($4,$2)|0);
switch ($5|0) {
case 0: {
$6 = ((($1)) + 74|0);
$7 = HEAP16[$6>>1]|0;
$8 = $7&65535;
$9 = $8 & 32768;
$10 = ($9|0)==(0);
if (!($10)) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$11 = ($3|0)>(1);
$12 = $8 & 2;
$13 = ($12|0)==(0);
$or$cond$i = $11 | $13;
$$pre$i = ((($1)) + 4|0);
do {
if (!($or$cond$i)) {
$14 = (_png_colorspace_endpoints_match($2,$$pre$i,100)|0);
$15 = ($14|0)==(0);
if ($15) {
$16 = $8 | 32768;
$17 = $16&65535;
HEAP16[$6>>1] = $17;
_png_benign_error($0,18938);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
$18 = ($3|0)==(0);
if ($18) {
$$0 = 1;
} else {
break;
}
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
;HEAP32[$$pre$i>>2]=HEAP32[$2>>2]|0;HEAP32[$$pre$i+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$pre$i+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$pre$i+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$pre$i+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$$pre$i+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$$pre$i+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$$pre$i+28>>2]=HEAP32[$2+28>>2]|0;
$19 = ((($1)) + 36|0);
dest=$19; src=$4; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$20 = (_png_colorspace_endpoints_match($2,480,1000)|0);
$21 = ($20|0)==(0);
$22 = $8 & 65469;
$23 = $22 | 2;
$24 = $8 | 66;
$storemerge$in$i = $21 ? $23 : $24;
$storemerge$i = $storemerge$in$i&65535;
HEAP16[$6>>1] = $storemerge$i;
$$0 = 2;
STACKTOP = sp;return ($$0|0);
break;
}
case 1: {
$25 = ((($1)) + 74|0);
$26 = HEAP16[$25>>1]|0;
$27 = $26&65535;
$28 = $27 | 32768;
$29 = $28&65535;
HEAP16[$25>>1] = $29;
_png_benign_error($0,18966);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
break;
}
default: {
$30 = ((($1)) + 74|0);
$31 = HEAP16[$30>>1]|0;
$32 = $31&65535;
$33 = $32 | 32768;
$34 = $33&65535;
HEAP16[$30>>1] = $34;
_png_error($0,18989);
// unreachable;
}
}
return (0)|0;
}
function _png_colorspace_sync_info($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre193$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $storemerge = 0, $storemerge9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($1)) + 114|0);
$3 = HEAP16[$2>>1]|0;
$4 = $3&65535;
$5 = $4 & 32768;
$6 = ($5|0)==(0);
if ($6) {
$19 = $4 & 128;
$20 = ($19|0)==(0);
$21 = ((($1)) + 8|0);
$22 = HEAP32[$21>>2]|0;
$23 = $22 & -2049;
$24 = $22 | 2048;
$storemerge = $20 ? $23 : $24;
$25 = $3 & 2;
$26 = ($25<<16>>16)==(0);
$27 = $storemerge & -5;
$28 = $storemerge | 4;
$storemerge9 = $26 ? $27 : $28;
HEAP32[$21>>2] = $storemerge9;
$29 = $3 & 1;
$30 = ($29<<16>>16)==(0);
if ($30) {
$32 = $storemerge9 & -2;
HEAP32[$21>>2] = $32;
return;
} else {
$31 = $storemerge9 | 1;
HEAP32[$21>>2] = $31;
return;
}
}
$7 = ((($1)) + 8|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 & -6150;
HEAP32[$7>>2] = $9;
$10 = ($0|0)==(0|0);
if ($10) {
return;
}
$$pre193$i = ((($1)) + 232|0);
$11 = HEAP32[$$pre193$i>>2]|0;
$12 = $11 & 16;
$13 = ($12|0)==(0);
if (!($13)) {
$14 = ((($1)) + 116|0);
$15 = HEAP32[$14>>2]|0;
_png_free($0,$15);
$16 = ((($1)) + 120|0);
$17 = HEAP32[$16>>2]|0;
_png_free($0,$17);
HEAP32[$14>>2] = 0;
HEAP32[$16>>2] = 0;
HEAP32[$7>>2] = $9;
}
$18 = $11 & -17;
HEAP32[$$pre193$i>>2] = $18;
return;
}
function _png_colorspace_check_xy($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$0 = 0, $$0$i$i = 0, $$0$i127$i = 0, $$0$i129$neg$i = 0, $$0191$ph$i = 0, $$0192$ph$i = 0, $$0195$i = 0, $$0196$i = 0, $$1$ph$i = 0, $$1193$ph$i = 0, $$2$ph$i = 0, $$2194$ph$i = 0, $$op$i = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0;
var $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0;
var $196 = 0.0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0;
var $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0, $247 = 0, $248 = 0, $249 = 0;
var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0;
var $or$cond$i$i = 0, $or$cond$i100$i = 0, $or$cond$i105$i = 0, $or$cond$i110$i = 0, $or$cond$i115$i = 0, $or$cond$i125$i = 0, $or$cond$i126$i = 0, $or$cond$i128$i = 0, $or$cond$i90$i = 0, $or$cond$i95$i = 0, $or$cond3$i$i = 0, $or$cond3$i101$i = 0, $or$cond3$i106$i = 0, $or$cond3$i111$i = 0, $or$cond3$i116$i = 0, $or$cond3$i121$i = 0, $or$cond3$i130$i = 0, $or$cond3$i134$i = 0, $or$cond3$i138$i = 0, $or$cond3$i142$i = 0;
var $or$cond3$i146$i = 0, $or$cond3$i150$i = 0, $or$cond3$i155$i = 0, $or$cond3$i160$i = 0, $or$cond3$i165$i = 0, $or$cond3$i91$i = 0, $or$cond3$i96$i = 0, $or$cond80$i = 0, $or$cond83$i = 0, $or$cond86$i = 0, $or$cond89$i = 0, $storemerge = 0, $storemerge$i = 0, $storemerge203$i = 0, $storemerge204$i = 0, $storemerge205$i = 0, $storemerge206$i = 0, $storemerge207$i = 0, $storemerge208$i = 0, $storemerge209$i = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$2 = sp;
$3 = HEAP32[$1>>2]|0;
$4 = ($3>>>0)>(100000);
if ($4) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$5 = ((($1)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)<(0);
$8 = (100000 - ($3))|0;
$9 = ($6|0)>($8|0);
$or$cond80$i = $7 | $9;
if ($or$cond80$i) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$10 = ((($1)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11>>>0)>(100000);
if ($12) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$13 = ((($1)) + 12|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)<(0);
$16 = (100000 - ($11))|0;
$17 = ($14|0)>($16|0);
$or$cond83$i = $15 | $17;
if ($or$cond83$i) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$18 = ((($1)) + 16|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19>>>0)>(100000);
if ($20) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$21 = ((($1)) + 20|0);
$22 = HEAP32[$21>>2]|0;
$23 = ($22|0)<(0);
$24 = (100000 - ($19))|0;
$25 = ($22|0)>($24|0);
$or$cond86$i = $23 | $25;
if ($or$cond86$i) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$26 = ((($1)) + 24|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27>>>0)>(100000);
if ($28) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$29 = ((($1)) + 28|0);
$30 = HEAP32[$29>>2]|0;
$31 = ($30|0)<(0);
$32 = (100000 - ($27))|0;
$33 = ($30|0)>($32|0);
$or$cond89$i = $31 | $33;
if ($or$cond89$i) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$34 = (($11) - ($19))|0;
$35 = (($6) - ($22))|0;
$36 = ($34|0)==(0);
$37 = ($35|0)==(0);
$or$cond$i$i = $36 | $37;
do {
if ($or$cond$i$i) {
$$0192$ph$i = 0;
} else {
$38 = (+($34|0));
$39 = (+($35|0));
$40 = $38 * $39;
$41 = $40 / 7.0;
$42 = $41 + 0.5;
$43 = (+Math_floor((+$42)));
$44 = $43 <= 2147483647.0;
$45 = $43 >= -2147483648.0;
$or$cond3$i$i = $44 & $45;
if ($or$cond3$i$i) {
$46 = (~~(($43)));
$$0192$ph$i = $46;
break;
} else {
$$0 = 2;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$47 = (($14) - ($22))|0;
$48 = (($3) - ($19))|0;
$49 = ($47|0)==(0);
$50 = ($48|0)==(0);
$or$cond$i90$i = $50 | $49;
do {
if ($or$cond$i90$i) {
$$0191$ph$i = 0;
} else {
$51 = (+($47|0));
$52 = (+($48|0));
$53 = $52 * $51;
$54 = $53 / 7.0;
$55 = $54 + 0.5;
$56 = (+Math_floor((+$55)));
$57 = $56 <= 2147483647.0;
$58 = $56 >= -2147483648.0;
$or$cond3$i91$i = $57 & $58;
if ($or$cond3$i91$i) {
$59 = (~~(($56)));
$$0191$ph$i = $59;
break;
} else {
$$0 = 2;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$60 = (($$0192$ph$i) - ($$0191$ph$i))|0;
$61 = (($30) - ($22))|0;
$62 = ($61|0)==(0);
$or$cond$i95$i = $36 | $62;
do {
if ($or$cond$i95$i) {
$$1193$ph$i = 0;
} else {
$63 = (+($34|0));
$64 = (+($61|0));
$65 = $63 * $64;
$66 = $65 / 7.0;
$67 = $66 + 0.5;
$68 = (+Math_floor((+$67)));
$69 = $68 <= 2147483647.0;
$70 = $68 >= -2147483648.0;
$or$cond3$i96$i = $69 & $70;
if ($or$cond3$i96$i) {
$71 = (~~(($68)));
$$1193$ph$i = $71;
break;
} else {
$$0 = 2;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$72 = (($27) - ($19))|0;
$73 = ($72|0)==(0);
$or$cond$i100$i = $49 | $73;
do {
if ($or$cond$i100$i) {
$$1$ph$i = 0;
} else {
$74 = (+($47|0));
$75 = (+($72|0));
$76 = $74 * $75;
$77 = $76 / 7.0;
$78 = $77 + 0.5;
$79 = (+Math_floor((+$78)));
$80 = $79 <= 2147483647.0;
$81 = $79 >= -2147483648.0;
$or$cond3$i101$i = $80 & $81;
if ($or$cond3$i101$i) {
$82 = (~~(($79)));
$$1$ph$i = $82;
break;
} else {
$$0 = 2;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$83 = (($$1193$ph$i) - ($$1$ph$i))|0;
$84 = ($83|0)==(0);
if ($84) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$85 = ($30|0)==(0);
$86 = ($60|0)==(0);
$or$cond$i105$i = $85 | $86;
do {
if ($or$cond$i105$i) {
$$0196$i = 0;
} else {
$87 = (+($30|0));
$88 = (+($60|0));
$89 = $87 * $88;
$90 = (+($83|0));
$91 = $89 / $90;
$92 = $91 + 0.5;
$93 = (+Math_floor((+$92)));
$94 = $93 <= 2147483647.0;
$95 = $93 >= -2147483648.0;
$or$cond3$i106$i = $94 & $95;
if ($or$cond3$i106$i) {
$96 = (~~(($93)));
$$0196$i = $96;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$97 = ($$0196$i|0)>($30|0);
if (!($97)) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$or$cond$i110$i = $37 | $73;
do {
if ($or$cond$i110$i) {
$$2194$ph$i = 0;
} else {
$98 = (+($35|0));
$99 = (+($72|0));
$100 = $98 * $99;
$101 = $100 / 7.0;
$102 = $101 + 0.5;
$103 = (+Math_floor((+$102)));
$104 = $103 <= 2147483647.0;
$105 = $103 >= -2147483648.0;
$or$cond3$i111$i = $104 & $105;
if ($or$cond3$i111$i) {
$106 = (~~(($103)));
$$2194$ph$i = $106;
break;
} else {
$$0 = 2;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$or$cond$i115$i = $50 | $62;
do {
if ($or$cond$i115$i) {
$$2$ph$i = 0;
} else {
$107 = (+($48|0));
$108 = (+($61|0));
$109 = $107 * $108;
$110 = $109 / 7.0;
$111 = $110 + 0.5;
$112 = (+Math_floor((+$111)));
$113 = $112 <= 2147483647.0;
$114 = $112 >= -2147483648.0;
$or$cond3$i116$i = $113 & $114;
if ($or$cond3$i116$i) {
$115 = (~~(($112)));
$$2$ph$i = $115;
break;
} else {
$$0 = 2;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$116 = (($$2194$ph$i) - ($$2$ph$i))|0;
$117 = ($116|0)==(0);
if ($117) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
do {
if ($or$cond$i105$i) {
$$0195$i = 0;
} else {
$118 = (+($30|0));
$119 = (+($60|0));
$120 = $118 * $119;
$121 = (+($116|0));
$122 = $120 / $121;
$123 = $122 + 0.5;
$124 = (+Math_floor((+$123)));
$125 = $124 <= 2147483647.0;
$126 = $124 >= -2147483648.0;
$or$cond3$i121$i = $125 & $126;
if ($or$cond3$i121$i) {
$127 = (~~(($124)));
$$0195$i = $127;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
$128 = ($$0195$i|0)>($30|0);
if (!($128)) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$129 = (+($30|0));
$130 = 1.0E+10 / $129;
$131 = $130 + 0.5;
$132 = (+Math_floor((+$131)));
$133 = $132 <= 2147483647.0;
$134 = $132 >= -2147483648.0;
$or$cond$i125$i = $133 & $134;
$135 = (~~(($132)));
$$0$i$i = $or$cond$i125$i ? $135 : 0;
$136 = (+($$0196$i|0));
$137 = 1.0E+10 / $136;
$138 = $137 + 0.5;
$139 = (+Math_floor((+$138)));
$140 = $139 <= 2147483647.0;
$141 = $139 >= -2147483648.0;
$or$cond$i126$i = $140 & $141;
$142 = (~~(($139)));
$$0$i127$i = $or$cond$i126$i ? $142 : 0;
$143 = (($$0$i$i) - ($$0$i127$i))|0;
$144 = (+($$0195$i|0));
$145 = 1.0E+10 / $144;
$146 = $145 + 0.5;
$147 = (+Math_floor((+$146)));
$148 = $147 <= 2147483647.0;
$149 = $147 >= -2147483648.0;
$or$cond$i128$i = $148 & $149;
$150 = (~~(($147)));
$$op$i = (0 - ($150))|0;
$$0$i129$neg$i = $or$cond$i128$i ? $$op$i : 0;
$151 = (($143) + ($$0$i129$neg$i))|0;
$152 = ($151|0)<(1);
if ($152) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$153 = ($$0196$i|0)==(0);
if ($153) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$154 = ($3|0)==(0);
do {
if ($154) {
$storemerge$i = 0;
} else {
$155 = (+($3|0));
$156 = $155 * 1.0E+5;
$157 = $156 / $136;
$158 = $157 + 0.5;
$159 = (+Math_floor((+$158)));
$160 = $159 <= 2147483647.0;
$161 = $159 >= -2147483648.0;
$or$cond3$i130$i = $160 & $161;
if ($or$cond3$i130$i) {
$162 = (~~(($159)));
$storemerge$i = $162;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$0>>2] = $storemerge$i;
$163 = ((($0)) + 4|0);
$164 = HEAP32[$5>>2]|0;
$165 = ($164|0)==(0);
do {
if ($165) {
$storemerge203$i = 0;
} else {
$166 = (+($164|0));
$167 = $166 * 1.0E+5;
$168 = $167 / $136;
$169 = $168 + 0.5;
$170 = (+Math_floor((+$169)));
$171 = $170 <= 2147483647.0;
$172 = $170 >= -2147483648.0;
$or$cond3$i134$i = $171 & $172;
if ($or$cond3$i134$i) {
$173 = (~~(($170)));
$storemerge203$i = $173;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$163>>2] = $storemerge203$i;
$174 = ((($0)) + 8|0);
$175 = HEAP32[$1>>2]|0;
$176 = (100000 - ($175))|0;
$177 = HEAP32[$5>>2]|0;
$178 = (($176) - ($177))|0;
$179 = ($178|0)==(0);
do {
if ($179) {
$storemerge204$i = 0;
} else {
$180 = (+($178|0));
$181 = $180 * 1.0E+5;
$182 = $181 / $136;
$183 = $182 + 0.5;
$184 = (+Math_floor((+$183)));
$185 = $184 <= 2147483647.0;
$186 = $184 >= -2147483648.0;
$or$cond3$i138$i = $185 & $186;
if ($or$cond3$i138$i) {
$187 = (~~(($184)));
$storemerge204$i = $187;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$174>>2] = $storemerge204$i;
$188 = ((($0)) + 12|0);
$189 = HEAP32[$10>>2]|0;
$190 = ($$0195$i|0)==(0);
if ($190) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$191 = ($189|0)==(0);
do {
if ($191) {
$storemerge205$i = 0;
} else {
$192 = (+($189|0));
$193 = $192 * 1.0E+5;
$194 = $193 / $144;
$195 = $194 + 0.5;
$196 = (+Math_floor((+$195)));
$197 = $196 <= 2147483647.0;
$198 = $196 >= -2147483648.0;
$or$cond3$i142$i = $197 & $198;
if ($or$cond3$i142$i) {
$199 = (~~(($196)));
$storemerge205$i = $199;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$188>>2] = $storemerge205$i;
$200 = ((($0)) + 16|0);
$201 = HEAP32[$13>>2]|0;
$202 = ($201|0)==(0);
do {
if ($202) {
$storemerge206$i = 0;
} else {
$203 = (+($201|0));
$204 = $203 * 1.0E+5;
$205 = $204 / $144;
$206 = $205 + 0.5;
$207 = (+Math_floor((+$206)));
$208 = $207 <= 2147483647.0;
$209 = $207 >= -2147483648.0;
$or$cond3$i146$i = $208 & $209;
if ($or$cond3$i146$i) {
$210 = (~~(($207)));
$storemerge206$i = $210;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$200>>2] = $storemerge206$i;
$211 = ((($0)) + 20|0);
$212 = HEAP32[$10>>2]|0;
$213 = (100000 - ($212))|0;
$214 = HEAP32[$13>>2]|0;
$215 = (($213) - ($214))|0;
$216 = ($215|0)==(0);
do {
if ($216) {
$storemerge207$i = 0;
} else {
$217 = (+($215|0));
$218 = $217 * 1.0E+5;
$219 = $218 / $144;
$220 = $219 + 0.5;
$221 = (+Math_floor((+$220)));
$222 = $221 <= 2147483647.0;
$223 = $221 >= -2147483648.0;
$or$cond3$i150$i = $222 & $223;
if ($or$cond3$i150$i) {
$224 = (~~(($221)));
$storemerge207$i = $224;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$211>>2] = $storemerge207$i;
$225 = ((($0)) + 24|0);
$226 = HEAP32[$18>>2]|0;
$227 = ($226|0)==(0);
do {
if ($227) {
$storemerge208$i = 0;
} else {
$228 = (+($226|0));
$229 = (+($151|0));
$230 = $229 * $228;
$231 = $230 / 1.0E+5;
$232 = $231 + 0.5;
$233 = (+Math_floor((+$232)));
$234 = $233 <= 2147483647.0;
$235 = $233 >= -2147483648.0;
$or$cond3$i155$i = $234 & $235;
if ($or$cond3$i155$i) {
$236 = (~~(($233)));
$storemerge208$i = $236;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$225>>2] = $storemerge208$i;
$237 = ((($0)) + 28|0);
$238 = HEAP32[$21>>2]|0;
$239 = ($238|0)==(0);
do {
if ($239) {
$storemerge209$i = 0;
} else {
$240 = (+($238|0));
$241 = (+($151|0));
$242 = $241 * $240;
$243 = $242 / 1.0E+5;
$244 = $243 + 0.5;
$245 = (+Math_floor((+$244)));
$246 = $245 <= 2147483647.0;
$247 = $245 >= -2147483648.0;
$or$cond3$i160$i = $246 & $247;
if ($or$cond3$i160$i) {
$248 = (~~(($245)));
$storemerge209$i = $248;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$237>>2] = $storemerge209$i;
$249 = ((($0)) + 32|0);
$250 = HEAP32[$18>>2]|0;
$251 = (100000 - ($250))|0;
$252 = HEAP32[$21>>2]|0;
$253 = (($251) - ($252))|0;
$254 = ($253|0)==(0);
do {
if ($254) {
$storemerge = 0;
} else {
$255 = (+($253|0));
$256 = (+($151|0));
$257 = $256 * $255;
$258 = $257 / 1.0E+5;
$259 = $258 + 0.5;
$260 = (+Math_floor((+$259)));
$261 = $260 <= 2147483647.0;
$262 = $260 >= -2147483648.0;
$or$cond3$i165$i = $261 & $262;
if ($or$cond3$i165$i) {
$263 = (~~(($260)));
$storemerge = $263;
break;
} else {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
HEAP32[$249>>2] = $storemerge;
$264 = (_png_xy_from_XYZ($2,$0)|0);
$265 = ($264|0)==(0);
if (!($265)) {
$$0 = $264;
STACKTOP = sp;return ($$0|0);
}
$266 = (_png_colorspace_endpoints_match($1,$2,5)|0);
$267 = ($266|0)==(0);
$$ = $267&1;
$$0 = $$;
STACKTOP = sp;return ($$0|0);
}
function _png_colorspace_endpoints_match($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond50 = 0, $or$cond52 = 0, $or$cond54 = 0, $or$cond56 = 0, $or$cond58 = 0, $or$cond60 = 0, $or$cond62 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 24|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($1)) + 24|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($6) - ($2))|0;
$8 = ($4|0)<($7|0);
$9 = (($6) + ($2))|0;
$10 = ($4|0)>($9|0);
$or$cond = $8 | $10;
if ($or$cond) {
return 0;
}
$11 = ((($0)) + 28|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($1)) + 28|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($14) - ($2))|0;
$16 = ($12|0)<($15|0);
$17 = (($14) + ($2))|0;
$18 = ($12|0)>($17|0);
$or$cond50 = $16 | $18;
if ($or$cond50) {
return 0;
}
$19 = HEAP32[$0>>2]|0;
$20 = HEAP32[$1>>2]|0;
$21 = (($20) - ($2))|0;
$22 = ($19|0)<($21|0);
$23 = (($20) + ($2))|0;
$24 = ($19|0)>($23|0);
$or$cond52 = $22 | $24;
if ($or$cond52) {
return 0;
}
$25 = ((($0)) + 4|0);
$26 = HEAP32[$25>>2]|0;
$27 = ((($1)) + 4|0);
$28 = HEAP32[$27>>2]|0;
$29 = (($28) - ($2))|0;
$30 = ($26|0)<($29|0);
$31 = (($28) + ($2))|0;
$32 = ($26|0)>($31|0);
$or$cond54 = $30 | $32;
if ($or$cond54) {
return 0;
}
$33 = ((($0)) + 8|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($1)) + 8|0);
$36 = HEAP32[$35>>2]|0;
$37 = (($36) - ($2))|0;
$38 = ($34|0)<($37|0);
$39 = (($36) + ($2))|0;
$40 = ($34|0)>($39|0);
$or$cond56 = $38 | $40;
if ($or$cond56) {
return 0;
}
$41 = ((($0)) + 12|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($1)) + 12|0);
$44 = HEAP32[$43>>2]|0;
$45 = (($44) - ($2))|0;
$46 = ($42|0)<($45|0);
$47 = (($44) + ($2))|0;
$48 = ($42|0)>($47|0);
$or$cond58 = $46 | $48;
if ($or$cond58) {
return 0;
}
$49 = ((($0)) + 16|0);
$50 = HEAP32[$49>>2]|0;
$51 = ((($1)) + 16|0);
$52 = HEAP32[$51>>2]|0;
$53 = (($52) - ($2))|0;
$54 = ($50|0)<($53|0);
$55 = (($52) + ($2))|0;
$56 = ($50|0)>($55|0);
$or$cond60 = $54 | $56;
if ($or$cond60) {
return 0;
} else {
$57 = ((($0)) + 20|0);
$58 = HEAP32[$57>>2]|0;
$59 = ((($1)) + 20|0);
$60 = HEAP32[$59>>2]|0;
$61 = (($60) - ($2))|0;
$62 = ($58|0)<($61|0);
$63 = (($60) + ($2))|0;
$64 = ($58|0)>($63|0);
$or$cond62 = $62 | $64;
$65 = $or$cond62&1;
$$ = $65 ^ 1;
return ($$|0);
}
return (0)|0;
}
function _png_benign_error($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$2 = sp;
$3 = ((($0)) + 212|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 1048576;
$6 = ($5|0)==(0);
$7 = ((($0)) + 208|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 & 32768;
$10 = ($9|0)!=(0);
if ($6) {
if (!($10)) {
_png_error($0,$1);
// unreachable;
}
$14 = ((($0)) + 376|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0);
if ($16) {
_png_error($0,$1);
// unreachable;
} else {
_png_chunk_error($0,$1);
// unreachable;
}
}
if ($10) {
$11 = ((($0)) + 376|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0);
if (!($13)) {
_png_format_buffer($12,$2,$1);
_png_warning($0,$2);
STACKTOP = sp;return;
}
}
_png_warning($0,$1);
STACKTOP = sp;return;
}
function _png_format_buffer($$0$44$val,$0,$1) {
$$0$44$val = $$0$44$val|0;
$0 = $0|0;
$1 = $1|0;
var $$02 = 0, $$1$1 = 0, $$1$2 = 0, $$1$3 = 0, $$1$in = 0, $$1$in$1 = 0, $$1$in$2 = 0, $$1$in$3 = 0, $$2$lcssa = 0, $$21 = 0, $$off = 0, $$off$1 = 0, $$off$2 = 0, $$off$3 = 0, $$off49 = 0, $$off49$1 = 0, $$off49$2 = 0, $$off49$3 = 0, $$sink = 0, $$sink5 = 0;
var $$sink6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $$0$44$val >>> 24;
$$off = (($2) + -65)|0;
$3 = ($$off>>>0)>(57);
$$off49 = (($2) + -91)|0;
$4 = ($$off49>>>0)<(6);
$5 = $3 | $4;
if ($5) {
HEAP8[$0>>0] = 91;
$6 = $$0$44$val >>> 28;
$7 = (29280 + ($6)|0);
$8 = HEAP8[$7>>0]|0;
$9 = ((($0)) + 1|0);
HEAP8[$9>>0] = $8;
$10 = $2 & 15;
$11 = (29280 + ($10)|0);
$12 = HEAP8[$11>>0]|0;
$13 = ((($0)) + 2|0);
HEAP8[$13>>0] = $12;
$14 = ((($0)) + 3|0);
HEAP8[$14>>0] = 93;
$$1$in = 4;
} else {
$15 = $2&255;
HEAP8[$0>>0] = $15;
$$1$in = 1;
}
$16 = $$0$44$val >>> 16;
$17 = $16 & 255;
$$off$1 = (($17) + -65)|0;
$18 = ($$off$1>>>0)>(57);
$$off49$1 = (($17) + -91)|0;
$19 = ($$off49$1>>>0)<(6);
$20 = $18 | $19;
if ($20) {
$35 = (($$1$in) + 1)|0;
$36 = $$0$44$val >>> 20;
$37 = $36 & 15;
$38 = (29280 + ($37)|0);
$39 = HEAP8[$38>>0]|0;
$40 = $$1$in | 2;
$41 = (($0) + ($35)|0);
HEAP8[$41>>0] = $39;
$42 = $16 & 15;
$43 = (29280 + ($42)|0);
$44 = HEAP8[$43>>0]|0;
$45 = (($$1$in) + 3)|0;
$46 = (($0) + ($40)|0);
HEAP8[$46>>0] = $44;
$47 = (($0) + ($45)|0);
HEAP8[$47>>0] = 93;
$$1$in$1 = $45;$$sink = 91;
} else {
$34 = $16&255;
$$1$in$1 = $$1$in;$$sink = $34;
}
$48 = (($0) + ($$1$in)|0);
HEAP8[$48>>0] = $$sink;
$$1$1 = (($$1$in$1) + 1)|0;
$49 = $$0$44$val >>> 8;
$50 = $49 & 255;
$$off$2 = (($50) + -65)|0;
$51 = ($$off$2>>>0)>(57);
$$off49$2 = (($50) + -91)|0;
$52 = ($$off49$2>>>0)<(6);
$53 = $51 | $52;
if ($53) {
$55 = (($$1$in$1) + 2)|0;
$56 = $$0$44$val >>> 12;
$57 = $56 & 15;
$58 = (29280 + ($57)|0);
$59 = HEAP8[$58>>0]|0;
$60 = (($$1$in$1) + 3)|0;
$61 = (($0) + ($55)|0);
HEAP8[$61>>0] = $59;
$62 = $49 & 15;
$63 = (29280 + ($62)|0);
$64 = HEAP8[$63>>0]|0;
$65 = (($$1$in$1) + 4)|0;
$66 = (($0) + ($60)|0);
HEAP8[$66>>0] = $64;
$67 = (($0) + ($65)|0);
HEAP8[$67>>0] = 93;
$$1$in$2 = $65;$$sink5 = 91;
} else {
$54 = $49&255;
$$1$in$2 = $$1$1;$$sink5 = $54;
}
$68 = (($0) + ($$1$1)|0);
HEAP8[$68>>0] = $$sink5;
$$1$2 = (($$1$in$2) + 1)|0;
$69 = $$0$44$val & 255;
$$off$3 = (($69) + -65)|0;
$70 = ($$off$3>>>0)>(57);
$$off49$3 = (($69) + -91)|0;
$71 = ($$off49$3>>>0)<(6);
$72 = $70 | $71;
if ($72) {
$74 = (($$1$in$2) + 2)|0;
$75 = $$0$44$val >>> 4;
$76 = $75 & 15;
$77 = (29280 + ($76)|0);
$78 = HEAP8[$77>>0]|0;
$79 = (($$1$in$2) + 3)|0;
$80 = (($0) + ($74)|0);
HEAP8[$80>>0] = $78;
$81 = $$0$44$val & 15;
$82 = (29280 + ($81)|0);
$83 = HEAP8[$82>>0]|0;
$84 = (($$1$in$2) + 4)|0;
$85 = (($0) + ($79)|0);
HEAP8[$85>>0] = $83;
$86 = (($0) + ($84)|0);
HEAP8[$86>>0] = 93;
$$1$in$3 = $84;$$sink6 = 91;
} else {
$73 = $$0$44$val&255;
$$1$in$3 = $$1$2;$$sink6 = $73;
}
$87 = (($0) + ($$1$2)|0);
HEAP8[$87>>0] = $$sink6;
$$1$3 = (($$1$in$3) + 1)|0;
$88 = ($1|0)==(0|0);
if ($88) {
$21 = (($0) + ($$1$3)|0);
HEAP8[$21>>0] = 0;
return;
}
$22 = (($$1$in$3) + 2)|0;
$23 = (($0) + ($$1$3)|0);
HEAP8[$23>>0] = 58;
$24 = (($$1$in$3) + 3)|0;
$25 = (($0) + ($22)|0);
HEAP8[$25>>0] = 32;
$$02 = 0;$$21 = $24;
while(1) {
$26 = (($1) + ($$02)|0);
$27 = HEAP8[$26>>0]|0;
$28 = ($27<<24>>24)==(0);
if ($28) {
$$2$lcssa = $$21;
break;
}
$29 = (($$02) + 1)|0;
$30 = (($$21) + 1)|0;
$31 = (($0) + ($$21)|0);
HEAP8[$31>>0] = $27;
$32 = ($29|0)<(195);
if ($32) {
$$02 = $29;$$21 = $30;
} else {
$$2$lcssa = $30;
break;
}
}
$33 = (($0) + ($$2$lcssa)|0);
HEAP8[$33>>0] = 0;
return;
}
function _png_chunk_error($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$idx = 0, $$idx$val = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$2 = sp;
$3 = ($0|0)==(0|0);
if ($3) {
_png_error(0,$1);
// unreachable;
} else {
$$idx = ((($0)) + 376|0);
$$idx$val = HEAP32[$$idx>>2]|0;
_png_format_buffer($$idx$val,$2,$1);
_png_error($0,$2);
// unreachable;
}
}
function _png_xy_from_XYZ($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0;
var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond3$i = 0, $or$cond3$i55 = 0, $or$cond3$i59 = 0, $or$cond3$i63 = 0, $or$cond3$i67 = 0, $or$cond3$i71 = 0, $or$cond3$i75 = 0, $or$cond3$i79 = 0, $storemerge = 0, $storemerge83 = 0;
var $storemerge84 = 0, $storemerge85 = 0, $storemerge86 = 0, $storemerge87 = 0, $storemerge88 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$1>>2]|0;
$3 = ((($1)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = (($4) + ($2))|0;
$6 = ((($1)) + 8|0);
$7 = HEAP32[$6>>2]|0;
$8 = (($5) + ($7))|0;
$9 = ($8|0)==(0);
if ($9) {
$$0 = 1;
return ($$0|0);
}
$10 = ($2|0)==(0);
do {
if ($10) {
$storemerge = 0;
} else {
$11 = (+($2|0));
$12 = $11 * 1.0E+5;
$13 = (+($8|0));
$14 = $12 / $13;
$15 = $14 + 0.5;
$16 = (+Math_floor((+$15)));
$17 = $16 <= 2147483647.0;
$18 = $16 >= -2147483648.0;
$or$cond3$i = $17 & $18;
if ($or$cond3$i) {
$19 = (~~(($16)));
$storemerge = $19;
break;
} else {
$$0 = 1;
return ($$0|0);
}
}
} while(0);
HEAP32[$0>>2] = $storemerge;
$20 = ((($0)) + 4|0);
$21 = HEAP32[$3>>2]|0;
$22 = ($21|0)==(0);
do {
if ($22) {
$storemerge83 = 0;
} else {
$23 = (+($21|0));
$24 = $23 * 1.0E+5;
$25 = (+($8|0));
$26 = $24 / $25;
$27 = $26 + 0.5;
$28 = (+Math_floor((+$27)));
$29 = $28 <= 2147483647.0;
$30 = $28 >= -2147483648.0;
$or$cond3$i55 = $29 & $30;
if ($or$cond3$i55) {
$31 = (~~(($28)));
$storemerge83 = $31;
break;
} else {
$$0 = 1;
return ($$0|0);
}
}
} while(0);
HEAP32[$20>>2] = $storemerge83;
$32 = HEAP32[$1>>2]|0;
$33 = HEAP32[$3>>2]|0;
$34 = ((($1)) + 12|0);
$35 = HEAP32[$34>>2]|0;
$36 = ((($1)) + 16|0);
$37 = HEAP32[$36>>2]|0;
$38 = (($37) + ($35))|0;
$39 = ((($1)) + 20|0);
$40 = HEAP32[$39>>2]|0;
$41 = (($38) + ($40))|0;
$42 = ((($0)) + 8|0);
$43 = ($41|0)==(0);
if ($43) {
$$0 = 1;
return ($$0|0);
}
$44 = ($35|0)==(0);
do {
if ($44) {
$storemerge84 = 0;
} else {
$45 = (+($35|0));
$46 = $45 * 1.0E+5;
$47 = (+($41|0));
$48 = $46 / $47;
$49 = $48 + 0.5;
$50 = (+Math_floor((+$49)));
$51 = $50 <= 2147483647.0;
$52 = $50 >= -2147483648.0;
$or$cond3$i59 = $51 & $52;
if ($or$cond3$i59) {
$53 = (~~(($50)));
$storemerge84 = $53;
break;
} else {
$$0 = 1;
return ($$0|0);
}
}
} while(0);
HEAP32[$42>>2] = $storemerge84;
$54 = ((($0)) + 12|0);
$55 = HEAP32[$36>>2]|0;
$56 = ($55|0)==(0);
do {
if ($56) {
$storemerge85 = 0;
} else {
$57 = (+($55|0));
$58 = $57 * 1.0E+5;
$59 = (+($41|0));
$60 = $58 / $59;
$61 = $60 + 0.5;
$62 = (+Math_floor((+$61)));
$63 = $62 <= 2147483647.0;
$64 = $62 >= -2147483648.0;
$or$cond3$i63 = $63 & $64;
if ($or$cond3$i63) {
$65 = (~~(($62)));
$storemerge85 = $65;
break;
} else {
$$0 = 1;
return ($$0|0);
}
}
} while(0);
HEAP32[$54>>2] = $storemerge85;
$66 = (($41) + ($8))|0;
$67 = HEAP32[$34>>2]|0;
$68 = (($67) + ($32))|0;
$69 = HEAP32[$36>>2]|0;
$70 = (($69) + ($33))|0;
$71 = ((($1)) + 24|0);
$72 = HEAP32[$71>>2]|0;
$73 = ((($1)) + 28|0);
$74 = HEAP32[$73>>2]|0;
$75 = (($74) + ($72))|0;
$76 = ((($1)) + 32|0);
$77 = HEAP32[$76>>2]|0;
$78 = (($75) + ($77))|0;
$79 = ((($0)) + 16|0);
$80 = ($78|0)==(0);
if ($80) {
$$0 = 1;
return ($$0|0);
}
$81 = ($72|0)==(0);
do {
if ($81) {
$storemerge86 = 0;
} else {
$82 = (+($72|0));
$83 = $82 * 1.0E+5;
$84 = (+($78|0));
$85 = $83 / $84;
$86 = $85 + 0.5;
$87 = (+Math_floor((+$86)));
$88 = $87 <= 2147483647.0;
$89 = $87 >= -2147483648.0;
$or$cond3$i67 = $88 & $89;
if ($or$cond3$i67) {
$90 = (~~(($87)));
$storemerge86 = $90;
break;
} else {
$$0 = 1;
return ($$0|0);
}
}
} while(0);
HEAP32[$79>>2] = $storemerge86;
$91 = ((($0)) + 20|0);
$92 = HEAP32[$73>>2]|0;
$93 = ($92|0)==(0);
do {
if ($93) {
$storemerge87 = 0;
} else {
$94 = (+($92|0));
$95 = $94 * 1.0E+5;
$96 = (+($78|0));
$97 = $95 / $96;
$98 = $97 + 0.5;
$99 = (+Math_floor((+$98)));
$100 = $99 <= 2147483647.0;
$101 = $99 >= -2147483648.0;
$or$cond3$i71 = $100 & $101;
if ($or$cond3$i71) {
$102 = (~~(($99)));
$storemerge87 = $102;
break;
} else {
$$0 = 1;
return ($$0|0);
}
}
} while(0);
HEAP32[$91>>2] = $storemerge87;
$103 = (($66) + ($78))|0;
$104 = HEAP32[$71>>2]|0;
$105 = (($68) + ($104))|0;
$106 = HEAP32[$73>>2]|0;
$107 = ((($0)) + 24|0);
$108 = ($103|0)==(0);
if ($108) {
$$0 = 1;
return ($$0|0);
}
$109 = ($105|0)==(0);
do {
if ($109) {
$storemerge88 = 0;
} else {
$110 = (+($105|0));
$111 = $110 * 1.0E+5;
$112 = (+($103|0));
$113 = $111 / $112;
$114 = $113 + 0.5;
$115 = (+Math_floor((+$114)));
$116 = $115 <= 2147483647.0;
$117 = $115 >= -2147483648.0;
$or$cond3$i75 = $116 & $117;
if ($or$cond3$i75) {
$118 = (~~(($115)));
$storemerge88 = $118;
break;
} else {
$$0 = 1;
return ($$0|0);
}
}
} while(0);
HEAP32[$107>>2] = $storemerge88;
$119 = (($70) + ($106))|0;
$120 = ((($0)) + 28|0);
$121 = ($119|0)==(0);
if ($121) {
HEAP32[$120>>2] = 0;
$$0 = 0;
return ($$0|0);
}
$122 = (+($119|0));
$123 = $122 * 1.0E+5;
$124 = (+($103|0));
$125 = $123 / $124;
$126 = $125 + 0.5;
$127 = (+Math_floor((+$126)));
$128 = $127 <= 2147483647.0;
$129 = $127 >= -2147483648.0;
$or$cond3$i79 = $128 & $129;
if (!($or$cond3$i79)) {
$$0 = 1;
return ($$0|0);
}
$130 = (~~(($127)));
HEAP32[$120>>2] = $130;
$$0 = 0;
return ($$0|0);
}
function _png_fixed($0,$1,$2) {
$0 = $0|0;
$1 = +$1;
$2 = $2|0;
var $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $1 * 1.0E+5;
$4 = $3 + 0.5;
$5 = (+Math_floor((+$4)));
$6 = $5 > 2147483647.0;
$7 = $5 < -2147483648.0;
$or$cond = $6 | $7;
if ($or$cond) {
_png_fixed_error($0,$2);
// unreachable;
} else {
$8 = (~~(($5)));
return ($8|0);
}
return (0)|0;
}
function _png_fixed_error($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$1 = 0, $$old1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$2 = sp;
dest=$2; src=19028; stop=dest+24|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
$3 = ($1|0)==(0|0);
L1: do {
if ($3) {
$$1 = 0;
} else {
$$0 = 0;
while(1) {
$4 = (($1) + ($$0)|0);
$5 = HEAP8[$4>>0]|0;
$6 = ($5<<24>>24)==(0);
if ($6) {
$$1 = $$0;
break L1;
}
$7 = (($$0) + 24)|0;
$8 = (($2) + ($7)|0);
HEAP8[$8>>0] = $5;
$9 = (($$0) + 1)|0;
$$old1 = ($9|0)<(195);
if ($$old1) {
$$0 = $9;
} else {
$$1 = $9;
break;
}
}
}
} while(0);
$10 = (($$1) + 24)|0;
$11 = (($2) + ($10)|0);
HEAP8[$11>>0] = 0;
_png_error($0,$2);
// unreachable;
}
function _png_colorspace_set_gamma($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$off = 0, $$off$i$i = 0, $$phi$trans$insert = 0, $$phi$trans$insert17 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $or$cond = 0, $or$cond13$i = 0, $or$cond3$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$$off = (($2) + -16)|0;
$3 = ($$off>>>0)>(624999984);
if ($3) {
$$phi$trans$insert17 = ((($1)) + 74|0);
$$pre18 = HEAP16[$$phi$trans$insert17>>1]|0;
$$0 = 19128;$$pre$phiZ2D = $$phi$trans$insert17;$32 = $$pre18;
} else {
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 32768;
$7 = ($6|0)==(0);
$$phi$trans$insert = ((($1)) + 74|0);
$$pre = HEAP16[$$phi$trans$insert>>1]|0;
$8 = $$pre & 8;
$9 = ($8<<16>>16)==(0);
$or$cond = $7 | $9;
if ($or$cond) {
$10 = ($$pre<<16>>16)<(0);
if ($10) {
return;
}
$11 = $$pre & 1;
$12 = ($11<<16>>16)==(0);
do {
if (!($12)) {
$13 = HEAP32[$1>>2]|0;
$14 = ($2|0)==(0);
$15 = ($13|0)==(0);
$or$cond13$i = $14 | $15;
if (!($or$cond13$i)) {
$16 = (+($13|0));
$17 = $16 * 1.0E+5;
$18 = (+($2|0));
$19 = $17 / $18;
$20 = $19 + 0.5;
$21 = (+Math_floor((+$20)));
$22 = $21 <= 2147483647.0;
$23 = $21 >= -2147483648.0;
$or$cond3$i$i = $22 & $23;
if ($or$cond3$i$i) {
$24 = (~~(($21)));
$$off$i$i = (($24) + -95000)|0;
$25 = ($$off$i$i>>>0)>(10000);
if (!($25)) {
break;
}
}
}
$26 = $$pre & 32;
$27 = ($26<<16>>16)==(0);
if ($27) {
_png_chunk_report($0,19053,0);
break;
}
_png_chunk_report($0,19096,2);
return;
}
} while(0);
HEAP32[$1>>2] = $2;
$28 = $$pre&65535;
$29 = $28 | 9;
$30 = $29&65535;
HEAP16[$$phi$trans$insert>>1] = $30;
return;
} else {
$$0 = 24641;$$pre$phiZ2D = $$phi$trans$insert;$32 = $$pre;
}
}
$31 = $32&65535;
$33 = $31 | 32768;
$34 = $33&65535;
HEAP16[$$pre$phiZ2D>>1] = $34;
_png_chunk_report($0,$$0,1);
return;
}
function _png_chunk_report($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$idx$i = 0, $$idx$i$i = 0, $$idx$val$i = 0, $$idx$val$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$3 = sp;
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 32768;
$7 = ($6|0)==(0);
if (!($7)) {
$8 = ($2|0)<(2);
if ($8) {
$$idx$i = ((($0)) + 376|0);
$$idx$val$i = HEAP32[$$idx$i>>2]|0;
_png_format_buffer($$idx$val$i,$3,$1);
_png_warning($0,$3);
STACKTOP = sp;return;
}
$9 = ((($0)) + 212|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 & 1048576;
$12 = ($11|0)==(0);
if ($12) {
_png_chunk_error($0,$1);
// unreachable;
}
$$idx$i$i = ((($0)) + 376|0);
$$idx$val$i$i = HEAP32[$$idx$i$i>>2]|0;
_png_format_buffer($$idx$val$i$i,$3,$1);
_png_warning($0,$3);
STACKTOP = sp;return;
}
$13 = ($2|0)<(1);
$14 = ((($0)) + 212|0);
$15 = HEAP32[$14>>2]|0;
if ($13) {
$16 = $15 & 2097152;
$17 = ($16|0)==(0);
if ($17) {
_png_error($0,$1);
// unreachable;
}
_png_warning($0,$1);
STACKTOP = sp;return;
} else {
$18 = $15 & 4194304;
$19 = ($18|0)==(0);
if ($19) {
_png_error($0,$1);
// unreachable;
}
_png_warning($0,$1);
STACKTOP = sp;return;
}
}
function _png_set_gAMA($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = +$2;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_png_fixed($0,$2,19153)|0);
$4 = ($0|0)==(0|0);
$5 = ($1|0)==(0|0);
$or$cond$i = $4 | $5;
if ($or$cond$i) {
return;
}
$6 = ((($1)) + 40|0);
_png_colorspace_set_gamma($0,$6,$3);
_png_colorspace_sync_info($0,$1);
return;
}
function _png_set_hIST($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$022 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
$4 = ($1|0)==(0|0);
$or$cond = $3 | $4;
if ($or$cond) {
return;
}
$5 = ((($1)) + 20|0);
$6 = HEAP16[$5>>1]|0;
$7 = (($6) + -1)<<16>>16;
$8 = ($7&65535)>(255);
if ($8) {
_png_warning($0,19166);
return;
}
_png_free_data($0,$1,8,0);
$9 = (_png_malloc_warn($0,512)|0);
$10 = ((($1)) + 204|0);
HEAP32[$10>>2] = $9;
$11 = ($9|0)==(0|0);
if ($11) {
_png_warning($0,19212);
return;
}
$12 = ((($1)) + 232|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 | 8;
HEAP32[$12>>2] = $14;
$15 = HEAP16[$5>>1]|0;
$16 = ($15<<16>>16)==(0);
if (!($16)) {
$17 = HEAP16[$5>>1]|0;
$18 = $17&65535;
$$022 = 0;
while(1) {
$19 = (($2) + ($$022<<1)|0);
$20 = HEAP16[$19>>1]|0;
$21 = (($9) + ($$022<<1)|0);
HEAP16[$21>>1] = $20;
$22 = (($$022) + 1)|0;
$23 = ($22|0)<($18|0);
if ($23) {
$$022 = $22;
} else {
break;
}
}
}
$24 = ((($1)) + 8|0);
$25 = HEAP32[$24>>2]|0;
$26 = $25 | 64;
HEAP32[$24>>2] = $26;
return;
}
function _png_free_data($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre172 = 0, $$pre173 = 0, $$pre174 = 0, $$pre175 = 0, $$pre177 = 0, $$pre178 = 0, $$pre179 = 0, $$pre181 = 0, $$pre182 = 0, $$pre184 = 0, $$pre185 = 0, $$pre186 = 0, $$pre187 = 0, $$pre189 = 0, $$pre190 = 0, $$pre190$pre = 0, $$pre193 = 0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
$5 = ($1|0)==(0|0);
$or$cond = $4 | $5;
if ($or$cond) {
return;
}
$6 = ((($1)) + 136|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
do {
if ($8) {
$$pre193 = ((($1)) + 232|0);
$$pre$phiZ2D = $$pre193;
} else {
$9 = $2 & 16384;
$10 = ((($1)) + 232|0);
$11 = HEAP32[$10>>2]|0;
$12 = $9 & $11;
$13 = ($12|0)==(0);
if ($13) {
$$pre$phiZ2D = $10;
} else {
$14 = ($3|0)==(-1);
if (!($14)) {
$22 = (((($7) + (($3*28)|0)|0)) + 4|0);
$23 = HEAP32[$22>>2]|0;
_png_free($0,$23);
$24 = HEAP32[$6>>2]|0;
$25 = (((($24) + (($3*28)|0)|0)) + 4|0);
HEAP32[$25>>2] = 0;
$$pre$phiZ2D = $10;
break;
}
$15 = ((($1)) + 128|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)>(0);
if ($17) {
$18 = ((($7)) + 4|0);
$19 = HEAP32[$18>>2]|0;
_png_free($0,$19);
$20 = HEAP32[$15>>2]|0;
$21 = ($20|0)>(1);
if ($21) {
$27 = 1;
while(1) {
$$pre = HEAP32[$6>>2]|0;
$26 = (((($$pre) + (($27*28)|0)|0)) + 4|0);
$28 = HEAP32[$26>>2]|0;
_png_free($0,$28);
$29 = (($27) + 1)|0;
$30 = HEAP32[$15>>2]|0;
$31 = ($29|0)<($30|0);
if ($31) {
$27 = $29;
} else {
break;
}
}
}
$$pre172 = HEAP32[$6>>2]|0;
$32 = $$pre172;
} else {
$32 = $7;
}
_png_free($0,$32);
HEAP32[$6>>2] = 0;
HEAP32[$15>>2] = 0;
$$pre$phiZ2D = $10;
}
}
} while(0);
$33 = $2 & 8192;
$34 = HEAP32[$$pre$phiZ2D>>2]|0;
$35 = $33 & $34;
$36 = ($35|0)==(0);
if ($36) {
$45 = $34;
} else {
$37 = ((($1)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$39 = $38 & -17;
HEAP32[$37>>2] = $39;
$40 = ((($1)) + 156|0);
$41 = HEAP32[$40>>2]|0;
_png_free($0,$41);
HEAP32[$40>>2] = 0;
$42 = ((($1)) + 22|0);
HEAP16[$42>>1] = 0;
$$pre173 = HEAP32[$$pre$phiZ2D>>2]|0;
$45 = $$pre173;
}
$43 = $2 & 256;
$44 = $43 & $45;
$46 = ($44|0)==(0);
if ($46) {
$56 = $45;
} else {
$47 = ((($1)) + 256|0);
$48 = HEAP32[$47>>2]|0;
_png_free($0,$48);
$49 = ((($1)) + 260|0);
$50 = HEAP32[$49>>2]|0;
_png_free($0,$50);
HEAP32[$47>>2] = 0;
HEAP32[$49>>2] = 0;
$51 = ((($1)) + 8|0);
$52 = HEAP32[$51>>2]|0;
$53 = $52 & -16385;
HEAP32[$51>>2] = $53;
$$pre174 = HEAP32[$$pre$phiZ2D>>2]|0;
$56 = $$pre174;
}
$54 = $2 & 128;
$55 = $54 & $56;
$57 = ($55|0)==(0);
if ($57) {
$84 = $56;
} else {
$58 = ((($1)) + 208|0);
$59 = HEAP32[$58>>2]|0;
_png_free($0,$59);
$60 = ((($1)) + 220|0);
$61 = HEAP32[$60>>2]|0;
_png_free($0,$61);
HEAP32[$58>>2] = 0;
HEAP32[$60>>2] = 0;
$62 = ((($1)) + 224|0);
$63 = HEAP32[$62>>2]|0;
$64 = ($63|0)==(0|0);
if (!($64)) {
$65 = ((($1)) + 229|0);
$66 = HEAP8[$65>>0]|0;
$67 = ($66<<24>>24)==(0);
if ($67) {
$78 = $63;
} else {
$68 = HEAP32[$63>>2]|0;
_png_free($0,$68);
$69 = HEAP8[$65>>0]|0;
$70 = ($69&255)>(1);
if ($70) {
$72 = 1;
while(1) {
$$pre175 = HEAP32[$62>>2]|0;
$71 = (($$pre175) + ($72<<2)|0);
$73 = HEAP32[$71>>2]|0;
_png_free($0,$73);
$74 = (($72) + 1)|0;
$75 = HEAP8[$65>>0]|0;
$76 = $75&255;
$77 = ($74|0)<($76|0);
if ($77) {
$72 = $74;
} else {
break;
}
}
}
$$pre177 = HEAP32[$62>>2]|0;
$78 = $$pre177;
}
_png_free($0,$78);
HEAP32[$62>>2] = 0;
}
$79 = ((($1)) + 8|0);
$80 = HEAP32[$79>>2]|0;
$81 = $80 & -1025;
HEAP32[$79>>2] = $81;
$$pre178 = HEAP32[$$pre$phiZ2D>>2]|0;
$84 = $$pre178;
}
$82 = $2 & 16;
$83 = $82 & $84;
$85 = ($83|0)==(0);
if (!($85)) {
$86 = ((($1)) + 116|0);
$87 = HEAP32[$86>>2]|0;
_png_free($0,$87);
$88 = ((($1)) + 120|0);
$89 = HEAP32[$88>>2]|0;
_png_free($0,$89);
HEAP32[$86>>2] = 0;
HEAP32[$88>>2] = 0;
$90 = ((($1)) + 8|0);
$91 = HEAP32[$90>>2]|0;
$92 = $91 & -4097;
HEAP32[$90>>2] = $92;
}
$93 = ((($1)) + 244|0);
$94 = HEAP32[$93>>2]|0;
$95 = ($94|0)==(0|0);
do {
if (!($95)) {
$96 = $2 & 32;
$97 = HEAP32[$$pre$phiZ2D>>2]|0;
$98 = $96 & $97;
$99 = ($98|0)==(0);
if (!($99)) {
$100 = ($3|0)==(-1);
if (!($100)) {
$110 = (($94) + ($3<<4)|0);
$111 = HEAP32[$110>>2]|0;
_png_free($0,$111);
$112 = HEAP32[$93>>2]|0;
$113 = (((($112) + ($3<<4)|0)) + 8|0);
$114 = HEAP32[$113>>2]|0;
_png_free($0,$114);
$115 = HEAP32[$93>>2]|0;
$116 = (($115) + ($3<<4)|0);
HEAP32[$116>>2] = 0;
$117 = (((($115) + ($3<<4)|0)) + 8|0);
HEAP32[$117>>2] = 0;
break;
}
$101 = ((($1)) + 248|0);
$102 = HEAP32[$101>>2]|0;
$103 = ($102|0)>(0);
if ($103) {
$104 = HEAP32[$94>>2]|0;
_png_free($0,$104);
$105 = HEAP32[$93>>2]|0;
$106 = ((($105)) + 8|0);
$107 = HEAP32[$106>>2]|0;
_png_free($0,$107);
$108 = HEAP32[$101>>2]|0;
$109 = ($108|0)>(1);
if ($109) {
$119 = 1;
while(1) {
$$pre179 = HEAP32[$93>>2]|0;
$118 = (($$pre179) + ($119<<4)|0);
$120 = HEAP32[$118>>2]|0;
_png_free($0,$120);
$121 = HEAP32[$93>>2]|0;
$122 = (((($121) + ($119<<4)|0)) + 8|0);
$123 = HEAP32[$122>>2]|0;
_png_free($0,$123);
$124 = (($119) + 1)|0;
$125 = HEAP32[$101>>2]|0;
$126 = ($124|0)<($125|0);
if ($126) {
$119 = $124;
} else {
break;
}
}
}
$$pre181 = HEAP32[$93>>2]|0;
$127 = $$pre181;
} else {
$127 = $94;
}
_png_free($0,$127);
HEAP32[$93>>2] = 0;
HEAP32[$101>>2] = 0;
$128 = ((($1)) + 8|0);
$129 = HEAP32[$128>>2]|0;
$130 = $129 & -8193;
HEAP32[$128>>2] = $130;
}
}
} while(0);
$131 = ((($1)) + 236|0);
$132 = HEAP32[$131>>2]|0;
$133 = ($132|0)==(0|0);
do {
if (!($133)) {
$134 = $2 & 512;
$135 = HEAP32[$$pre$phiZ2D>>2]|0;
$136 = $134 & $135;
$137 = ($136|0)==(0);
if (!($137)) {
$138 = ($3|0)==(-1);
if (!($138)) {
$146 = (((($132) + (($3*20)|0)|0)) + 8|0);
$147 = HEAP32[$146>>2]|0;
_png_free($0,$147);
$148 = HEAP32[$131>>2]|0;
$149 = (((($148) + (($3*20)|0)|0)) + 8|0);
HEAP32[$149>>2] = 0;
break;
}
$139 = ((($1)) + 240|0);
$140 = HEAP32[$139>>2]|0;
$141 = ($140|0)>(0);
if ($141) {
$142 = ((($132)) + 8|0);
$143 = HEAP32[$142>>2]|0;
_png_free($0,$143);
$144 = HEAP32[$139>>2]|0;
$145 = ($144|0)>(1);
if ($145) {
$151 = 1;
while(1) {
$$pre182 = HEAP32[$131>>2]|0;
$150 = (((($$pre182) + (($151*20)|0)|0)) + 8|0);
$152 = HEAP32[$150>>2]|0;
_png_free($0,$152);
$153 = (($151) + 1)|0;
$154 = HEAP32[$139>>2]|0;
$155 = ($153|0)<($154|0);
if ($155) {
$151 = $153;
} else {
break;
}
}
}
$$pre184 = HEAP32[$131>>2]|0;
$156 = $$pre184;
} else {
$156 = $132;
}
_png_free($0,$156);
HEAP32[$131>>2] = 0;
HEAP32[$139>>2] = 0;
}
}
} while(0);
$157 = $2 & 8;
$158 = HEAP32[$$pre$phiZ2D>>2]|0;
$159 = $157 & $158;
$160 = ($159|0)==(0);
if ($160) {
$168 = $158;
} else {
$161 = ((($1)) + 204|0);
$162 = HEAP32[$161>>2]|0;
_png_free($0,$162);
HEAP32[$161>>2] = 0;
$163 = ((($1)) + 8|0);
$164 = HEAP32[$163>>2]|0;
$165 = $164 & -65;
HEAP32[$163>>2] = $165;
$$pre185 = HEAP32[$$pre$phiZ2D>>2]|0;
$168 = $$pre185;
}
$166 = $2 & 4096;
$167 = $166 & $168;
$169 = ($167|0)==(0);
if ($169) {
$178 = $168;
} else {
$170 = ((($1)) + 16|0);
$171 = HEAP32[$170>>2]|0;
_png_free($0,$171);
HEAP32[$170>>2] = 0;
$172 = ((($1)) + 8|0);
$173 = HEAP32[$172>>2]|0;
$174 = $173 & -9;
HEAP32[$172>>2] = $174;
$175 = ((($1)) + 20|0);
HEAP16[$175>>1] = 0;
$$pre186 = HEAP32[$$pre$phiZ2D>>2]|0;
$178 = $$pre186;
}
$176 = $2 & 64;
$177 = $176 & $178;
$179 = ($177|0)==(0);
if ($179) {
$203 = $178;
} else {
$180 = ((($1)) + 264|0);
$181 = HEAP32[$180>>2]|0;
$182 = ($181|0)==(0|0);
if ($182) {
$$pre190 = $178;
} else {
$183 = ((($1)) + 4|0);
$184 = HEAP32[$183>>2]|0;
$185 = ($184|0)==(0);
if ($185) {
$195 = $181;
} else {
$186 = HEAP32[$181>>2]|0;
_png_free($0,$186);
$187 = HEAP32[$183>>2]|0;
$188 = ($187>>>0)>(1);
if ($188) {
$190 = 1;
while(1) {
$$pre187 = HEAP32[$180>>2]|0;
$189 = (($$pre187) + ($190<<2)|0);
$191 = HEAP32[$189>>2]|0;
_png_free($0,$191);
$192 = (($190) + 1)|0;
$193 = HEAP32[$183>>2]|0;
$194 = ($192>>>0)<($193>>>0);
if ($194) {
$190 = $192;
} else {
break;
}
}
}
$$pre189 = HEAP32[$180>>2]|0;
$195 = $$pre189;
}
_png_free($0,$195);
HEAP32[$180>>2] = 0;
$$pre190$pre = HEAP32[$$pre$phiZ2D>>2]|0;
$$pre190 = $$pre190$pre;
}
$196 = ((($1)) + 8|0);
$197 = HEAP32[$196>>2]|0;
$198 = $197 & -32769;
HEAP32[$196>>2] = $198;
$203 = $$pre190;
}
$199 = ($3|0)==(-1);
$200 = $2 & -16929;
$$ = $199 ? $2 : $200;
$201 = $$ ^ -1;
$202 = $203 & $201;
HEAP32[$$pre$phiZ2D>>2] = $202;
return;
}
function _png_set_IHDR($0,$1,$2,$3,$4,$5,$6,$7,$8) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
$8 = $8|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
var $50 = 0, $51 = 0, $52 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$9 = ($0|0)==(0|0);
$10 = ($1|0)==(0|0);
$or$cond = $9 | $10;
if ($or$cond) {
return;
}
HEAP32[$1>>2] = $2;
$11 = ((($1)) + 4|0);
HEAP32[$11>>2] = $3;
$12 = $4&255;
$13 = ((($1)) + 24|0);
HEAP8[$13>>0] = $12;
$14 = $5&255;
$15 = ((($1)) + 25|0);
HEAP8[$15>>0] = $14;
$16 = $7&255;
$17 = ((($1)) + 26|0);
HEAP8[$17>>0] = $16;
$18 = $8&255;
$19 = ((($1)) + 27|0);
HEAP8[$19>>0] = $18;
$20 = $6&255;
$21 = ((($1)) + 28|0);
HEAP8[$21>>0] = $20;
$22 = $4 & 255;
$23 = $5 & 255;
$24 = $6 & 255;
$25 = $7 & 255;
$26 = $8 & 255;
_png_check_IHDR($0,$2,$3,$22,$23,$24,$25,$26);
$27 = HEAP8[$15>>0]|0;
$28 = ($27<<24>>24)==(3);
if ($28) {
$29 = ((($1)) + 29|0);
HEAP8[$29>>0] = 1;
$38 = 1;
} else {
$30 = $27 & 2;
$31 = ((($1)) + 29|0);
$32 = $30 | 1;
HEAP8[$31>>0] = $32;
$33 = $27 & 4;
$34 = ($33<<24>>24)==(0);
if ($34) {
$38 = $32;
} else {
$35 = ((($1)) + 29|0);
$36 = (($32) + 1)<<24>>24;
HEAP8[$35>>0] = $36;
$38 = $36;
}
}
$37 = $38&255;
$39 = HEAP8[$13>>0]|0;
$40 = $39&255;
$41 = Math_imul($40, $37)|0;
$42 = $41&255;
$43 = ((($1)) + 30|0);
HEAP8[$43>>0] = $42;
$44 = $41 & 255;
$45 = ($44>>>0)>(7);
if ($45) {
$46 = $44 >>> 3;
$47 = Math_imul($46, $2)|0;
$52 = $47;
} else {
$48 = Math_imul($44, $2)|0;
$49 = (($48) + 7)|0;
$50 = $49 >>> 3;
$52 = $50;
}
$51 = ((($1)) + 12|0);
HEAP32[$51>>2] = $52;
return;
}
function _png_check_IHDR($0,$1,$2,$3,$4,$5,$6,$7) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
var $$1 = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$13 = 0, $$2 = 0, $$3 = 0, $$5 = 0, $$6 = 0, $$7 = 0, $$8 = 0, $$9 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $8 = 0, $9 = 0, $or$cond = 0;
var $or$cond15 = 0, $or$cond21 = 0, $or$cond23 = 0, label = 0, sp = 0;
sp = STACKTOP;
$8 = ($1|0)==(0);
if ($8) {
_png_warning($0,19252);
$$2 = 1;
} else {
$9 = ($1|0)<(0);
if ($9) {
_png_warning($0,19280);
$$1 = 1;
} else {
$$1 = 0;
}
$10 = (($1) + 7)|0;
$11 = $10 & -8;
$12 = ($11>>>0)>(536870904);
if ($12) {
_png_warning($0,19308);
$$2 = 1;
} else {
$$2 = $$1;
}
}
$13 = ((($0)) + 748|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14>>>0)<($1>>>0);
if ($15) {
_png_warning($0,19355);
$$3 = 1;
} else {
$$3 = $$2;
}
$16 = ($2|0)==(0);
if ($16) {
_png_warning($0,19394);
$$5 = 1;
} else {
$17 = ($2|0)<(0);
if ($17) {
_png_warning($0,19423);
$$5 = 1;
} else {
$$5 = $$3;
}
}
$18 = ((($0)) + 752|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19>>>0)<($2>>>0);
if ($20) {
_png_warning($0,19452);
$$6 = 1;
} else {
$$6 = $$5;
}
switch ($3|0) {
case 1: case 2: case 4: case 8: case 16: {
$$7 = $$6;
break;
}
default: {
_png_warning($0,19492);
$$7 = 1;
}
}
$21 = $4 | 4;
$22 = ($21|0)==(5);
$23 = ($4>>>0)>(6);
$24 = $23 | $22;
if ($24) {
_png_warning($0,19518);
$$8 = 1;
} else {
$$8 = $$7;
}
$25 = ($4|0)==(3);
$26 = ($3|0)>(8);
$or$cond15 = $26 & $25;
if ($or$cond15) {
label = 21;
} else {
$27 = ($4|0)==(4);
$28 = ($21|0)==(6);
$29 = $27 | $28;
$30 = ($3|0)<(8);
$or$cond21 = $30 & $29;
if ($or$cond21) {
label = 21;
} else {
$$9 = $$8;
}
}
if ((label|0) == 21) {
_png_warning($0,19545);
$$9 = 1;
}
$31 = ($5|0)>(1);
if ($31) {
_png_warning($0,19594);
$$10 = 1;
} else {
$$10 = $$9;
}
$32 = ($6|0)==(0);
if ($32) {
$$11 = $$10;
} else {
_png_warning($0,19627);
$$11 = 1;
}
$33 = ((($0)) + 208|0);
$34 = HEAP32[$33>>2]|0;
$35 = $34 & 4096;
$36 = ($35|0)==(0);
if (!($36)) {
$37 = ((($0)) + 708|0);
$38 = HEAP32[$37>>2]|0;
$39 = ($38|0)==(0);
if (!($39)) {
_png_warning($0,26681);
}
}
$40 = ($7|0)==(0);
if ($40) {
$$13 = $$11;
} else {
$41 = ((($0)) + 708|0);
$42 = HEAP32[$41>>2]|0;
$43 = $42 & 4;
$44 = ($43|0)!=(0);
$45 = ($7|0)==(64);
$or$cond23 = $45 & $44;
if ($or$cond23) {
$46 = HEAP32[$33>>2]|0;
$47 = $46 & 4096;
$48 = ($47|0)==(0);
$49 = ($21|0)==(6);
$or$cond = $49 & $48;
if ($or$cond) {
$$12 = $$11;$51 = $46;
} else {
label = 32;
}
} else {
label = 32;
}
if ((label|0) == 32) {
_png_warning($0,19662);
$$pre = HEAP32[$33>>2]|0;
$$12 = 1;$51 = $$pre;
}
$50 = $51 & 4096;
$52 = ($50|0)==(0);
if ($52) {
$$13 = $$12;
} else {
_png_warning($0,19692);
_png_error($0,19722);
// unreachable;
}
}
$53 = ($$13|0)==(1);
if ($53) {
_png_error($0,19722);
// unreachable;
} else {
return;
}
}
function _png_set_oFFs($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($0|0)==(0|0);
$6 = ($1|0)==(0|0);
$or$cond = $5 | $6;
if ($or$cond) {
return;
}
$7 = ((($1)) + 180|0);
HEAP32[$7>>2] = $2;
$8 = ((($1)) + 184|0);
HEAP32[$8>>2] = $3;
$9 = $4&255;
$10 = ((($1)) + 188|0);
HEAP8[$10>>0] = $9;
$11 = ((($1)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 | 256;
HEAP32[$11>>2] = $13;
return;
}
function _png_set_pCAL($0,$1,$2,$3,$4,$5,$6,$7,$8) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
$8 = $8|0;
var $$088 = 0, $$187 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $9 = 0;
var $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$9 = ($0|0)==(0|0);
$10 = ($1|0)==(0|0);
$or$cond = $9 | $10;
$11 = ($2|0)==(0|0);
$or$cond3 = $or$cond | $11;
$12 = ($7|0)==(0|0);
$or$cond5 = $or$cond3 | $12;
if ($or$cond5) {
return;
}
$13 = ($6|0)>(0);
$14 = ($8|0)==(0|0);
$or$cond7 = $13 & $14;
if ($or$cond7) {
return;
}
$15 = (_strlen($2)|0);
$16 = (($15) + 1)|0;
$17 = ($5>>>0)>(3);
if ($17) {
_png_error($0,19740);
// unreachable;
}
$18 = ($6>>>0)>(255);
if ($18) {
_png_error($0,19767);
// unreachable;
}
$19 = ($6|0)==(0);
L13: do {
if (!($19)) {
$$088 = 0;
while(1) {
$22 = (($8) + ($$088<<2)|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($23|0)==(0|0);
if ($24) {
label = 11;
break;
}
$25 = (_strlen($23)|0);
$26 = (_png_check_fp_string($23,$25)|0);
$27 = ($26|0)==(0);
$20 = (($$088) + 1)|0;
if ($27) {
label = 11;
break;
}
$21 = ($20|0)<($6|0);
if ($21) {
$$088 = $20;
} else {
break L13;
}
}
if ((label|0) == 11) {
_png_error($0,19796);
// unreachable;
}
}
} while(0);
$28 = (_png_malloc_warn($0,$16)|0);
$29 = ((($1)) + 208|0);
HEAP32[$29>>2] = $28;
$30 = ($28|0)==(0|0);
if ($30) {
_png_warning($0,19830);
return;
}
_memcpy(($28|0),($2|0),($16|0))|0;
$31 = ((($1)) + 212|0);
HEAP32[$31>>2] = $3;
$32 = ((($1)) + 216|0);
HEAP32[$32>>2] = $4;
$33 = $5&255;
$34 = ((($1)) + 228|0);
HEAP8[$34>>0] = $33;
$35 = $6&255;
$36 = ((($1)) + 229|0);
HEAP8[$36>>0] = $35;
$37 = (_strlen($7)|0);
$38 = (($37) + 1)|0;
$39 = (_png_malloc_warn($0,$38)|0);
$40 = ((($1)) + 220|0);
HEAP32[$40>>2] = $39;
$41 = ($39|0)==(0|0);
if ($41) {
_png_warning($0,19867);
return;
}
_memcpy(($39|0),($7|0),($38|0))|0;
$42 = $6 << 2;
$43 = (($42) + 4)|0;
$44 = (_png_malloc_warn($0,$43)|0);
$45 = ((($1)) + 224|0);
HEAP32[$45>>2] = $44;
$46 = ($44|0)==(0|0);
if ($46) {
_png_warning($0,19902);
return;
}
_memset(($44|0),0,($43|0))|0;
L34: do {
if ($13) {
$$187 = 0;
while(1) {
$47 = (($8) + ($$187<<2)|0);
$48 = HEAP32[$47>>2]|0;
$49 = (_strlen($48)|0);
$50 = (($49) + 1)|0;
$51 = (_png_malloc_warn($0,$50)|0);
$52 = HEAP32[$45>>2]|0;
$53 = (($52) + ($$187<<2)|0);
HEAP32[$53>>2] = $51;
$54 = HEAP32[$45>>2]|0;
$55 = (($54) + ($$187<<2)|0);
$56 = HEAP32[$55>>2]|0;
$57 = ($56|0)==(0|0);
if ($57) {
break;
}
$58 = HEAP32[$47>>2]|0;
_memcpy(($56|0),($58|0),($50|0))|0;
$59 = (($$187) + 1)|0;
$60 = ($59|0)<($6|0);
if ($60) {
$$187 = $59;
} else {
break L34;
}
}
_png_warning($0,19938);
return;
}
} while(0);
$61 = ((($1)) + 8|0);
$62 = HEAP32[$61>>2]|0;
$63 = $62 | 1024;
HEAP32[$61>>2] = $63;
$64 = ((($1)) + 232|0);
$65 = HEAP32[$64>>2]|0;
$66 = $65 | 128;
HEAP32[$64>>2] = $66;
return;
}
function _png_check_fp_string($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp + 4|0;
$3 = sp;
HEAP32[$2>>2] = 0;
HEAP32[$3>>2] = 0;
$4 = (_png_check_fp_number($0,$1,$2,$3)|0);
$5 = ($4|0)==(0);
do {
if ($5) {
$$0 = 0;
} else {
$6 = HEAP32[$3>>2]|0;
$7 = ($6|0)==($1|0);
if (!($7)) {
$8 = (($0) + ($6)|0);
$9 = HEAP8[$8>>0]|0;
$10 = ($9<<24>>24)==(0);
if (!($10)) {
$$0 = 0;
break;
}
}
$11 = HEAP32[$2>>2]|0;
$$0 = $11;
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _png_check_fp_number($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$041 = 0, $$042$lcssa = 0, $$04249 = 0, $$043$lcssa = 0, $$04348 = 0, $$144 = 0, $$245 = 0, $$lobit = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = HEAP32[$2>>2]|0;
$5 = HEAP32[$3>>2]|0;
$6 = ($5>>>0)<($1>>>0);
L1: do {
if ($6) {
$$04249 = $5;$$04348 = $4;
while(1) {
$7 = (($0) + ($$04249)|0);
$8 = HEAP8[$7>>0]|0;
$9 = $8 << 24 >> 24;
switch ($9|0) {
case 43: {
$$041 = 4;
break;
}
case 45: {
$$041 = 132;
break;
}
case 46: {
$$041 = 16;
break;
}
case 48: {
$$041 = 8;
break;
}
case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: {
$$041 = 264;
break;
}
case 101: case 69: {
$$041 = 32;
break;
}
default: {
$$042$lcssa = $$04249;$$043$lcssa = $$04348;
break L1;
}
}
$10 = $$04348 & 3;
$11 = $$041 | $10;
$trunc = $11&255;
$trunc$clear = $trunc & 63;
L11: do {
switch ($trunc$clear<<24>>24) {
case 4: {
$12 = $$04348 & 60;
$13 = ($12|0)==(0);
if (!($13)) {
$$042$lcssa = $$04249;$$043$lcssa = $$04348;
break L1;
}
$14 = $$041 | $$04348;
$$245 = $14;
break;
}
case 16: {
$15 = $$04348 & 16;
$16 = ($15|0)==(0);
if (!($16)) {
$$042$lcssa = $$04249;$$043$lcssa = $$04348;
break L1;
}
$17 = $$04348 & 8;
$18 = ($17|0)==(0);
if ($18) {
$20 = $$04348 & 448;
$21 = $20 | $$041;
$22 = $21 | 1;
$$245 = $22;
break L11;
} else {
$19 = $$041 | $$04348;
$$245 = $19;
break L11;
}
break;
}
case 8: {
$23 = $$04348 & 16;
$24 = ($23|0)==(0);
$25 = $$04348 & 384;
$26 = $25 | 17;
$$144 = $24 ? $$04348 : $26;
$27 = $$144 | $$041;
$28 = $27 | 64;
$$245 = $28;
break;
}
case 32: {
$29 = $$04348 & 8;
$30 = ($29|0)==(0);
if ($30) {
$$042$lcssa = $$04249;$$043$lcssa = $$04348;
break L1;
}
$31 = $$04348 & 448;
$32 = $31 | 2;
$$245 = $32;
break;
}
case 9: {
$33 = $$04348 | $$041;
$34 = $33 | 64;
$$245 = $34;
break;
}
case 33: {
$35 = $$04348 & 8;
$36 = ($35|0)==(0);
if ($36) {
$$042$lcssa = $$04249;$$043$lcssa = $$04348;
break L1;
}
$37 = $$04348 & 448;
$38 = $37 | 2;
$$245 = $38;
break;
}
case 6: {
$39 = $$04348 & 60;
$40 = ($39|0)==(0);
if (!($40)) {
$$042$lcssa = $$04249;$$043$lcssa = $$04348;
break L1;
}
$41 = $$04348 | 4;
$$245 = $41;
break;
}
case 10: {
$42 = $$04348 | 72;
$$245 = $42;
break;
}
default: {
$$042$lcssa = $$04249;$$043$lcssa = $$04348;
break L1;
}
}
} while(0);
$43 = (($$04249) + 1)|0;
$44 = ($43>>>0)<($1>>>0);
if ($44) {
$$04249 = $43;$$04348 = $$245;
} else {
$$042$lcssa = $43;$$043$lcssa = $$245;
break L1;
}
}
} else {
$$042$lcssa = $5;$$043$lcssa = $4;
}
} while(0);
HEAP32[$2>>2] = $$043$lcssa;
HEAP32[$3>>2] = $$042$lcssa;
$45 = $$043$lcssa >>> 3;
$$lobit = $45 & 1;
return ($$lobit|0);
}
function _png_set_sCAL_s($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$cmp = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($0|0)==(0|0);
$6 = ($1|0)==(0|0);
$or$cond = $5 | $6;
if ($or$cond) {
return;
}
$$off = (($2) + -1)|0;
$$cmp = ($$off>>>0)>(1);
if ($$cmp) {
_png_error($0,19977);
// unreachable;
}
$7 = ($3|0)==(0|0);
if ($7) {
_png_error($0,19995);
// unreachable;
}
$8 = (_strlen($3)|0);
$9 = ($8|0)==(0);
if ($9) {
_png_error($0,19995);
// unreachable;
}
$10 = HEAP8[$3>>0]|0;
$11 = ($10<<24>>24)==(45);
if ($11) {
_png_error($0,19995);
// unreachable;
}
$12 = (_png_check_fp_string($3,$8)|0);
$13 = ($12|0)==(0);
if ($13) {
_png_error($0,19995);
// unreachable;
}
$14 = ($4|0)==(0|0);
if ($14) {
_png_error($0,20014);
// unreachable;
}
$15 = (_strlen($4)|0);
$16 = ($15|0)==(0);
if ($16) {
_png_error($0,20014);
// unreachable;
}
$17 = HEAP8[$4>>0]|0;
$18 = ($17<<24>>24)==(45);
if ($18) {
_png_error($0,20014);
// unreachable;
}
$19 = (_png_check_fp_string($4,$15)|0);
$20 = ($19|0)==(0);
if ($20) {
_png_error($0,20014);
// unreachable;
}
$21 = $2&255;
$22 = ((($1)) + 252|0);
HEAP8[$22>>0] = $21;
$23 = (($8) + 1)|0;
$24 = (_png_malloc_warn($0,$23)|0);
$25 = ((($1)) + 256|0);
HEAP32[$25>>2] = $24;
$26 = ($24|0)==(0|0);
if ($26) {
_png_warning($0,20034);
return;
}
_memcpy(($24|0),($3|0),($23|0))|0;
$27 = (($15) + 1)|0;
$28 = (_png_malloc_warn($0,$27)|0);
$29 = ((($1)) + 260|0);
HEAP32[$29>>2] = $28;
$30 = ($28|0)==(0|0);
if ($30) {
$31 = HEAP32[$25>>2]|0;
_png_free($0,$31);
HEAP32[$25>>2] = 0;
_png_warning($0,20034);
return;
} else {
_memcpy(($28|0),($4|0),($27|0))|0;
$32 = ((($1)) + 8|0);
$33 = HEAP32[$32>>2]|0;
$34 = $33 | 16384;
HEAP32[$32>>2] = $34;
$35 = ((($1)) + 232|0);
$36 = HEAP32[$35>>2]|0;
$37 = $36 | 256;
HEAP32[$35>>2] = $37;
return;
}
}
function _png_set_pHYs($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($0|0)==(0|0);
$6 = ($1|0)==(0|0);
$or$cond = $5 | $6;
if ($or$cond) {
return;
}
$7 = ((($1)) + 192|0);
HEAP32[$7>>2] = $2;
$8 = ((($1)) + 196|0);
HEAP32[$8>>2] = $3;
$9 = $4&255;
$10 = ((($1)) + 200|0);
HEAP8[$10>>0] = $9;
$11 = ((($1)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 | 128;
HEAP32[$11>>2] = $13;
return;
}
function _png_set_PLTE($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
$5 = ($1|0)==(0|0);
$or$cond = $4 | $5;
if ($or$cond) {
return;
}
$6 = ($3>>>0)>(256);
if ($6) {
$7 = ((($1)) + 25|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)==(3);
if ($9) {
_png_error($0,20081);
// unreachable;
}
_png_warning($0,20081);
return;
}
$10 = ($3|0)!=(0);
$11 = ($2|0)==(0|0);
$or$cond5 = $11 & $10;
if ($or$cond5) {
_png_error($0,20104);
// unreachable;
}
$12 = ($3|0)==(0);
if ($12) {
$13 = ((($0)) + 708|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 1;
$16 = ($15|0)==(0);
if ($16) {
_png_error($0,20104);
// unreachable;
}
}
_png_free_data($0,$1,4096,0);
$17 = (_png_calloc($0,768)|0);
$18 = ((($0)) + 416|0);
HEAP32[$18>>2] = $17;
$19 = $17;
if ($10) {
$20 = ($3*3)|0;
_memcpy(($17|0),($2|0),($20|0))|0;
}
$21 = ((($1)) + 16|0);
HEAP32[$21>>2] = $19;
$22 = $3&65535;
$23 = ((($0)) + 420|0);
HEAP16[$23>>1] = $22;
$24 = ((($1)) + 20|0);
HEAP16[$24>>1] = $22;
$25 = ((($1)) + 232|0);
$26 = HEAP32[$25>>2]|0;
$27 = $26 | 4096;
HEAP32[$25>>2] = $27;
$28 = ((($1)) + 8|0);
$29 = HEAP32[$28>>2]|0;
$30 = $29 | 8;
HEAP32[$28>>2] = $30;
return;
}
function _png_set_sBIT($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
$4 = ($1|0)==(0|0);
$or$cond = $3 | $4;
$5 = ($2|0)==(0|0);
$or$cond3 = $or$cond | $5;
if ($or$cond3) {
return;
}
$6 = ((($1)) + 148|0);
;HEAP8[$6>>0]=HEAP8[$2>>0]|0;HEAP8[$6+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$6+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$6+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$6+4>>0]=HEAP8[$2+4>>0]|0;
$7 = ((($1)) + 8|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 | 2;
HEAP32[$7>>2] = $9;
return;
}
function _png_set_sRGB($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
$4 = ($1|0)==(0|0);
$or$cond = $3 | $4;
if ($or$cond) {
return;
}
$5 = ((($1)) + 40|0);
(_png_colorspace_set_sRGB($0,$5,$2)|0);
_png_colorspace_sync_info($0,$1);
return;
}
function _png_colorspace_set_sRGB($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$off$i$i = 0, $$pre = 0, $$pre29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond3$i$i = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
$3 = ((($1)) + 74|0);
$4 = HEAP16[$3>>1]|0;
$5 = $4&65535;
$6 = $5 & 32768;
$7 = ($6|0)==(0);
if (!($7)) {
$$0 = 0;
return ($$0|0);
}
$8 = ($2>>>0)>(3);
if ($8) {
_png_icc_profile_error($0,$1,20120,$2,20125);
$$0 = 0;
return ($$0|0);
}
$9 = $5 & 4;
$10 = ($9|0)==(0);
if ($10) {
$18 = $4;
} else {
$11 = ((($1)) + 72|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 & 65535;
$14 = ($13|0)==($2|0);
$15 = $12 >>> 16;
$16 = $15&65535;
if ($14) {
$18 = $16;
} else {
_png_icc_profile_error($0,$1,20120,$2,20155);
$$0 = 0;
return ($$0|0);
}
}
$17 = $18&65535;
$19 = $17 & 32;
$20 = ($19|0)==(0);
if (!($20)) {
_png_benign_error($0,20186);
$$0 = 0;
return ($$0|0);
}
$21 = $17 & 2;
$22 = ($21|0)==(0);
if ($22) {
$27 = $18;
} else {
$23 = ((($1)) + 4|0);
$24 = (_png_colorspace_endpoints_match(480,$23,100)|0);
$25 = ($24|0)==(0);
if ($25) {
_png_chunk_report($0,20221,2);
$$pre = HEAP16[$3>>1]|0;
$27 = $$pre;
} else {
$27 = $18;
}
}
$26 = $27 & 1;
$28 = ($26<<16>>16)==(0);
do {
if ($28) {
$43 = $27;
} else {
$29 = HEAP32[$1>>2]|0;
$30 = ($29|0)==(0);
if (!($30)) {
$31 = (+($29|0));
$32 = $31 * 1.0E+5;
$33 = $32 / 45455.0;
$34 = $33 + 0.5;
$35 = (+Math_floor((+$34)));
$36 = $35 <= 2147483647.0;
$37 = $35 >= -2147483648.0;
$or$cond3$i$i = $36 & $37;
if ($or$cond3$i$i) {
$38 = (~~(($35)));
$$off$i$i = (($38) + -95000)|0;
$39 = ($$off$i$i>>>0)>(10000);
if (!($39)) {
$43 = $27;
break;
}
}
}
_png_chunk_report($0,19096,2);
$$pre29 = HEAP16[$3>>1]|0;
$43 = $$pre29;
}
} while(0);
$40 = $2&65535;
$41 = ((($1)) + 72|0);
HEAP16[$41>>1] = $40;
$42 = $43&65535;
$44 = ((($1)) + 4|0);
;HEAP32[$44>>2]=HEAP32[480>>2]|0;HEAP32[$44+4>>2]=HEAP32[480+4>>2]|0;HEAP32[$44+8>>2]=HEAP32[480+8>>2]|0;HEAP32[$44+12>>2]=HEAP32[480+12>>2]|0;HEAP32[$44+16>>2]=HEAP32[480+16>>2]|0;HEAP32[$44+20>>2]=HEAP32[480+20>>2]|0;HEAP32[$44+24>>2]=HEAP32[480+24>>2]|0;HEAP32[$44+28>>2]=HEAP32[480+28>>2]|0;
$45 = ((($1)) + 36|0);
dest=$45; src=512; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
HEAP32[$1>>2] = 45455;
$46 = $42 | 231;
$47 = $46&65535;
HEAP16[$3>>1] = $47;
$$0 = 1;
return ($$0|0);
}
function _png_icc_profile_error($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0 = 0, $$0$i$i = 0, $$0$i10$i = 0, $$0$i12$i = 0, $$0$i14$i = 0, $$off$i$i = 0, $$off$i$i1 = 0, $$off$i10$i = 0, $$off$i11$i = 0, $$off$i13$i = 0, $$off$i16$i = 0, $$off$i4$i = 0, $$off$i9$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $or$cond$i$i = 0;
var $or$cond$i11$i = 0, $or$cond$i17$i = 0, $or$cond$i5$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$5 = sp + 24|0;
$6 = sp;
$7 = ($1|0)!=(0|0);
if ($7) {
$8 = ((($1)) + 74|0);
$9 = HEAP16[$8>>1]|0;
$10 = $9&65535;
$11 = $10 | 32768;
$12 = $11&65535;
HEAP16[$8>>1] = $12;
}
$13 = (_png_safecat($5,196,0,20252)|0);
$14 = (($13) + 79)|0;
$15 = (_png_safecat($5,$14,$13,$2)|0);
$16 = (_png_safecat($5,196,$15,20262)|0);
$17 = $3 >>> 24;
$18 = ($17|0)==(32);
$$off$i$i = (($17) + -48)|0;
$19 = ($$off$i$i>>>0)<(10);
$or$cond$i$i = $18 | $19;
$20 = $17 & 223;
$21 = (($20) + -65)|0;
$22 = ($21>>>0)<(26);
$23 = $22 | $or$cond$i$i;
if ($23) {
$24 = $3 >>> 16;
$25 = $24 & 255;
$26 = ($25|0)==(32);
$$off$i16$i = (($25) + -48)|0;
$27 = ($$off$i16$i>>>0)<(10);
$or$cond$i17$i = $26 | $27;
$28 = $24 & 223;
$29 = (($28) + -65)|0;
$30 = ($29>>>0)<(26);
$31 = $30 | $or$cond$i17$i;
if ($31) {
$32 = $3 >>> 8;
$33 = $32 & 255;
$34 = ($33|0)==(32);
$$off$i10$i = (($33) + -48)|0;
$35 = ($$off$i10$i>>>0)<(10);
$or$cond$i11$i = $34 | $35;
$36 = $32 & 223;
$37 = (($36) + -65)|0;
$38 = ($37>>>0)<(26);
$39 = $38 | $or$cond$i11$i;
if ($39) {
$40 = $3 & 255;
$41 = ($40|0)==(32);
$$off$i4$i = (($40) + -48)|0;
$42 = ($$off$i4$i>>>0)<(10);
$or$cond$i5$i = $41 | $42;
$43 = $3 & 223;
$44 = (($43) + -65)|0;
$45 = ($44>>>0)<(26);
$46 = $45 | $or$cond$i5$i;
if ($46) {
$47 = (($5) + ($16)|0);
HEAP8[$47>>0] = 39;
$$off$i$i1 = (($17) + -32)|0;
$48 = ($$off$i$i1>>>0)<(95);
$49 = $17&255;
$$0$i$i = $48 ? $49 : 63;
$50 = ((($47)) + 1|0);
HEAP8[$50>>0] = $$0$i$i;
$$off$i13$i = (($25) + -32)|0;
$51 = ($$off$i13$i>>>0)<(95);
$52 = $24&255;
$$0$i14$i = $51 ? $52 : 63;
$53 = ((($47)) + 2|0);
HEAP8[$53>>0] = $$0$i14$i;
$$off$i11$i = (($33) + -32)|0;
$54 = ($$off$i11$i>>>0)<(95);
$55 = $32&255;
$$0$i12$i = $54 ? $55 : 63;
$56 = ((($47)) + 3|0);
HEAP8[$56>>0] = $$0$i12$i;
$$off$i9$i = (($40) + -32)|0;
$57 = ($$off$i9$i>>>0)<(95);
$58 = $3&255;
$$0$i10$i = $57 ? $58 : 63;
$59 = ((($47)) + 4|0);
HEAP8[$59>>0] = $$0$i10$i;
$60 = ((($47)) + 5|0);
HEAP8[$60>>0] = 39;
$61 = (($16) + 6)|0;
$62 = (($16) + 7)|0;
$63 = (($5) + ($61)|0);
HEAP8[$63>>0] = 58;
$64 = (($16) + 8)|0;
$65 = (($5) + ($62)|0);
HEAP8[$65>>0] = 32;
$$0 = $64;
(_png_safecat($5,196,$$0,$4)|0);
$70 = $7 ? 2 : 1;
_png_chunk_report($0,$5,$70);
STACKTOP = sp;return;
}
}
}
}
$66 = ((($6)) + 24|0);
$67 = (_png_format_number($6,$66,3,$3)|0);
$68 = (_png_safecat($5,196,$16,$67)|0);
$69 = (_png_safecat($5,196,$68,20266)|0);
$$0 = $69;
(_png_safecat($5,196,$$0,$4)|0);
$70 = $7 ? 2 : 1;
_png_chunk_report($0,$5,$70);
STACKTOP = sp;return;
}
function _png_safecat($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$01216 = 0, $$017 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
var $or$cond14 = 0, $or$cond1415 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)!=(0|0);
$5 = ($2>>>0)<($1>>>0);
$or$cond = $4 & $5;
if (!($or$cond)) {
$$2 = $2;
return ($$2|0);
}
$6 = ($3|0)==(0|0);
if ($6) {
$$1 = $2;
} else {
$7 = HEAP8[$3>>0]|0;
$8 = ($7<<24>>24)!=(0);
$9 = (($1) + -1)|0;
$10 = ($9>>>0)>($2>>>0);
$or$cond1415 = $10 & $8;
if ($or$cond1415) {
$$01216 = $2;$$017 = $3;$14 = $7;
while(1) {
$11 = ((($$017)) + 1|0);
$12 = (($$01216) + 1)|0;
$13 = (($0) + ($$01216)|0);
HEAP8[$13>>0] = $14;
$15 = HEAP8[$11>>0]|0;
$16 = ($15<<24>>24)!=(0);
$17 = ($12>>>0)<($9>>>0);
$or$cond14 = $17 & $16;
if ($or$cond14) {
$$01216 = $12;$$017 = $11;$14 = $15;
} else {
$$1 = $12;
break;
}
}
} else {
$$1 = $2;
}
}
$18 = (($0) + ($$1)|0);
HEAP8[$18>>0] = 0;
$$2 = $$1;
return ($$2|0);
}
function _png_format_number($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$ph$be = 0, $$0$ph82 = 0, $$034$ph81 = 0, $$03461 = 0, $$03461$us65 = 0, $$037$ph80 = 0, $$03753 = 0, $$03760 = 0, $$03760$us66 = 0, $$038$ph$be = 0, $$038$ph79 = 0, $$03859 = 0, $$03859$us67 = 0, $$040$lcssa = 0, $$040$ph$be = 0, $$040$ph78 = 0, $$04058 = 0, $$04058$us68 = 0, $$1 = 0, $$139 = 0;
var $$139$ph = 0, $$141 = 0, $$2 = 0, $$236 = 0, $$242 = 0, $$242$ph = 0, $$3 = 0, $$3$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond43 = 0, $or$cond43$us = 0, $or$cond43$us69 = 0, $or$cond46 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ((($1)) + -1|0);
HEAP8[$4>>0] = 0;
$5 = ($4>>>0)>($0>>>0);
if (!($5)) {
$$040$lcssa = $4;
return ($$040$lcssa|0);
}
$6 = ($2|0)==(5);
$$0$ph82 = 0;$$034$ph81 = 1;$$037$ph80 = 0;$$038$ph79 = $3;$$040$ph78 = $4;
L4: while(1) {
L6: do {
switch ($2|0) {
case 2: {
$$03461$us65 = 1;$$03760$us66 = 0;$$03859$us67 = $3;$$04058$us68 = $4;
label = 5;
break L4;
break;
}
case 5: {
$7 = ($$038$ph79|0)!=(0);
$8 = ($$037$ph80|0)<($$034$ph81|0);
$or$cond43$us = $7 | $8;
if (!($or$cond43$us)) {
$$040$lcssa = $$040$ph78;
label = 22;
break L4;
}
$20 = (($$038$ph79>>>0) % 10)&-1;
$21 = $$0$ph82 | $20;
$22 = ($21|0)==(0);
$23 = ((($$040$ph78)) + -1|0);
if ($22) {
$$1 = $$0$ph82;$$141 = $$040$ph78;
} else {
$24 = (20270 + ($20)|0);
$25 = HEAP8[$24>>0]|0;
HEAP8[$23>>0] = $25;
$$1 = 1;$$141 = $23;
}
$26 = (($$038$ph79>>>0) / 10)&-1;
$$03753 = $$037$ph80;$$139 = $26;$$2 = $$1;$$242 = $$141;$$3 = 5;
break;
}
default: {
$$03461 = $$034$ph81;$$03760 = $$037$ph80;$$03859 = $$038$ph79;$$04058 = $$040$ph78;
while(1) {
$18 = ($$03859|0)!=(0);
$19 = ($$03760|0)<($$03461|0);
$or$cond43 = $18 | $19;
if (!($or$cond43)) {
$$040$lcssa = $$04058;
label = 22;
break L4;
}
switch ($2|0) {
case 3: {
$$236 = $$03461;
label = 14;
break;
}
case 4: {
$$236 = 2;
label = 14;
break;
}
case 1: {
$27 = (($$03859>>>0) % 10)&-1;
$28 = (20270 + ($27)|0);
$29 = HEAP8[$28>>0]|0;
$30 = ((($$04058)) + -1|0);
HEAP8[$30>>0] = $29;
$31 = (($$03859>>>0) / 10)&-1;
$$139$ph = $31;$$242$ph = $30;$$3$ph = $$03461;
break;
}
default: {
$$03753 = $$03760;$$139 = 0;$$2 = $$0$ph82;$$242 = $$04058;$$3 = $$03461;
break L6;
}
}
if ((label|0) == 14) {
label = 0;
$32 = $$03859 & 15;
$33 = (20270 + ($32)|0);
$34 = HEAP8[$33>>0]|0;
$35 = ((($$04058)) + -1|0);
HEAP8[$35>>0] = $34;
$36 = $$03859 >>> 4;
$$139$ph = $36;$$242$ph = $35;$$3$ph = $$236;
}
$37 = (($$03760) + 1)|0;
$38 = ($$242$ph>>>0)>($0>>>0);
if ($38) {
$$03461 = $$3$ph;$$03760 = $37;$$03859 = $$139$ph;$$04058 = $$242$ph;
} else {
$$040$lcssa = $$242$ph;
label = 22;
break L4;
}
}
}
}
} while(0);
$39 = (($$03753) + 1)|0;
$40 = ($39|0)==(5);
$or$cond = $6 & $40;
$41 = ($$242>>>0)>($0>>>0);
$or$cond46 = $or$cond & $41;
do {
if ($or$cond46) {
$42 = ($$2|0)==(0);
if (!($42)) {
$43 = ((($$242)) + -1|0);
HEAP8[$43>>0] = 46;
$$0$ph$be = $$2;$$038$ph$be = $$139;$$040$ph$be = $43;
break;
}
$45 = ($$139|0)==(0);
if ($45) {
$46 = ((($$242)) + -1|0);
HEAP8[$46>>0] = 48;
$$0$ph$be = 0;$$038$ph$be = 0;$$040$ph$be = $46;
} else {
$$0$ph$be = 0;$$038$ph$be = $$139;$$040$ph$be = $$242;
}
} else {
$$0$ph$be = $$2;$$038$ph$be = $$139;$$040$ph$be = $$242;
}
} while(0);
$44 = ($$040$ph$be>>>0)>($0>>>0);
if ($44) {
$$0$ph82 = $$0$ph$be;$$034$ph81 = $$3;$$037$ph80 = $39;$$038$ph79 = $$038$ph$be;$$040$ph78 = $$040$ph$be;
} else {
$$040$lcssa = $$040$ph$be;
label = 22;
break;
}
}
if ((label|0) == 5) {
while(1) {
label = 0;
$9 = ($$03859$us67|0)!=(0);
$10 = ($$03760$us66|0)<($$03461$us65|0);
$or$cond43$us69 = $9 | $10;
if (!($or$cond43$us69)) {
$$040$lcssa = $$04058$us68;
label = 22;
break;
}
$11 = (($$03859$us67>>>0) % 10)&-1;
$12 = (20270 + ($11)|0);
$13 = HEAP8[$12>>0]|0;
$14 = ((($$04058$us68)) + -1|0);
HEAP8[$14>>0] = $13;
$15 = (($$03859$us67>>>0) / 10)&-1;
$16 = (($$03760$us66) + 1)|0;
$17 = ($14>>>0)>($0>>>0);
if ($17) {
$$03461$us65 = 2;$$03760$us66 = $16;$$03859$us67 = $15;$$04058$us68 = $14;
label = 5;
} else {
$$040$lcssa = $14;
label = 22;
break;
}
}
if ((label|0) == 22) {
return ($$040$lcssa|0);
}
}
else if ((label|0) == 22) {
return ($$040$lcssa|0);
}
return (0)|0;
}
function _png_app_error($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 212|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 4194304;
$5 = ($4|0)==(0);
if ($5) {
_png_error($0,$1);
// unreachable;
} else {
_png_warning($0,$1);
return;
}
}
function _png_icc_check_header($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split172D = 0;
var $switch$split202D = 0, $switch$split22D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$6 = sp + 24|0;
$7 = sp;
$8 = HEAP8[$4>>0]|0;
$9 = $8&255;
$10 = $9 << 24;
$11 = ((($4)) + 1|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12&255;
$14 = $13 << 16;
$15 = $14 | $10;
$16 = ((($4)) + 2|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17&255;
$19 = $18 << 8;
$20 = $15 | $19;
$21 = ((($4)) + 3|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = $20 | $23;
$25 = ($24|0)==($3|0);
if (!($25)) {
_png_icc_profile_error($0,$1,$2,$24,20489);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$26 = ((($4)) + 8|0);
$27 = HEAP8[$26>>0]|0;
$28 = ($27&255)<(4);
$29 = $3 & 3;
$30 = ($29|0)==(0);
$or$cond = $30 | $28;
if (!($or$cond)) {
_png_icc_profile_error($0,$1,$2,$3,20519);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$31 = ((($4)) + 128|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = $33 << 24;
$35 = ((($4)) + 129|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $37 << 16;
$39 = $38 | $34;
$40 = ((($4)) + 130|0);
$41 = HEAP8[$40>>0]|0;
$42 = $41&255;
$43 = $42 << 8;
$44 = $39 | $43;
$45 = ((($4)) + 131|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46&255;
$48 = $44 | $47;
$49 = ($48>>>0)>(357913930);
if (!($49)) {
$50 = ($48*12)|0;
$51 = (($50) + 132)|0;
$52 = ($51>>>0)>($3>>>0);
if (!($52)) {
$53 = ((($4)) + 64|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
$56 = $55 << 24;
$57 = ((($4)) + 65|0);
$58 = HEAP8[$57>>0]|0;
$59 = $58&255;
$60 = $59 << 16;
$61 = $60 | $56;
$62 = ((($4)) + 66|0);
$63 = HEAP8[$62>>0]|0;
$64 = $63&255;
$65 = $64 << 8;
$66 = $61 | $65;
$67 = ((($4)) + 67|0);
$68 = HEAP8[$67>>0]|0;
$69 = $68&255;
$70 = $66 | $69;
$71 = ($70>>>0)>(65534);
if ($71) {
_png_icc_profile_error($0,$1,$2,$70,20554);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$72 = ($70>>>0)>(3);
if ($72) {
_png_icc_profile_error($0,0,$2,$70,20579);
}
$73 = ((($4)) + 36|0);
$74 = HEAP8[$73>>0]|0;
$75 = $74&255;
$76 = $75 << 24;
$77 = ((($4)) + 37|0);
$78 = HEAP8[$77>>0]|0;
$79 = $78&255;
$80 = $79 << 16;
$81 = $80 | $76;
$82 = ((($4)) + 38|0);
$83 = HEAP8[$82>>0]|0;
$84 = $83&255;
$85 = $84 << 8;
$86 = $81 | $85;
$87 = ((($4)) + 39|0);
$88 = HEAP8[$87>>0]|0;
$89 = $88&255;
$90 = $86 | $89;
$91 = ($90|0)==(1633907568);
if (!($91)) {
_png_icc_profile_error($0,$1,$2,$90,20608);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$92 = ((($4)) + 68|0);
$93 = (_memcmp($92,20626,12)|0);
$94 = ($93|0)==(0);
if (!($94)) {
$95 = (_png_safecat($6,196,0,20252)|0);
$96 = (($95) + 79)|0;
$97 = (_png_safecat($6,$96,$95,$2)|0);
$98 = (_png_safecat($6,196,$97,20262)|0);
$99 = ((($7)) + 24|0);
$100 = (_png_format_number($7,$99,3,0)|0);
$101 = (_png_safecat($6,196,$98,$100)|0);
$102 = (_png_safecat($6,196,$101,20266)|0);
(_png_safecat($6,196,$102,20638)|0);
_png_chunk_report($0,$6,1);
}
$103 = ((($4)) + 16|0);
$104 = HEAP8[$103>>0]|0;
$105 = $104&255;
$106 = $105 << 24;
$107 = ((($4)) + 17|0);
$108 = HEAP8[$107>>0]|0;
$109 = $108&255;
$110 = $109 << 16;
$111 = $110 | $106;
$112 = ((($4)) + 18|0);
$113 = HEAP8[$112>>0]|0;
$114 = $113&255;
$115 = $114 << 8;
$116 = $111 | $115;
$117 = ((($4)) + 19|0);
$118 = HEAP8[$117>>0]|0;
$119 = $118&255;
$120 = $116 | $119;
$switch$split2D = ($120|0)<(1380401696);
L26: do {
if ($switch$split2D) {
switch ($120|0) {
case 1196573017: {
break;
}
default: {
label = 21;
break L26;
}
}
$123 = $5 & 2;
$124 = ($123|0)==(0);
if (!($124)) {
_png_icc_profile_error($0,$1,$2,1196573017,20711);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
} else {
switch ($120|0) {
case 1380401696: {
break;
}
default: {
label = 21;
break L26;
}
}
$121 = $5 & 2;
$122 = ($121|0)==(0);
if ($122) {
_png_icc_profile_error($0,$1,$2,1380401696,20664);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
} while(0);
if ((label|0) == 21) {
_png_icc_profile_error($0,$1,$2,$120,20753);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$125 = ((($4)) + 12|0);
$126 = HEAP8[$125>>0]|0;
$127 = $126&255;
$128 = $127 << 24;
$129 = ((($4)) + 13|0);
$130 = HEAP8[$129>>0]|0;
$131 = $130&255;
$132 = $131 << 16;
$133 = $132 | $128;
$134 = ((($4)) + 14|0);
$135 = HEAP8[$134>>0]|0;
$136 = $135&255;
$137 = $136 << 8;
$138 = $133 | $137;
$139 = ((($4)) + 15|0);
$140 = HEAP8[$139>>0]|0;
$141 = $140&255;
$142 = $138 | $141;
$switch$split22D = ($142|0)<(1852662636);
L39: do {
if ($switch$split22D) {
$switch$split82D = ($142|0)<(1818848875);
if ($switch$split82D) {
switch ($142|0) {
case 1633842036: {
break;
}
default: {
label = 26;
break L39;
}
}
_png_icc_profile_error($0,$1,$2,1633842036,20785);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$switch$split142D = ($142|0)<(1835955314);
if (!($switch$split142D)) {
switch ($142|0) {
case 1835955314: {
break L39;
break;
}
default: {
label = 26;
break L39;
}
}
}
switch ($142|0) {
case 1818848875: {
break;
}
default: {
label = 26;
break L39;
}
}
_png_icc_profile_error($0,$1,$2,1818848875,20823);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
} else {
$switch$split112D = ($142|0)<(1935896178);
if (!($switch$split112D)) {
$switch$split202D = ($142|0)<(1936744803);
if ($switch$split202D) {
switch ($142|0) {
case 1935896178: {
break L39;
break;
}
default: {
label = 26;
break L39;
}
}
} else {
switch ($142|0) {
case 1936744803: {
break L39;
break;
}
default: {
label = 26;
break L39;
}
}
}
}
$switch$split172D = ($142|0)<(1886549106);
if (!($switch$split172D)) {
switch ($142|0) {
case 1886549106: {
break L39;
break;
}
default: {
label = 26;
break L39;
}
}
}
switch ($142|0) {
case 1852662636: {
break;
}
default: {
label = 26;
break L39;
}
}
_png_icc_profile_error($0,0,$2,1852662636,20863);
}
} while(0);
if ((label|0) == 26) {
_png_icc_profile_error($0,0,$2,$142,20903);
}
$143 = ((($4)) + 20|0);
$144 = HEAP8[$143>>0]|0;
$145 = $144&255;
$146 = $145 << 24;
$147 = ((($4)) + 21|0);
$148 = HEAP8[$147>>0]|0;
$149 = $148&255;
$150 = $149 << 16;
$151 = $150 | $146;
$152 = ((($4)) + 22|0);
$153 = HEAP8[$152>>0]|0;
$154 = $153&255;
$155 = $154 << 8;
$156 = $151 | $155;
$157 = ((($4)) + 23|0);
$158 = HEAP8[$157>>0]|0;
$159 = $158&255;
$160 = $156 | $159;
$switch$split52D = ($160|0)<(1482250784);
L65: do {
if ($switch$split52D) {
switch ($160|0) {
case 1281450528: {
$$0 = 1;
break;
}
default: {
break L65;
}
}
STACKTOP = sp;return ($$0|0);
} else {
switch ($160|0) {
case 1482250784: {
$$0 = 1;
break;
}
default: {
break L65;
}
}
STACKTOP = sp;return ($$0|0);
}
} while(0);
_png_icc_profile_error($0,$1,$2,$160,20934);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
_png_icc_profile_error($0,$1,$2,$48,20534);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _png_icc_check_tag_table($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$04751 = 0, $$04850 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ((($4)) + 128|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6&255;
$8 = $7 << 24;
$9 = ((($4)) + 129|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10&255;
$12 = $11 << 16;
$13 = $12 | $8;
$14 = ((($4)) + 130|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15&255;
$17 = $16 << 8;
$18 = $13 | $17;
$19 = ((($4)) + 131|0);
$20 = HEAP8[$19>>0]|0;
$21 = $20&255;
$22 = $18 | $21;
$23 = ($22|0)==(0);
if ($23) {
$$2 = 1;
return ($$2|0);
}
$24 = ((($4)) + 132|0);
$$04751 = 0;$$04850 = $24;
while(1) {
$25 = HEAP8[$$04850>>0]|0;
$26 = $25&255;
$27 = $26 << 24;
$28 = ((($$04850)) + 1|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29&255;
$31 = $30 << 16;
$32 = $31 | $27;
$33 = ((($$04850)) + 2|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34&255;
$36 = $35 << 8;
$37 = $32 | $36;
$38 = ((($$04850)) + 3|0);
$39 = HEAP8[$38>>0]|0;
$40 = $39&255;
$41 = $37 | $40;
$42 = ((($$04850)) + 4|0);
$43 = HEAP8[$42>>0]|0;
$44 = $43&255;
$45 = $44 << 24;
$46 = ((($$04850)) + 5|0);
$47 = HEAP8[$46>>0]|0;
$48 = $47&255;
$49 = $48 << 16;
$50 = $49 | $45;
$51 = ((($$04850)) + 6|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52&255;
$54 = $53 << 8;
$55 = $50 | $54;
$56 = ((($$04850)) + 7|0);
$57 = HEAP8[$56>>0]|0;
$58 = $57&255;
$59 = $55 | $58;
$60 = ((($$04850)) + 8|0);
$61 = HEAP8[$60>>0]|0;
$62 = $61&255;
$63 = $62 << 24;
$64 = ((($$04850)) + 9|0);
$65 = HEAP8[$64>>0]|0;
$66 = $65&255;
$67 = $66 << 16;
$68 = $67 | $63;
$69 = ((($$04850)) + 10|0);
$70 = HEAP8[$69>>0]|0;
$71 = $70&255;
$72 = $71 << 8;
$73 = $68 | $72;
$74 = ((($$04850)) + 11|0);
$75 = HEAP8[$74>>0]|0;
$76 = $75&255;
$77 = $73 | $76;
$78 = $58 & 3;
$79 = ($78|0)==(0);
if (!($79)) {
_png_icc_profile_error($0,0,$2,$41,20415);
}
$80 = ($59>>>0)>($3>>>0);
$81 = (($3) - ($59))|0;
$82 = ($77>>>0)>($81>>>0);
$or$cond = $80 | $82;
if ($or$cond) {
break;
}
$83 = (($$04751) + 1)|0;
$84 = ((($$04850)) + 12|0);
$85 = ($83>>>0)<($22>>>0);
if ($85) {
$$04751 = $83;$$04850 = $84;
} else {
$$2 = 1;
label = 8;
break;
}
}
if ((label|0) == 8) {
return ($$2|0);
}
_png_icc_profile_error($0,$1,$2,$41,20457);
$$2 = 0;
return ($$2|0);
}
function _png_icc_set_sRGB($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$off$i = 0, $$06270$i = 0, $$06369$i = 0, $$066$i = 0, $$071$i = 0, $$1$i = 0, $$164$i = 0, $$2$i = 0, $$265$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
var $164 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ((($0)) + 644|0);
$5 = HEAP8[$4>>0]|0;
$6 = $5 & 48;
$7 = ($6<<24>>24)==(48);
if ($7) {
return;
}
$8 = ((($2)) + 84|0);
$9 = HEAP8[$8>>0]|0;
$10 = $9&255;
$11 = $10 << 24;
$12 = ((($2)) + 85|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13&255;
$15 = $14 << 16;
$16 = $15 | $11;
$17 = ((($2)) + 86|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18&255;
$20 = $19 << 8;
$21 = $16 | $20;
$22 = ((($2)) + 87|0);
$23 = HEAP8[$22>>0]|0;
$24 = $23&255;
$25 = $21 | $24;
$26 = ((($2)) + 88|0);
$27 = ((($2)) + 89|0);
$28 = ((($2)) + 90|0);
$29 = ((($2)) + 91|0);
$30 = ((($2)) + 92|0);
$31 = ((($2)) + 93|0);
$32 = ((($2)) + 94|0);
$33 = ((($2)) + 95|0);
$34 = ((($2)) + 96|0);
$35 = ((($2)) + 97|0);
$36 = ((($2)) + 98|0);
$37 = ((($2)) + 99|0);
$38 = ((($2)) + 1|0);
$39 = ((($2)) + 2|0);
$40 = ((($2)) + 3|0);
$41 = ((($2)) + 64|0);
$42 = ((($2)) + 65|0);
$43 = ((($2)) + 66|0);
$44 = ((($2)) + 67|0);
$$06270$i = 65536;$$06369$i = 0;$$071$i = 0;
while(1) {
$45 = (((548 + ($$071$i<<5)|0)) + 12|0);
$46 = HEAP32[$45>>2]|0;
$47 = ($25|0)==($46|0);
if ($47) {
$48 = HEAP8[$26>>0]|0;
$49 = $48&255;
$50 = $49 << 24;
$51 = HEAP8[$27>>0]|0;
$52 = $51&255;
$53 = $52 << 16;
$54 = $53 | $50;
$55 = HEAP8[$28>>0]|0;
$56 = $55&255;
$57 = $56 << 8;
$58 = $54 | $57;
$59 = HEAP8[$29>>0]|0;
$60 = $59&255;
$61 = $58 | $60;
$62 = (((548 + ($$071$i<<5)|0)) + 16|0);
$63 = HEAP32[$62>>2]|0;
$64 = ($61|0)==($63|0);
if ($64) {
$65 = HEAP8[$30>>0]|0;
$66 = $65&255;
$67 = $66 << 24;
$68 = HEAP8[$31>>0]|0;
$69 = $68&255;
$70 = $69 << 16;
$71 = $70 | $67;
$72 = HEAP8[$32>>0]|0;
$73 = $72&255;
$74 = $73 << 8;
$75 = $71 | $74;
$76 = HEAP8[$33>>0]|0;
$77 = $76&255;
$78 = $75 | $77;
$79 = (((548 + ($$071$i<<5)|0)) + 20|0);
$80 = HEAP32[$79>>2]|0;
$81 = ($78|0)==($80|0);
if ($81) {
$82 = HEAP8[$34>>0]|0;
$83 = $82&255;
$84 = $83 << 24;
$85 = HEAP8[$35>>0]|0;
$86 = $85&255;
$87 = $86 << 16;
$88 = $87 | $84;
$89 = HEAP8[$36>>0]|0;
$90 = $89&255;
$91 = $90 << 8;
$92 = $88 | $91;
$93 = HEAP8[$37>>0]|0;
$94 = $93&255;
$95 = $92 | $94;
$96 = (((548 + ($$071$i<<5)|0)) + 24|0);
$97 = HEAP32[$96>>2]|0;
$98 = ($95|0)==($97|0);
if ($98) {
$99 = ($$06369$i|0)==(0);
if ($99) {
$100 = HEAP8[$2>>0]|0;
$101 = $100&255;
$102 = $101 << 24;
$103 = HEAP8[$38>>0]|0;
$104 = $103&255;
$105 = $104 << 16;
$106 = $105 | $102;
$107 = HEAP8[$39>>0]|0;
$108 = $107&255;
$109 = $108 << 8;
$110 = $106 | $109;
$111 = HEAP8[$40>>0]|0;
$112 = $111&255;
$113 = $110 | $112;
$114 = HEAP8[$41>>0]|0;
$115 = $114&255;
$116 = $115 << 24;
$117 = HEAP8[$42>>0]|0;
$118 = $117&255;
$119 = $118 << 16;
$120 = $119 | $116;
$121 = HEAP8[$43>>0]|0;
$122 = $121&255;
$123 = $122 << 8;
$124 = $120 | $123;
$125 = HEAP8[$44>>0]|0;
$126 = $125&255;
$127 = $124 | $126;
$$1$i = $127;$$164$i = $113;
} else {
$$1$i = $$06270$i;$$164$i = $$06369$i;
}
$128 = (((548 + ($$071$i<<5)|0)) + 8|0);
$129 = HEAP32[$128>>2]|0;
$130 = ($$164$i|0)==($129|0);
if ($130) {
$131 = (((548 + ($$071$i<<5)|0)) + 30|0);
$132 = HEAP16[$131>>1]|0;
$133 = $132&65535;
$134 = ($$1$i|0)==($133|0);
if ($134) {
break;
} else {
$$2$i = $$1$i;$$265$i = $$164$i;
}
} else {
$$2$i = $$1$i;$$265$i = $$164$i;
}
} else {
$$2$i = $$06270$i;$$265$i = $$06369$i;
}
} else {
$$2$i = $$06270$i;$$265$i = $$06369$i;
}
} else {
$$2$i = $$06270$i;$$265$i = $$06369$i;
}
} else {
$$2$i = $$06270$i;$$265$i = $$06369$i;
}
$149 = (($$071$i) + 1)|0;
$150 = ($149>>>0)<(7);
if ($150) {
$$06270$i = $$2$i;$$06369$i = $$265$i;$$071$i = $149;
} else {
label = 22;
break;
}
}
if ((label|0) == 22) {
return;
}
$135 = ($3|0)==(0);
if ($135) {
$136 = (_adler32(0,0,0)|0);
$137 = (_adler32($136,$2,$$164$i)|0);
$$066$i = $137;
} else {
$$066$i = $3;
}
$138 = (548 + ($$071$i<<5)|0);
$139 = HEAP32[$138>>2]|0;
$140 = ($$066$i|0)==($139|0);
if ($140) {
$141 = (_crc32(0,0,0)|0);
$142 = (_crc32($141,$2,$$164$i)|0);
$143 = (((548 + ($$071$i<<5)|0)) + 4|0);
$144 = HEAP32[$143>>2]|0;
$145 = ($142|0)==($144|0);
if ($145) {
$$0$off$i = (($$071$i) + -5)|0;
$146 = ($$0$off$i>>>0)<(2);
if ($146) {
_png_chunk_report($0,20287,2);
} else {
$147 = (($$071$i) + -4)|0;
$148 = ($147>>>0)<(3);
if ($148) {
_png_chunk_report($0,20316,0);
}
}
$151 = HEAP8[$41>>0]|0;
$152 = $151&255;
$153 = $152 << 24;
$154 = HEAP8[$42>>0]|0;
$155 = $154&255;
$156 = $155 << 16;
$157 = $156 | $153;
$158 = HEAP8[$43>>0]|0;
$159 = $158&255;
$160 = $159 << 8;
$161 = $157 | $160;
$162 = HEAP8[$44>>0]|0;
$163 = $162&255;
$164 = $161 | $163;
(_png_colorspace_set_sRGB($0,$1,$164)|0);
return;
}
}
_png_chunk_report($0,20359,0);
return;
}
function _png_set_text_2($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$$0148 = 0, $$0144 = 0, $$0145 = 0, $$0147156 = 0, $$0148 = 0, $$0148$ = 0, $$0150 = 0, $$1146 = 0, $$4 = 0, $$off = 0, $$pn = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0;
var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
$5 = ($1|0)==(0|0);
$or$cond = $4 | $5;
$6 = ($3|0)<(1);
$or$cond3 = $or$cond | $6;
$7 = ($2|0)==(0|0);
$or$cond5 = $7 | $or$cond3;
if ($or$cond5) {
$$4 = 0;
return ($$4|0);
}
$8 = ((($1)) + 132|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($1)) + 128|0);
$11 = HEAP32[$10>>2]|0;
$12 = (($9) - ($11))|0;
$13 = ($12|0)<($3|0);
do {
if ($13) {
$14 = (2147483647 - ($11))|0;
$15 = ($14|0)<($3|0);
if (!($15)) {
$16 = (($11) + ($3))|0;
$17 = ($16|0)<(2147483639);
$18 = (($16) + 8)|0;
$19 = $18 & -8;
$$0150 = $17 ? $19 : 2147483647;
$20 = ((($1)) + 136|0);
$21 = HEAP32[$20>>2]|0;
$22 = (($$0150) - ($11))|0;
$23 = (_png_realloc_array($0,$21,$11,$22,28)|0);
$24 = ($23|0)==(0|0);
if (!($24)) {
$25 = HEAP32[$20>>2]|0;
_png_free($0,$25);
HEAP32[$20>>2] = $23;
$26 = ((($1)) + 232|0);
$27 = HEAP32[$26>>2]|0;
$28 = $27 | 16384;
HEAP32[$26>>2] = $28;
HEAP32[$8>>2] = $$0150;
break;
}
}
_png_chunk_report($0,20962,1);
$$4 = 1;
return ($$4|0);
}
} while(0);
$29 = ($3|0)>(0);
if (!($29)) {
$$4 = 0;
return ($$4|0);
}
$30 = ((($1)) + 136|0);
$$0147156 = 0;
L15: while(1) {
$31 = HEAP32[$10>>2]|0;
$32 = HEAP32[$30>>2]|0;
$33 = (($32) + (($31*28)|0)|0);
$34 = (((($2) + (($$0147156*28)|0)|0)) + 4|0);
$35 = HEAP32[$34>>2]|0;
$36 = ($35|0)==(0|0);
do {
if (!($36)) {
$37 = (($2) + (($$0147156*28)|0)|0);
$38 = HEAP32[$37>>2]|0;
$$off = (($38) + 1)|0;
$39 = ($$off>>>0)>(3);
if ($39) {
_png_chunk_report($0,20983,1);
break;
}
$40 = (_strlen($35)|0);
$41 = ($38|0)<(1);
if ($41) {
$$0144 = 0;$$1146 = 0;
} else {
$42 = (((($2) + (($$0147156*28)|0)|0)) + 20|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($43|0)==(0|0);
if ($44) {
$$0145 = 0;
} else {
$45 = (_strlen($43)|0);
$$0145 = $45;
}
$46 = (((($2) + (($$0147156*28)|0)|0)) + 24|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47|0)==(0|0);
if ($48) {
$$0144 = 0;$$1146 = $$0145;
} else {
$49 = (_strlen($47)|0);
$$0144 = $49;$$1146 = $$0145;
}
}
$50 = (((($2) + (($$0147156*28)|0)|0)) + 8|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51|0)==(0|0);
if ($52) {
label = 19;
} else {
$53 = HEAP8[$51>>0]|0;
$54 = ($53<<24>>24)==(0);
if ($54) {
label = 19;
} else {
$56 = (_strlen($51)|0);
HEAP32[$33>>2] = $38;
$$0148 = $56;
}
}
do {
if ((label|0) == 19) {
label = 0;
$55 = ($38|0)>(0);
if ($55) {
HEAP32[$33>>2] = 1;
$$0148 = 0;
break;
} else {
HEAP32[$33>>2] = -1;
$$0148 = 0;
break;
}
}
} while(0);
$57 = (($40) + 4)|0;
$58 = (($57) + ($$1146))|0;
$59 = (($58) + ($$0144))|0;
$60 = (($59) + ($$0148))|0;
$61 = (_png_malloc_base($0,$60)|0);
$62 = (((($32) + (($31*28)|0)|0)) + 4|0);
HEAP32[$62>>2] = $61;
$63 = ($61|0)==(0|0);
if ($63) {
break L15;
}
$64 = HEAP32[$34>>2]|0;
_memcpy(($61|0),($64|0),($40|0))|0;
$65 = HEAP32[$62>>2]|0;
$66 = (($65) + ($40)|0);
HEAP8[$66>>0] = 0;
$67 = HEAP32[$37>>2]|0;
$68 = ($67|0)>(0);
if ($68) {
$69 = HEAP32[$62>>2]|0;
$70 = (($69) + ($40)|0);
$71 = ((($70)) + 1|0);
$72 = (((($32) + (($31*28)|0)|0)) + 20|0);
HEAP32[$72>>2] = $71;
$73 = (((($2) + (($$0147156*28)|0)|0)) + 20|0);
$74 = HEAP32[$73>>2]|0;
_memcpy(($71|0),($74|0),($$1146|0))|0;
$75 = HEAP32[$72>>2]|0;
$76 = (($75) + ($$1146)|0);
HEAP8[$76>>0] = 0;
$77 = HEAP32[$72>>2]|0;
$78 = (($77) + ($$1146)|0);
$79 = ((($78)) + 1|0);
$80 = (((($32) + (($31*28)|0)|0)) + 24|0);
HEAP32[$80>>2] = $79;
$81 = (((($2) + (($$0147156*28)|0)|0)) + 24|0);
$82 = HEAP32[$81>>2]|0;
_memcpy(($79|0),($82|0),($$0144|0))|0;
$83 = HEAP32[$80>>2]|0;
$84 = (($83) + ($$0144)|0);
HEAP8[$84>>0] = 0;
$85 = HEAP32[$80>>2]|0;
$86 = (($85) + ($$0144)|0);
$$pn = $86;
} else {
$87 = (((($32) + (($31*28)|0)|0)) + 20|0);
HEAP32[$87>>2] = 0;
$88 = (((($32) + (($31*28)|0)|0)) + 24|0);
HEAP32[$88>>2] = 0;
$89 = HEAP32[$62>>2]|0;
$90 = (($89) + ($40)|0);
$$pn = $90;
}
$91 = ((($$pn)) + 1|0);
$92 = (((($32) + (($31*28)|0)|0)) + 8|0);
HEAP32[$92>>2] = $91;
$93 = ($$0148|0)==(0);
if ($93) {
$96 = $91;
} else {
$94 = HEAP32[$50>>2]|0;
_memcpy(($91|0),($94|0),($$0148|0))|0;
$$pre = HEAP32[$92>>2]|0;
$96 = $$pre;
}
$95 = (($96) + ($$0148)|0);
HEAP8[$95>>0] = 0;
$97 = HEAP32[$33>>2]|0;
$98 = ($97|0)>(0);
$99 = (((($32) + (($31*28)|0)|0)) + 12|0);
$$$0148 = $98 ? 0 : $$0148;
$$0148$ = $98 ? $$0148 : 0;
HEAP32[$99>>2] = $$$0148;
$100 = (((($32) + (($31*28)|0)|0)) + 16|0);
HEAP32[$100>>2] = $$0148$;
$101 = HEAP32[$10>>2]|0;
$102 = (($101) + 1)|0;
HEAP32[$10>>2] = $102;
}
} while(0);
$103 = (($$0147156) + 1)|0;
$104 = ($103|0)<($3|0);
if ($104) {
$$0147156 = $103;
} else {
$$4 = 0;
label = 32;
break;
}
}
if ((label|0) == 32) {
return ($$4|0);
}
_png_chunk_report($0,21021,1);
$$4 = 1;
return ($$4|0);
}
function _png_set_tIME($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
$4 = ($1|0)==(0|0);
$or$cond = $3 | $4;
$5 = ($2|0)==(0|0);
$or$cond3 = $or$cond | $5;
if ($or$cond3) {
return;
}
$6 = ((($0)) + 208|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 512;
$9 = ($8|0)==(0);
if (!($9)) {
return;
}
$10 = ((($2)) + 2|0);
$11 = HEAP16[$10>>1]|0;
$12 = $11&255;
$13 = (($12) + -1)<<24>>24;
$14 = ($13&255)>(11);
if (!($14)) {
$15 = ($11&65535) >>> 8;
$16 = $15&255;
$17 = (($16) + -1)<<24>>24;
$18 = ($17&255)>(30);
if (!($18)) {
$19 = ((($2)) + 4|0);
$20 = HEAP16[$19>>1]|0;
$21 = $20&255;
$22 = ($21&255)>(23);
if (!($22)) {
$23 = ($20&65535) >>> 8;
$24 = $23&255;
$25 = ($24&255)>(59);
if (!($25)) {
$26 = ((($2)) + 6|0);
$27 = HEAP8[$26>>0]|0;
$28 = ($27&255)>(60);
if (!($28)) {
$29 = ((($1)) + 140|0);
$30 = $2;
$31 = $30;
$32 = HEAPU16[$31>>1]|(HEAPU16[$31+2>>1]<<16);
$33 = (($30) + 4)|0;
$34 = $33;
$35 = HEAPU16[$34>>1]|(HEAPU16[$34+2>>1]<<16);
$36 = $29;
$37 = $36;
HEAP16[$37>>1]=$32&65535;HEAP16[$37+2>>1]=$32>>>16;
$38 = (($36) + 4)|0;
$39 = $38;
HEAP16[$39>>1]=$35&65535;HEAP16[$39+2>>1]=$35>>>16;
$40 = ((($1)) + 8|0);
$41 = HEAP32[$40>>2]|0;
$42 = $41 | 512;
HEAP32[$40>>2] = $42;
return;
}
}
}
}
}
_png_warning($0,21047);
return;
}
function _png_set_tRNS($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$mask = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($0|0)==(0|0);
$6 = ($1|0)==(0|0);
$or$cond = $5 | $6;
if ($or$cond) {
return;
}
$7 = ($2|0)==(0|0);
if (!($7)) {
_png_free_data($0,$1,8192,0);
$8 = (_png_malloc($0,256)|0);
$9 = ((($1)) + 156|0);
HEAP32[$9>>2] = $8;
$10 = ((($0)) + 528|0);
HEAP32[$10>>2] = $8;
$$off = (($3) + -1)|0;
$11 = ($$off>>>0)<(256);
if ($11) {
_memcpy(($8|0),($2|0),($3|0))|0;
}
}
$12 = ($4|0)==(0|0);
if ($12) {
$42 = $3&65535;
$43 = ((($1)) + 22|0);
HEAP16[$43>>1] = $42;
$44 = ($3|0)==(0);
if ($44) {
return;
}
} else {
$13 = ((($1)) + 24|0);
$14 = HEAP16[$13>>1]|0;
$15 = $14&255;
$16 = ($15&255)<(16);
L12: do {
if ($16) {
$17 = ($14&65535) >>> 8;
$18 = $17&255;
$$mask = $14 & 255;
$19 = $$mask&65535;
$20 = 1 << $19;
switch ($18<<24>>24) {
case 0: {
$21 = ((($4)) + 8|0);
$22 = HEAP16[$21>>1]|0;
$23 = $22&65535;
$24 = ($23|0)<($20|0);
if ($24) {
break L12;
}
break;
}
case 2: {
$25 = ((($4)) + 2|0);
$26 = HEAP16[$25>>1]|0;
$27 = $26&65535;
$28 = ($27|0)<($20|0);
if ($28) {
$29 = ((($4)) + 4|0);
$30 = HEAP16[$29>>1]|0;
$31 = $30&65535;
$32 = ($31|0)<($20|0);
if ($32) {
$33 = ((($4)) + 6|0);
$34 = HEAP16[$33>>1]|0;
$35 = $34&65535;
$36 = ($35|0)<($20|0);
if ($36) {
break L12;
}
}
}
break;
}
default: {
break L12;
}
}
_png_warning($0,21075);
}
} while(0);
$37 = ((($1)) + 160|0);
;HEAP16[$37>>1]=HEAP16[$4>>1]|0;HEAP16[$37+2>>1]=HEAP16[$4+2>>1]|0;HEAP16[$37+4>>1]=HEAP16[$4+4>>1]|0;HEAP16[$37+6>>1]=HEAP16[$4+6>>1]|0;HEAP16[$37+8>>1]=HEAP16[$4+8>>1]|0;
$38 = ($3|0)==(0);
$39 = $3&65535;
$40 = $38 ? 1 : $39;
$41 = ((($1)) + 22|0);
HEAP16[$41>>1] = $40;
}
$45 = ((($1)) + 8|0);
$46 = HEAP32[$45>>2]|0;
$47 = $46 | 16;
HEAP32[$45>>2] = $47;
$48 = ((($1)) + 232|0);
$49 = HEAP32[$48>>2]|0;
$50 = $49 | 8192;
HEAP32[$48>>2] = $50;
return;
}
function _png_set_sPLT($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$057 = 0, $$058 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
$5 = ($1|0)==(0|0);
$or$cond = $4 | $5;
$6 = ($3|0)<(1);
$or$cond3 = $or$cond | $6;
$7 = ($2|0)==(0|0);
$or$cond5 = $7 | $or$cond3;
if ($or$cond5) {
return;
}
$8 = ((($1)) + 244|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($1)) + 248|0);
$11 = HEAP32[$10>>2]|0;
$12 = (_png_realloc_array($0,$9,$11,$3,16)|0);
$13 = ($12|0)==(0|0);
if ($13) {
_png_chunk_report($0,21125,1);
return;
}
$14 = HEAP32[$8>>2]|0;
_png_free($0,$14);
HEAP32[$8>>2] = $12;
$15 = ((($1)) + 232|0);
$16 = HEAP32[$15>>2]|0;
$17 = $16 | 32;
HEAP32[$15>>2] = $17;
$18 = HEAP32[$10>>2]|0;
$19 = (($12) + ($18<<4)|0);
$20 = ((($1)) + 8|0);
$$0 = $2;$$057 = $19;$$058 = $3;
while(1) {
$21 = HEAP32[$$0>>2]|0;
$22 = ($21|0)==(0|0);
if ($22) {
label = 7;
} else {
$23 = ((($$0)) + 8|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==(0|0);
if ($25) {
label = 7;
} else {
$26 = ((($$0)) + 4|0);
$27 = HEAP8[$26>>0]|0;
$28 = ((($$057)) + 4|0);
HEAP8[$28>>0] = $27;
$29 = (_strlen($21)|0);
$30 = (($29) + 1)|0;
$31 = (_png_malloc_base($0,$30)|0);
HEAP32[$$057>>2] = $31;
$32 = ($31|0)==(0|0);
if ($32) {
break;
}
$33 = HEAP32[$$0>>2]|0;
_memcpy(($31|0),($33|0),($30|0))|0;
$34 = ((($$0)) + 12|0);
$35 = HEAP32[$34>>2]|0;
$36 = (_png_malloc_array($0,$35,10)|0);
$37 = ((($$057)) + 8|0);
HEAP32[$37>>2] = $36;
$38 = ($36|0)==(0|0);
if ($38) {
label = 10;
break;
}
$40 = HEAP32[$34>>2]|0;
$41 = ((($$057)) + 12|0);
HEAP32[$41>>2] = $40;
$42 = HEAP32[$23>>2]|0;
$43 = HEAP32[$34>>2]|0;
$44 = ($43*10)|0;
_memcpy(($36|0),($42|0),($44|0))|0;
$45 = HEAP32[$20>>2]|0;
$46 = $45 | 8192;
HEAP32[$20>>2] = $46;
$47 = HEAP32[$10>>2]|0;
$48 = (($47) + 1)|0;
HEAP32[$10>>2] = $48;
$49 = ((($$057)) + 16|0);
$$1 = $49;
}
}
if ((label|0) == 7) {
label = 0;
_png_app_error($0,21146);
$$1 = $$057;
}
$50 = ((($$0)) + 16|0);
$51 = (($$058) + -1)|0;
$52 = ($51|0)==(0);
if ($52) {
label = 15;
break;
} else {
$$0 = $50;$$057 = $$1;$$058 = $51;
}
}
if ((label|0) == 10) {
$39 = HEAP32[$$057>>2]|0;
_png_free($0,$39);
HEAP32[$$057>>2] = 0;
}
else if ((label|0) == 15) {
return;
}
$53 = ($$058|0)>(0);
if (!($53)) {
return;
}
_png_chunk_report($0,21173,1);
return;
}
function _png_set_unknown_chunks($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$04548 = 0, $$04647 = 0, $$049 = 0, $$1 = 0, $$1$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
$5 = ($1|0)==(0|0);
$or$cond = $4 | $5;
$6 = ($3|0)<(1);
$or$cond3 = $or$cond | $6;
$7 = ($2|0)==(0|0);
$or$cond5 = $7 | $or$cond3;
if ($or$cond5) {
return;
}
$8 = ((($1)) + 236|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($1)) + 240|0);
$11 = HEAP32[$10>>2]|0;
$12 = (_png_realloc_array($0,$9,$11,$3,20)|0);
$13 = ($12|0)==(0|0);
if ($13) {
_png_chunk_report($0,21192,1);
return;
}
$14 = HEAP32[$8>>2]|0;
_png_free($0,$14);
HEAP32[$8>>2] = $12;
$15 = ((($1)) + 232|0);
$16 = HEAP32[$15>>2]|0;
$17 = $16 | 512;
HEAP32[$15>>2] = $17;
$18 = ($3|0)>(0);
if (!($18)) {
return;
}
$19 = HEAP32[$10>>2]|0;
$20 = (($12) + (($19*20)|0)|0);
$21 = ((($0)) + 208|0);
$$04548 = $3;$$04647 = $2;$$049 = $20;
while(1) {
$22 = HEAP32[$$04647>>2]|0;
HEAP32[$$049>>2] = $22;
$23 = ((($$049)) + 4|0);
HEAP8[$23>>0] = 0;
$24 = ((($$04647)) + 16|0);
$25 = HEAP8[$24>>0]|0;
$26 = $25&255;
$27 = $26 & 11;
$28 = ($27|0)==(0);
if ($28) {
$29 = HEAP32[$21>>2]|0;
$30 = $29 & 32768;
$31 = ($30|0)==(0);
if (!($31)) {
label = 9;
break;
}
_png_app_warning($0,21216);
$32 = HEAP32[$21>>2]|0;
$33 = $32 & 11;
$34 = ($33|0)==(0);
if ($34) {
label = 9;
break;
} else {
$$1$i = $33;
}
} else {
$$1$i = $27;
}
while(1) {
$35 = (0 - ($$1$i))|0;
$36 = $$1$i & $35;
$37 = ($$1$i|0)==($36|0);
$38 = $36 ^ $$1$i;
if ($37) {
break;
} else {
$$1$i = $38;
}
}
$39 = $$1$i&255;
$40 = ((($$049)) + 16|0);
HEAP8[$40>>0] = $39;
$41 = ((($$04647)) + 12|0);
$42 = HEAP32[$41>>2]|0;
$43 = ($42|0)==(0);
do {
if ($43) {
$44 = ((($$049)) + 8|0);
HEAP32[$44>>2] = 0;
$45 = ((($$049)) + 12|0);
HEAP32[$45>>2] = 0;
label = 16;
} else {
$46 = (_png_malloc_base($0,$42)|0);
$47 = ((($$049)) + 8|0);
HEAP32[$47>>2] = $46;
$48 = ($46|0)==(0|0);
if ($48) {
_png_chunk_report($0,21311,1);
$$1 = $$049;
break;
} else {
$49 = ((($$04647)) + 8|0);
$50 = HEAP32[$49>>2]|0;
$51 = HEAP32[$41>>2]|0;
_memcpy(($46|0),($50|0),($51|0))|0;
$52 = HEAP32[$41>>2]|0;
$53 = ((($$049)) + 12|0);
HEAP32[$53>>2] = $52;
label = 16;
break;
}
}
} while(0);
if ((label|0) == 16) {
label = 0;
$54 = ((($$049)) + 20|0);
$55 = HEAP32[$10>>2]|0;
$56 = (($55) + 1)|0;
HEAP32[$10>>2] = $56;
$$1 = $54;
}
$57 = (($$04548) + -1)|0;
$58 = ((($$04647)) + 20|0);
$59 = ($$04548|0)>(1);
if ($59) {
$$04548 = $57;$$04647 = $58;$$049 = $$1;
} else {
label = 18;
break;
}
}
if ((label|0) == 9) {
_png_error($0,21268);
// unreachable;
}
else if ((label|0) == 18) {
return;
}
}
function _png_app_warning($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 212|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 2097152;
$5 = ($4|0)==(0);
if ($5) {
_png_error($0,$1);
// unreachable;
} else {
_png_warning($0,$1);
return;
}
}
function _png_set_keep_unknown_chunks($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$017$i = 0, $$018$lcssa$i = 0, $$01821$i = 0, $$01821$i$us = 0, $$022$i = 0, $$022$i$us = 0, $$07389 = 0, $$07588 = 0, $$076$lcssa = 0, $$07691 = 0, $$077 = 0, $$079 = 0, $$082 = 0, $$092 = 0, $$092$us = 0, $$174 = 0, $$17887 = 0, $$190 = 0, $$2 = 0;
var $$281 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond98 = 0, $exitcond99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
if ($4) {
return;
}
$5 = ($1>>>0)>(3);
if ($5) {
_png_app_error($0,21340);
return;
}
$6 = ($3|0)<(1);
if ($6) {
$7 = ((($0)) + 688|0);
HEAP32[$7>>2] = $1;
$8 = ($3|0)==(0);
if ($8) {
return;
} else {
$$077 = 17;$$082 = 21425;
}
} else {
$9 = ($2|0)==(0|0);
if ($9) {
_png_app_error($0,21382);
return;
} else {
$$077 = $3;$$082 = $2;
}
}
$10 = ((($0)) + 692|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 696|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
$$ = $14 ? 0 : $11;
$15 = (($$) + ($$077))|0;
$16 = ($15>>>0)>(858993459);
if ($16) {
_png_app_error($0,21510);
return;
}
$17 = ($1|0)==(0);
if ($17) {
$23 = ($$|0)==(0);
if ($23) {
$$281 = 0;$$3 = 0;
} else {
$$079 = $13;
label = 14;
}
} else {
$18 = ($15*5)|0;
$19 = (_png_malloc($0,$18)|0);
$20 = ($$|0)==(0);
if ($20) {
$$079 = $19;
label = 14;
} else {
$21 = ($$*5)|0;
$22 = HEAP32[$12>>2]|0;
_memcpy(($19|0),($22|0),($21|0))|0;
$$079 = $19;
label = 14;
}
}
do {
if ((label|0) == 14) {
$24 = ($$079|0)==(0|0);
if ($24) {
$$281 = 0;$$3 = 0;
} else {
$25 = ($$077|0)==(0);
if ($25) {
$$076$lcssa = $$;
} else {
$26 = $1&255;
if ($17) {
$27 = ($$|0)==(0);
$$092$us = 0;
while(1) {
$28 = ($$092$us*5)|0;
$29 = (($$082) + ($28)|0);
L32: do {
if (!($27)) {
$$01821$i$us = $$079;$$022$i$us = 0;
while(1) {
$30 = (_memcmp($$01821$i$us,$29,4)|0);
$31 = ($30|0)==(0);
if ($31) {
break;
}
$32 = (($$022$i$us) + 1)|0;
$33 = ((($$01821$i$us)) + 5|0);
$34 = ($32>>>0)<($$>>>0);
if ($34) {
$$01821$i$us = $33;$$022$i$us = $32;
} else {
break L32;
}
}
$35 = ((($$01821$i$us)) + 4|0);
HEAP8[$35>>0] = $26;
}
} while(0);
$36 = (($$092$us) + 1)|0;
$exitcond98 = ($36|0)==($$077|0);
if ($exitcond98) {
$$076$lcssa = $$;
break;
} else {
$$092$us = $36;
}
}
} else {
$$07691 = $$;$$092 = 0;
while(1) {
$38 = ($$092*5)|0;
$39 = (($$082) + ($38)|0);
$40 = ($$07691|0)==(0);
L40: do {
if ($40) {
$$018$lcssa$i = $$079;
label = 28;
} else {
$$01821$i = $$079;$$022$i = 0;
while(1) {
$41 = (_memcmp($$01821$i,$39,4)|0);
$42 = ($41|0)==(0);
if ($42) {
break;
}
$44 = (($$022$i) + 1)|0;
$45 = ((($$01821$i)) + 5|0);
$46 = ($44>>>0)<($$07691>>>0);
if ($46) {
$$01821$i = $45;$$022$i = $44;
} else {
$$018$lcssa$i = $45;
label = 28;
break L40;
}
}
$43 = ((($$01821$i)) + 4|0);
HEAP8[$43>>0] = $26;
$$017$i = $$07691;
}
} while(0);
if ((label|0) == 28) {
label = 0;
$47 = (($$07691) + 1)|0;
$48 = HEAPU8[$39>>0]|(HEAPU8[$39+1>>0]<<8)|(HEAPU8[$39+2>>0]<<16)|(HEAPU8[$39+3>>0]<<24);
HEAP8[$$018$lcssa$i>>0]=$48&255;HEAP8[$$018$lcssa$i+1>>0]=($48>>8)&255;HEAP8[$$018$lcssa$i+2>>0]=($48>>16)&255;HEAP8[$$018$lcssa$i+3>>0]=$48>>24;
$49 = ((($$018$lcssa$i)) + 4|0);
HEAP8[$49>>0] = $26;
$$017$i = $47;
}
$50 = (($$092) + 1)|0;
$exitcond99 = ($50|0)==($$077|0);
if ($exitcond99) {
$$076$lcssa = $$017$i;
break;
} else {
$$07691 = $$017$i;$$092 = $50;
}
}
}
}
$37 = ($$076$lcssa|0)==(0);
if (!($37)) {
$$07389 = $$079;$$07588 = $$079;$$17887 = 0;$$190 = 0;
while(1) {
$51 = ((($$07588)) + 4|0);
$52 = HEAP8[$51>>0]|0;
$53 = ($52<<24>>24)==(0);
if ($53) {
$$174 = $$07389;$$2 = $$17887;
} else {
$54 = ($$07389|0)==($$07588|0);
if (!($54)) {
;HEAP8[$$07389>>0]=HEAP8[$$07588>>0]|0;HEAP8[$$07389+1>>0]=HEAP8[$$07588+1>>0]|0;HEAP8[$$07389+2>>0]=HEAP8[$$07588+2>>0]|0;HEAP8[$$07389+3>>0]=HEAP8[$$07588+3>>0]|0;HEAP8[$$07389+4>>0]=HEAP8[$$07588+4>>0]|0;
}
$55 = ((($$07389)) + 5|0);
$56 = (($$17887) + 1)|0;
$$174 = $55;$$2 = $56;
}
$57 = (($$190) + 1)|0;
$58 = ((($$07588)) + 5|0);
$exitcond = ($57|0)==($$076$lcssa|0);
if ($exitcond) {
break;
} else {
$$07389 = $$174;$$07588 = $58;$$17887 = $$2;$$190 = $57;
}
}
$59 = ($$2|0)==(0);
if (!($59)) {
$$281 = $$079;$$3 = $$2;
break;
}
}
$60 = HEAP32[$12>>2]|0;
$61 = ($60|0)==($$079|0);
if ($61) {
$$281 = 0;$$3 = 0;
} else {
_png_free($0,$$079);
$$281 = 0;$$3 = 0;
}
}
}
} while(0);
HEAP32[$10>>2] = $$3;
$62 = HEAP32[$12>>2]|0;
$63 = ($62|0)==($$281|0);
if ($63) {
return;
}
$64 = ($62|0)==(0|0);
if (!($64)) {
_png_free($0,$62);
}
HEAP32[$12>>2] = $$281;
return;
}
function _png_set_read_user_chunk_fn($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
return;
}
$4 = ((($0)) + 684|0);
HEAP32[$4>>2] = $2;
$5 = ((($0)) + 680|0);
HEAP32[$5>>2] = $1;
return;
}
function _png_free_buffer_list($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0|0);
if ($3) {
return;
}
HEAP32[$1>>2] = 0;
$$0 = $2;
while(1) {
$4 = HEAP32[$$0>>2]|0;
_png_free($0,$$0);
$5 = ($4|0)==(0|0);
if ($5) {
break;
} else {
$$0 = $4;
}
}
return;
}
function _png_do_write_transformations($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$$i = 0, $$0$i = 0, $$0100119$i = 0, $$0101118$i = 0, $$0102127$i = 0, $$0103113$i = 0, $$0103146$i = 0, $$0104145$i = 0, $$0106144$i = 0, $$0108143$i = 0, $$0110142$i = 0, $$0111126$i = 0, $$0112$i = 0, $$0113$$i = 0, $$0113125$i = 0, $$0115135$i = 0, $$0116134$i = 0, $$0118133$i = 0, $$0120132$i = 0, $$0122131$i = 0;
var $$0123124$i = 0, $$0128$i = 0, $$0142$lcssa$i = 0, $$0142180$i = 0, $$0144179$i = 0, $$0145167$i = 0, $$0146166$i = 0, $$0147186$i = 0, $$0148185$i = 0, $$0149$lcssa$i = 0, $$0149171$i = 0, $$0151$i = 0, $$0152170$i = 0, $$0153165$i = 0, $$0154$lcssa$i = 0, $$0154164$i = 0, $$0156177$i = 0, $$0157176$i = 0, $$07397$i = 0, $$07496$i = 0;
var $$07594$i = 0, $$07693$i = 0, $$07887$i = 0, $$07990$i = 0, $$08089$i = 0, $$088$i = 0, $$094110$i = 0, $$095123$i = 0, $$096122$i = 0, $$098115$i = 0, $$1$i = 0, $$1$i42 = 0, $$1105$i = 0, $$1107$i = 0, $$1109$i = 0, $$1112$i = 0, $$1117$i = 0, $$1119$i = 0, $$1121$i = 0, $$1143$i = 0;
var $$1150$i = 0, $$1155$i = 0, $$2$i = 0, $$lobit = 0, $$pn$i = 0, $$pn158$i = 0, $$pn159$i = 0, $$pn193$i = 0, $$pre = 0, $$pre$phi$iZ2D = 0, $$pre63 = 0, $$pre64 = 0, $$pre65 = 0, $$pre66 = 0, $$pre67 = 0, $$pre68 = 0, $$sink192$i = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0;
var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0;
var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0;
var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0;
var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0;
var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0;
var $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $exitcond$i37 = 0, $exitcond$i40 = 0, $exitcond$i44 = 0, $exitcond102$i = 0, $exitcond103$i = 0, $exitcond104$i = 0, $exitcond128$i = 0, $exitcond129$i = 0, $exitcond130$i = 0, $exitcond153$i = 0, $exitcond154$i = 0, $exitcond190$i = 0, $exitcond191$i = 0, $or$cond$i = 0, $or$cond160$i = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$2 = sp + 16|0;
$3 = sp;
$4 = ($0|0)==(0|0);
if ($4) {
STACKTOP = sp;return;
}
$5 = ((($0)) + 216|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 1048576;
$8 = ($7|0)==(0);
if ($8) {
$16 = $6;
} else {
$9 = ((($0)) + 196|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if ($11) {
$16 = $6;
} else {
$12 = ((($0)) + 384|0);
$13 = HEAP32[$12>>2]|0;
$14 = ((($13)) + 1|0);
FUNCTION_TABLE_viii[$10 & 127]($0,$1,$14);
$$pre = HEAP32[$5>>2]|0;
$16 = $$pre;
}
}
$15 = $16 & 32768;
$17 = ($15|0)==(0);
if ($17) {
$26 = $16;
} else {
$18 = ((($0)) + 384|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($19)) + 1|0);
$21 = ((($0)) + 212|0);
$22 = HEAP32[$21>>2]|0;
$23 = $22 >>> 7;
$$lobit = $23 & 1;
$24 = $$lobit ^ 1;
_png_do_strip_channel($1,$20,$24);
$$pre63 = HEAP32[$5>>2]|0;
$26 = $$pre63;
}
$25 = $26 & 65536;
$27 = ($25|0)==(0);
if ($27) {
$32 = $26;
} else {
$28 = ((($0)) + 384|0);
$29 = HEAP32[$28>>2]|0;
$30 = ((($29)) + 1|0);
_png_do_packswap($1,$30);
$$pre64 = HEAP32[$5>>2]|0;
$32 = $$pre64;
}
$31 = $32 & 4;
$33 = ($31|0)==(0);
if ($33) {
$105 = $32;
} else {
$34 = ((($0)) + 384|0);
$35 = HEAP32[$34>>2]|0;
$36 = ((($35)) + 1|0);
$37 = ((($0)) + 436|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$40 = ((($1)) + 9|0);
$41 = HEAP8[$40>>0]|0;
$42 = ($41<<24>>24)==(8);
if ($42) {
$43 = ((($1)) + 10|0);
$44 = HEAP8[$43>>0]|0;
$45 = ($44<<24>>24)==(1);
if ($45) {
switch ($38<<24>>24) {
case 1: {
$46 = HEAP32[$1>>2]|0;
$47 = ($46|0)==(0);
if ($47) {
$$pre$phi$iZ2D = $1;
} else {
$$0102127$i = $36;$$0111126$i = 128;$$0113125$i = 0;$$0123124$i = 0;$$0128$i = $36;
while(1) {
$48 = HEAP8[$$0128$i>>0]|0;
$49 = ($48<<24>>24)==(0);
$50 = $49 ? 0 : $$0111126$i;
$$0113$$i = $50 | $$0113125$i;
$51 = ((($$0128$i)) + 1|0);
$52 = ($$0111126$i|0)>(1);
if ($52) {
$53 = $$0111126$i >> 1;
$$1$i = $$0102127$i;$$1112$i = $53;$$2$i = $$0113$$i;
} else {
$54 = $$0113$$i&255;
HEAP8[$$0102127$i>>0] = $54;
$55 = ((($$0102127$i)) + 1|0);
$$1$i = $55;$$1112$i = 128;$$2$i = 0;
}
$56 = (($$0123124$i) + 1)|0;
$exitcond$i = ($56|0)==($46|0);
if ($exitcond$i) {
break;
} else {
$$0102127$i = $$1$i;$$0111126$i = $$1112$i;$$0113125$i = $$2$i;$$0123124$i = $56;$$0128$i = $51;
}
}
$57 = ($$1112$i|0)==(128);
if ($57) {
$$pre$phi$iZ2D = $1;
} else {
$58 = $$2$i&255;
HEAP8[$$1$i>>0] = $58;
$$pre$phi$iZ2D = $1;
}
}
break;
}
case 2: {
$59 = HEAP32[$1>>2]|0;
$60 = ($59|0)==(0);
if ($60) {
$$pre$phi$iZ2D = $1;
} else {
$$0115135$i = 0;$$0116134$i = 0;$$0118133$i = 6;$$0120132$i = $36;$$0122131$i = $36;
while(1) {
$61 = HEAP8[$$0122131$i>>0]|0;
$62 = $61&255;
$63 = $62 & 3;
$64 = $63 << $$0118133$i;
$65 = $64 | $$0116134$i;
$66 = ($$0118133$i|0)==(0);
if ($66) {
$67 = $65&255;
HEAP8[$$0120132$i>>0] = $67;
$68 = ((($$0120132$i)) + 1|0);
$$1117$i = 0;$$1119$i = 6;$$1121$i = $68;
} else {
$69 = (($$0118133$i) + -2)|0;
$$1117$i = $65;$$1119$i = $69;$$1121$i = $$0120132$i;
}
$70 = ((($$0122131$i)) + 1|0);
$71 = (($$0115135$i) + 1)|0;
$exitcond153$i = ($71|0)==($59|0);
if ($exitcond153$i) {
break;
} else {
$$0115135$i = $71;$$0116134$i = $$1117$i;$$0118133$i = $$1119$i;$$0120132$i = $$1121$i;$$0122131$i = $70;
}
}
$72 = ($$1119$i|0)==(6);
if ($72) {
$$pre$phi$iZ2D = $1;
} else {
$73 = $$1117$i&255;
HEAP8[$$1121$i>>0] = $73;
$$pre$phi$iZ2D = $1;
}
}
break;
}
case 4: {
$74 = HEAP32[$1>>2]|0;
$75 = ($74|0)==(0);
if ($75) {
$$pre$phi$iZ2D = $1;
} else {
$$0103146$i = 0;$$0104145$i = 0;$$0106144$i = 4;$$0108143$i = $36;$$0110142$i = $36;
while(1) {
$76 = HEAP8[$$0110142$i>>0]|0;
$77 = $76&255;
$78 = $77 & 15;
$79 = $78 << $$0106144$i;
$80 = $79 | $$0104145$i;
$81 = ($$0106144$i|0)==(0);
if ($81) {
$82 = $80&255;
HEAP8[$$0108143$i>>0] = $82;
$83 = ((($$0108143$i)) + 1|0);
$$1105$i = 0;$$1107$i = 4;$$1109$i = $83;
} else {
$84 = (($$0106144$i) + -4)|0;
$$1105$i = $80;$$1107$i = $84;$$1109$i = $$0108143$i;
}
$85 = ((($$0110142$i)) + 1|0);
$86 = (($$0103146$i) + 1)|0;
$exitcond154$i = ($86|0)==($74|0);
if ($exitcond154$i) {
break;
} else {
$$0103146$i = $86;$$0104145$i = $$1105$i;$$0106144$i = $$1107$i;$$0108143$i = $$1109$i;$$0110142$i = $85;
}
}
$87 = ($$1107$i|0)==(4);
if ($87) {
$$pre$phi$iZ2D = $1;
} else {
$88 = $$1105$i&255;
HEAP8[$$1109$i>>0] = $88;
$$pre$phi$iZ2D = $1;
}
}
break;
}
default: {
$$pre$phi$iZ2D = $1;
}
}
HEAP8[$40>>0] = $38;
$89 = HEAP8[$43>>0]|0;
$90 = $89&255;
$91 = Math_imul($90, $39)|0;
$92 = $91&255;
$93 = ((($1)) + 11|0);
HEAP8[$93>>0] = $92;
$94 = $91 & 255;
$95 = ($94>>>0)>(7);
$96 = HEAP32[$$pre$phi$iZ2D>>2]|0;
if ($95) {
$97 = $94 >>> 3;
$98 = Math_imul($97, $96)|0;
$103 = $98;
} else {
$99 = Math_imul($94, $96)|0;
$100 = (($99) + 7)|0;
$101 = $100 >>> 3;
$103 = $101;
}
$102 = ((($1)) + 4|0);
HEAP32[$102>>2] = $103;
$$pre65 = HEAP32[$5>>2]|0;
$105 = $$pre65;
} else {
$105 = $32;
}
} else {
$105 = $32;
}
}
$104 = $105 & 16;
$106 = ($104|0)==(0);
if ($106) {
$111 = $105;
} else {
$107 = ((($0)) + 384|0);
$108 = HEAP32[$107>>2]|0;
$109 = ((($108)) + 1|0);
_png_do_swap($1,$109);
$$pre66 = HEAP32[$5>>2]|0;
$111 = $$pre66;
}
$110 = $111 & 8;
$112 = ($110|0)==(0);
if ($112) {
$226 = $111;
} else {
$113 = ((($0)) + 384|0);
$114 = HEAP32[$113>>2]|0;
$115 = ((($114)) + 1|0);
$116 = ((($1)) + 8|0);
$117 = HEAP16[$116>>1]|0;
$118 = $117&255;
$119 = ($118<<24>>24)==(3);
$120 = ($117&65535) >>> 8;
$121 = $120&255;
if ($119) {
$226 = $111;
} else {
$122 = $118 & 2;
$123 = ($122<<24>>24)==(0);
$124 = $120&65535;
if ($123) {
$140 = ((($0)) + 524|0);
$141 = HEAP8[$140>>0]|0;
$142 = $141&255;
$$0$i = 1;$$pn193$i = $142;
} else {
$125 = ((($0)) + 521|0);
$126 = HEAP8[$125>>0]|0;
$127 = $126&255;
$128 = ((($0)) + 522|0);
$129 = HEAP8[$128>>0]|0;
$130 = $129&255;
$131 = (($124) - ($130))|0;
$132 = ((($2)) + 4|0);
HEAP32[$132>>2] = $131;
$133 = ((($3)) + 4|0);
HEAP32[$133>>2] = $130;
$134 = ((($0)) + 523|0);
$135 = HEAP8[$134>>0]|0;
$136 = $135&255;
$137 = (($124) - ($136))|0;
$138 = ((($2)) + 8|0);
HEAP32[$138>>2] = $137;
$139 = ((($3)) + 8|0);
HEAP32[$139>>2] = $136;
$$0$i = 3;$$pn193$i = $127;
}
$$sink192$i = (($124) - ($$pn193$i))|0;
HEAP32[$2>>2] = $$sink192$i;
HEAP32[$3>>2] = $$pn193$i;
$143 = $118 & 4;
$144 = ($143<<24>>24)==(0);
if ($144) {
$$1$i42 = $$0$i;
} else {
$145 = ((($0)) + 525|0);
$146 = HEAP8[$145>>0]|0;
$147 = $146&255;
$148 = (($124) - ($147))|0;
$149 = (($2) + ($$0$i<<2)|0);
HEAP32[$149>>2] = $148;
$150 = (($3) + ($$0$i<<2)|0);
HEAP32[$150>>2] = $147;
$151 = (($$0$i) + 1)|0;
$$1$i42 = $151;
}
$152 = ($121&255)<(8);
do {
if ($152) {
$153 = ((($1)) + 4|0);
$154 = HEAP32[$153>>2]|0;
$155 = ((($0)) + 524|0);
$156 = HEAP8[$155>>0]|0;
$157 = ($156<<24>>24)==(1);
$158 = ($121<<24>>24)==(2);
$or$cond$i = $158 & $157;
if ($or$cond$i) {
$$0151$i = 85;
} else {
$159 = ($121<<24>>24)==(4);
$160 = ($156<<24>>24)==(3);
$or$cond160$i = $159 & $160;
$$$i = $or$cond160$i ? 17 : 255;
$$0151$i = $$$i;
}
$161 = ($154|0)==(0);
if (!($161)) {
$$0145167$i = $115;$$0146166$i = 0;
while(1) {
$162 = HEAP8[$$0145167$i>>0]|0;
$163 = $162&255;
$164 = HEAP32[$2>>2]|0;
$165 = HEAP32[$3>>2]|0;
$166 = (0 - ($165))|0;
$167 = ($164|0)>($166|0);
if ($167) {
$$0153165$i = $164;$$0154164$i = 0;
while(1) {
$168 = ($$0153165$i|0)>(0);
if ($168) {
$169 = $163 << $$0153165$i;
$$pn159$i = $169;
} else {
$170 = (0 - ($$0153165$i))|0;
$171 = $163 >>> $170;
$172 = $171 & $$0151$i;
$$pn159$i = $172;
}
$$1155$i = $$pn159$i | $$0154164$i;
$173 = (($$0153165$i) - ($165))|0;
$174 = ($173|0)>($166|0);
if ($174) {
$$0153165$i = $173;$$0154164$i = $$1155$i;
} else {
$$0154$lcssa$i = $$1155$i;
break;
}
}
} else {
$$0154$lcssa$i = 0;
}
$175 = $$0154$lcssa$i&255;
HEAP8[$$0145167$i>>0] = $175;
$176 = (($$0146166$i) + 1)|0;
$177 = ((($$0145167$i)) + 1|0);
$exitcond$i44 = ($176|0)==($154|0);
if ($exitcond$i44) {
break;
} else {
$$0145167$i = $177;$$0146166$i = $176;
}
}
}
} else {
$178 = ($121<<24>>24)==(8);
$179 = HEAP32[$1>>2]|0;
$180 = Math_imul($179, $$1$i42)|0;
$181 = ($180|0)!=(0);
if ($178) {
if ($181) {
$$0156177$i = 0;$$0157176$i = $115;
} else {
break;
}
while(1) {
$182 = (($$0156177$i>>>0) % ($$1$i42>>>0))&-1;
$183 = HEAP8[$$0157176$i>>0]|0;
$184 = $183&255;
$185 = (($2) + ($182<<2)|0);
$186 = HEAP32[$185>>2]|0;
$187 = (($3) + ($182<<2)|0);
$188 = HEAP32[$187>>2]|0;
$189 = (0 - ($188))|0;
$190 = ($186|0)>($189|0);
if ($190) {
$$0149171$i = 0;$$0152170$i = $186;
while(1) {
$191 = ($$0152170$i|0)>(0);
$192 = $184 << $$0152170$i;
$193 = (0 - ($$0152170$i))|0;
$194 = $184 >>> $193;
$$pn158$i = $191 ? $192 : $194;
$$1150$i = $$pn158$i | $$0149171$i;
$195 = (($$0152170$i) - ($188))|0;
$196 = ($195|0)>($189|0);
if ($196) {
$$0149171$i = $$1150$i;$$0152170$i = $195;
} else {
$$0149$lcssa$i = $$1150$i;
break;
}
}
} else {
$$0149$lcssa$i = 0;
}
$197 = $$0149$lcssa$i&255;
HEAP8[$$0157176$i>>0] = $197;
$198 = (($$0156177$i) + 1)|0;
$199 = ((($$0157176$i)) + 1|0);
$exitcond190$i = ($198|0)==($180|0);
if ($exitcond190$i) {
break;
} else {
$$0156177$i = $198;$$0157176$i = $199;
}
}
} else {
if ($181) {
$$0147186$i = 0;$$0148185$i = $115;
} else {
break;
}
while(1) {
$200 = (($$0147186$i>>>0) % ($$1$i42>>>0))&-1;
$201 = HEAP8[$$0148185$i>>0]|0;
$202 = $201&255;
$203 = $202 << 8;
$204 = ((($$0148185$i)) + 1|0);
$205 = HEAP8[$204>>0]|0;
$206 = $205&255;
$207 = $203 | $206;
$208 = (($2) + ($200<<2)|0);
$209 = HEAP32[$208>>2]|0;
$210 = (($3) + ($200<<2)|0);
$211 = HEAP32[$210>>2]|0;
$212 = (0 - ($211))|0;
$213 = ($209|0)>($212|0);
if ($213) {
$$0142180$i = 0;$$0144179$i = $209;
while(1) {
$214 = ($$0144179$i|0)>(0);
$215 = $207 << $$0144179$i;
$216 = (0 - ($$0144179$i))|0;
$217 = $207 >>> $216;
$$pn$i = $214 ? $215 : $217;
$$1143$i = $$pn$i | $$0142180$i;
$218 = (($$0144179$i) - ($211))|0;
$219 = ($218|0)>($212|0);
if ($219) {
$$0142180$i = $$1143$i;$$0144179$i = $218;
} else {
$$0142$lcssa$i = $$1143$i;
break;
}
}
} else {
$$0142$lcssa$i = 0;
}
$220 = $$0142$lcssa$i >>> 8;
$221 = $220&255;
HEAP8[$$0148185$i>>0] = $221;
$222 = $$0142$lcssa$i&255;
$223 = ((($$0148185$i)) + 2|0);
HEAP8[$204>>0] = $222;
$224 = (($$0147186$i) + 1)|0;
$exitcond191$i = ($224|0)==($180|0);
if ($exitcond191$i) {
break;
} else {
$$0147186$i = $224;$$0148185$i = $223;
}
}
}
}
} while(0);
$$pre67 = HEAP32[$5>>2]|0;
$226 = $$pre67;
}
}
$225 = $226 & 131072;
$227 = ($225|0)==(0);
L99: do {
if (!($227)) {
$228 = ((($0)) + 384|0);
$229 = HEAP32[$228>>2]|0;
$230 = ((($229)) + 1|0);
$231 = ((($1)) + 8|0);
$232 = HEAP16[$231>>1]|0;
$233 = $232&255;
$234 = ($232&65535) >>> 8;
$235 = $234&255;
switch ($233<<24>>24) {
case 6: {
$236 = ($235<<24>>24)==(8);
$237 = HEAP32[$1>>2]|0;
$238 = ($237|0)!=(0);
if ($236) {
if ($238) {
$$0112$i = $230;$$094110$i = 0;
} else {
break L99;
}
while(1) {
$239 = ((($$0112$i)) + 1|0);
$240 = HEAP8[$$0112$i>>0]|0;
$241 = ((($$0112$i)) + 2|0);
$242 = HEAP8[$239>>0]|0;
HEAP8[$$0112$i>>0] = $242;
$243 = ((($$0112$i)) + 3|0);
$244 = HEAP8[$241>>0]|0;
HEAP8[$239>>0] = $244;
$245 = ((($$0112$i)) + 4|0);
$246 = HEAP8[$243>>0]|0;
HEAP8[$241>>0] = $246;
HEAP8[$243>>0] = $240;
$247 = (($$094110$i) + 1)|0;
$exitcond$i40 = ($247|0)==($237|0);
if ($exitcond$i40) {
break;
} else {
$$0112$i = $245;$$094110$i = $247;
}
}
} else {
if ($238) {
$$0103113$i = 0;$$098115$i = $230;
} else {
break L99;
}
while(1) {
$248 = ((($$098115$i)) + 1|0);
$249 = HEAP8[$$098115$i>>0]|0;
$250 = ((($$098115$i)) + 2|0);
$251 = HEAP8[$248>>0]|0;
$252 = ((($$098115$i)) + 3|0);
$253 = HEAP8[$250>>0]|0;
HEAP8[$$098115$i>>0] = $253;
$254 = ((($$098115$i)) + 4|0);
$255 = HEAP8[$252>>0]|0;
HEAP8[$248>>0] = $255;
$256 = ((($$098115$i)) + 5|0);
$257 = HEAP8[$254>>0]|0;
HEAP8[$250>>0] = $257;
$258 = ((($$098115$i)) + 6|0);
$259 = HEAP8[$256>>0]|0;
HEAP8[$252>>0] = $259;
$260 = ((($$098115$i)) + 7|0);
$261 = HEAP8[$258>>0]|0;
HEAP8[$254>>0] = $261;
$262 = ((($$098115$i)) + 8|0);
$263 = HEAP8[$260>>0]|0;
HEAP8[$256>>0] = $263;
HEAP8[$258>>0] = $249;
HEAP8[$260>>0] = $251;
$264 = (($$0103113$i) + 1)|0;
$exitcond128$i = ($264|0)==($237|0);
if ($exitcond128$i) {
break;
} else {
$$0103113$i = $264;$$098115$i = $262;
}
}
}
break;
}
case 4: {
$265 = ($235<<24>>24)==(8);
$266 = HEAP32[$1>>2]|0;
$267 = ($266|0)!=(0);
if ($265) {
if ($267) {
$$0100119$i = 0;$$0101118$i = $230;
} else {
break L99;
}
while(1) {
$268 = ((($$0101118$i)) + 1|0);
$269 = HEAP8[$$0101118$i>>0]|0;
$270 = ((($$0101118$i)) + 2|0);
$271 = HEAP8[$268>>0]|0;
HEAP8[$$0101118$i>>0] = $271;
HEAP8[$268>>0] = $269;
$272 = (($$0100119$i) + 1)|0;
$exitcond129$i = ($272|0)==($266|0);
if ($exitcond129$i) {
break;
} else {
$$0100119$i = $272;$$0101118$i = $270;
}
}
} else {
if ($267) {
$$095123$i = 0;$$096122$i = $230;
} else {
break L99;
}
while(1) {
$273 = ((($$096122$i)) + 1|0);
$274 = HEAP8[$$096122$i>>0]|0;
$275 = ((($$096122$i)) + 2|0);
$276 = HEAP8[$273>>0]|0;
$277 = ((($$096122$i)) + 3|0);
$278 = HEAP8[$275>>0]|0;
HEAP8[$$096122$i>>0] = $278;
$279 = ((($$096122$i)) + 4|0);
$280 = HEAP8[$277>>0]|0;
HEAP8[$273>>0] = $280;
HEAP8[$275>>0] = $274;
HEAP8[$277>>0] = $276;
$281 = (($$095123$i) + 1)|0;
$exitcond130$i = ($281|0)==($266|0);
if ($exitcond130$i) {
break;
} else {
$$095123$i = $281;$$096122$i = $279;
}
}
}
break;
}
default: {
break L99;
}
}
}
} while(0);
$282 = HEAP32[$5>>2]|0;
$283 = $282 & 524288;
$284 = ($283|0)==(0);
L119: do {
if (!($284)) {
$285 = ((($0)) + 384|0);
$286 = HEAP32[$285>>2]|0;
$287 = ((($286)) + 1|0);
$288 = ((($1)) + 8|0);
$289 = HEAP16[$288>>1]|0;
$290 = $289&255;
$291 = ($289&65535) >>> 8;
$292 = $291&255;
switch ($290<<24>>24) {
case 6: {
$293 = ($292<<24>>24)==(8);
$294 = HEAP32[$1>>2]|0;
$295 = ($294|0)!=(0);
if ($293) {
if ($295) {
$$07887$i = 0;$$088$i = $287;
} else {
break L119;
}
while(1) {
$296 = ((($$088$i)) + 3|0);
$297 = ((($$088$i)) + 4|0);
$298 = HEAP8[$296>>0]|0;
$299 = $298&255;
$300 = $299 ^ 255;
$301 = $300&255;
HEAP8[$296>>0] = $301;
$302 = (($$07887$i) + 1)|0;
$exitcond$i37 = ($302|0)==($294|0);
if ($exitcond$i37) {
break;
} else {
$$07887$i = $302;$$088$i = $297;
}
}
} else {
if ($295) {
$$07990$i = 0;$$08089$i = $287;
} else {
break L119;
}
while(1) {
$303 = ((($$08089$i)) + 6|0);
$304 = ((($$08089$i)) + 7|0);
$305 = HEAP8[$303>>0]|0;
$306 = $305&255;
$307 = $306 ^ 255;
$308 = $307&255;
HEAP8[$303>>0] = $308;
$309 = ((($$08089$i)) + 8|0);
$310 = HEAP8[$304>>0]|0;
$311 = $310&255;
$312 = $311 ^ 255;
$313 = $312&255;
HEAP8[$304>>0] = $313;
$314 = (($$07990$i) + 1)|0;
$exitcond102$i = ($314|0)==($294|0);
if ($exitcond102$i) {
break;
} else {
$$07990$i = $314;$$08089$i = $309;
}
}
}
break;
}
case 4: {
$315 = ($292<<24>>24)==(8);
$316 = HEAP32[$1>>2]|0;
$317 = ($316|0)!=(0);
if ($315) {
if ($317) {
$$07594$i = 0;$$07693$i = $287;
} else {
break L119;
}
while(1) {
$318 = ((($$07693$i)) + 1|0);
$319 = ((($$07693$i)) + 2|0);
$320 = HEAP8[$318>>0]|0;
$321 = $320&255;
$322 = $321 ^ 255;
$323 = $322&255;
HEAP8[$318>>0] = $323;
$324 = (($$07594$i) + 1)|0;
$exitcond103$i = ($324|0)==($316|0);
if ($exitcond103$i) {
break;
} else {
$$07594$i = $324;$$07693$i = $319;
}
}
} else {
if ($317) {
$$07397$i = 0;$$07496$i = $287;
} else {
break L119;
}
while(1) {
$325 = ((($$07496$i)) + 2|0);
$326 = ((($$07496$i)) + 3|0);
$327 = HEAP8[$325>>0]|0;
$328 = $327&255;
$329 = $328 ^ 255;
$330 = $329&255;
HEAP8[$325>>0] = $330;
$331 = ((($$07496$i)) + 4|0);
$332 = HEAP8[$326>>0]|0;
$333 = $332&255;
$334 = $333 ^ 255;
$335 = $334&255;
HEAP8[$326>>0] = $335;
$336 = (($$07397$i) + 1)|0;
$exitcond104$i = ($336|0)==($316|0);
if ($exitcond104$i) {
break;
} else {
$$07397$i = $336;$$07496$i = $331;
}
}
}
break;
}
default: {
break L119;
}
}
}
} while(0);
$337 = HEAP32[$5>>2]|0;
$338 = $337 & 1;
$339 = ($338|0)==(0);
if ($339) {
$344 = $337;
} else {
$340 = ((($0)) + 384|0);
$341 = HEAP32[$340>>2]|0;
$342 = ((($341)) + 1|0);
_png_do_bgr($1,$342);
$$pre68 = HEAP32[$5>>2]|0;
$344 = $$pre68;
}
$343 = $344 & 32;
$345 = ($343|0)==(0);
if ($345) {
STACKTOP = sp;return;
}
$346 = ((($0)) + 384|0);
$347 = HEAP32[$346>>2]|0;
$348 = ((($347)) + 1|0);
_png_do_invert($1,$348);
STACKTOP = sp;return;
}
function _png_do_strip_channel($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$ph = 0, $$0$ph101 = 0, $$074$lcssa = 0, $$074$ph = 0, $$07481 = 0, $$082 = 0, $$1$ph = 0, $$1$ph104 = 0, $$175$lcssa = 0, $$175$ph = 0, $$17583 = 0, $$184 = 0, $$2$ph = 0, $$2$ph108 = 0, $$276 = 0, $$289 = 0, $$3$ph = 0, $$3$ph112 = 0, $$377$lcssa = 0, $$377$ph = 0;
var $$37788 = 0, $$394 = 0, $$4$lcssa = 0, $$4$ph = 0, $$493 = 0, $$5 = 0, $$6 = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $scevgep = 0, $scevgep102 = 0, $scevgep103 = 0, $scevgep105 = 0, $scevgep105106 = 0, $scevgep107 = 0, $scevgep109 = 0, $scevgep109110 = 0, $scevgep111 = 0, $scevgep113 = 0, $scevgep113114 = 0, $scevgep115 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = (($1) + ($4)|0);
$6 = ((($0)) + 10|0);
$7 = HEAP8[$6>>0]|0;
switch ($7<<24>>24) {
case 2: {
$8 = ((($0)) + 9|0);
$9 = HEAP8[$8>>0]|0;
switch ($9<<24>>24) {
case 8: {
$10 = ($2|0)==(0);
$11 = ((($1)) + 2|0);
$12 = ((($1)) + 1|0);
$$074$ph = $10 ? $12 : $1;
$$0$ph = $10 ? $11 : $12;
$13 = ($$0$ph>>>0)<($5>>>0);
if ($13) {
$$0$ph101 = $$0$ph;
$14 = (($4) + -1)|0;
$15 = (($14) - ($$0$ph101))|0;
$scevgep = (($1) + ($15)|0);
$scevgep102 = $scevgep;
$16 = $scevgep102 >>> 1;
$17 = (($16) + 1)|0;
$$07481 = $$074$ph;$$082 = $$0$ph;
while(1) {
$18 = HEAP8[$$082>>0]|0;
$19 = ((($$07481)) + 1|0);
HEAP8[$$07481>>0] = $18;
$20 = ((($$082)) + 2|0);
$21 = ($20>>>0)<($5>>>0);
if ($21) {
$$07481 = $19;$$082 = $20;
} else {
break;
}
}
$scevgep103 = (($$074$ph) + ($17)|0);
$$074$lcssa = $scevgep103;
} else {
$$074$lcssa = $$074$ph;
}
$22 = ((($0)) + 11|0);
HEAP8[$22>>0] = 8;
$$276 = $$074$lcssa;
break;
}
case 16: {
$23 = ($2|0)==(0);
$24 = ((($1)) + 4|0);
$25 = ((($1)) + 2|0);
$$175$ph = $23 ? $25 : $1;
$$1$ph = $23 ? $24 : $25;
$26 = ($$1$ph>>>0)<($5>>>0);
if ($26) {
$$1$ph104 = $$1$ph;
$27 = (($4) + -1)|0;
$28 = (($27) - ($$1$ph104))|0;
$scevgep105 = (($1) + ($28)|0);
$scevgep105106 = $scevgep105;
$29 = $scevgep105106 >>> 2;
$30 = $29 << 1;
$31 = (($30) + 2)|0;
$$17583 = $$175$ph;$$184 = $$1$ph;
while(1) {
$32 = ((($$184)) + 1|0);
$33 = HEAP8[$$184>>0]|0;
$34 = ((($$17583)) + 1|0);
HEAP8[$$17583>>0] = $33;
$35 = HEAP8[$32>>0]|0;
$36 = ((($$17583)) + 2|0);
HEAP8[$34>>0] = $35;
$37 = ((($$184)) + 4|0);
$38 = ($37>>>0)<($5>>>0);
if ($38) {
$$17583 = $36;$$184 = $37;
} else {
break;
}
}
$scevgep107 = (($$175$ph) + ($31)|0);
$$175$lcssa = $scevgep107;
} else {
$$175$lcssa = $$175$ph;
}
$39 = ((($0)) + 11|0);
HEAP8[$39>>0] = 16;
$$276 = $$175$lcssa;
break;
}
default: {
return;
}
}
HEAP8[$6>>0] = 1;
$40 = ((($0)) + 8|0);
$41 = HEAP8[$40>>0]|0;
$42 = ($41<<24>>24)==(4);
if ($42) {
HEAP8[$40>>0] = 0;
$$6 = $$276;
} else {
$$6 = $$276;
}
break;
}
case 4: {
$43 = ((($0)) + 9|0);
$44 = HEAP8[$43>>0]|0;
switch ($44<<24>>24) {
case 8: {
$45 = ($2|0)==(0);
$46 = ((($1)) + 4|0);
$47 = ((($1)) + 3|0);
$48 = ((($1)) + 1|0);
$$377$ph = $45 ? $47 : $1;
$$2$ph = $45 ? $46 : $48;
$49 = ($$2$ph>>>0)<($5>>>0);
if ($49) {
$$2$ph108 = $$2$ph;
$50 = (($4) + -1)|0;
$51 = (($50) - ($$2$ph108))|0;
$scevgep109 = (($1) + ($51)|0);
$scevgep109110 = $scevgep109;
$52 = $scevgep109110 >>> 2;
$53 = ($52*3)|0;
$54 = (($53) + 3)|0;
$$289 = $$2$ph;$$37788 = $$377$ph;
while(1) {
$55 = ((($$289)) + 1|0);
$56 = HEAP8[$$289>>0]|0;
$57 = ((($$37788)) + 1|0);
HEAP8[$$37788>>0] = $56;
$58 = ((($$289)) + 2|0);
$59 = HEAP8[$55>>0]|0;
$60 = ((($$37788)) + 2|0);
HEAP8[$57>>0] = $59;
$61 = HEAP8[$58>>0]|0;
$62 = ((($$37788)) + 3|0);
HEAP8[$60>>0] = $61;
$63 = ((($$289)) + 4|0);
$64 = ($63>>>0)<($5>>>0);
if ($64) {
$$289 = $63;$$37788 = $62;
} else {
break;
}
}
$scevgep111 = (($$377$ph) + ($54)|0);
$$377$lcssa = $scevgep111;
} else {
$$377$lcssa = $$377$ph;
}
$65 = ((($0)) + 11|0);
HEAP8[$65>>0] = 24;
$$5 = $$377$lcssa;
break;
}
case 16: {
$66 = ($2|0)==(0);
$67 = ((($1)) + 8|0);
$68 = ((($1)) + 6|0);
$69 = ((($1)) + 2|0);
$$4$ph = $66 ? $68 : $1;
$$3$ph = $66 ? $67 : $69;
$70 = ($$3$ph>>>0)<($5>>>0);
if ($70) {
$$3$ph112 = $$3$ph;
$71 = (($4) + -1)|0;
$72 = (($71) - ($$3$ph112))|0;
$scevgep113 = (($1) + ($72)|0);
$scevgep113114 = $scevgep113;
$73 = $scevgep113114 >>> 3;
$74 = ($73*6)|0;
$75 = (($74) + 6)|0;
$$394 = $$3$ph;$$493 = $$4$ph;
while(1) {
$76 = ((($$394)) + 1|0);
$77 = HEAP8[$$394>>0]|0;
$78 = ((($$493)) + 1|0);
HEAP8[$$493>>0] = $77;
$79 = ((($$394)) + 2|0);
$80 = HEAP8[$76>>0]|0;
$81 = ((($$493)) + 2|0);
HEAP8[$78>>0] = $80;
$82 = ((($$394)) + 3|0);
$83 = HEAP8[$79>>0]|0;
$84 = ((($$493)) + 3|0);
HEAP8[$81>>0] = $83;
$85 = ((($$394)) + 4|0);
$86 = HEAP8[$82>>0]|0;
$87 = ((($$493)) + 4|0);
HEAP8[$84>>0] = $86;
$88 = ((($$394)) + 5|0);
$89 = HEAP8[$85>>0]|0;
$90 = ((($$493)) + 5|0);
HEAP8[$87>>0] = $89;
$91 = HEAP8[$88>>0]|0;
$92 = ((($$493)) + 6|0);
HEAP8[$90>>0] = $91;
$93 = ((($$394)) + 8|0);
$94 = ($93>>>0)<($5>>>0);
if ($94) {
$$394 = $93;$$493 = $92;
} else {
break;
}
}
$scevgep115 = (($$4$ph) + ($75)|0);
$$4$lcssa = $scevgep115;
} else {
$$4$lcssa = $$4$ph;
}
$95 = ((($0)) + 11|0);
HEAP8[$95>>0] = 48;
$$5 = $$4$lcssa;
break;
}
default: {
return;
}
}
HEAP8[$6>>0] = 3;
$96 = ((($0)) + 8|0);
$97 = HEAP8[$96>>0]|0;
$98 = ($97<<24>>24)==(6);
if ($98) {
HEAP8[$96>>0] = 2;
$$6 = $$5;
} else {
$$6 = $$5;
}
break;
}
default: {
return;
}
}
$99 = $$6;
$100 = $1;
$101 = (($99) - ($100))|0;
HEAP32[$3>>2] = $101;
return;
}
function _png_do_packswap($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 9|0);
$3 = HEAP8[$2>>0]|0;
$4 = ($3&255)<(8);
if (!($4)) {
return;
}
$5 = ((($0)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($1) + ($6)|0);
switch ($3<<24>>24) {
case 1: {
$$0 = 22067;
break;
}
case 2: {
$$0 = 21555;
break;
}
case 4: {
$$0 = 21811;
break;
}
default: {
return;
}
}
$8 = ($6|0)>(0);
if ($8) {
$$01819 = $1;
} else {
return;
}
while(1) {
$9 = HEAP8[$$01819>>0]|0;
$10 = $9&255;
$11 = (($$0) + ($10)|0);
$12 = HEAP8[$11>>0]|0;
HEAP8[$$01819>>0] = $12;
$13 = ((($$01819)) + 1|0);
$14 = ($13>>>0)<($7>>>0);
if ($14) {
$$01819 = $13;
} else {
break;
}
}
return;
}
function _png_do_swap($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$01718 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 9|0);
$3 = HEAP8[$2>>0]|0;
$4 = ($3<<24>>24)==(16);
if (!($4)) {
return;
}
$5 = HEAP32[$0>>2]|0;
$6 = ((($0)) + 10|0);
$7 = HEAP8[$6>>0]|0;
$8 = $7&255;
$9 = Math_imul($8, $5)|0;
$10 = ($9|0)==(0);
if ($10) {
return;
} else {
$$01718 = 0;$$019 = $1;
}
while(1) {
$11 = HEAP8[$$019>>0]|0;
$12 = ((($$019)) + 1|0);
$13 = HEAP8[$12>>0]|0;
HEAP8[$$019>>0] = $13;
HEAP8[$12>>0] = $11;
$14 = (($$01718) + 1)|0;
$15 = ((($$019)) + 2|0);
$exitcond = ($14|0)==($9|0);
if ($exitcond) {
break;
} else {
$$01718 = $14;$$019 = $15;
}
}
return;
}
function _png_do_bgr($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$07395 = 0, $$07494 = 0, $$07586 = 0, $$07692 = 0, $$07791 = 0, $$07889 = 0, $$07988 = 0, $$087 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond100 = 0, $exitcond101 = 0, $exitcond102 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 8|0);
$3 = HEAP16[$2>>1]|0;
$4 = $3&255;
$5 = $4 & 2;
$6 = ($5<<24>>24)==(0);
if ($6) {
return;
}
$7 = ($3&65535) >>> 8;
$8 = $7&255;
$9 = HEAP32[$0>>2]|0;
switch ($8<<24>>24) {
case 8: {
switch ($4<<24>>24) {
case 2: {
$11 = ($9|0)==(0);
if ($11) {
return;
} else {
$$07586 = 0;$$087 = $1;
}
while(1) {
$12 = HEAP8[$$087>>0]|0;
$13 = ((($$087)) + 2|0);
$14 = HEAP8[$13>>0]|0;
HEAP8[$$087>>0] = $14;
HEAP8[$13>>0] = $12;
$15 = (($$07586) + 1)|0;
$16 = ((($$087)) + 3|0);
$exitcond = ($15|0)==($9|0);
if ($exitcond) {
break;
} else {
$$07586 = $15;$$087 = $16;
}
}
return;
break;
}
case 6: {
$10 = ($9|0)==(0);
if ($10) {
return;
} else {
$$07889 = $1;$$07988 = 0;
}
while(1) {
$17 = HEAP8[$$07889>>0]|0;
$18 = ((($$07889)) + 2|0);
$19 = HEAP8[$18>>0]|0;
HEAP8[$$07889>>0] = $19;
HEAP8[$18>>0] = $17;
$20 = (($$07988) + 1)|0;
$21 = ((($$07889)) + 4|0);
$exitcond100 = ($20|0)==($9|0);
if ($exitcond100) {
break;
} else {
$$07889 = $21;$$07988 = $20;
}
}
return;
break;
}
default: {
return;
}
}
break;
}
case 16: {
switch ($4<<24>>24) {
case 2: {
$23 = ($9|0)==(0);
if ($23) {
return;
} else {
$$07692 = 0;$$07791 = $1;
}
while(1) {
$24 = HEAP8[$$07791>>0]|0;
$25 = ((($$07791)) + 4|0);
$26 = HEAP8[$25>>0]|0;
HEAP8[$$07791>>0] = $26;
HEAP8[$25>>0] = $24;
$27 = ((($$07791)) + 1|0);
$28 = HEAP8[$27>>0]|0;
$29 = ((($$07791)) + 5|0);
$30 = HEAP8[$29>>0]|0;
HEAP8[$27>>0] = $30;
HEAP8[$29>>0] = $28;
$31 = (($$07692) + 1)|0;
$32 = ((($$07791)) + 6|0);
$exitcond101 = ($31|0)==($9|0);
if ($exitcond101) {
break;
} else {
$$07692 = $31;$$07791 = $32;
}
}
return;
break;
}
case 6: {
$22 = ($9|0)==(0);
if ($22) {
return;
} else {
$$07395 = 0;$$07494 = $1;
}
while(1) {
$33 = HEAP8[$$07494>>0]|0;
$34 = ((($$07494)) + 4|0);
$35 = HEAP8[$34>>0]|0;
HEAP8[$$07494>>0] = $35;
HEAP8[$34>>0] = $33;
$36 = ((($$07494)) + 1|0);
$37 = HEAP8[$36>>0]|0;
$38 = ((($$07494)) + 5|0);
$39 = HEAP8[$38>>0]|0;
HEAP8[$36>>0] = $39;
HEAP8[$38>>0] = $37;
$40 = (($$07395) + 1)|0;
$41 = ((($$07494)) + 8|0);
$exitcond102 = ($40|0)==($9|0);
if ($exitcond102) {
break;
} else {
$$07395 = $40;$$07494 = $41;
}
}
return;
break;
}
default: {
return;
}
}
break;
}
default: {
return;
}
}
}
function _png_do_invert($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$04760 = 0, $$04859 = 0, $$04954 = 0, $$05057 = 0, $$05156 = 0, $$055 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 8|0);
$3 = HEAP16[$2>>1]|0;
$4 = $3&255;
switch ($4<<24>>24) {
case 0: {
$5 = ((($0)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0);
if ($7) {
return;
} else {
$$04954 = 0;$$055 = $1;
}
while(1) {
$8 = HEAP8[$$055>>0]|0;
$9 = $8&255;
$10 = $9 ^ 255;
$11 = $10&255;
HEAP8[$$055>>0] = $11;
$12 = ((($$055)) + 1|0);
$13 = (($$04954) + 1)|0;
$exitcond = ($13|0)==($6|0);
if ($exitcond) {
break;
} else {
$$04954 = $13;$$055 = $12;
}
}
return;
break;
}
case 4: {
$14 = ($3&65535) >>> 8;
$15 = $14&255;
switch ($15<<24>>24) {
case 8: {
$16 = ((($0)) + 4|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(0);
if ($18) {
return;
} else {
$$05057 = 0;$$05156 = $1;
}
while(1) {
$19 = HEAP8[$$05156>>0]|0;
$20 = $19&255;
$21 = $20 ^ 255;
$22 = $21&255;
HEAP8[$$05156>>0] = $22;
$23 = ((($$05156)) + 2|0);
$24 = (($$05057) + 2)|0;
$25 = ($24>>>0)<($17>>>0);
if ($25) {
$$05057 = $24;$$05156 = $23;
} else {
break;
}
}
return;
break;
}
case 16: {
$26 = ((($0)) + 4|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($27|0)==(0);
if ($28) {
return;
} else {
$$04760 = 0;$$04859 = $1;
}
while(1) {
$29 = HEAP8[$$04859>>0]|0;
$30 = $29&255;
$31 = $30 ^ 255;
$32 = $31&255;
HEAP8[$$04859>>0] = $32;
$33 = ((($$04859)) + 1|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34&255;
$36 = $35 ^ 255;
$37 = $36&255;
HEAP8[$33>>0] = $37;
$38 = ((($$04859)) + 4|0);
$39 = (($$04760) + 4)|0;
$40 = ($39>>>0)<($27>>>0);
if ($40) {
$$04760 = $39;$$04859 = $38;
} else {
break;
}
}
return;
break;
}
default: {
return;
}
}
break;
}
default: {
return;
}
}
}
function _png_write_sig($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = $1;
$3 = $2;
HEAP32[$3>>2] = 1196314761;
$4 = (($2) + 4)|0;
$5 = $4;
HEAP32[$5>>2] = 169478669;
$6 = ((($0)) + 800|0);
HEAP32[$6>>2] = 18;
$7 = ((($0)) + 441|0);
$8 = HEAP8[$7>>0]|0;
$9 = $8&255;
$10 = (($1) + ($9)|0);
$11 = (8 - ($9))|0;
_png_write_data($0,$10,$11);
$12 = HEAP8[$7>>0]|0;
$13 = ($12&255)<(3);
if (!($13)) {
STACKTOP = sp;return;
}
$14 = ((($0)) + 208|0);
$15 = HEAP32[$14>>2]|0;
$16 = $15 | 4096;
HEAP32[$14>>2] = $16;
STACKTOP = sp;return;
}
function _png_write_data($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 180|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
_png_error($0,22323);
// unreachable;
} else {
FUNCTION_TABLE_viii[$4 & 127]($0,$1,$2);
return;
}
}
function _png_reset_crc($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_crc32(0,0,0)|0);
$2 = ((($0)) + 412|0);
HEAP32[$2>>2] = $1;
return;
}
function _png_calculate_crc($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0 = 0, $$022 = 0, $$023 = 0, $$024 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 376|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 536870912;
$6 = ($5|0)==(0);
$7 = ((($0)) + 212|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 & 768;
$not$ = ($9|0)!=(768);
$10 = $8 & 2048;
$11 = ($10|0)==(0);
$$023 = $6 ? $11 : $not$;
$12 = ($2|0)!=(0);
$or$cond = $12 & $$023;
if (!($or$cond)) {
return;
}
$13 = ((($0)) + 412|0);
$14 = HEAP32[$13>>2]|0;
$$0 = $1;$$022 = $14;$$024 = $2;
while(1) {
$15 = ($$024|0)==(0);
$$ = $15 ? -1 : $$024;
$16 = (_crc32($$022,$$0,$$)|0);
$17 = (($$0) + ($$)|0);
$18 = (($$024) - ($$))|0;
$19 = ($18|0)==(0);
if ($19) {
break;
} else {
$$0 = $17;$$022 = $16;$$024 = $18;
}
}
HEAP32[$13>>2] = $16;
return;
}
function _png_write_chunk($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond3$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp + 8|0;
$5 = sp;
$6 = HEAP8[$1>>0]|0;
$7 = $6&255;
$8 = $7 << 24;
$9 = ((($1)) + 1|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10&255;
$12 = $11 << 16;
$13 = $12 | $8;
$14 = ((($1)) + 2|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15&255;
$17 = $16 << 8;
$18 = $13 | $17;
$19 = ((($1)) + 3|0);
$20 = HEAP8[$19>>0]|0;
$21 = $20&255;
$22 = $18 | $21;
$23 = ($0|0)==(0|0);
if ($23) {
STACKTOP = sp;return;
}
$24 = ($3|0)<(0);
if ($24) {
_png_error($0,22351);
// unreachable;
}
$25 = ((($0)) + 800|0);
HEAP32[$25>>2] = 34;
$26 = $3 >>> 24;
$27 = $26&255;
HEAP8[$5>>0] = $27;
$28 = $3 >>> 16;
$29 = $28&255;
$30 = ((($5)) + 1|0);
HEAP8[$30>>0] = $29;
$31 = $3 >>> 8;
$32 = $31&255;
$33 = ((($5)) + 2|0);
HEAP8[$33>>0] = $32;
$34 = $3&255;
$35 = ((($5)) + 3|0);
HEAP8[$35>>0] = $34;
$36 = ((($5)) + 4|0);
HEAP8[$36>>0] = $6;
$37 = ((($5)) + 5|0);
HEAP8[$37>>0] = $10;
$38 = ((($5)) + 6|0);
HEAP8[$38>>0] = $15;
$39 = ((($5)) + 7|0);
HEAP8[$39>>0] = $20;
_png_write_data($0,$5,8);
$40 = ((($0)) + 376|0);
HEAP32[$40>>2] = $22;
_png_reset_crc($0);
_png_calculate_crc($0,$36,4);
HEAP32[$25>>2] = 66;
$41 = ($2|0)!=(0|0);
$42 = ($3|0)!=(0);
$or$cond3$i$i = $41 & $42;
if ($or$cond3$i$i) {
_png_write_data($0,$2,$3);
_png_calculate_crc($0,$2,$3);
}
HEAP32[$25>>2] = 130;
$43 = ((($0)) + 412|0);
$44 = HEAP32[$43>>2]|0;
$45 = $44 >>> 24;
$46 = $45&255;
HEAP8[$4>>0] = $46;
$47 = $44 >>> 16;
$48 = $47&255;
$49 = ((($4)) + 1|0);
HEAP8[$49>>0] = $48;
$50 = $44 >>> 8;
$51 = $50&255;
$52 = ((($4)) + 2|0);
HEAP8[$52>>0] = $51;
$53 = $44&255;
$54 = ((($4)) + 3|0);
HEAP8[$54>>0] = $53;
_png_write_data($0,$4,4);
STACKTOP = sp;return;
}
function _png_write_IHDR($0,$1,$2,$3,$4,$5,$6,$7) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
var $$0 = 0, $$084 = 0, $$cmp = 0, $$mask = 0, $$old10 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0;
var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond11 = 0, $or$cond9$not = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$8 = sp + 24|0;
$9 = sp + 16|0;
$10 = sp;
L1: do {
switch ($4|0) {
case 0: {
switch ($3|0) {
case 16: case 8: case 4: case 2: case 1: {
$11 = ((($0)) + 439|0);
HEAP8[$11>>0] = 1;
break L1;
break;
}
default: {
_png_error($0,22378);
// unreachable;
}
}
break;
}
case 2: {
switch ($3|0) {
case 8: case 16: {
$12 = ((($0)) + 439|0);
HEAP8[$12>>0] = 3;
break L1;
break;
}
default: {
_png_error($0,22416);
// unreachable;
}
}
break;
}
case 3: {
switch ($3|0) {
case 8: case 4: case 2: case 1: {
$13 = ((($0)) + 439|0);
HEAP8[$13>>0] = 1;
break L1;
break;
}
default: {
_png_error($0,22448);
// unreachable;
}
}
break;
}
case 4: {
switch ($3|0) {
case 8: case 16: {
$14 = ((($0)) + 439|0);
HEAP8[$14>>0] = 2;
break L1;
break;
}
default: {
_png_error($0,22485);
// unreachable;
}
}
break;
}
case 6: {
switch ($3|0) {
case 8: case 16: {
$15 = ((($0)) + 439|0);
HEAP8[$15>>0] = 4;
break L1;
break;
}
default: {
_png_error($0,22529);
// unreachable;
}
}
break;
}
default: {
_png_error($0,22562);
// unreachable;
}
}
} while(0);
$16 = ($5|0)==(0);
if (!($16)) {
_png_warning($0,22597);
}
$17 = ((($0)) + 708|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 4;
$20 = ($19|0)==(0);
if ($20) {
label = 23;
} else {
$21 = ((($0)) + 208|0);
$22 = HEAP32[$21>>2]|0;
$23 = $22 & 4096;
$24 = ($23|0)==(0);
if ($24) {
$25 = $4 | 4;
$notlhs = ($25|0)!=(6);
$notrhs = ($6|0)!=(64);
$or$cond9$not = $notlhs | $notrhs;
$26 = ($6|0)!=(0);
$or$cond11 = $26 & $or$cond9$not;
if ($or$cond11) {
label = 24;
} else {
$$084 = $6;
}
} else {
label = 23;
}
}
if ((label|0) == 23) {
$$old10 = ($6|0)==(0);
if ($$old10) {
$$084 = 0;
} else {
label = 24;
}
}
if ((label|0) == 24) {
_png_warning($0,22632);
$$084 = 0;
}
$$cmp = ($7>>>0)>(1);
if ($$cmp) {
_png_warning($0,22662);
$$0 = 1;
} else {
$$0 = $7;
}
$27 = $3&255;
$28 = ((($0)) + 436|0);
HEAP8[$28>>0] = $27;
$29 = $4&255;
$30 = ((($0)) + 435|0);
HEAP8[$30>>0] = $29;
$31 = $$0&255;
$32 = ((($0)) + 432|0);
HEAP8[$32>>0] = $31;
$33 = $$084&255;
$34 = ((($0)) + 712|0);
HEAP8[$34>>0] = $33;
$35 = ((($0)) + 744|0);
HEAP8[$35>>0] = 0;
$36 = ((($0)) + 348|0);
HEAP32[$36>>2] = $1;
$37 = ((($0)) + 352|0);
HEAP32[$37>>2] = $2;
$38 = ((($0)) + 439|0);
$39 = HEAP8[$38>>0]|0;
$40 = $39&255;
$41 = Math_imul($40, $3)|0;
$42 = $41&255;
$43 = ((($0)) + 438|0);
HEAP8[$43>>0] = $42;
$44 = $41 & 255;
$45 = ($44>>>0)>(7);
if ($45) {
$46 = $44 >>> 3;
$47 = Math_imul($46, $1)|0;
$52 = $47;
} else {
$48 = Math_imul($44, $1)|0;
$49 = (($48) + 7)|0;
$50 = $49 >>> 3;
$52 = $50;
}
$51 = ((($0)) + 364|0);
HEAP32[$51>>2] = $52;
$53 = ((($0)) + 360|0);
HEAP32[$53>>2] = $1;
$54 = ((($0)) + 437|0);
HEAP8[$54>>0] = $27;
$55 = ((($0)) + 440|0);
HEAP8[$55>>0] = $39;
$56 = $1 >>> 24;
$57 = $56&255;
HEAP8[$10>>0] = $57;
$58 = $1 >>> 16;
$59 = $58&255;
$60 = ((($10)) + 1|0);
HEAP8[$60>>0] = $59;
$61 = $1 >>> 8;
$62 = $61&255;
$63 = ((($10)) + 2|0);
HEAP8[$63>>0] = $62;
$64 = $1&255;
$65 = ((($10)) + 3|0);
HEAP8[$65>>0] = $64;
$66 = ((($10)) + 4|0);
$67 = $2 >>> 24;
$68 = $67&255;
HEAP8[$66>>0] = $68;
$69 = $2 >>> 16;
$70 = $69&255;
$71 = ((($10)) + 5|0);
HEAP8[$71>>0] = $70;
$72 = $2 >>> 8;
$73 = $72&255;
$74 = ((($10)) + 6|0);
HEAP8[$74>>0] = $73;
$75 = $2&255;
$76 = ((($10)) + 7|0);
HEAP8[$76>>0] = $75;
$77 = ((($10)) + 8|0);
HEAP8[$77>>0] = $27;
$78 = ((($10)) + 9|0);
HEAP8[$78>>0] = $29;
$79 = ((($10)) + 10|0);
HEAP8[$79>>0] = 0;
$80 = ((($10)) + 11|0);
HEAP8[$80>>0] = $33;
$81 = ((($10)) + 12|0);
HEAP8[$81>>0] = $31;
$82 = ((($0)) + 800|0);
HEAP32[$82>>2] = 34;
HEAP8[$8>>0] = 0;
$83 = ((($8)) + 1|0);
HEAP8[$83>>0] = 0;
$84 = ((($8)) + 2|0);
HEAP8[$84>>0] = 0;
$85 = ((($8)) + 3|0);
HEAP8[$85>>0] = 13;
$86 = ((($8)) + 4|0);
HEAP8[$86>>0] = 73;
$87 = ((($8)) + 5|0);
HEAP8[$87>>0] = 72;
$88 = ((($8)) + 6|0);
HEAP8[$88>>0] = 68;
$89 = ((($8)) + 7|0);
HEAP8[$89>>0] = 82;
_png_write_data($0,$8,8);
$90 = ((($0)) + 376|0);
HEAP32[$90>>2] = 1229472850;
_png_reset_crc($0);
_png_calculate_crc($0,$86,4);
HEAP32[$82>>2] = 66;
_png_write_data($0,$10,13);
_png_calculate_crc($0,$10,13);
HEAP32[$82>>2] = 130;
$91 = ((($0)) + 412|0);
$92 = HEAP32[$91>>2]|0;
$93 = $92 >>> 24;
$94 = $93&255;
HEAP8[$9>>0] = $94;
$95 = $92 >>> 16;
$96 = $95&255;
$97 = ((($9)) + 1|0);
HEAP8[$97>>0] = $96;
$98 = $92 >>> 8;
$99 = $98&255;
$100 = ((($9)) + 2|0);
HEAP8[$100>>0] = $99;
$101 = $92&255;
$102 = ((($9)) + 3|0);
HEAP8[$102>>0] = $101;
_png_write_data($0,$9,4);
$103 = ((($0)) + 434|0);
$104 = HEAP16[$103>>1]|0;
$105 = $104&255;
$106 = ($105<<24>>24)==(0);
if (!($106)) {
$110 = ((($0)) + 208|0);
HEAP32[$110>>2] = 1;
STACKTOP = sp;return;
}
$$mask = $104 & -256;
$107 = ($$mask<<16>>16)==(768);
if (!($107)) {
$108 = HEAP8[$28>>0]|0;
$109 = ($108&255)<(8);
if (!($109)) {
HEAP8[$103>>0] = -8;
$110 = ((($0)) + 208|0);
HEAP32[$110>>2] = 1;
STACKTOP = sp;return;
}
}
HEAP8[$103>>0] = 8;
$110 = ((($0)) + 208|0);
HEAP32[$110>>2] = 1;
STACKTOP = sp;return;
}
function _png_write_PLTE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$02627 = 0, $$028 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0;
var $exitcond30 = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$3 = sp + 16|0;
$4 = sp + 8|0;
$5 = sp;
$6 = ((($0)) + 708|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 1;
$9 = $8 | $2;
$10 = ($9|0)==(0);
$11 = ($2>>>0)>(256);
$or$cond3 = $11 | $10;
$12 = ((($0)) + 435|0);
$13 = HEAP8[$12>>0]|0;
if ($or$cond3) {
$14 = ($13<<24>>24)==(3);
if ($14) {
_png_error($0,22695);
// unreachable;
}
_png_warning($0,22695);
STACKTOP = sp;return;
}
$15 = $13 & 2;
$16 = ($15<<24>>24)==(0);
if ($16) {
_png_warning($0,22731);
STACKTOP = sp;return;
}
$17 = $2&65535;
$18 = ((($0)) + 420|0);
HEAP16[$18>>1] = $17;
$19 = ($2*3)|0;
$20 = ((($0)) + 800|0);
HEAP32[$20>>2] = 34;
$21 = $19 >>> 24;
$22 = $21&255;
HEAP8[$4>>0] = $22;
$23 = $19 >>> 16;
$24 = $23&255;
$25 = ((($4)) + 1|0);
HEAP8[$25>>0] = $24;
$26 = $19 >>> 8;
$27 = $26&255;
$28 = ((($4)) + 2|0);
HEAP8[$28>>0] = $27;
$29 = $19&255;
$30 = ((($4)) + 3|0);
HEAP8[$30>>0] = $29;
$31 = ((($4)) + 4|0);
HEAP8[$31>>0] = 80;
$32 = ((($4)) + 5|0);
HEAP8[$32>>0] = 76;
$33 = ((($4)) + 6|0);
HEAP8[$33>>0] = 84;
$34 = ((($4)) + 7|0);
HEAP8[$34>>0] = 69;
_png_write_data($0,$4,8);
$35 = ((($0)) + 376|0);
HEAP32[$35>>2] = 1347179589;
_png_reset_crc($0);
_png_calculate_crc($0,$31,4);
HEAP32[$20>>2] = 66;
$36 = ($2|0)==(0);
if (!($36)) {
$37 = ((($5)) + 1|0);
$38 = ((($5)) + 2|0);
$$02627 = 0;$$028 = $1;
while(1) {
$39 = HEAP8[$$028>>0]|0;
HEAP8[$5>>0] = $39;
$40 = ((($$028)) + 1|0);
$41 = HEAP8[$40>>0]|0;
HEAP8[$37>>0] = $41;
$42 = ((($$028)) + 2|0);
$43 = HEAP8[$42>>0]|0;
HEAP8[$38>>0] = $43;
_png_write_data($0,$5,3);
_png_calculate_crc($0,$5,3);
$44 = (($$02627) + 1)|0;
$45 = ((($$028)) + 3|0);
$exitcond30 = ($44|0)==($2|0);
if ($exitcond30) {
break;
} else {
$$02627 = $44;$$028 = $45;
}
}
}
HEAP32[$20>>2] = 130;
$46 = ((($0)) + 412|0);
$47 = HEAP32[$46>>2]|0;
$48 = $47 >>> 24;
$49 = $48&255;
HEAP8[$3>>0] = $49;
$50 = $47 >>> 16;
$51 = $50&255;
$52 = ((($3)) + 1|0);
HEAP8[$52>>0] = $51;
$53 = $47 >>> 8;
$54 = $53&255;
$55 = ((($3)) + 2|0);
HEAP8[$55>>0] = $54;
$56 = $47&255;
$57 = ((($3)) + 3|0);
HEAP8[$57>>0] = $56;
_png_write_data($0,$3,4);
$58 = ((($0)) + 208|0);
$59 = HEAP32[$58>>2]|0;
$60 = $59 | 2;
HEAP32[$58>>2] = $60;
STACKTOP = sp;return;
}
function _png_compress_IDAT($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0$i = 0, $$0$i87 = 0, $$0$i92 = 0, $$029$i = 0, $$029$i91 = 0, $$pre = 0, $$pre$phi117Z2D = 0, $$pre$phi119Z2D = 0, $$pre$phi121Z2D = 0, $$pre$phiZ2D = 0, $$pre116 = 0, $$pre118 = 0, $$pre120 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0;
var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$or$cond = 0, $notlhs = 0, $notrhs = 0, $or$cond$i = 0, $or$cond$i90 = 0;
var $or$cond3 = 0, $or$cond31$i = 0, $or$cond31$i93 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$4 = sp + 24|0;
$5 = sp + 16|0;
$6 = sp + 8|0;
$7 = sp;
$8 = ((($0)) + 220|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(1229209940);
do {
if ($10) {
$$pre = ((($0)) + 240|0);
$$pre116 = ((($0)) + 280|0);
$$pre118 = ((($0)) + 284|0);
$$pre120 = ((($0)) + 236|0);
$$pre$phi117Z2D = $$pre116;$$pre$phi119Z2D = $$pre118;$$pre$phi121Z2D = $$pre120;$$pre$phiZ2D = $$pre;
} else {
$11 = ((($0)) + 280|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0|0);
if ($13) {
$14 = ((($0)) + 284|0);
$15 = HEAP32[$14>>2]|0;
$16 = (($15) + 4)|0;
$17 = (_png_malloc($0,$16)|0);
HEAP32[$11>>2] = $17;
HEAP32[$17>>2] = 0;
} else {
$18 = HEAP32[$12>>2]|0;
$19 = ($18|0)==(0|0);
if (!($19)) {
HEAP32[$12>>2] = 0;
$$0$i = $18;
while(1) {
$20 = HEAP32[$$0$i>>2]|0;
_png_free($0,$$0$i);
$21 = ($20|0)==(0|0);
if ($21) {
break;
} else {
$$0$i = $20;
}
}
}
}
$22 = (_png_image_size($0)|0);
$23 = (_png_deflate_claim($0,1229209940,$22)|0);
$24 = ($23|0)==(0);
if ($24) {
$27 = HEAP32[$11>>2]|0;
$28 = ((($27)) + 4|0);
$29 = ((($0)) + 236|0);
HEAP32[$29>>2] = $28;
$30 = ((($0)) + 284|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($0)) + 240|0);
HEAP32[$32>>2] = $31;
$$pre$phi117Z2D = $11;$$pre$phi119Z2D = $30;$$pre$phi121Z2D = $29;$$pre$phiZ2D = $32;
break;
} else {
$25 = ((($0)) + 248|0);
$26 = HEAP32[$25>>2]|0;
_png_error($0,$26);
// unreachable;
}
}
} while(0);
$33 = ((($0)) + 224|0);
HEAP32[$33>>2] = $1;
$34 = ((($0)) + 228|0);
HEAP32[$34>>2] = 0;
$35 = ((($0)) + 208|0);
$36 = ((($0)) + 744|0);
$37 = ((($0)) + 800|0);
$38 = ((($4)) + 1|0);
$39 = ((($4)) + 2|0);
$40 = ((($4)) + 3|0);
$41 = ((($4)) + 4|0);
$42 = ((($4)) + 5|0);
$43 = ((($4)) + 6|0);
$44 = ((($4)) + 7|0);
$45 = ((($0)) + 376|0);
$46 = ((($0)) + 412|0);
$47 = ((($7)) + 1|0);
$48 = ((($7)) + 2|0);
$49 = ((($7)) + 3|0);
$notrhs = ($3|0)==(0);
$$0 = $2;
while(1) {
HEAP32[$34>>2] = $$0;
$50 = (_deflate($33,$3)|0);
$51 = HEAP32[$34>>2]|0;
HEAP32[$34>>2] = 0;
$52 = HEAP32[$$pre$phiZ2D>>2]|0;
$53 = ($52|0)==(0);
if ($53) {
$54 = HEAP32[$$pre$phi117Z2D>>2]|0;
$55 = ((($54)) + 4|0);
$56 = HEAP32[$$pre$phi119Z2D>>2]|0;
$57 = HEAP32[$35>>2]|0;
$58 = $57 & 4;
$59 = ($58|0)==(0);
if ($59) {
$60 = HEAP8[$36>>0]|0;
$61 = ($60<<24>>24)==(0);
if ($61) {
$62 = (_png_image_size($0)|0);
$63 = ($62>>>0)<(16385);
if ($63) {
$64 = HEAP8[$55>>0]|0;
$65 = $64&255;
$66 = $65 & 15;
$67 = ($66|0)==(8);
$68 = $65 & 240;
$69 = ($68>>>0)<(113);
$or$cond$i = $67 & $69;
if ($or$cond$i) {
$70 = $65 >>> 4;
$71 = (($70) + 7)|0;
$72 = 1 << $71;
$73 = ($72>>>0)<($62>>>0);
if (!($73)) {
$$0$i87 = $72;$$029$i = $70;
while(1) {
$74 = $$0$i87 >>> 1;
$75 = (($$029$i) + -1)|0;
$76 = ($75|0)==(0);
$77 = ($74>>>0)<($62>>>0);
$or$cond31$i = $76 | $77;
if ($or$cond31$i) {
break;
} else {
$$0$i87 = $74;$$029$i = $75;
}
}
$78 = $75 << 4;
$79 = $78 | 8;
$80 = $79&255;
HEAP8[$55>>0] = $80;
$81 = ((($54)) + 5|0);
$82 = HEAP8[$81>>0]|0;
$83 = $82&255;
$84 = $83 & 224;
$85 = $79 << 8;
$86 = $84 | $85;
$87 = (($86>>>0) % 31)&-1;
$88 = $87 | $84;
$89 = $88 ^ 31;
$90 = $89&255;
HEAP8[$81>>0] = $90;
}
}
}
}
}
$91 = ($56|0)<(0);
if ($91) {
label = 21;
break;
}
HEAP32[$37>>2] = 34;
$92 = $56 >>> 24;
$93 = $92&255;
HEAP8[$4>>0] = $93;
$94 = $56 >>> 16;
$95 = $94&255;
HEAP8[$38>>0] = $95;
$96 = $56 >>> 8;
$97 = $96&255;
HEAP8[$39>>0] = $97;
$98 = $56&255;
HEAP8[$40>>0] = $98;
HEAP8[$41>>0] = 73;
HEAP8[$42>>0] = 68;
HEAP8[$43>>0] = 65;
HEAP8[$44>>0] = 84;
_png_write_data($0,$4,8);
HEAP32[$45>>2] = 1229209940;
_png_reset_crc($0);
_png_calculate_crc($0,$41,4);
HEAP32[$37>>2] = 66;
$99 = ($56|0)==(0);
if (!($99)) {
_png_write_data($0,$55,$56);
_png_calculate_crc($0,$55,$56);
}
HEAP32[$37>>2] = 130;
$100 = HEAP32[$46>>2]|0;
$101 = $100 >>> 24;
$102 = $101&255;
HEAP8[$7>>0] = $102;
$103 = $100 >>> 16;
$104 = $103&255;
HEAP8[$47>>0] = $104;
$105 = $100 >>> 8;
$106 = $105&255;
HEAP8[$48>>0] = $106;
$107 = $100&255;
HEAP8[$49>>0] = $107;
_png_write_data($0,$7,4);
$108 = HEAP32[$35>>2]|0;
$109 = $108 | 4;
HEAP32[$35>>2] = $109;
HEAP32[$$pre$phi121Z2D>>2] = $55;
HEAP32[$$pre$phiZ2D>>2] = $56;
$notlhs = ($50|0)!=(0);
$not$or$cond = $notrhs | $notlhs;
if ($not$or$cond) {
$119 = $56;
} else {
$$0 = $51;
continue;
}
} else {
$119 = $52;
}
$110 = ($50|0)==(0);
if (!($110)) {
label = 29;
break;
}
$111 = ($51|0)==(0);
if ($111) {
label = 27;
break;
} else {
$$0 = $51;
}
}
if ((label|0) == 21) {
_png_error($0,22351);
// unreachable;
}
else if ((label|0) == 27) {
$112 = ($3|0)==(4);
if ($112) {
_png_error($0,22787);
// unreachable;
} else {
STACKTOP = sp;return;
}
}
else if ((label|0) == 29) {
$113 = ($50|0)==(1);
$114 = ($3|0)==(4);
$or$cond3 = $114 & $113;
if (!($or$cond3)) {
_png_zstream_error($0,$50);
$183 = ((($0)) + 248|0);
$184 = HEAP32[$183>>2]|0;
_png_error($0,$184);
// unreachable;
}
$115 = HEAP32[$$pre$phi117Z2D>>2]|0;
$116 = ((($115)) + 4|0);
$117 = HEAP32[$$pre$phi119Z2D>>2]|0;
$118 = (($117) - ($119))|0;
$120 = HEAP32[$35>>2]|0;
$121 = $120 & 4;
$122 = ($121|0)==(0);
if ($122) {
$123 = HEAP8[$36>>0]|0;
$124 = ($123<<24>>24)==(0);
if ($124) {
$125 = (_png_image_size($0)|0);
$126 = ($125>>>0)<(16385);
if ($126) {
$127 = HEAP8[$116>>0]|0;
$128 = $127&255;
$129 = $128 & 15;
$130 = ($129|0)==(8);
$131 = $128 & 240;
$132 = ($131>>>0)<(113);
$or$cond$i90 = $130 & $132;
if ($or$cond$i90) {
$133 = $128 >>> 4;
$134 = (($133) + 7)|0;
$135 = 1 << $134;
$136 = ($135>>>0)<($125>>>0);
if (!($136)) {
$$0$i92 = $135;$$029$i91 = $133;
while(1) {
$137 = $$0$i92 >>> 1;
$138 = (($$029$i91) + -1)|0;
$139 = ($138|0)==(0);
$140 = ($137>>>0)<($125>>>0);
$or$cond31$i93 = $139 | $140;
if ($or$cond31$i93) {
break;
} else {
$$0$i92 = $137;$$029$i91 = $138;
}
}
$141 = $138 << 4;
$142 = $141 | 8;
$143 = $142&255;
HEAP8[$116>>0] = $143;
$144 = ((($115)) + 5|0);
$145 = HEAP8[$144>>0]|0;
$146 = $145&255;
$147 = $146 & 224;
$148 = $142 << 8;
$149 = $147 | $148;
$150 = (($149>>>0) % 31)&-1;
$151 = $150 | $147;
$152 = $151 ^ 31;
$153 = $152&255;
HEAP8[$144>>0] = $153;
}
}
}
}
}
$154 = ($118|0)<(0);
if ($154) {
_png_error($0,22351);
// unreachable;
}
HEAP32[$37>>2] = 34;
$155 = $118 >>> 24;
$156 = $155&255;
HEAP8[$6>>0] = $156;
$157 = $118 >>> 16;
$158 = $157&255;
$159 = ((($6)) + 1|0);
HEAP8[$159>>0] = $158;
$160 = $118 >>> 8;
$161 = $160&255;
$162 = ((($6)) + 2|0);
HEAP8[$162>>0] = $161;
$163 = $118&255;
$164 = ((($6)) + 3|0);
HEAP8[$164>>0] = $163;
$165 = ((($6)) + 4|0);
HEAP8[$165>>0] = 73;
$166 = ((($6)) + 5|0);
HEAP8[$166>>0] = 68;
$167 = ((($6)) + 6|0);
HEAP8[$167>>0] = 65;
$168 = ((($6)) + 7|0);
HEAP8[$168>>0] = 84;
_png_write_data($0,$6,8);
HEAP32[$45>>2] = 1229209940;
_png_reset_crc($0);
_png_calculate_crc($0,$165,4);
HEAP32[$37>>2] = 66;
$169 = ($118|0)==(0);
if (!($169)) {
_png_write_data($0,$116,$118);
_png_calculate_crc($0,$116,$118);
}
HEAP32[$37>>2] = 130;
$170 = HEAP32[$46>>2]|0;
$171 = $170 >>> 24;
$172 = $171&255;
HEAP8[$5>>0] = $172;
$173 = $170 >>> 16;
$174 = $173&255;
$175 = ((($5)) + 1|0);
HEAP8[$175>>0] = $174;
$176 = $170 >>> 8;
$177 = $176&255;
$178 = ((($5)) + 2|0);
HEAP8[$178>>0] = $177;
$179 = $170&255;
$180 = ((($5)) + 3|0);
HEAP8[$180>>0] = $179;
_png_write_data($0,$5,4);
HEAP32[$$pre$phiZ2D>>2] = 0;
HEAP32[$$pre$phi121Z2D>>2] = 0;
$181 = HEAP32[$35>>2]|0;
$182 = $181 | 12;
HEAP32[$35>>2] = $182;
HEAP32[$8>>2] = 0;
STACKTOP = sp;return;
}
}
function _png_image_size($0) {
$0 = $0|0;
var $$0 = 0, $$042 = 0, $$042$ph = 0, $$042$ph$us = 0, $$042$us = 0, $$043$ph = 0, $$043$ph$us = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 352|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($0)) + 364|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 | $2;
$6 = ($5>>>0)<(32768);
if (!($6)) {
$$0 = -1;
return ($$0|0);
}
$7 = ((($0)) + 432|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)==(0);
if ($9) {
$87 = (($4) + 1)|0;
$88 = Math_imul($87, $2)|0;
$$0 = $88;
return ($$0|0);
}
$10 = ((($0)) + 348|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 438|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13&255;
$15 = (($11) + -1)|0;
$16 = ($13&255)>(7);
$17 = $14 >>> 3;
$18 = (($2) + -1)|0;
if ($16) {
$$042$ph$us = 0;$$043$ph$us = 0;
L9: while(1) {
$$042$us = $$042$ph$us;
while(1) {
$51 = ($$042$us|0)<(7);
if (!($51)) {
$$0 = $$043$ph$us;
break L9;
}
$19 = ($$042$us|0)>(1);
$20 = (7 - ($$042$us))|0;
$21 = $20 >> 1;
$22 = $19 ? $21 : 3;
$23 = 1 << $22;
$24 = $$042$us & 1;
$25 = (($$042$us) + 1)|0;
$26 = $25 >> 1;
$27 = (3 - ($26))|0;
$28 = $24 << $27;
$29 = $28 & 7;
$30 = (($15) + ($23))|0;
$31 = (($30) - ($29))|0;
$32 = $31 >>> $22;
$33 = ($32|0)==(0);
if ($33) {
$$042$us = $25;
} else {
break;
}
}
$34 = Math_imul($32, $17)|0;
$35 = (($34) + 1)|0;
$36 = ($$042$us|0)>(2);
$37 = (8 - ($$042$us))|0;
$38 = $37 >> 1;
$39 = $36 ? $38 : 3;
$40 = 1 << $39;
$41 = $24 ^ 1;
$42 = $$042$us >> 1;
$43 = (3 - ($42))|0;
$44 = $41 << $43;
$45 = $44 & 7;
$46 = (($18) + ($40))|0;
$47 = (($46) - ($45))|0;
$48 = $47 >>> $39;
$49 = Math_imul($35, $48)|0;
$50 = (($49) + ($$043$ph$us))|0;
$$042$ph$us = $25;$$043$ph$us = $50;
}
return ($$0|0);
} else {
$$042$ph = 0;$$043$ph = 0;
L16: while(1) {
$$042 = $$042$ph;
while(1) {
$52 = ($$042|0)<(7);
if (!($52)) {
$$0 = $$043$ph;
break L16;
}
$53 = ($$042|0)>(1);
$54 = (7 - ($$042))|0;
$55 = $54 >> 1;
$56 = $53 ? $55 : 3;
$57 = 1 << $56;
$58 = $$042 & 1;
$59 = (($$042) + 1)|0;
$60 = $59 >> 1;
$61 = (3 - ($60))|0;
$62 = $58 << $61;
$63 = $62 & 7;
$64 = (($15) + ($57))|0;
$65 = (($64) - ($63))|0;
$66 = $65 >>> $56;
$67 = ($66|0)==(0);
if ($67) {
$$042 = $59;
} else {
break;
}
}
$68 = Math_imul($66, $14)|0;
$69 = (($68) + 7)|0;
$70 = $69 >>> 3;
$71 = (($70) + 1)|0;
$72 = ($$042|0)>(2);
$73 = (8 - ($$042))|0;
$74 = $73 >> 1;
$75 = $72 ? $74 : 3;
$76 = 1 << $75;
$77 = $58 ^ 1;
$78 = $$042 >> 1;
$79 = (3 - ($78))|0;
$80 = $77 << $79;
$81 = $80 & 7;
$82 = (($18) + ($76))|0;
$83 = (($82) - ($81))|0;
$84 = $83 >>> $75;
$85 = Math_imul($71, $84)|0;
$86 = (($85) + ($$043$ph))|0;
$$042$ph = $59;$$043$ph = $86;
}
return ($$0|0);
}
return (0)|0;
}
function _png_deflate_claim($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$07687 = 0, $$077 = 0, $$078 = 0, $$079 = 0, $$080 = 0, $$081 = 0, $$089 = 0, $$184 = 0, $$188 = 0, $$2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0;
var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$3 = sp;
$4 = ((($0)) + 220|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0);
do {
if (!($6)) {
$7 = $1 >>> 24;
$8 = $7&255;
HEAP8[$3>>0] = $8;
$9 = $1 >>> 16;
$10 = $9&255;
$11 = ((($3)) + 1|0);
HEAP8[$11>>0] = $10;
$12 = $1 >>> 8;
$13 = $12&255;
$14 = ((($3)) + 2|0);
HEAP8[$14>>0] = $13;
$15 = $1&255;
$16 = ((($3)) + 3|0);
HEAP8[$16>>0] = $15;
$17 = ((($3)) + 4|0);
HEAP8[$17>>0] = 58;
$18 = ((($3)) + 5|0);
HEAP8[$18>>0] = 32;
$19 = $5 >>> 24;
$20 = $19&255;
$21 = ((($3)) + 6|0);
HEAP8[$21>>0] = $20;
$22 = $5 >>> 16;
$23 = $22&255;
$24 = ((($3)) + 7|0);
HEAP8[$24>>0] = $23;
$25 = $5 >>> 8;
$26 = $25&255;
$27 = ((($3)) + 8|0);
HEAP8[$27>>0] = $26;
$28 = $5&255;
$29 = ((($3)) + 9|0);
HEAP8[$29>>0] = $28;
(_png_safecat($3,64,10,24545)|0);
_png_warning($0,$3);
$30 = HEAP32[$4>>2]|0;
$31 = ($30|0)==(1229209940);
if (!($31)) {
HEAP32[$4>>2] = 0;
break;
}
$32 = ((($0)) + 248|0);
HEAP32[$32>>2] = 23003;
$$184 = -2;
STACKTOP = sp;return ($$184|0);
}
} while(0);
$33 = ((($0)) + 288|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($0)) + 292|0);
$36 = HEAP32[$35>>2]|0;
$37 = ((($0)) + 296|0);
$38 = HEAP32[$37>>2]|0;
$39 = ((($0)) + 300|0);
$40 = HEAP32[$39>>2]|0;
$41 = ($1|0)==(1229209940);
do {
if ($41) {
$42 = ((($0)) + 212|0);
$43 = HEAP32[$42>>2]|0;
$44 = $43 & 1;
$45 = ($44|0)==(0);
if ($45) {
$48 = ((($0)) + 434|0);
$49 = HEAP8[$48>>0]|0;
$not$ = ($49<<24>>24)!=(8);
$$ = $not$&1;
$$077 = $$;$$078 = $40;$$079 = $38;$$080 = $36;$$081 = $34;
break;
} else {
$46 = ((($0)) + 304|0);
$47 = HEAP32[$46>>2]|0;
$$077 = $47;$$078 = $40;$$079 = $38;$$080 = $36;$$081 = $34;
break;
}
} else {
$50 = ((($0)) + 308|0);
$51 = HEAP32[$50>>2]|0;
$52 = ((($0)) + 312|0);
$53 = HEAP32[$52>>2]|0;
$54 = ((($0)) + 316|0);
$55 = HEAP32[$54>>2]|0;
$56 = ((($0)) + 320|0);
$57 = HEAP32[$56>>2]|0;
$58 = ((($0)) + 324|0);
$59 = HEAP32[$58>>2]|0;
$$077 = $59;$$078 = $57;$$079 = $55;$$080 = $53;$$081 = $51;
}
} while(0);
$60 = ($2>>>0)<(16385);
if ($60) {
$61 = (($$079) + -1)|0;
$62 = 1 << $61;
$63 = (($2) + 262)|0;
$64 = ($63>>>0)>($62>>>0);
if ($64) {
$$2 = $$079;
} else {
$$089 = $62;$$188 = $$079;
while(1) {
$65 = $$089 >>> 1;
$66 = (($$188) + -1)|0;
$67 = ($63>>>0)>($65>>>0);
if ($67) {
$$2 = $66;
break;
} else {
$$089 = $65;$$188 = $66;
}
}
}
} else {
$$2 = $$079;
}
$68 = ((($0)) + 212|0);
$69 = HEAP32[$68>>2]|0;
$70 = $69 & 2;
$71 = ($70|0)==(0);
do {
if ($71) {
$97 = $69;
} else {
$72 = ((($0)) + 328|0);
$73 = HEAP32[$72>>2]|0;
$74 = ($73|0)==($$081|0);
if ($74) {
$75 = ((($0)) + 332|0);
$76 = HEAP32[$75>>2]|0;
$77 = ($76|0)==($$080|0);
if ($77) {
$78 = ((($0)) + 336|0);
$79 = HEAP32[$78>>2]|0;
$80 = ($79|0)==($$2|0);
if ($80) {
$81 = ((($0)) + 340|0);
$82 = HEAP32[$81>>2]|0;
$83 = ($82|0)==($$078|0);
if ($83) {
$84 = ((($0)) + 344|0);
$85 = HEAP32[$84>>2]|0;
$86 = ($85|0)==($$077|0);
if ($86) {
$97 = $69;
break;
}
}
}
}
}
$87 = ((($0)) + 224|0);
$88 = (_deflateEnd($87)|0);
$89 = ($88|0)==(0);
if (!($89)) {
_png_warning($0,23018);
}
$90 = HEAP32[$68>>2]|0;
$91 = $90 & -3;
HEAP32[$68>>2] = $91;
$97 = $91;
}
} while(0);
$92 = ((($0)) + 224|0);
HEAP32[$92>>2] = 0;
$93 = ((($0)) + 228|0);
HEAP32[$93>>2] = 0;
$94 = ((($0)) + 236|0);
HEAP32[$94>>2] = 0;
$95 = ((($0)) + 240|0);
HEAP32[$95>>2] = 0;
$96 = $97 & 2;
$98 = ($96|0)==(0);
if ($98) {
$99 = (_deflateInit2_($92,$$081,$$080,$$2,$$078,$$077,24560,56)|0);
$100 = ($99|0)==(0);
if ($100) {
$101 = HEAP32[$68>>2]|0;
$102 = $101 | 2;
HEAP32[$68>>2] = $102;
label = 26;
} else {
$$07687 = $99;
label = 27;
}
} else {
$103 = (_deflateReset($92)|0);
$104 = ($103|0)==(0);
if ($104) {
label = 26;
} else {
$$07687 = $103;
label = 27;
}
}
if ((label|0) == 26) {
HEAP32[$4>>2] = $1;
$$184 = 0;
STACKTOP = sp;return ($$184|0);
}
else if ((label|0) == 27) {
_png_zstream_error($0,$$07687);
$$184 = $$07687;
STACKTOP = sp;return ($$184|0);
}
return (0)|0;
}
function _png_zstream_error($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 248|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
L1: do {
if ($4) {
do {
switch ($1|0) {
case -7: {
HEAP32[$2>>2] = 22980;
break L1;
break;
}
case 1: {
HEAP32[$2>>2] = 22850;
break L1;
break;
}
case 2: {
HEAP32[$2>>2] = 22878;
break L1;
break;
}
case -1: {
HEAP32[$2>>2] = 22900;
break L1;
break;
}
case -2: {
HEAP32[$2>>2] = 22914;
break L1;
break;
}
case -3: {
HEAP32[$2>>2] = 22937;
break L1;
break;
}
case -4: {
HEAP32[$2>>2] = 28416;
break L1;
break;
}
case -5: {
HEAP32[$2>>2] = 24462;
break L1;
break;
}
case -6: {
HEAP32[$2>>2] = 22955;
break L1;
break;
}
default: {
HEAP32[$2>>2] = 22822;
break L1;
}
}
} while(0);
}
} while(0);
return;
}
function _png_write_IEND($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = sp + 8|0;
$3 = ($0|0)==(0|0);
if ($3) {
$22 = ((($0)) + 208|0);
$23 = HEAP32[$22>>2]|0;
$24 = $23 | 16;
HEAP32[$22>>2] = $24;
STACKTOP = sp;return;
}
$4 = ((($0)) + 800|0);
HEAP32[$4>>2] = 34;
$5 = ((($1)) + 4|0);
HEAP32[$1>>2] = 0;
HEAP8[$5>>0] = 73;
$6 = ((($1)) + 5|0);
HEAP8[$6>>0] = 69;
$7 = ((($1)) + 6|0);
HEAP8[$7>>0] = 78;
$8 = ((($1)) + 7|0);
HEAP8[$8>>0] = 68;
_png_write_data($0,$1,8);
$9 = ((($0)) + 376|0);
HEAP32[$9>>2] = 1229278788;
_png_reset_crc($0);
_png_calculate_crc($0,$5,4);
HEAP32[$4>>2] = 130;
$10 = ((($0)) + 412|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 >>> 24;
$13 = $12&255;
HEAP8[$2>>0] = $13;
$14 = $11 >>> 16;
$15 = $14&255;
$16 = ((($2)) + 1|0);
HEAP8[$16>>0] = $15;
$17 = $11 >>> 8;
$18 = $17&255;
$19 = ((($2)) + 2|0);
HEAP8[$19>>0] = $18;
$20 = $11&255;
$21 = ((($2)) + 3|0);
HEAP8[$21>>0] = $20;
_png_write_data($0,$2,4);
$22 = ((($0)) + 208|0);
$23 = HEAP32[$22>>2]|0;
$24 = $23 | 16;
HEAP32[$22>>2] = $24;
STACKTOP = sp;return;
}
function _png_write_gAMA_fixed($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$2 = sp + 16|0;
$3 = sp + 8|0;
$4 = sp;
$5 = $1 >>> 24;
$6 = $5&255;
HEAP8[$4>>0] = $6;
$7 = $1 >>> 16;
$8 = $7&255;
$9 = ((($4)) + 1|0);
HEAP8[$9>>0] = $8;
$10 = $1 >>> 8;
$11 = $10&255;
$12 = ((($4)) + 2|0);
HEAP8[$12>>0] = $11;
$13 = $1&255;
$14 = ((($4)) + 3|0);
HEAP8[$14>>0] = $13;
$15 = ($0|0)==(0|0);
if ($15) {
STACKTOP = sp;return;
}
$16 = ((($0)) + 800|0);
HEAP32[$16>>2] = 34;
HEAP8[$3>>0] = 0;
$17 = ((($3)) + 1|0);
HEAP8[$17>>0] = 0;
$18 = ((($3)) + 2|0);
HEAP8[$18>>0] = 0;
$19 = ((($3)) + 3|0);
HEAP8[$19>>0] = 4;
$20 = ((($3)) + 4|0);
HEAP8[$20>>0] = 103;
$21 = ((($3)) + 5|0);
HEAP8[$21>>0] = 65;
$22 = ((($3)) + 6|0);
HEAP8[$22>>0] = 77;
$23 = ((($3)) + 7|0);
HEAP8[$23>>0] = 65;
_png_write_data($0,$3,8);
$24 = ((($0)) + 376|0);
HEAP32[$24>>2] = 1732332865;
_png_reset_crc($0);
_png_calculate_crc($0,$20,4);
HEAP32[$16>>2] = 66;
_png_write_data($0,$4,4);
_png_calculate_crc($0,$4,4);
HEAP32[$16>>2] = 130;
$25 = ((($0)) + 412|0);
$26 = HEAP32[$25>>2]|0;
$27 = $26 >>> 24;
$28 = $27&255;
HEAP8[$2>>0] = $28;
$29 = $26 >>> 16;
$30 = $29&255;
$31 = ((($2)) + 1|0);
HEAP8[$31>>0] = $30;
$32 = $26 >>> 8;
$33 = $32&255;
$34 = ((($2)) + 2|0);
HEAP8[$34>>0] = $33;
$35 = $26&255;
$36 = ((($2)) + 3|0);
HEAP8[$36>>0] = $35;
_png_write_data($0,$2,4);
STACKTOP = sp;return;
}
function _png_write_sRGB($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$2 = sp + 16|0;
$3 = sp + 8|0;
$4 = sp;
$5 = ($1|0)>(3);
if ($5) {
_png_warning($0,23046);
}
$6 = $1&255;
HEAP8[$4>>0] = $6;
$7 = ($0|0)==(0|0);
if ($7) {
STACKTOP = sp;return;
}
$8 = ((($0)) + 800|0);
HEAP32[$8>>2] = 34;
HEAP8[$3>>0] = 0;
$9 = ((($3)) + 1|0);
HEAP8[$9>>0] = 0;
$10 = ((($3)) + 2|0);
HEAP8[$10>>0] = 0;
$11 = ((($3)) + 3|0);
HEAP8[$11>>0] = 1;
$12 = ((($3)) + 4|0);
HEAP8[$12>>0] = 115;
$13 = ((($3)) + 5|0);
HEAP8[$13>>0] = 82;
$14 = ((($3)) + 6|0);
HEAP8[$14>>0] = 71;
$15 = ((($3)) + 7|0);
HEAP8[$15>>0] = 66;
_png_write_data($0,$3,8);
$16 = ((($0)) + 376|0);
HEAP32[$16>>2] = 1934772034;
_png_reset_crc($0);
_png_calculate_crc($0,$12,4);
HEAP32[$8>>2] = 66;
_png_write_data($0,$4,1);
_png_calculate_crc($0,$4,1);
HEAP32[$8>>2] = 130;
$17 = ((($0)) + 412|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 >>> 24;
$20 = $19&255;
HEAP8[$2>>0] = $20;
$21 = $18 >>> 16;
$22 = $21&255;
$23 = ((($2)) + 1|0);
HEAP8[$23>>0] = $22;
$24 = $18 >>> 8;
$25 = $24&255;
$26 = ((($2)) + 2|0);
HEAP8[$26>>0] = $25;
$27 = $18&255;
$28 = ((($2)) + 3|0);
HEAP8[$28>>0] = $27;
_png_write_data($0,$2,4);
STACKTOP = sp;return;
}
function _png_write_iCCP($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $$0$i46 = 0, $$0$i49 = 0, $$0$in$us$i = 0, $$0$us$i = 0, $$025$us$i = 0, $$026$us$i = 0, $$027$$025$i = 0, $$027$$025$i47 = 0, $$027$$025$us$i = 0, $$027$us$i = 0, $$lcssa$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i48 = 0, $or$cond$us$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1136|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1136|0);
$3 = sp + 1128|0;
$4 = sp + 1120|0;
$5 = sp + 1036|0;
$6 = sp;
$7 = ($2|0)==(0|0);
if ($7) {
_png_error($0,23086);
// unreachable;
}
$8 = HEAP8[$2>>0]|0;
$9 = $8&255;
$10 = $9 << 24;
$11 = ((($2)) + 1|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12&255;
$14 = $13 << 16;
$15 = $14 | $10;
$16 = ((($2)) + 2|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17&255;
$19 = $18 << 8;
$20 = $15 | $19;
$21 = ((($2)) + 3|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = $20 | $23;
$25 = ($24>>>0)<(132);
if ($25) {
_png_error($0,23112);
// unreachable;
}
$26 = ((($2)) + 8|0);
$27 = HEAP8[$26>>0]|0;
$28 = ($27&255)<(4);
$29 = $23 & 3;
$30 = ($29|0)==(0);
$or$cond = $30 | $28;
if (!($or$cond)) {
_png_error($0,23134);
// unreachable;
}
$31 = (_png_check_keyword($0,$1,$5)|0);
$32 = ($31|0)==(0);
if ($32) {
_png_error($0,23183);
// unreachable;
}
$33 = (($31) + 1)|0;
$34 = (($5) + ($33)|0);
HEAP8[$34>>0] = 0;
$35 = (($31) + 2)|0;
HEAP32[$6>>2] = $2;
$36 = ((($6)) + 4|0);
HEAP32[$36>>2] = $24;
$37 = ((($6)) + 8|0);
HEAP32[$37>>2] = 0;
$38 = (_png_text_compress($0,1766015824,$6,$35)|0);
$39 = ($38|0)==(0);
if (!($39)) {
$40 = ((($0)) + 248|0);
$41 = HEAP32[$40>>2]|0;
_png_error($0,$41);
// unreachable;
}
$42 = HEAP32[$37>>2]|0;
$43 = (($42) + ($35))|0;
$44 = ($0|0)==(0|0);
L16: do {
if ($44) {
$$0$i46 = HEAP32[(280)>>2]|0;
$62 = ($42>>>0)<(1024);
$$027$$025$i47 = $62 ? $42 : 1024;
$63 = (($42) - ($$027$$025$i47))|0;
$64 = ($63|0)==(0);
$65 = ($$0$i46|0)==(0|0);
$or$cond$i48 = $65 | $64;
if ($or$cond$i48) {
$$lcssa$i = $64;
} else {
$66 = HEAP32[(284)>>2]|0;
$$0$i49 = $$0$i46;$79 = $63;
while(1) {
$$0$i = HEAP32[$$0$i49>>2]|0;
$78 = ($66>>>0)>($79>>>0);
$$027$$025$i = $78 ? $79 : $66;
$80 = (($79) - ($$027$$025$i))|0;
$81 = ($80|0)==(0);
$82 = ($$0$i|0)==(0|0);
$or$cond$i = $82 | $81;
if ($or$cond$i) {
$$lcssa$i = $81;
break;
} else {
$$0$i49 = $$0$i;$79 = $80;
}
}
}
} else {
$45 = ((($0)) + 800|0);
HEAP32[$45>>2] = 34;
$46 = $43 >>> 24;
$47 = $46&255;
HEAP8[$3>>0] = $47;
$48 = $43 >>> 16;
$49 = $48&255;
$50 = ((($3)) + 1|0);
HEAP8[$50>>0] = $49;
$51 = $43 >>> 8;
$52 = $51&255;
$53 = ((($3)) + 2|0);
HEAP8[$53>>0] = $52;
$54 = $43&255;
$55 = ((($3)) + 3|0);
HEAP8[$55>>0] = $54;
$56 = ((($3)) + 4|0);
HEAP8[$56>>0] = 105;
$57 = ((($3)) + 5|0);
HEAP8[$57>>0] = 67;
$58 = ((($3)) + 6|0);
HEAP8[$58>>0] = 67;
$59 = ((($3)) + 7|0);
HEAP8[$59>>0] = 80;
_png_write_data($0,$3,8);
$60 = ((($0)) + 376|0);
HEAP32[$60>>2] = 1766015824;
_png_reset_crc($0);
_png_calculate_crc($0,$56,4);
HEAP32[$45>>2] = 66;
$61 = ($35|0)==(0);
if (!($61)) {
_png_write_data($0,$5,$35);
_png_calculate_crc($0,$5,$35);
}
$67 = HEAP32[$37>>2]|0;
$68 = ((($0)) + 280|0);
$69 = ((($0)) + 284|0);
$70 = ((($6)) + 12|0);
$$0$in$us$i = $68;$$025$us$i = 1024;$$026$us$i = $70;$$027$us$i = $67;
while(1) {
$$0$us$i = HEAP32[$$0$in$us$i>>2]|0;
$71 = ($$025$us$i>>>0)>($$027$us$i>>>0);
$$027$$025$us$i = $71 ? $$027$us$i : $$025$us$i;
$72 = ($$027$$025$us$i|0)==(0);
if (!($72)) {
_png_write_data($0,$$026$us$i,$$027$$025$us$i);
_png_calculate_crc($0,$$026$us$i,$$027$$025$us$i);
}
$73 = (($$027$us$i) - ($$027$$025$us$i))|0;
$74 = ($73|0)==(0);
$75 = ($$0$us$i|0)==(0|0);
$or$cond$us$i = $75 | $74;
if ($or$cond$us$i) {
$$lcssa$i = $74;
break L16;
}
$76 = HEAP32[$69>>2]|0;
$77 = ((($$0$us$i)) + 4|0);
$$0$in$us$i = $$0$us$i;$$025$us$i = $76;$$026$us$i = $77;$$027$us$i = $73;
}
}
} while(0);
if (!($$lcssa$i)) {
_png_error($0,23205);
// unreachable;
}
if ($44) {
STACKTOP = sp;return;
}
$83 = ((($0)) + 800|0);
HEAP32[$83>>2] = 130;
$84 = ((($0)) + 412|0);
$85 = HEAP32[$84>>2]|0;
$86 = $85 >>> 24;
$87 = $86&255;
HEAP8[$4>>0] = $87;
$88 = $85 >>> 16;
$89 = $88&255;
$90 = ((($4)) + 1|0);
HEAP8[$90>>0] = $89;
$91 = $85 >>> 8;
$92 = $91&255;
$93 = ((($4)) + 2|0);
HEAP8[$93>>0] = $92;
$94 = $85&255;
$95 = ((($4)) + 3|0);
HEAP8[$95>>0] = $94;
_png_write_data($0,$4,4);
STACKTOP = sp;return;
}
function _png_check_keyword($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$042$us80 = 0, $$0 = 0, $$041$ph$be = 0, $$041$ph$lcssa = 0, $$041$ph97 = 0, $$042$ = 0, $$042$lcssa = 0, $$042$lcssa60 = 0, $$042$ph$be = 0, $$042$ph96 = 0, $$04265$us76 = 0, $$044$ph$be = 0, $$044$ph$lcssa = 0, $$044$ph89 = 0, $$047$lcssa = 0, $$047$ph88 = 0, $$04764$us77 = 0, $$048$ph$be = 0, $$048$ph$lcssa = 0, $$048$ph81 = 0;
var $$2 = 0, $$246 = 0, $$250 = 0, $$lcssa55 = 0, $$lcssa58 = 0, $$off$us$us = 0, $$off$us78 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $or$cond = 0, $or$cond52$us$us = 0, $or$cond52$us79 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
$3 = sp;
$4 = ($1|0)==(0|0);
if ($4) {
HEAP8[$2>>0] = 0;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$5 = HEAP8[$1>>0]|0;
$6 = ($5<<24>>24)==(0);
L5: do {
if ($6) {
$$041$ph$lcssa = 1;$$042$lcssa = 0;$$044$ph$lcssa = 0;$$047$lcssa = $1;$$048$ph$lcssa = $2;
} else {
$$041$ph97 = 1;$$042$ph96 = 0;$$044$ph89 = 0;$$047$ph88 = $1;$$048$ph81 = $2;$14 = $5;
while(1) {
$12 = ($$041$ph97|0)==(0);
L8: do {
if ($12) {
$13 = ((($$047$ph88)) + 1|0);
$$off$us$us = (($14) + -33)<<24>>24;
$15 = ($$off$us$us&255)<(94);
$16 = ($14&255)>(160);
$or$cond52$us$us = $16 | $15;
if ($or$cond52$us$us) {
$$042$lcssa60 = $$042$ph96;$$lcssa55 = $13;$$lcssa58 = $14;
label = 4;
} else {
$25 = $14&255;
HEAP8[$$048$ph81>>0] = 32;
$26 = ($14<<24>>24)==(32);
$$042$ = $26 ? $$042$ph96 : $25;
$$041$ph$be = 1;$$042$ph$be = $$042$;$8 = $13;
}
} else {
$$04265$us76 = $$042$ph96;$$04764$us77 = $$047$ph88;$18 = $14;
while(1) {
$17 = ((($$04764$us77)) + 1|0);
$$off$us78 = (($18) + -33)<<24>>24;
$19 = ($$off$us78&255)<(94);
$20 = ($18&255)>(160);
$or$cond52$us79 = $20 | $19;
if ($or$cond52$us79) {
$$042$lcssa60 = $$04265$us76;$$lcssa55 = $17;$$lcssa58 = $18;
label = 4;
break L8;
}
$21 = $18&255;
$22 = ($$04265$us76|0)==(0);
$$$042$us80 = $22 ? $21 : $$04265$us76;
$23 = HEAP8[$17>>0]|0;
$24 = ($23<<24>>24)==(0);
if ($24) {
$$041$ph$lcssa = $$041$ph97;$$042$lcssa = $$$042$us80;$$044$ph$lcssa = $$044$ph89;$$047$lcssa = $17;$$048$ph$lcssa = $$048$ph81;
break L5;
} else {
$$04265$us76 = $$$042$us80;$$04764$us77 = $17;$18 = $23;
}
}
}
} while(0);
if ((label|0) == 4) {
label = 0;
HEAP8[$$048$ph81>>0] = $$lcssa58;
$$041$ph$be = 0;$$042$ph$be = $$042$lcssa60;$8 = $$lcssa55;
}
$$044$ph$be = (($$044$ph89) + 1)|0;
$$048$ph$be = ((($$048$ph81)) + 1|0);
$7 = HEAP8[$8>>0]|0;
$9 = ($7<<24>>24)!=(0);
$10 = ($$044$ph$be>>>0)<(79);
$11 = $10 & $9;
if ($11) {
$$041$ph97 = $$041$ph$be;$$042$ph96 = $$042$ph$be;$$044$ph89 = $$044$ph$be;$$047$ph88 = $8;$$048$ph81 = $$048$ph$be;$14 = $7;
} else {
$$041$ph$lcssa = $$041$ph$be;$$042$lcssa = $$042$ph$be;$$044$ph$lcssa = $$044$ph$be;$$047$lcssa = $8;$$048$ph$lcssa = $$048$ph$be;
break;
}
}
}
} while(0);
$27 = ($$044$ph$lcssa|0)!=(0);
$28 = ($$041$ph$lcssa|0)!=(0);
$or$cond = $27 & $28;
$29 = ((($$048$ph$lcssa)) + -1|0);
$30 = ($$042$lcssa|0)==(0);
$$250 = $or$cond ? $29 : $$048$ph$lcssa;
$31 = $or$cond << 31 >> 31;
$$246 = (($31) + ($$044$ph$lcssa))|0;
$32 = $30 & $or$cond;
$$2 = $32 ? 32 : $$042$lcssa;
HEAP8[$$250>>0] = 0;
$33 = ($$246|0)==(0);
if ($33) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$34 = HEAP8[$$047$lcssa>>0]|0;
$35 = ($34<<24>>24)==(0);
if (!($35)) {
_png_warning($0,23278);
$$0 = $$246;
STACKTOP = sp;return ($$0|0);
}
$36 = ($$2|0)==(0);
if ($36) {
$$0 = $$246;
STACKTOP = sp;return ($$0|0);
}
_png_warning_parameter($3,1,$1);
_png_warning_parameter_signed($3,2,4,$$2);
_png_formatted_warning($0,$3,23296);
$$0 = $$246;
STACKTOP = sp;return ($$0|0);
}
function _png_text_compress($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0$i = 0, $$029$i = 0, $$077 = 0, $$078 = 0, $$080 = 0, $$179 = 0, $$185 = 0, $$191 = 0, $$2 = 0, $$282 = 0, $$288 = 0, $$3 = 0, $$383 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $or$cond3 = 0, $or$cond31$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ((($2)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = (_png_deflate_claim($0,$1,$5)|0);
$7 = ($6|0)==(0);
if (!($7)) {
$$191 = $6;
return ($$191|0);
}
$8 = ((($0)) + 280|0);
$9 = HEAP32[$4>>2]|0;
$10 = HEAP32[$2>>2]|0;
$11 = ((($0)) + 224|0);
HEAP32[$11>>2] = $10;
$12 = ((($0)) + 228|0);
HEAP32[$12>>2] = 0;
$13 = ((($2)) + 12|0);
$14 = ((($0)) + 236|0);
HEAP32[$14>>2] = $13;
$15 = ((($0)) + 240|0);
HEAP32[$15>>2] = 1024;
$16 = ((($0)) + 284|0);
$$077 = 1024;$$078 = $9;$$080 = $8;$17 = 1024;
while(1) {
HEAP32[$12>>2] = $$078;
$18 = ($17|0)==(0);
do {
if ($18) {
$19 = (($$077) + ($3))|0;
$20 = ($19|0)<(0);
if ($20) {
$$179 = 0;$$185 = 2;$$288 = -4;$$3 = $$077;$$383 = $$080;
} else {
$21 = HEAP32[$$080>>2]|0;
$22 = ($21|0)==(0|0);
if ($22) {
$23 = HEAP32[$16>>2]|0;
$24 = (($23) + 4)|0;
$25 = (_png_malloc_base($0,$24)|0);
$26 = ($25|0)==(0|0);
if ($26) {
$$179 = 0;$$185 = 2;$$288 = -4;$$3 = $$077;$$383 = $$080;
break;
}
HEAP32[$25>>2] = 0;
HEAP32[$$080>>2] = $25;
$$0 = $25;
} else {
$$0 = $21;
}
$27 = ((($$0)) + 4|0);
HEAP32[$14>>2] = $27;
$28 = HEAP32[$16>>2]|0;
HEAP32[$15>>2] = $28;
$29 = (($28) + ($$077))|0;
$$2 = $29;$$282 = $$0;
label = 9;
}
} else {
$$2 = $$077;$$282 = $$080;
label = 9;
}
} while(0);
if ((label|0) == 9) {
label = 0;
$30 = (_deflate($11,4)|0);
$31 = HEAP32[$12>>2]|0;
HEAP32[$12>>2] = 0;
$$179 = $31;$$185 = 0;$$288 = $30;$$3 = $$2;$$383 = $$282;
}
$32 = $$185 | $$288;
$33 = ($32|0)==(0);
$$pre = HEAP32[$15>>2]|0;
if ($33) {
$$077 = $$3;$$078 = $$179;$$080 = $$383;$17 = $$pre;
} else {
break;
}
}
$34 = (($$3) - ($$pre))|0;
HEAP32[$15>>2] = 0;
$35 = ((($2)) + 8|0);
HEAP32[$35>>2] = $34;
$36 = (($34) + ($3))|0;
$37 = ($36>>>0)>(2147483646);
if ($37) {
$38 = ((($0)) + 248|0);
HEAP32[$38>>2] = 23253;
$39 = ((($0)) + 220|0);
HEAP32[$39>>2] = 0;
$$191 = -4;
return ($$191|0);
}
_png_zstream_error($0,$$288);
$40 = ((($0)) + 220|0);
HEAP32[$40>>2] = 0;
$41 = ($$288|0)==(1);
$42 = ($$179|0)==(0);
$or$cond3 = $41 & $42;
if (!($or$cond3)) {
$$191 = $$288;
return ($$191|0);
}
$43 = HEAP32[$4>>2]|0;
$44 = ($43>>>0)<(16385);
if (!($44)) {
$$191 = 0;
return ($$191|0);
}
$45 = HEAP8[$13>>0]|0;
$46 = $45&255;
$47 = $46 & 15;
$48 = ($47|0)==(8);
$49 = $46 & 240;
$50 = ($49>>>0)<(113);
$or$cond$i = $48 & $50;
if (!($or$cond$i)) {
$$191 = 0;
return ($$191|0);
}
$51 = $46 >>> 4;
$52 = (($51) + 7)|0;
$53 = 1 << $52;
$54 = ($53>>>0)<($43>>>0);
if ($54) {
$$191 = 0;
return ($$191|0);
} else {
$$0$i = $53;$$029$i = $51;
}
while(1) {
$55 = $$0$i >>> 1;
$56 = (($$029$i) + -1)|0;
$57 = ($56|0)==(0);
$58 = ($55>>>0)<($43>>>0);
$or$cond31$i = $57 | $58;
if ($or$cond31$i) {
break;
} else {
$$0$i = $55;$$029$i = $56;
}
}
$59 = $56 << 4;
$60 = $59 | 8;
$61 = $60&255;
HEAP8[$13>>0] = $61;
$62 = ((($2)) + 13|0);
$63 = HEAP8[$62>>0]|0;
$64 = $63&255;
$65 = $64 & 224;
$66 = $60 << 8;
$67 = $65 | $66;
$68 = (($67>>>0) % 31)&-1;
$69 = $68 | $65;
$70 = $69 ^ 31;
$71 = $70&255;
HEAP8[$62>>0] = $71;
$$191 = 0;
return ($$191|0);
}
function _png_warning_parameter($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$01216$i = 0, $$017$i = 0, $$1$i = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond14$i = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$$off = (($1) + -1)|0;
$3 = ($$off>>>0)>(7);
$4 = (($0) + ($$off<<5)|0);
$5 = ($4|0)==(0|0);
$or$cond = $3 | $5;
if ($or$cond) {
return;
}
$6 = ($2|0)==(0|0);
if ($6) {
$$1$i = 0;
} else {
$7 = HEAP8[$2>>0]|0;
$8 = ($7<<24>>24)==(0);
if ($8) {
$$1$i = 0;
} else {
$$01216$i = 0;$$017$i = $2;$12 = $7;
while(1) {
$9 = ((($$017$i)) + 1|0);
$10 = (($$01216$i) + 1)|0;
$11 = ((($0) + ($$off<<5)|0) + ($$01216$i)|0);
HEAP8[$11>>0] = $12;
$13 = HEAP8[$9>>0]|0;
$14 = ($13<<24>>24)!=(0);
$15 = ($10>>>0)<(31);
$or$cond14$i = $15 & $14;
if ($or$cond14$i) {
$$01216$i = $10;$$017$i = $9;$12 = $13;
} else {
$$1$i = $10;
break;
}
}
}
}
$16 = ((($0) + ($$off<<5)|0) + ($$1$i)|0);
HEAP8[$16>>0] = 0;
return;
}
function _png_warning_parameter_signed($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$0 = 0, $$01216$i$i = 0, $$017$i$i = 0, $$1$i$i = 0, $$off$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond$i = 0, $or$cond14$i$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$4 = sp;
$5 = ($3|0)<(0);
$6 = (0 - ($3))|0;
$$ = $5 ? $6 : $3;
$7 = ((($4)) + 24|0);
$8 = (_png_format_number($4,$7,$2,$$)|0);
$9 = ($8>>>0)>($4>>>0);
$or$cond = $5 & $9;
if ($or$cond) {
$10 = ((($8)) + -1|0);
HEAP8[$10>>0] = 45;
$$0 = $10;
} else {
$$0 = $8;
}
$$off$i = (($1) + -1)|0;
$11 = ($$off$i>>>0)>(7);
$12 = (($0) + ($$off$i<<5)|0);
$13 = ($12|0)==(0|0);
$or$cond$i = $11 | $13;
if ($or$cond$i) {
STACKTOP = sp;return;
}
$14 = ($$0|0)==(0|0);
if ($14) {
$$1$i$i = 0;
} else {
$15 = HEAP8[$$0>>0]|0;
$16 = ($15<<24>>24)==(0);
if ($16) {
$$1$i$i = 0;
} else {
$$01216$i$i = 0;$$017$i$i = $$0;$20 = $15;
while(1) {
$17 = ((($$017$i$i)) + 1|0);
$18 = (($$01216$i$i) + 1)|0;
$19 = ((($0) + ($$off$i<<5)|0) + ($$01216$i$i)|0);
HEAP8[$19>>0] = $20;
$21 = HEAP8[$17>>0]|0;
$22 = ($21<<24>>24)!=(0);
$23 = ($18>>>0)<(31);
$or$cond14$i$i = $23 & $22;
if ($or$cond14$i$i) {
$$01216$i$i = $18;$$017$i$i = $17;$20 = $21;
} else {
$$1$i$i = $18;
break;
}
}
}
}
$24 = ((($0) + ($$off$i<<5)|0) + ($$1$i$i)|0);
HEAP8[$24>>0] = 0;
STACKTOP = sp;return;
}
function _png_formatted_warning($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$us = 0, $$036$be$us = 0, $$03649 = 0, $$03649$us = 0, $$03744$us = 0, $$038$us = 0, $$039$be$us = 0, $$039$lcssa = 0, $$03947 = 0, $$03947$us = 0, $$140$lcssa$us = 0, $$14043$us = 0, $$2$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$$us = 0, $or$cond42$us = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
$3 = sp;
$4 = ($1|0)==(0|0);
L1: do {
if ($4) {
$$03649 = $2;$$03947 = 0;
while(1) {
$30 = HEAP8[$$03649>>0]|0;
$31 = ($30<<24>>24)==(0);
if ($31) {
$$039$lcssa = $$03947;
break L1;
}
$32 = ((($$03649)) + 1|0);
$33 = (($$03947) + 1)|0;
$34 = (($3) + ($$03947)|0);
HEAP8[$34>>0] = $30;
$35 = ($33>>>0)<(191);
if ($35) {
$$03649 = $32;$$03947 = $33;
} else {
$$039$lcssa = $33;
break;
}
}
} else {
$$03649$us = $2;$$03947$us = 0;
while(1) {
$5 = HEAP8[$$03649$us>>0]|0;
switch ($5<<24>>24) {
case 0: {
$$039$lcssa = $$03947$us;
break L1;
break;
}
case 64: {
$6 = ((($$03649$us)) + 1|0);
$7 = HEAP8[$6>>0]|0;
$8 = ($7<<24>>24)==(0);
if ($8) {
$$2$us = $$03649$us;$28 = 64;
label = 11;
} else {
$$038$us = 0;
while(1) {
$9 = (23331 + ($$038$us)|0);
$10 = HEAP8[$9>>0]|0;
$11 = ($$038$us|0)!=(9);
$not$$us = ($10<<24>>24)!=($7<<24>>24);
$$$us = $11 & $not$$us;
$12 = (($$038$us) + 1)|0;
if ($$$us) {
$$038$us = $12;
} else {
break;
}
}
$13 = ($$038$us|0)<(8);
if ($13) {
$14 = (((($1) + ($$038$us<<5)|0)) + 32|0);
$15 = ($$03947$us>>>0)<(191);
L13: do {
if ($15) {
$16 = (($1) + ($$038$us<<5)|0);
$$03744$us = $16;$$14043$us = $$03947$us;
while(1) {
$17 = HEAP8[$$03744$us>>0]|0;
$18 = ($17<<24>>24)!=(0);
$19 = ($$03744$us>>>0)<($14>>>0);
$or$cond42$us = $19 & $18;
if (!($or$cond42$us)) {
$$140$lcssa$us = $$14043$us;
break L13;
}
$21 = ((($$03744$us)) + 1|0);
$22 = (($$14043$us) + 1)|0;
$23 = (($3) + ($$14043$us)|0);
HEAP8[$23>>0] = $17;
$24 = ($22>>>0)<(191);
if ($24) {
$$03744$us = $21;$$14043$us = $22;
} else {
$$140$lcssa$us = $22;
break;
}
}
} else {
$$140$lcssa$us = $$03947$us;
}
} while(0);
$20 = ((($$03649$us)) + 2|0);
$$036$be$us = $20;$$039$be$us = $$140$lcssa$us;
} else {
$$2$us = $6;$28 = $7;
label = 11;
}
}
break;
}
default: {
$$2$us = $$03649$us;$28 = $5;
label = 11;
}
}
if ((label|0) == 11) {
label = 0;
$25 = ((($$2$us)) + 1|0);
$26 = (($$03947$us) + 1)|0;
$27 = (($3) + ($$03947$us)|0);
HEAP8[$27>>0] = $28;
$$036$be$us = $25;$$039$be$us = $26;
}
$29 = ($$039$be$us>>>0)<(191);
if ($29) {
$$03649$us = $$036$be$us;$$03947$us = $$039$be$us;
} else {
$$039$lcssa = $$039$be$us;
break L1;
}
}
}
} while(0);
$36 = (($3) + ($$039$lcssa)|0);
HEAP8[$36>>0] = 0;
_png_warning($0,$3);
STACKTOP = sp;return;
}
function _png_write_sPLT($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$041 = 0, $$041$us = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$2 = sp + 104|0;
$3 = sp + 96|0;
$4 = sp + 16|0;
$5 = sp;
$6 = ((($1)) + 4|0);
$7 = HEAP8[$6>>0]|0;
$8 = ($7<<24>>24)==(8);
$9 = $8 ? 6 : 10;
$10 = ((($1)) + 12|0);
$11 = HEAP32[$10>>2]|0;
$12 = HEAP32[$1>>2]|0;
$13 = (_png_check_keyword($0,$12,$4)|0);
$14 = ($13|0)==(0);
if ($14) {
_png_error($0,23341);
// unreachable;
}
$15 = Math_imul($9, $11)|0;
$16 = (($13) + 2)|0;
$17 = (($16) + ($15))|0;
$18 = ($0|0)==(0|0);
if ($18) {
$136 = 0;
} else {
$19 = ((($0)) + 800|0);
HEAP32[$19>>2] = 34;
$20 = $17 >>> 24;
$21 = $20&255;
HEAP8[$3>>0] = $21;
$22 = $17 >>> 16;
$23 = $22&255;
$24 = ((($3)) + 1|0);
HEAP8[$24>>0] = $23;
$25 = $17 >>> 8;
$26 = $25&255;
$27 = ((($3)) + 2|0);
HEAP8[$27>>0] = $26;
$28 = $17&255;
$29 = ((($3)) + 3|0);
HEAP8[$29>>0] = $28;
$30 = ((($3)) + 4|0);
HEAP8[$30>>0] = 115;
$31 = ((($3)) + 5|0);
HEAP8[$31>>0] = 80;
$32 = ((($3)) + 6|0);
HEAP8[$32>>0] = 76;
$33 = ((($3)) + 7|0);
HEAP8[$33>>0] = 84;
_png_write_data($0,$3,8);
$34 = ((($0)) + 376|0);
HEAP32[$34>>2] = 1934642260;
_png_reset_crc($0);
_png_calculate_crc($0,$30,4);
HEAP32[$19>>2] = 66;
$35 = (($13) + 1)|0;
$36 = ($35|0)==(0);
if (!($36)) {
_png_write_data($0,$4,$35);
_png_calculate_crc($0,$4,$35);
}
_png_write_data($0,$6,1);
_png_calculate_crc($0,$6,1);
$136 = 1;
}
$37 = ((($1)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$39 = HEAP32[$10>>2]|0;
$40 = ($39|0)>(0);
L11: do {
if ($40) {
$41 = ((($5)) + 1|0);
$42 = ((($5)) + 2|0);
$43 = ((($5)) + 3|0);
$44 = ((($5)) + 4|0);
$45 = ((($5)) + 5|0);
$46 = ((($5)) + 6|0);
$47 = ((($5)) + 7|0);
$48 = ((($5)) + 8|0);
$49 = ((($5)) + 9|0);
if ($136) {
$$041$us = $38;
while(1) {
$52 = HEAP8[$6>>0]|0;
$53 = ($52<<24>>24)==(8);
$54 = HEAP16[$$041$us>>1]|0;
$55 = ((($$041$us)) + 2|0);
$56 = HEAP16[$55>>1]|0;
$57 = ((($$041$us)) + 4|0);
$58 = HEAP16[$57>>1]|0;
$59 = ((($$041$us)) + 6|0);
$60 = HEAP16[$59>>1]|0;
$61 = ((($$041$us)) + 8|0);
$62 = HEAP16[$61>>1]|0;
if ($53) {
$78 = $54&255;
HEAP8[$5>>0] = $78;
$79 = $56&255;
HEAP8[$41>>0] = $79;
$80 = $58&255;
HEAP8[$42>>0] = $80;
$81 = $60&255;
HEAP8[$43>>0] = $81;
$82 = ($62&65535) >>> 8;
$83 = $82&255;
HEAP8[$44>>0] = $83;
$84 = $62&255;
HEAP8[$45>>0] = $84;
} else {
$63 = ($54&65535) >>> 8;
$64 = $63&255;
HEAP8[$5>>0] = $64;
$65 = $54&255;
HEAP8[$41>>0] = $65;
$66 = ($56&65535) >>> 8;
$67 = $66&255;
HEAP8[$42>>0] = $67;
$68 = $56&255;
HEAP8[$43>>0] = $68;
$69 = ($58&65535) >>> 8;
$70 = $69&255;
HEAP8[$44>>0] = $70;
$71 = $58&255;
HEAP8[$45>>0] = $71;
$72 = ($60&65535) >>> 8;
$73 = $72&255;
HEAP8[$46>>0] = $73;
$74 = $60&255;
HEAP8[$47>>0] = $74;
$75 = ($62&65535) >>> 8;
$76 = $75&255;
HEAP8[$48>>0] = $76;
$77 = $62&255;
HEAP8[$49>>0] = $77;
}
_png_write_data($0,$5,$9);
_png_calculate_crc($0,$5,$9);
$85 = ((($$041$us)) + 10|0);
$86 = HEAP32[$37>>2]|0;
$87 = HEAP32[$10>>2]|0;
$88 = (($86) + (($87*10)|0)|0);
$89 = ($85>>>0)<($88>>>0);
if ($89) {
$$041$us = $85;
} else {
break L11;
}
}
}
$$pre = HEAP8[$6>>0]|0;
$50 = ($$pre<<24>>24)==(8);
$51 = (($38) + (($39*10)|0)|0);
$$041 = $38;
while(1) {
$90 = HEAP16[$$041>>1]|0;
$91 = ((($$041)) + 2|0);
$92 = HEAP16[$91>>1]|0;
$93 = ((($$041)) + 4|0);
$94 = HEAP16[$93>>1]|0;
$95 = ((($$041)) + 6|0);
$96 = HEAP16[$95>>1]|0;
$97 = ((($$041)) + 8|0);
$98 = HEAP16[$97>>1]|0;
if ($50) {
$99 = $90&255;
HEAP8[$5>>0] = $99;
$100 = $92&255;
HEAP8[$41>>0] = $100;
$101 = $94&255;
HEAP8[$42>>0] = $101;
$102 = $96&255;
HEAP8[$43>>0] = $102;
$103 = ($98&65535) >>> 8;
$104 = $103&255;
HEAP8[$44>>0] = $104;
$105 = $98&255;
HEAP8[$45>>0] = $105;
} else {
$106 = ($90&65535) >>> 8;
$107 = $106&255;
HEAP8[$5>>0] = $107;
$108 = $90&255;
HEAP8[$41>>0] = $108;
$109 = ($92&65535) >>> 8;
$110 = $109&255;
HEAP8[$42>>0] = $110;
$111 = $92&255;
HEAP8[$43>>0] = $111;
$112 = ($94&65535) >>> 8;
$113 = $112&255;
HEAP8[$44>>0] = $113;
$114 = $94&255;
HEAP8[$45>>0] = $114;
$115 = ($96&65535) >>> 8;
$116 = $115&255;
HEAP8[$46>>0] = $116;
$117 = $96&255;
HEAP8[$47>>0] = $117;
$118 = ($98&65535) >>> 8;
$119 = $118&255;
HEAP8[$48>>0] = $119;
$120 = $98&255;
HEAP8[$49>>0] = $120;
}
$121 = ((($$041)) + 10|0);
$122 = ($121>>>0)<($51>>>0);
if ($122) {
$$041 = $121;
} else {
break;
}
}
}
} while(0);
if ($18) {
STACKTOP = sp;return;
}
$123 = ((($0)) + 800|0);
HEAP32[$123>>2] = 130;
$124 = ((($0)) + 412|0);
$125 = HEAP32[$124>>2]|0;
$126 = $125 >>> 24;
$127 = $126&255;
HEAP8[$2>>0] = $127;
$128 = $125 >>> 16;
$129 = $128&255;
$130 = ((($2)) + 1|0);
HEAP8[$130>>0] = $129;
$131 = $125 >>> 8;
$132 = $131&255;
$133 = ((($2)) + 2|0);
HEAP8[$133>>0] = $132;
$134 = $125&255;
$135 = ((($2)) + 3|0);
HEAP8[$135>>0] = $134;
_png_write_data($0,$2,4);
STACKTOP = sp;return;
}
function _png_write_sBIT($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$1 = 0, $$234 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$3 = sp + 16|0;
$4 = sp + 8|0;
$5 = sp;
$6 = $2 & 2;
$7 = ($6|0)==(0);
do {
if ($7) {
$25 = ((($1)) + 3|0);
$26 = HEAP8[$25>>0]|0;
$27 = ($26<<24>>24)==(0);
if (!($27)) {
$28 = ((($0)) + 437|0);
$29 = HEAP8[$28>>0]|0;
$30 = ($26&255)>($29&255);
if (!($30)) {
HEAP8[$5>>0] = $26;
$$1 = 1;
break;
}
}
_png_warning($0,23363);
STACKTOP = sp;return;
} else {
$8 = ($2|0)==(3);
if ($8) {
$14 = 8;
} else {
$9 = ((($0)) + 437|0);
$10 = HEAP8[$9>>0]|0;
$14 = $10;
}
$11 = HEAP8[$1>>0]|0;
$12 = (($11) + -1)<<24>>24;
$13 = ($12&255)<($14&255);
if ($13) {
$15 = ((($1)) + 1|0);
$16 = HEAP8[$15>>0]|0;
$17 = (($16) + -1)<<24>>24;
$18 = ($17&255)<($14&255);
if ($18) {
$19 = ((($1)) + 2|0);
$20 = HEAP8[$19>>0]|0;
$21 = (($20) + -1)<<24>>24;
$22 = ($21&255)<($14&255);
if ($22) {
HEAP8[$5>>0] = $11;
$23 = ((($5)) + 1|0);
HEAP8[$23>>0] = $16;
$24 = ((($5)) + 2|0);
HEAP8[$24>>0] = $20;
$$1 = 3;
break;
}
}
}
_png_warning($0,23363);
STACKTOP = sp;return;
}
} while(0);
$31 = $2 & 4;
$32 = ($31|0)==(0);
do {
if ($32) {
$41 = ($0|0)==(0|0);
if ($41) {
STACKTOP = sp;return;
} else {
$$234 = $$1;
}
} else {
$33 = ((($1)) + 4|0);
$34 = HEAP8[$33>>0]|0;
$35 = ($34<<24>>24)==(0);
if (!($35)) {
$36 = ((($0)) + 437|0);
$37 = HEAP8[$36>>0]|0;
$38 = ($34&255)>($37&255);
if (!($38)) {
$39 = (($$1) + 1)|0;
$40 = (($5) + ($$1)|0);
HEAP8[$40>>0] = $34;
$$234 = $39;
break;
}
}
_png_warning($0,23363);
STACKTOP = sp;return;
}
} while(0);
$42 = ((($0)) + 800|0);
HEAP32[$42>>2] = 34;
$43 = $$234 >>> 24;
$44 = $43&255;
HEAP8[$4>>0] = $44;
$45 = $$234 >>> 16;
$46 = $45&255;
$47 = ((($4)) + 1|0);
HEAP8[$47>>0] = $46;
$48 = $$234 >>> 8;
$49 = $48&255;
$50 = ((($4)) + 2|0);
HEAP8[$50>>0] = $49;
$51 = $$234&255;
$52 = ((($4)) + 3|0);
HEAP8[$52>>0] = $51;
$53 = ((($4)) + 4|0);
HEAP8[$53>>0] = 115;
$54 = ((($4)) + 5|0);
HEAP8[$54>>0] = 66;
$55 = ((($4)) + 6|0);
HEAP8[$55>>0] = 73;
$56 = ((($4)) + 7|0);
HEAP8[$56>>0] = 84;
_png_write_data($0,$4,8);
$57 = ((($0)) + 376|0);
HEAP32[$57>>2] = 1933723988;
_png_reset_crc($0);
_png_calculate_crc($0,$53,4);
HEAP32[$42>>2] = 66;
_png_write_data($0,$5,$$234);
_png_calculate_crc($0,$5,$$234);
HEAP32[$42>>2] = 130;
$58 = ((($0)) + 412|0);
$59 = HEAP32[$58>>2]|0;
$60 = $59 >>> 24;
$61 = $60&255;
HEAP8[$3>>0] = $61;
$62 = $59 >>> 16;
$63 = $62&255;
$64 = ((($3)) + 1|0);
HEAP8[$64>>0] = $63;
$65 = $59 >>> 8;
$66 = $65&255;
$67 = ((($3)) + 2|0);
HEAP8[$67>>0] = $66;
$68 = $59&255;
$69 = ((($3)) + 3|0);
HEAP8[$69>>0] = $68;
_png_write_data($0,$3,4);
STACKTOP = sp;return;
}
function _png_write_cHRM_fixed($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$2 = sp + 40|0;
$3 = sp + 32|0;
$4 = sp;
$5 = ((($1)) + 24|0);
$6 = HEAP32[$5>>2]|0;
_png_save_int_32($4,$6);
$7 = ((($4)) + 4|0);
$8 = ((($1)) + 28|0);
$9 = HEAP32[$8>>2]|0;
_png_save_int_32($7,$9);
$10 = ((($4)) + 8|0);
$11 = HEAP32[$1>>2]|0;
_png_save_int_32($10,$11);
$12 = ((($4)) + 12|0);
$13 = ((($1)) + 4|0);
$14 = HEAP32[$13>>2]|0;
_png_save_int_32($12,$14);
$15 = ((($4)) + 16|0);
$16 = ((($1)) + 8|0);
$17 = HEAP32[$16>>2]|0;
_png_save_int_32($15,$17);
$18 = ((($4)) + 20|0);
$19 = ((($1)) + 12|0);
$20 = HEAP32[$19>>2]|0;
_png_save_int_32($18,$20);
$21 = ((($4)) + 24|0);
$22 = ((($1)) + 16|0);
$23 = HEAP32[$22>>2]|0;
_png_save_int_32($21,$23);
$24 = ((($4)) + 28|0);
$25 = ((($1)) + 20|0);
$26 = HEAP32[$25>>2]|0;
_png_save_int_32($24,$26);
$27 = ($0|0)==(0|0);
if ($27) {
STACKTOP = sp;return;
}
$28 = ((($0)) + 800|0);
HEAP32[$28>>2] = 34;
HEAP8[$3>>0] = 0;
$29 = ((($3)) + 1|0);
HEAP8[$29>>0] = 0;
$30 = ((($3)) + 2|0);
HEAP8[$30>>0] = 0;
$31 = ((($3)) + 3|0);
HEAP8[$31>>0] = 32;
$32 = ((($3)) + 4|0);
HEAP8[$32>>0] = 99;
$33 = ((($3)) + 5|0);
HEAP8[$33>>0] = 72;
$34 = ((($3)) + 6|0);
HEAP8[$34>>0] = 82;
$35 = ((($3)) + 7|0);
HEAP8[$35>>0] = 77;
_png_write_data($0,$3,8);
$36 = ((($0)) + 376|0);
HEAP32[$36>>2] = 1665684045;
_png_reset_crc($0);
_png_calculate_crc($0,$32,4);
HEAP32[$28>>2] = 66;
_png_write_data($0,$4,32);
_png_calculate_crc($0,$4,32);
HEAP32[$28>>2] = 130;
$37 = ((($0)) + 412|0);
$38 = HEAP32[$37>>2]|0;
$39 = $38 >>> 24;
$40 = $39&255;
HEAP8[$2>>0] = $40;
$41 = $38 >>> 16;
$42 = $41&255;
$43 = ((($2)) + 1|0);
HEAP8[$43>>0] = $42;
$44 = $38 >>> 8;
$45 = $44&255;
$46 = ((($2)) + 2|0);
HEAP8[$46>>0] = $45;
$47 = $38&255;
$48 = ((($2)) + 3|0);
HEAP8[$48>>0] = $47;
_png_write_data($0,$2,4);
STACKTOP = sp;return;
}
function _png_save_int_32($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $1 >>> 24;
$3 = $2&255;
HEAP8[$0>>0] = $3;
$4 = $1 >>> 16;
$5 = $4&255;
$6 = ((($0)) + 1|0);
HEAP8[$6>>0] = $5;
$7 = $1 >>> 8;
$8 = $7&255;
$9 = ((($0)) + 2|0);
HEAP8[$9>>0] = $8;
$10 = $1&255;
$11 = ((($0)) + 3|0);
HEAP8[$11>>0] = $10;
return;
}
function _png_write_tRNS($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$5 = sp + 40|0;
$6 = sp + 32|0;
$7 = sp + 24|0;
$8 = sp + 16|0;
$9 = sp + 12|0;
$10 = sp + 8|0;
$11 = sp;
switch ($4|0) {
case 3: {
$12 = ($3|0)<(1);
if (!($12)) {
$13 = ((($0)) + 420|0);
$14 = HEAP16[$13>>1]|0;
$15 = $14&65535;
$16 = ($15|0)<($3|0);
if (!($16)) {
$17 = ((($0)) + 800|0);
HEAP32[$17>>2] = 34;
$18 = $3 >>> 24;
$19 = $18&255;
HEAP8[$7>>0] = $19;
$20 = $3 >>> 16;
$21 = $20&255;
$22 = ((($7)) + 1|0);
HEAP8[$22>>0] = $21;
$23 = $3 >>> 8;
$24 = $23&255;
$25 = ((($7)) + 2|0);
HEAP8[$25>>0] = $24;
$26 = $3&255;
$27 = ((($7)) + 3|0);
HEAP8[$27>>0] = $26;
$28 = ((($7)) + 4|0);
HEAP8[$28>>0] = 116;
$29 = ((($7)) + 5|0);
HEAP8[$29>>0] = 82;
$30 = ((($7)) + 6|0);
HEAP8[$30>>0] = 78;
$31 = ((($7)) + 7|0);
HEAP8[$31>>0] = 83;
_png_write_data($0,$7,8);
$32 = ((($0)) + 376|0);
HEAP32[$32>>2] = 1951551059;
_png_reset_crc($0);
_png_calculate_crc($0,$28,4);
HEAP32[$17>>2] = 66;
$33 = ($1|0)==(0|0);
if (!($33)) {
_png_write_data($0,$1,$3);
_png_calculate_crc($0,$1,$3);
}
HEAP32[$17>>2] = 130;
$34 = ((($0)) + 412|0);
$35 = HEAP32[$34>>2]|0;
$36 = $35 >>> 24;
$37 = $36&255;
HEAP8[$10>>0] = $37;
$38 = $35 >>> 16;
$39 = $38&255;
$40 = ((($10)) + 1|0);
HEAP8[$40>>0] = $39;
$41 = $35 >>> 8;
$42 = $41&255;
$43 = ((($10)) + 2|0);
HEAP8[$43>>0] = $42;
$44 = $35&255;
$45 = ((($10)) + 3|0);
HEAP8[$45>>0] = $44;
_png_write_data($0,$10,4);
STACKTOP = sp;return;
}
}
_png_app_warning($0,23392);
STACKTOP = sp;return;
break;
}
case 0: {
$46 = ((($2)) + 8|0);
$47 = HEAP16[$46>>1]|0;
$48 = $47&65535;
$49 = ((($0)) + 436|0);
$50 = HEAP8[$49>>0]|0;
$51 = $50&255;
$52 = 1 << $51;
$53 = ($48|0)<($52|0);
if ($53) {
$54 = ($47&65535) >>> 8;
$55 = $54&255;
HEAP8[$11>>0] = $55;
$56 = $47&255;
$57 = ((($11)) + 1|0);
HEAP8[$57>>0] = $56;
$58 = ((($0)) + 800|0);
HEAP32[$58>>2] = 34;
HEAP8[$8>>0] = 0;
$59 = ((($8)) + 1|0);
HEAP8[$59>>0] = 0;
$60 = ((($8)) + 2|0);
HEAP8[$60>>0] = 0;
$61 = ((($8)) + 3|0);
HEAP8[$61>>0] = 2;
$62 = ((($8)) + 4|0);
HEAP8[$62>>0] = 116;
$63 = ((($8)) + 5|0);
HEAP8[$63>>0] = 82;
$64 = ((($8)) + 6|0);
HEAP8[$64>>0] = 78;
$65 = ((($8)) + 7|0);
HEAP8[$65>>0] = 83;
_png_write_data($0,$8,8);
$66 = ((($0)) + 376|0);
HEAP32[$66>>2] = 1951551059;
_png_reset_crc($0);
_png_calculate_crc($0,$62,4);
HEAP32[$58>>2] = 66;
_png_write_data($0,$11,2);
_png_calculate_crc($0,$11,2);
HEAP32[$58>>2] = 130;
$67 = ((($0)) + 412|0);
$68 = HEAP32[$67>>2]|0;
$69 = $68 >>> 24;
$70 = $69&255;
HEAP8[$9>>0] = $70;
$71 = $68 >>> 16;
$72 = $71&255;
$73 = ((($9)) + 1|0);
HEAP8[$73>>0] = $72;
$74 = $68 >>> 8;
$75 = $74&255;
$76 = ((($9)) + 2|0);
HEAP8[$76>>0] = $75;
$77 = $68&255;
$78 = ((($9)) + 3|0);
HEAP8[$78>>0] = $77;
_png_write_data($0,$9,4);
STACKTOP = sp;return;
} else {
_png_app_warning($0,23439);
STACKTOP = sp;return;
}
break;
}
case 2: {
$79 = ((($2)) + 2|0);
$80 = HEAP16[$79>>1]|0;
$81 = ($80&65535) >>> 8;
$82 = $81&255;
HEAP8[$11>>0] = $82;
$83 = $80&255;
$84 = ((($11)) + 1|0);
HEAP8[$84>>0] = $83;
$85 = ((($11)) + 2|0);
$86 = ((($2)) + 4|0);
$87 = HEAP16[$86>>1]|0;
$88 = ($87&65535) >>> 8;
$89 = $88&255;
HEAP8[$85>>0] = $89;
$90 = $87&255;
$91 = ((($11)) + 3|0);
HEAP8[$91>>0] = $90;
$92 = ((($11)) + 4|0);
$93 = ((($2)) + 6|0);
$94 = HEAP16[$93>>1]|0;
$95 = ($94&65535) >>> 8;
$96 = $95&255;
HEAP8[$92>>0] = $96;
$97 = $94&255;
$98 = ((($11)) + 5|0);
HEAP8[$98>>0] = $97;
$99 = ((($0)) + 436|0);
$100 = HEAP8[$99>>0]|0;
$101 = ($100<<24>>24)==(8);
if ($101) {
$102 = $88 | $81;
$103 = $102 | $95;
$104 = ($103<<16>>16)==(0);
if (!($104)) {
_png_app_warning($0,23503);
STACKTOP = sp;return;
}
}
$105 = ((($0)) + 800|0);
HEAP32[$105>>2] = 34;
HEAP8[$6>>0] = 0;
$106 = ((($6)) + 1|0);
HEAP8[$106>>0] = 0;
$107 = ((($6)) + 2|0);
HEAP8[$107>>0] = 0;
$108 = ((($6)) + 3|0);
HEAP8[$108>>0] = 6;
$109 = ((($6)) + 4|0);
HEAP8[$109>>0] = 116;
$110 = ((($6)) + 5|0);
HEAP8[$110>>0] = 82;
$111 = ((($6)) + 6|0);
HEAP8[$111>>0] = 78;
$112 = ((($6)) + 7|0);
HEAP8[$112>>0] = 83;
_png_write_data($0,$6,8);
$113 = ((($0)) + 376|0);
HEAP32[$113>>2] = 1951551059;
_png_reset_crc($0);
_png_calculate_crc($0,$109,4);
HEAP32[$105>>2] = 66;
_png_write_data($0,$11,6);
_png_calculate_crc($0,$11,6);
HEAP32[$105>>2] = 130;
$114 = ((($0)) + 412|0);
$115 = HEAP32[$114>>2]|0;
$116 = $115 >>> 24;
$117 = $116&255;
HEAP8[$5>>0] = $117;
$118 = $115 >>> 16;
$119 = $118&255;
$120 = ((($5)) + 1|0);
HEAP8[$120>>0] = $119;
$121 = $115 >>> 8;
$122 = $121&255;
$123 = ((($5)) + 2|0);
HEAP8[$123>>0] = $122;
$124 = $115&255;
$125 = ((($5)) + 3|0);
HEAP8[$125>>0] = $124;
_png_write_data($0,$5,4);
STACKTOP = sp;return;
break;
}
default: {
_png_app_warning($0,23567);
STACKTOP = sp;return;
}
}
}
function _png_write_bKGD($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$3 = sp + 48|0;
$4 = sp + 40|0;
$5 = sp + 32|0;
$6 = sp + 24|0;
$7 = sp + 16|0;
$8 = sp + 8|0;
$9 = sp;
$10 = ($2|0)==(3);
if ($10) {
$11 = ((($0)) + 420|0);
$12 = HEAP16[$11>>1]|0;
$13 = ($12<<16>>16)==(0);
if ($13) {
$14 = ((($0)) + 708|0);
$15 = HEAP32[$14>>2]|0;
$16 = $15 & 1;
$17 = ($16|0)==(0);
if ($17) {
label = 5;
} else {
$$pre = HEAP8[$1>>0]|0;
$22 = $$pre;
}
} else {
label = 5;
}
if ((label|0) == 5) {
$18 = HEAP8[$1>>0]|0;
$19 = $18&255;
$20 = $12&65535;
$21 = ($19>>>0)<($20>>>0);
if ($21) {
$22 = $18;
} else {
_png_warning($0,23606);
STACKTOP = sp;return;
}
}
HEAP8[$9>>0] = $22;
$23 = ((($0)) + 800|0);
HEAP32[$23>>2] = 34;
HEAP8[$7>>0] = 0;
$24 = ((($7)) + 1|0);
HEAP8[$24>>0] = 0;
$25 = ((($7)) + 2|0);
HEAP8[$25>>0] = 0;
$26 = ((($7)) + 3|0);
HEAP8[$26>>0] = 1;
$27 = ((($7)) + 4|0);
HEAP8[$27>>0] = 98;
$28 = ((($7)) + 5|0);
HEAP8[$28>>0] = 75;
$29 = ((($7)) + 6|0);
HEAP8[$29>>0] = 71;
$30 = ((($7)) + 7|0);
HEAP8[$30>>0] = 68;
_png_write_data($0,$7,8);
$31 = ((($0)) + 376|0);
HEAP32[$31>>2] = 1649100612;
_png_reset_crc($0);
_png_calculate_crc($0,$27,4);
HEAP32[$23>>2] = 66;
_png_write_data($0,$9,1);
_png_calculate_crc($0,$9,1);
HEAP32[$23>>2] = 130;
$32 = ((($0)) + 412|0);
$33 = HEAP32[$32>>2]|0;
$34 = $33 >>> 24;
$35 = $34&255;
HEAP8[$8>>0] = $35;
$36 = $33 >>> 16;
$37 = $36&255;
$38 = ((($8)) + 1|0);
HEAP8[$38>>0] = $37;
$39 = $33 >>> 8;
$40 = $39&255;
$41 = ((($8)) + 2|0);
HEAP8[$41>>0] = $40;
$42 = $33&255;
$43 = ((($8)) + 3|0);
HEAP8[$43>>0] = $42;
_png_write_data($0,$8,4);
STACKTOP = sp;return;
}
$44 = $2 & 2;
$45 = ($44|0)==(0);
if ($45) {
$93 = ((($1)) + 8|0);
$94 = HEAP16[$93>>1]|0;
$95 = $94&65535;
$96 = ((($0)) + 436|0);
$97 = HEAP8[$96>>0]|0;
$98 = $97&255;
$99 = 1 << $98;
$100 = ($95|0)<($99|0);
if ($100) {
$101 = ($94&65535) >>> 8;
$102 = $101&255;
HEAP8[$9>>0] = $102;
$103 = $94&255;
$104 = ((($9)) + 1|0);
HEAP8[$104>>0] = $103;
$105 = ((($0)) + 800|0);
HEAP32[$105>>2] = 34;
HEAP8[$4>>0] = 0;
$106 = ((($4)) + 1|0);
HEAP8[$106>>0] = 0;
$107 = ((($4)) + 2|0);
HEAP8[$107>>0] = 0;
$108 = ((($4)) + 3|0);
HEAP8[$108>>0] = 2;
$109 = ((($4)) + 4|0);
HEAP8[$109>>0] = 98;
$110 = ((($4)) + 5|0);
HEAP8[$110>>0] = 75;
$111 = ((($4)) + 6|0);
HEAP8[$111>>0] = 71;
$112 = ((($4)) + 7|0);
HEAP8[$112>>0] = 68;
_png_write_data($0,$4,8);
$113 = ((($0)) + 376|0);
HEAP32[$113>>2] = 1649100612;
_png_reset_crc($0);
_png_calculate_crc($0,$109,4);
HEAP32[$105>>2] = 66;
_png_write_data($0,$9,2);
_png_calculate_crc($0,$9,2);
HEAP32[$105>>2] = 130;
$114 = ((($0)) + 412|0);
$115 = HEAP32[$114>>2]|0;
$116 = $115 >>> 24;
$117 = $116&255;
HEAP8[$3>>0] = $117;
$118 = $115 >>> 16;
$119 = $118&255;
$120 = ((($3)) + 1|0);
HEAP8[$120>>0] = $119;
$121 = $115 >>> 8;
$122 = $121&255;
$123 = ((($3)) + 2|0);
HEAP8[$123>>0] = $122;
$124 = $115&255;
$125 = ((($3)) + 3|0);
HEAP8[$125>>0] = $124;
_png_write_data($0,$3,4);
STACKTOP = sp;return;
} else {
_png_warning($0,23703);
STACKTOP = sp;return;
}
}
$46 = ((($1)) + 2|0);
$47 = HEAP16[$46>>1]|0;
$48 = ($47&65535) >>> 8;
$49 = $48&255;
HEAP8[$9>>0] = $49;
$50 = $47&255;
$51 = ((($9)) + 1|0);
HEAP8[$51>>0] = $50;
$52 = ((($9)) + 2|0);
$53 = ((($1)) + 4|0);
$54 = HEAP16[$53>>1]|0;
$55 = ($54&65535) >>> 8;
$56 = $55&255;
HEAP8[$52>>0] = $56;
$57 = $54&255;
$58 = ((($9)) + 3|0);
HEAP8[$58>>0] = $57;
$59 = ((($9)) + 4|0);
$60 = ((($1)) + 6|0);
$61 = HEAP16[$60>>1]|0;
$62 = ($61&65535) >>> 8;
$63 = $62&255;
HEAP8[$59>>0] = $63;
$64 = $61&255;
$65 = ((($9)) + 5|0);
HEAP8[$65>>0] = $64;
$66 = ((($0)) + 436|0);
$67 = HEAP8[$66>>0]|0;
$68 = ($67<<24>>24)==(8);
if ($68) {
$69 = $55 | $48;
$70 = $69 | $62;
$71 = ($70<<16>>16)==(0);
if (!($71)) {
_png_warning($0,23639);
STACKTOP = sp;return;
}
}
$72 = ((($0)) + 800|0);
HEAP32[$72>>2] = 34;
HEAP8[$5>>0] = 0;
$73 = ((($5)) + 1|0);
HEAP8[$73>>0] = 0;
$74 = ((($5)) + 2|0);
HEAP8[$74>>0] = 0;
$75 = ((($5)) + 3|0);
HEAP8[$75>>0] = 6;
$76 = ((($5)) + 4|0);
HEAP8[$76>>0] = 98;
$77 = ((($5)) + 5|0);
HEAP8[$77>>0] = 75;
$78 = ((($5)) + 6|0);
HEAP8[$78>>0] = 71;
$79 = ((($5)) + 7|0);
HEAP8[$79>>0] = 68;
_png_write_data($0,$5,8);
$80 = ((($0)) + 376|0);
HEAP32[$80>>2] = 1649100612;
_png_reset_crc($0);
_png_calculate_crc($0,$76,4);
HEAP32[$72>>2] = 66;
_png_write_data($0,$9,6);
_png_calculate_crc($0,$9,6);
HEAP32[$72>>2] = 130;
$81 = ((($0)) + 412|0);
$82 = HEAP32[$81>>2]|0;
$83 = $82 >>> 24;
$84 = $83&255;
HEAP8[$6>>0] = $84;
$85 = $82 >>> 16;
$86 = $85&255;
$87 = ((($6)) + 1|0);
HEAP8[$87>>0] = $86;
$88 = $82 >>> 8;
$89 = $88&255;
$90 = ((($6)) + 2|0);
HEAP8[$90>>0] = $89;
$91 = $82&255;
$92 = ((($6)) + 3|0);
HEAP8[$92>>0] = $91;
_png_write_data($0,$6,4);
STACKTOP = sp;return;
}
function _png_write_hIST($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond13 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$3 = sp + 16|0;
$4 = sp + 8|0;
$5 = sp;
$6 = ((($0)) + 420|0);
$7 = HEAP16[$6>>1]|0;
$8 = $7&65535;
$9 = ($8|0)<($2|0);
if ($9) {
_png_warning($0,23767);
STACKTOP = sp;return;
}
$10 = $2 << 1;
$11 = ((($0)) + 800|0);
HEAP32[$11>>2] = 34;
$12 = $2 >>> 23;
$13 = $12&255;
HEAP8[$4>>0] = $13;
$14 = $2 >>> 15;
$15 = $14&255;
$16 = ((($4)) + 1|0);
HEAP8[$16>>0] = $15;
$17 = $2 >>> 7;
$18 = $17&255;
$19 = ((($4)) + 2|0);
HEAP8[$19>>0] = $18;
$20 = $10&255;
$21 = ((($4)) + 3|0);
HEAP8[$21>>0] = $20;
$22 = ((($4)) + 4|0);
HEAP8[$22>>0] = 104;
$23 = ((($4)) + 5|0);
HEAP8[$23>>0] = 73;
$24 = ((($4)) + 6|0);
HEAP8[$24>>0] = 83;
$25 = ((($4)) + 7|0);
HEAP8[$25>>0] = 84;
_png_write_data($0,$4,8);
$26 = ((($0)) + 376|0);
HEAP32[$26>>2] = 1749635924;
_png_reset_crc($0);
_png_calculate_crc($0,$22,4);
HEAP32[$11>>2] = 66;
$27 = ($2|0)>(0);
if ($27) {
$28 = ((($5)) + 1|0);
$$011 = 0;
while(1) {
$29 = (($1) + ($$011<<1)|0);
$30 = HEAP16[$29>>1]|0;
$31 = ($30&65535) >>> 8;
$32 = $31&255;
HEAP8[$5>>0] = $32;
$33 = $30&255;
HEAP8[$28>>0] = $33;
_png_write_data($0,$5,2);
_png_calculate_crc($0,$5,2);
$34 = (($$011) + 1)|0;
$exitcond13 = ($34|0)==($2|0);
if ($exitcond13) {
break;
} else {
$$011 = $34;
}
}
}
HEAP32[$11>>2] = 130;
$35 = ((($0)) + 412|0);
$36 = HEAP32[$35>>2]|0;
$37 = $36 >>> 24;
$38 = $37&255;
HEAP8[$3>>0] = $38;
$39 = $36 >>> 16;
$40 = $39&255;
$41 = ((($3)) + 1|0);
HEAP8[$41>>0] = $40;
$42 = $36 >>> 8;
$43 = $42&255;
$44 = ((($3)) + 2|0);
HEAP8[$44>>0] = $43;
$45 = $36&255;
$46 = ((($3)) + 3|0);
HEAP8[$46>>0] = $45;
_png_write_data($0,$3,4);
STACKTOP = sp;return;
}
function _png_write_tEXt($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
$4 = sp + 88|0;
$5 = sp + 80|0;
$6 = sp;
$7 = (_png_check_keyword($0,$1,$6)|0);
$8 = ($7|0)==(0);
if ($8) {
_png_error($0,23813);
// unreachable;
}
$9 = ($2|0)==(0|0);
if ($9) {
$$021 = 0;
} else {
$10 = HEAP8[$2>>0]|0;
$11 = ($10<<24>>24)==(0);
if ($11) {
$$021 = 0;
} else {
$12 = (_strlen($2)|0);
$13 = (2147483646 - ($7))|0;
$14 = ($12>>>0)>($13>>>0);
if ($14) {
_png_error($0,23835);
// unreachable;
} else {
$$021 = $12;
}
}
}
$15 = (($7) + 1)|0;
$16 = (($15) + ($$021))|0;
$17 = ($0|0)==(0|0);
if ($17) {
$50 = $4;
STACKTOP = sp;return;
}
$18 = ((($0)) + 800|0);
HEAP32[$18>>2] = 34;
$19 = $16 >>> 24;
$20 = $19&255;
HEAP8[$5>>0] = $20;
$21 = $16 >>> 16;
$22 = $21&255;
$23 = ((($5)) + 1|0);
HEAP8[$23>>0] = $22;
$24 = $16 >>> 8;
$25 = $24&255;
$26 = ((($5)) + 2|0);
HEAP8[$26>>0] = $25;
$27 = $16&255;
$28 = ((($5)) + 3|0);
HEAP8[$28>>0] = $27;
$29 = ((($5)) + 4|0);
HEAP8[$29>>0] = 116;
$30 = ((($5)) + 5|0);
HEAP8[$30>>0] = 69;
$31 = ((($5)) + 6|0);
HEAP8[$31>>0] = 88;
$32 = ((($5)) + 7|0);
HEAP8[$32>>0] = 116;
_png_write_data($0,$5,8);
$33 = ((($0)) + 376|0);
HEAP32[$33>>2] = 1950701684;
_png_reset_crc($0);
_png_calculate_crc($0,$29,4);
HEAP32[$18>>2] = 66;
$34 = ($15|0)==(0);
if (!($34)) {
_png_write_data($0,$6,$15);
_png_calculate_crc($0,$6,$15);
}
$35 = ($$021|0)!=(0);
$36 = ($2|0)!=(0|0);
$or$cond = $35 & $36;
if ($or$cond) {
_png_write_data($0,$2,$$021);
_png_calculate_crc($0,$2,$$021);
}
if ($17) {
$50 = $4;
STACKTOP = sp;return;
}
$37 = ((($0)) + 800|0);
HEAP32[$37>>2] = 130;
$38 = ((($0)) + 412|0);
$39 = HEAP32[$38>>2]|0;
$40 = $39 >>> 24;
$41 = $40&255;
HEAP8[$4>>0] = $41;
$42 = $39 >>> 16;
$43 = $42&255;
$44 = ((($4)) + 1|0);
HEAP8[$44>>0] = $43;
$45 = $39 >>> 8;
$46 = $45&255;
$47 = ((($4)) + 2|0);
HEAP8[$47>>0] = $46;
$48 = $39&255;
$49 = ((($4)) + 3|0);
HEAP8[$49>>0] = $48;
_png_write_data($0,$4,4);
$50 = $4;
STACKTOP = sp;return;
}
function _png_write_zTXt($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0$i = 0, $$0$i26 = 0, $$0$i29 = 0, $$0$in$us$i = 0, $$0$us$i = 0, $$025$us$i = 0, $$026$us$i = 0, $$027$$025$i = 0, $$027$$025$i27 = 0, $$027$$025$us$i = 0, $$027$us$i = 0, $$lcssa$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $or$cond$i28 = 0, $or$cond$us$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1136|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1136|0);
$4 = sp + 1128|0;
$5 = sp + 1120|0;
$6 = sp + 1036|0;
$7 = sp;
switch ($3|0) {
case -1: {
_png_write_tEXt($0,$1,$2,0);
STACKTOP = sp;return;
break;
}
case 0: {
$8 = (_png_check_keyword($0,$1,$6)|0);
$9 = ($8|0)==(0);
if ($9) {
_png_error($0,23886);
// unreachable;
}
$10 = (($8) + 1)|0;
$11 = (($6) + ($10)|0);
HEAP8[$11>>0] = 0;
$12 = (($8) + 2)|0;
$13 = ($2|0)==(0|0);
if ($13) {
$16 = 0;
} else {
$14 = (_strlen($2)|0);
$16 = $14;
}
HEAP32[$7>>2] = $2;
$15 = ((($7)) + 4|0);
HEAP32[$15>>2] = $16;
$17 = ((($7)) + 8|0);
HEAP32[$17>>2] = 0;
$18 = (_png_text_compress($0,2052348020,$7,$12)|0);
$19 = ($18|0)==(0);
if (!($19)) {
$20 = ((($0)) + 248|0);
$21 = HEAP32[$20>>2]|0;
_png_error($0,$21);
// unreachable;
}
$22 = HEAP32[$17>>2]|0;
$23 = (($22) + ($12))|0;
$24 = ($0|0)==(0|0);
L15: do {
if ($24) {
$$0$i26 = HEAP32[(280)>>2]|0;
$42 = ($22>>>0)<(1024);
$$027$$025$i27 = $42 ? $22 : 1024;
$43 = (($22) - ($$027$$025$i27))|0;
$44 = ($43|0)==(0);
$45 = ($$0$i26|0)==(0|0);
$or$cond$i28 = $45 | $44;
if ($or$cond$i28) {
$$lcssa$i = $44;
} else {
$46 = HEAP32[(284)>>2]|0;
$$0$i29 = $$0$i26;$59 = $43;
while(1) {
$$0$i = HEAP32[$$0$i29>>2]|0;
$58 = ($46>>>0)>($59>>>0);
$$027$$025$i = $58 ? $59 : $46;
$60 = (($59) - ($$027$$025$i))|0;
$61 = ($60|0)==(0);
$62 = ($$0$i|0)==(0|0);
$or$cond$i = $62 | $61;
if ($or$cond$i) {
$$lcssa$i = $61;
break;
} else {
$$0$i29 = $$0$i;$59 = $60;
}
}
}
} else {
$25 = ((($0)) + 800|0);
HEAP32[$25>>2] = 34;
$26 = $23 >>> 24;
$27 = $26&255;
HEAP8[$4>>0] = $27;
$28 = $23 >>> 16;
$29 = $28&255;
$30 = ((($4)) + 1|0);
HEAP8[$30>>0] = $29;
$31 = $23 >>> 8;
$32 = $31&255;
$33 = ((($4)) + 2|0);
HEAP8[$33>>0] = $32;
$34 = $23&255;
$35 = ((($4)) + 3|0);
HEAP8[$35>>0] = $34;
$36 = ((($4)) + 4|0);
HEAP8[$36>>0] = 122;
$37 = ((($4)) + 5|0);
HEAP8[$37>>0] = 84;
$38 = ((($4)) + 6|0);
HEAP8[$38>>0] = 88;
$39 = ((($4)) + 7|0);
HEAP8[$39>>0] = 116;
_png_write_data($0,$4,8);
$40 = ((($0)) + 376|0);
HEAP32[$40>>2] = 2052348020;
_png_reset_crc($0);
_png_calculate_crc($0,$36,4);
HEAP32[$25>>2] = 66;
$41 = ($12|0)==(0);
if (!($41)) {
_png_write_data($0,$6,$12);
_png_calculate_crc($0,$6,$12);
}
$47 = HEAP32[$17>>2]|0;
$48 = ((($0)) + 280|0);
$49 = ((($0)) + 284|0);
$50 = ((($7)) + 12|0);
$$0$in$us$i = $48;$$025$us$i = 1024;$$026$us$i = $50;$$027$us$i = $47;
while(1) {
$$0$us$i = HEAP32[$$0$in$us$i>>2]|0;
$51 = ($$025$us$i>>>0)>($$027$us$i>>>0);
$$027$$025$us$i = $51 ? $$027$us$i : $$025$us$i;
$52 = ($$027$$025$us$i|0)==(0);
if (!($52)) {
_png_write_data($0,$$026$us$i,$$027$$025$us$i);
_png_calculate_crc($0,$$026$us$i,$$027$$025$us$i);
}
$53 = (($$027$us$i) - ($$027$$025$us$i))|0;
$54 = ($53|0)==(0);
$55 = ($$0$us$i|0)==(0|0);
$or$cond$us$i = $55 | $54;
if ($or$cond$us$i) {
$$lcssa$i = $54;
break L15;
}
$56 = HEAP32[$49>>2]|0;
$57 = ((($$0$us$i)) + 4|0);
$$0$in$us$i = $$0$us$i;$$025$us$i = $56;$$026$us$i = $57;$$027$us$i = $53;
}
}
} while(0);
if (!($$lcssa$i)) {
_png_error($0,23205);
// unreachable;
}
if (!($24)) {
$63 = ((($0)) + 800|0);
HEAP32[$63>>2] = 130;
$64 = ((($0)) + 412|0);
$65 = HEAP32[$64>>2]|0;
$66 = $65 >>> 24;
$67 = $66&255;
HEAP8[$5>>0] = $67;
$68 = $65 >>> 16;
$69 = $68&255;
$70 = ((($5)) + 1|0);
HEAP8[$70>>0] = $69;
$71 = $65 >>> 8;
$72 = $71&255;
$73 = ((($5)) + 2|0);
HEAP8[$73>>0] = $72;
$74 = $65&255;
$75 = ((($5)) + 3|0);
HEAP8[$75>>0] = $74;
_png_write_data($0,$5,4);
}
STACKTOP = sp;return;
break;
}
default: {
_png_error($0,23855);
// unreachable;
}
}
}
function _png_write_iTXt($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$ = 0, $$0 = 0, $$0$i = 0, $$0$i71 = 0, $$0$i74 = 0, $$0$in$us$i = 0, $$0$us$i = 0, $$025$us$i = 0, $$026$us$i = 0, $$027$$025$i = 0, $$027$$025$i72 = 0, $$027$$025$us$i = 0, $$027$us$i = 0, $$054 = 0, $$055 = 0, $$057 = 0, $$1 = 0, $$58 = 0, $$lcssa$i = 0, $$pre = 0;
var $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond$i64 = 0, $or$cond$i6473 = 0, $or$cond$i65 = 0, $or$cond$us$i = 0;
var $or$cond3$i59 = 0, $or$cond3$i62 = 0, $or$cond3$i66 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1136|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1136|0);
$6 = sp + 1128|0;
$7 = sp + 1120|0;
$8 = sp + 1036|0;
$9 = sp;
$10 = (_png_check_keyword($0,$2,$8)|0);
$11 = ($10|0)==(0);
if ($11) {
_png_error($0,23908);
// unreachable;
}
switch ($1|0) {
case -1: case 1: {
$12 = (($10) + 1)|0;
$13 = (($8) + ($12)|0);
HEAP8[$13>>0] = 0;
$$0 = 0;$$055 = $12;
break;
}
case 2: case 0: {
$14 = (($10) + 1)|0;
$15 = (($8) + ($14)|0);
HEAP8[$15>>0] = 1;
$$0 = 1;$$055 = $14;
break;
}
default: {
_png_error($0,23930);
// unreachable;
}
}
$16 = (($$055) + 1)|0;
$17 = (($8) + ($16)|0);
HEAP8[$17>>0] = 0;
$18 = (($$055) + 2)|0;
$19 = ($3|0)==(0|0);
$$ = $19 ? 31868 : $3;
$20 = (_strlen($$)|0);
$21 = (($20) + 1)|0;
$22 = ($4|0)==(0|0);
$$057 = $22 ? 31868 : $4;
$23 = (_strlen($$057)|0);
$24 = (($23) + 1)|0;
$25 = ($5|0)==(0|0);
$$58 = $25 ? 31868 : $5;
$26 = (2147483645 - ($$055))|0;
$27 = ($21>>>0)>($26>>>0);
$28 = (($21) + ($18))|0;
$$054 = $27 ? 2147483647 : $28;
$29 = (2147483647 - ($$054))|0;
$30 = ($24>>>0)>($29>>>0);
$31 = (($$054) + ($24))|0;
$$1 = $30 ? 2147483647 : $31;
$32 = (_strlen($$58)|0);
HEAP32[$9>>2] = $$58;
$33 = ((($9)) + 4|0);
HEAP32[$33>>2] = $32;
$34 = ((($9)) + 8|0);
HEAP32[$34>>2] = 0;
do {
if ($$0) {
$35 = (_png_text_compress($0,1767135348,$9,$$1)|0);
$36 = ($35|0)==(0);
if ($36) {
$$pre = HEAP32[$34>>2]|0;
$42 = $$pre;
break;
} else {
$37 = ((($0)) + 248|0);
$38 = HEAP32[$37>>2]|0;
_png_error($0,$38);
// unreachable;
}
} else {
$39 = (2147483647 - ($$1))|0;
$40 = ($32>>>0)>($39>>>0);
if ($40) {
_png_error($0,23956);
// unreachable;
} else {
HEAP32[$34>>2] = $32;
$42 = $32;
break;
}
}
} while(0);
$41 = (($42) + ($$1))|0;
$43 = ($0|0)==(0|0);
if ($43) {
$87 = 0;
} else {
$44 = ((($0)) + 800|0);
HEAP32[$44>>2] = 34;
$45 = $41 >>> 24;
$46 = $45&255;
HEAP8[$6>>0] = $46;
$47 = $41 >>> 16;
$48 = $47&255;
$49 = ((($6)) + 1|0);
HEAP8[$49>>0] = $48;
$50 = $41 >>> 8;
$51 = $50&255;
$52 = ((($6)) + 2|0);
HEAP8[$52>>0] = $51;
$53 = $41&255;
$54 = ((($6)) + 3|0);
HEAP8[$54>>0] = $53;
$55 = ((($6)) + 4|0);
HEAP8[$55>>0] = 105;
$56 = ((($6)) + 5|0);
HEAP8[$56>>0] = 84;
$57 = ((($6)) + 6|0);
HEAP8[$57>>0] = 88;
$58 = ((($6)) + 7|0);
HEAP8[$58>>0] = 116;
_png_write_data($0,$6,8);
$59 = ((($0)) + 376|0);
HEAP32[$59>>2] = 1767135348;
_png_reset_crc($0);
_png_calculate_crc($0,$55,4);
HEAP32[$44>>2] = 66;
$60 = ($18|0)==(0);
if (!($60)) {
_png_write_data($0,$8,$18);
_png_calculate_crc($0,$8,$18);
}
$61 = ($$|0)!=(0|0);
$62 = ($21|0)!=(0);
$or$cond3$i59 = $62 & $61;
if ($or$cond3$i59) {
_png_write_data($0,$$,$21);
_png_calculate_crc($0,$$,$21);
}
$63 = ($$057|0)!=(0|0);
$64 = ($24|0)!=(0);
$or$cond3$i62 = $64 & $63;
if ($or$cond3$i62) {
_png_write_data($0,$$057,$24);
_png_calculate_crc($0,$$057,$24);
$87 = 1;
} else {
$87 = 1;
}
}
$65 = HEAP32[$34>>2]|0;
if ($$0) {
$66 = ((($0)) + 280|0);
$67 = ((($0)) + 284|0);
L32: do {
if ($43) {
$$0$i71 = HEAP32[$66>>2]|0;
$68 = ($65>>>0)<(1024);
$$027$$025$i72 = $68 ? $65 : 1024;
$69 = (($65) - ($$027$$025$i72))|0;
$70 = ($69|0)==(0);
$71 = ($$0$i71|0)==(0|0);
$or$cond$i6473 = $71 | $70;
if ($or$cond$i6473) {
$$lcssa$i = $70;
} else {
$72 = HEAP32[$67>>2]|0;
$$0$i74 = $$0$i71;$82 = $69;
while(1) {
$$0$i = HEAP32[$$0$i74>>2]|0;
$81 = ($72>>>0)>($82>>>0);
$$027$$025$i = $81 ? $82 : $72;
$83 = (($82) - ($$027$$025$i))|0;
$84 = ($83|0)==(0);
$85 = ($$0$i|0)==(0|0);
$or$cond$i64 = $85 | $84;
if ($or$cond$i64) {
$$lcssa$i = $84;
break;
} else {
$$0$i74 = $$0$i;$82 = $83;
}
}
}
} else {
$73 = ((($9)) + 12|0);
$$0$in$us$i = $66;$$025$us$i = 1024;$$026$us$i = $73;$$027$us$i = $65;
while(1) {
$$0$us$i = HEAP32[$$0$in$us$i>>2]|0;
$74 = ($$025$us$i>>>0)>($$027$us$i>>>0);
$$027$$025$us$i = $74 ? $$027$us$i : $$025$us$i;
$75 = ($$027$$025$us$i|0)==(0);
if (!($75)) {
_png_write_data($0,$$026$us$i,$$027$$025$us$i);
_png_calculate_crc($0,$$026$us$i,$$027$$025$us$i);
}
$76 = (($$027$us$i) - ($$027$$025$us$i))|0;
$77 = ($76|0)==(0);
$78 = ($$0$us$i|0)==(0|0);
$or$cond$us$i = $78 | $77;
if ($or$cond$us$i) {
$$lcssa$i = $77;
break L32;
}
$79 = HEAP32[$67>>2]|0;
$80 = ((($$0$us$i)) + 4|0);
$$0$in$us$i = $$0$us$i;$$025$us$i = $79;$$026$us$i = $80;$$027$us$i = $76;
}
}
} while(0);
if (!($$lcssa$i)) {
_png_error($0,23205);
// unreachable;
}
} else {
$86 = ($$58|0)!=(0|0);
$or$cond$i65 = $86 & $87;
$88 = ($65|0)!=(0);
$or$cond3$i66 = $or$cond$i65 & $88;
if ($or$cond3$i66) {
_png_write_data($0,$$58,$65);
_png_calculate_crc($0,$$58,$65);
}
}
if ($43) {
STACKTOP = sp;return;
}
$89 = ((($0)) + 800|0);
HEAP32[$89>>2] = 130;
$90 = ((($0)) + 412|0);
$91 = HEAP32[$90>>2]|0;
$92 = $91 >>> 24;
$93 = $92&255;
HEAP8[$7>>0] = $93;
$94 = $91 >>> 16;
$95 = $94&255;
$96 = ((($7)) + 1|0);
HEAP8[$96>>0] = $95;
$97 = $91 >>> 8;
$98 = $97&255;
$99 = ((($7)) + 2|0);
HEAP8[$99>>0] = $98;
$100 = $91&255;
$101 = ((($7)) + 3|0);
HEAP8[$101>>0] = $100;
_png_write_data($0,$7,4);
STACKTOP = sp;return;
}
function _png_write_oFFs($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$4 = sp + 24|0;
$5 = sp + 16|0;
$6 = sp;
$7 = ($3|0)>(1);
if ($7) {
_png_warning($0,23989);
}
_png_save_int_32($6,$1);
$8 = ((($6)) + 4|0);
_png_save_int_32($8,$2);
$9 = $3&255;
$10 = ((($6)) + 8|0);
HEAP8[$10>>0] = $9;
$11 = ($0|0)==(0|0);
if ($11) {
STACKTOP = sp;return;
}
$12 = ((($0)) + 800|0);
HEAP32[$12>>2] = 34;
HEAP8[$5>>0] = 0;
$13 = ((($5)) + 1|0);
HEAP8[$13>>0] = 0;
$14 = ((($5)) + 2|0);
HEAP8[$14>>0] = 0;
$15 = ((($5)) + 3|0);
HEAP8[$15>>0] = 9;
$16 = ((($5)) + 4|0);
HEAP8[$16>>0] = 111;
$17 = ((($5)) + 5|0);
HEAP8[$17>>0] = 70;
$18 = ((($5)) + 6|0);
HEAP8[$18>>0] = 70;
$19 = ((($5)) + 7|0);
HEAP8[$19>>0] = 115;
_png_write_data($0,$5,8);
$20 = ((($0)) + 376|0);
HEAP32[$20>>2] = 1866876531;
_png_reset_crc($0);
_png_calculate_crc($0,$16,4);
HEAP32[$12>>2] = 66;
_png_write_data($0,$6,9);
_png_calculate_crc($0,$6,9);
HEAP32[$12>>2] = 130;
$21 = ((($0)) + 412|0);
$22 = HEAP32[$21>>2]|0;
$23 = $22 >>> 24;
$24 = $23&255;
HEAP8[$4>>0] = $24;
$25 = $22 >>> 16;
$26 = $25&255;
$27 = ((($4)) + 1|0);
HEAP8[$27>>0] = $26;
$28 = $22 >>> 8;
$29 = $28&255;
$30 = ((($4)) + 2|0);
HEAP8[$30>>0] = $29;
$31 = $22&255;
$32 = ((($4)) + 3|0);
HEAP8[$32>>0] = $31;
_png_write_data($0,$4,4);
STACKTOP = sp;return;
}
function _png_write_pCAL($0,$1,$2,$3,$4,$5,$6,$7) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
var $$054$lcssa = 0, $$05466 = 0, $$067 = 0, $$165$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $brmerge$demorgan = 0, $exitcond = 0, $exitcond71 = 0, $not$ = 0, $not$55 = 0;
var $or$cond3$i57 = 0, $or$cond3$i60$us = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$8 = sp + 104|0;
$9 = sp + 96|0;
$10 = sp + 80|0;
$11 = sp;
$12 = ($4|0)>(3);
if ($12) {
_png_error($0,24027);
// unreachable;
}
$13 = (_png_check_keyword($0,$1,$11)|0);
$14 = ($13|0)==(0);
if ($14) {
_png_error($0,24069);
// unreachable;
}
$15 = (($13) + 1)|0;
$16 = (_strlen($6)|0);
$not$ = ($5|0)!=(0);
$17 = $not$&1;
$18 = (($16) + ($17))|0;
$19 = (($13) + 11)|0;
$20 = (($19) + ($18))|0;
$21 = $5 << 2;
$22 = (_png_malloc($0,$21)|0);
$23 = ($5|0)>(0);
if ($23) {
$24 = (($5) + -1)|0;
$$05466 = $20;$$067 = 0;
while(1) {
$25 = (($7) + ($$067<<2)|0);
$26 = HEAP32[$25>>2]|0;
$27 = (_strlen($26)|0);
$not$55 = ($$067|0)!=($24|0);
$28 = $not$55&1;
$29 = (($27) + ($28))|0;
$30 = (($22) + ($$067<<2)|0);
HEAP32[$30>>2] = $29;
$31 = (($29) + ($$05466))|0;
$32 = (($$067) + 1)|0;
$exitcond71 = ($32|0)==($5|0);
if ($exitcond71) {
$$054$lcssa = $31;
break;
} else {
$$05466 = $31;$$067 = $32;
}
}
} else {
$$054$lcssa = $20;
}
$33 = ($0|0)==(0|0);
if ($33) {
$58 = 0;
} else {
$34 = ((($0)) + 800|0);
HEAP32[$34>>2] = 34;
$35 = $$054$lcssa >>> 24;
$36 = $35&255;
HEAP8[$9>>0] = $36;
$37 = $$054$lcssa >>> 16;
$38 = $37&255;
$39 = ((($9)) + 1|0);
HEAP8[$39>>0] = $38;
$40 = $$054$lcssa >>> 8;
$41 = $40&255;
$42 = ((($9)) + 2|0);
HEAP8[$42>>0] = $41;
$43 = $$054$lcssa&255;
$44 = ((($9)) + 3|0);
HEAP8[$44>>0] = $43;
$45 = ((($9)) + 4|0);
HEAP8[$45>>0] = 112;
$46 = ((($9)) + 5|0);
HEAP8[$46>>0] = 67;
$47 = ((($9)) + 6|0);
HEAP8[$47>>0] = 65;
$48 = ((($9)) + 7|0);
HEAP8[$48>>0] = 76;
_png_write_data($0,$9,8);
$49 = ((($0)) + 376|0);
HEAP32[$49>>2] = 1883455820;
_png_reset_crc($0);
_png_calculate_crc($0,$45,4);
HEAP32[$34>>2] = 66;
$50 = ($15|0)==(0);
if ($50) {
$58 = 1;
} else {
_png_write_data($0,$11,$15);
_png_calculate_crc($0,$11,$15);
$58 = 1;
}
}
_png_save_int_32($10,$2);
$51 = ((($10)) + 4|0);
_png_save_int_32($51,$3);
$52 = $4&255;
$53 = ((($10)) + 8|0);
HEAP8[$53>>0] = $52;
$54 = $5&255;
$55 = ((($10)) + 9|0);
HEAP8[$55>>0] = $54;
if ($58) {
_png_write_data($0,$10,10);
_png_calculate_crc($0,$10,10);
$56 = ($6|0)!=(0|0);
$57 = ($18|0)!=(0);
$or$cond3$i57 = $57 & $56;
if ($or$cond3$i57) {
_png_write_data($0,$6,$18);
_png_calculate_crc($0,$6,$18);
}
}
$brmerge$demorgan = $23 & $58;
if ($brmerge$demorgan) {
$$165$us = 0;
while(1) {
$59 = (($7) + ($$165$us<<2)|0);
$60 = HEAP32[$59>>2]|0;
$61 = (($22) + ($$165$us<<2)|0);
$62 = HEAP32[$61>>2]|0;
$63 = ($60|0)!=(0|0);
$64 = ($62|0)!=(0);
$or$cond3$i60$us = $63 & $64;
if ($or$cond3$i60$us) {
_png_write_data($0,$60,$62);
_png_calculate_crc($0,$60,$62);
}
$65 = (($$165$us) + 1)|0;
$exitcond = ($65|0)==($5|0);
if ($exitcond) {
break;
} else {
$$165$us = $65;
}
}
}
_png_free($0,$22);
if ($33) {
STACKTOP = sp;return;
}
$66 = ((($0)) + 800|0);
HEAP32[$66>>2] = 130;
$67 = ((($0)) + 412|0);
$68 = HEAP32[$67>>2]|0;
$69 = $68 >>> 24;
$70 = $69&255;
HEAP8[$8>>0] = $70;
$71 = $68 >>> 16;
$72 = $71&255;
$73 = ((($8)) + 1|0);
HEAP8[$73>>0] = $72;
$74 = $68 >>> 8;
$75 = $74&255;
$76 = ((($8)) + 2|0);
HEAP8[$76>>0] = $75;
$77 = $68&255;
$78 = ((($8)) + 3|0);
HEAP8[$78>>0] = $77;
_png_write_data($0,$8,4);
STACKTOP = sp;return;
}
function _png_write_sCAL_s($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$4 = sp + 72|0;
$5 = sp + 64|0;
$6 = sp;
$7 = (_strlen($2)|0);
$8 = (_strlen($3)|0);
$9 = (($7) + 2)|0;
$10 = (($9) + ($8))|0;
$11 = ($10>>>0)>(64);
if ($11) {
_png_warning($0,24091);
STACKTOP = sp;return;
}
$12 = $1&255;
HEAP8[$6>>0] = $12;
$13 = ((($6)) + 1|0);
$14 = (($7) + 1)|0;
_memcpy(($13|0),($2|0),($14|0))|0;
$15 = (($6) + ($7)|0);
$16 = ((($15)) + 2|0);
_memcpy(($16|0),($3|0),($8|0))|0;
$17 = ($0|0)==(0|0);
if ($17) {
STACKTOP = sp;return;
}
$18 = ((($0)) + 800|0);
HEAP32[$18>>2] = 34;
$19 = $10 >>> 24;
$20 = $19&255;
HEAP8[$5>>0] = $20;
$21 = $10 >>> 16;
$22 = $21&255;
$23 = ((($5)) + 1|0);
HEAP8[$23>>0] = $22;
$24 = $10 >>> 8;
$25 = $24&255;
$26 = ((($5)) + 2|0);
HEAP8[$26>>0] = $25;
$27 = $10&255;
$28 = ((($5)) + 3|0);
HEAP8[$28>>0] = $27;
$29 = ((($5)) + 4|0);
HEAP8[$29>>0] = 115;
$30 = ((($5)) + 5|0);
HEAP8[$30>>0] = 67;
$31 = ((($5)) + 6|0);
HEAP8[$31>>0] = 65;
$32 = ((($5)) + 7|0);
HEAP8[$32>>0] = 76;
_png_write_data($0,$5,8);
$33 = ((($0)) + 376|0);
HEAP32[$33>>2] = 1933787468;
_png_reset_crc($0);
_png_calculate_crc($0,$29,4);
HEAP32[$18>>2] = 66;
$34 = ($10|0)==(0);
if (!($34)) {
_png_write_data($0,$6,$10);
_png_calculate_crc($0,$6,$10);
}
HEAP32[$18>>2] = 130;
$35 = ((($0)) + 412|0);
$36 = HEAP32[$35>>2]|0;
$37 = $36 >>> 24;
$38 = $37&255;
HEAP8[$4>>0] = $38;
$39 = $36 >>> 16;
$40 = $39&255;
$41 = ((($4)) + 1|0);
HEAP8[$41>>0] = $40;
$42 = $36 >>> 8;
$43 = $42&255;
$44 = ((($4)) + 2|0);
HEAP8[$44>>0] = $43;
$45 = $36&255;
$46 = ((($4)) + 3|0);
HEAP8[$46>>0] = $45;
_png_write_data($0,$4,4);
STACKTOP = sp;return;
}
function _png_write_pHYs($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$4 = sp + 16|0;
$5 = sp + 12|0;
$6 = sp;
$7 = ($3|0)>(1);
if ($7) {
_png_warning($0,24127);
}
$8 = $1 >>> 24;
$9 = $8&255;
HEAP8[$6>>0] = $9;
$10 = $1 >>> 16;
$11 = $10&255;
$12 = ((($6)) + 1|0);
HEAP8[$12>>0] = $11;
$13 = $1 >>> 8;
$14 = $13&255;
$15 = ((($6)) + 2|0);
HEAP8[$15>>0] = $14;
$16 = $1&255;
$17 = ((($6)) + 3|0);
HEAP8[$17>>0] = $16;
$18 = ((($6)) + 4|0);
$19 = $2 >>> 24;
$20 = $19&255;
HEAP8[$18>>0] = $20;
$21 = $2 >>> 16;
$22 = $21&255;
$23 = ((($6)) + 5|0);
HEAP8[$23>>0] = $22;
$24 = $2 >>> 8;
$25 = $24&255;
$26 = ((($6)) + 6|0);
HEAP8[$26>>0] = $25;
$27 = $2&255;
$28 = ((($6)) + 7|0);
HEAP8[$28>>0] = $27;
$29 = $3&255;
$30 = ((($6)) + 8|0);
HEAP8[$30>>0] = $29;
$31 = ($0|0)==(0|0);
if ($31) {
STACKTOP = sp;return;
}
$32 = ((($0)) + 800|0);
HEAP32[$32>>2] = 34;
HEAP8[$4>>0] = 0;
$33 = ((($4)) + 1|0);
HEAP8[$33>>0] = 0;
$34 = ((($4)) + 2|0);
HEAP8[$34>>0] = 0;
$35 = ((($4)) + 3|0);
HEAP8[$35>>0] = 9;
$36 = ((($4)) + 4|0);
HEAP8[$36>>0] = 112;
$37 = ((($4)) + 5|0);
HEAP8[$37>>0] = 72;
$38 = ((($4)) + 6|0);
HEAP8[$38>>0] = 89;
$39 = ((($4)) + 7|0);
HEAP8[$39>>0] = 115;
_png_write_data($0,$4,8);
$40 = ((($0)) + 376|0);
HEAP32[$40>>2] = 1883789683;
_png_reset_crc($0);
_png_calculate_crc($0,$36,4);
HEAP32[$32>>2] = 66;
_png_write_data($0,$6,9);
_png_calculate_crc($0,$6,9);
HEAP32[$32>>2] = 130;
$41 = ((($0)) + 412|0);
$42 = HEAP32[$41>>2]|0;
$43 = $42 >>> 24;
$44 = $43&255;
HEAP8[$5>>0] = $44;
$45 = $42 >>> 16;
$46 = $45&255;
$47 = ((($5)) + 1|0);
HEAP8[$47>>0] = $46;
$48 = $42 >>> 8;
$49 = $48&255;
$50 = ((($5)) + 2|0);
HEAP8[$50>>0] = $49;
$51 = $42&255;
$52 = ((($5)) + 3|0);
HEAP8[$52>>0] = $51;
_png_write_data($0,$5,4);
STACKTOP = sp;return;
}
function _png_write_tIME($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$2 = sp + 16|0;
$3 = sp + 8|0;
$4 = sp;
$5 = ((($1)) + 2|0);
$6 = HEAP16[$5>>1]|0;
$7 = $6&255;
$8 = (($7) + -1)<<24>>24;
$9 = ($8&255)>(11);
$10 = ($6&65535) >>> 8;
$11 = $10&255;
$12 = (($11) + -1)<<24>>24;
$13 = ($12&255)>(30);
$or$cond = $9 | $13;
if (!($or$cond)) {
$14 = ((($1)) + 4|0);
$15 = HEAP16[$14>>1]|0;
$16 = $15&255;
$17 = ($16&255)>(23);
$18 = ($15&65535) >>> 8;
$19 = $18&255;
if (!($17)) {
$20 = ((($1)) + 6|0);
$21 = HEAP8[$20>>0]|0;
$22 = ($21&255)>(60);
if (!($22)) {
$23 = HEAP16[$1>>1]|0;
$24 = ($23&65535) >>> 8;
$25 = $24&255;
HEAP8[$4>>0] = $25;
$26 = $23&255;
$27 = ((($4)) + 1|0);
HEAP8[$27>>0] = $26;
$28 = ((($4)) + 2|0);
HEAP8[$28>>0] = $7;
$29 = ((($4)) + 3|0);
HEAP8[$29>>0] = $11;
$30 = ((($4)) + 4|0);
HEAP8[$30>>0] = $16;
$31 = ((($4)) + 5|0);
HEAP8[$31>>0] = $19;
$32 = ((($4)) + 6|0);
HEAP8[$32>>0] = $21;
$33 = ($0|0)==(0|0);
if ($33) {
STACKTOP = sp;return;
}
$34 = ((($0)) + 800|0);
HEAP32[$34>>2] = 34;
HEAP8[$3>>0] = 0;
$35 = ((($3)) + 1|0);
HEAP8[$35>>0] = 0;
$36 = ((($3)) + 2|0);
HEAP8[$36>>0] = 0;
$37 = ((($3)) + 3|0);
HEAP8[$37>>0] = 7;
$38 = ((($3)) + 4|0);
HEAP8[$38>>0] = 116;
$39 = ((($3)) + 5|0);
HEAP8[$39>>0] = 73;
$40 = ((($3)) + 6|0);
HEAP8[$40>>0] = 77;
$41 = ((($3)) + 7|0);
HEAP8[$41>>0] = 69;
_png_write_data($0,$3,8);
$42 = ((($0)) + 376|0);
HEAP32[$42>>2] = 1950960965;
_png_reset_crc($0);
_png_calculate_crc($0,$38,4);
HEAP32[$34>>2] = 66;
_png_write_data($0,$4,7);
_png_calculate_crc($0,$4,7);
HEAP32[$34>>2] = 130;
$43 = ((($0)) + 412|0);
$44 = HEAP32[$43>>2]|0;
$45 = $44 >>> 24;
$46 = $45&255;
HEAP8[$2>>0] = $46;
$47 = $44 >>> 16;
$48 = $47&255;
$49 = ((($2)) + 1|0);
HEAP8[$49>>0] = $48;
$50 = $44 >>> 8;
$51 = $50&255;
$52 = ((($2)) + 2|0);
HEAP8[$52>>0] = $51;
$53 = $44&255;
$54 = ((($2)) + 3|0);
HEAP8[$54>>0] = $53;
_png_write_data($0,$2,4);
STACKTOP = sp;return;
}
}
}
_png_warning($0,24165);
STACKTOP = sp;return;
}
function _png_write_start_row($0) {
$0 = $0|0;
var $$pr = 0, $$pr51 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 440|0);
$2 = HEAP8[$1>>0]|0;
$3 = $2&255;
$4 = ((($0)) + 437|0);
$5 = HEAP8[$4>>0]|0;
$6 = $5&255;
$7 = Math_imul($6, $3)|0;
$8 = ($7>>>0)>(7);
$9 = ((($0)) + 348|0);
$10 = HEAP32[$9>>2]|0;
if ($8) {
$11 = $7 >>> 3;
$12 = Math_imul($11, $10)|0;
$17 = $12;
} else {
$13 = Math_imul($7, $10)|0;
$14 = (($13) + 7)|0;
$15 = $14 >>> 3;
$17 = $15;
}
$16 = (($17) + 1)|0;
$18 = ((($0)) + 438|0);
$19 = HEAP8[$18>>0]|0;
$20 = ((($0)) + 443|0);
HEAP8[$20>>0] = $19;
$21 = $7&255;
$22 = ((($0)) + 442|0);
HEAP8[$22>>0] = $21;
$23 = (_png_malloc($0,$16)|0);
$24 = ((($0)) + 384|0);
HEAP32[$24>>2] = $23;
HEAP8[$23>>0] = 0;
$25 = ((($0)) + 434|0);
$26 = HEAP8[$25>>0]|0;
$27 = $26 & 16;
$28 = ($27<<24>>24)==(0);
if ($28) {
$34 = $26;
} else {
$29 = ((($0)) + 364|0);
$30 = HEAP32[$29>>2]|0;
$31 = (($30) + 1)|0;
$32 = (_png_malloc($0,$31)|0);
$33 = ((($0)) + 388|0);
HEAP32[$33>>2] = $32;
HEAP8[$32>>0] = 1;
$$pr = HEAP8[$25>>0]|0;
$34 = $$pr;
}
$35 = ($34&255)>(31);
if ($35) {
$36 = (_png_calloc($0,$16)|0);
$37 = ((($0)) + 380|0);
HEAP32[$37>>2] = $36;
$38 = HEAP8[$25>>0]|0;
$39 = $38 & 32;
$40 = ($39<<24>>24)==(0);
if ($40) {
$47 = $38;
} else {
$41 = ((($0)) + 364|0);
$42 = HEAP32[$41>>2]|0;
$43 = (($42) + 1)|0;
$44 = (_png_malloc($0,$43)|0);
$45 = ((($0)) + 392|0);
HEAP32[$45>>2] = $44;
HEAP8[$44>>0] = 2;
$$pre = HEAP8[$25>>0]|0;
$47 = $$pre;
}
$46 = $47 & 64;
$48 = ($46<<24>>24)==(0);
if ($48) {
$54 = $47;
} else {
$49 = ((($0)) + 364|0);
$50 = HEAP32[$49>>2]|0;
$51 = (($50) + 1)|0;
$52 = (_png_malloc($0,$51)|0);
$53 = ((($0)) + 396|0);
HEAP32[$53>>2] = $52;
HEAP8[$52>>0] = 3;
$$pr51 = HEAP8[$25>>0]|0;
$54 = $$pr51;
}
$55 = ($54<<24>>24)<(0);
if ($55) {
$56 = ((($0)) + 364|0);
$57 = HEAP32[$56>>2]|0;
$58 = (($57) + 1)|0;
$59 = (_png_malloc($0,$58)|0);
$60 = ((($0)) + 400|0);
HEAP32[$60>>2] = $59;
HEAP8[$59>>0] = 4;
}
}
$61 = ((($0)) + 432|0);
$62 = HEAP8[$61>>0]|0;
$63 = ($62<<24>>24)==(0);
if ($63) {
$80 = ((($0)) + 352|0);
$81 = HEAP32[$80>>2]|0;
$82 = ((($0)) + 356|0);
HEAP32[$82>>2] = $81;
$83 = HEAP32[$9>>2]|0;
$84 = ((($0)) + 360|0);
HEAP32[$84>>2] = $83;
return;
}
$64 = ((($0)) + 216|0);
$65 = HEAP32[$64>>2]|0;
$66 = $65 & 2;
$67 = ($66|0)==(0);
$68 = ((($0)) + 352|0);
$69 = HEAP32[$68>>2]|0;
if ($67) {
$70 = (($69) + 7)|0;
$71 = $70 >>> 3;
$72 = ((($0)) + 356|0);
HEAP32[$72>>2] = $71;
$73 = HEAP32[$9>>2]|0;
$74 = (($73) + 7)|0;
$75 = $74 >>> 3;
$76 = ((($0)) + 360|0);
HEAP32[$76>>2] = $75;
return;
} else {
$77 = ((($0)) + 356|0);
HEAP32[$77>>2] = $69;
$78 = HEAP32[$9>>2]|0;
$79 = ((($0)) + 360|0);
HEAP32[$79>>2] = $78;
return;
}
}
function _png_write_finish_row($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 372|0);
$2 = HEAP32[$1>>2]|0;
$3 = (($2) + 1)|0;
HEAP32[$1>>2] = $3;
$4 = ((($0)) + 356|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($3>>>0)<($5>>>0);
if ($6) {
return;
}
$7 = ((($0)) + 432|0);
$8 = HEAP16[$7>>1]|0;
$9 = $8&255;
$10 = ($9<<24>>24)==(0);
$11 = ($8&65535) >>> 8;
$12 = $11&255;
if (!($10)) {
HEAP32[$1>>2] = 0;
$13 = ((($0)) + 216|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 2;
$16 = ($15|0)==(0);
if ($16) {
$17 = ((($0)) + 348|0);
$18 = ((($0)) + 433|0);
$19 = ((($0)) + 360|0);
$20 = ((($0)) + 352|0);
$24 = $12;
while(1) {
$23 = (($24) + 1)<<24>>24;
$25 = $23&255;
$26 = ($23&255)>(6);
if ($26) {
break;
}
$27 = HEAP32[$17>>2]|0;
$28 = (25562 + ($25)|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29&255;
$31 = (25569 + ($25)|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = (($27) + -1)|0;
$35 = (($34) + ($30))|0;
$36 = (($35) - ($33))|0;
$37 = (($36>>>0) / ($30>>>0))&-1;
HEAP32[$19>>2] = $37;
$38 = HEAP32[$20>>2]|0;
$39 = (26204 + ($25)|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40&255;
$42 = (26211 + ($25)|0);
$43 = HEAP8[$42>>0]|0;
$44 = $43&255;
$45 = (($38) + -1)|0;
$46 = (($45) + ($41))|0;
$47 = (($46) - ($44))|0;
$48 = (($47>>>0) / ($41>>>0))&-1;
HEAP32[$4>>2] = $48;
$49 = ($30>>>0)>($36>>>0);
$50 = ($41>>>0)>($47>>>0);
$or$cond = $50 | $49;
if ($or$cond) {
$24 = $23;
} else {
break;
}
}
HEAP8[$18>>0] = $23;
$51 = $23;
} else {
$21 = ((($0)) + 433|0);
$22 = (($12) + 1)<<24>>24;
HEAP8[$21>>0] = $22;
$51 = $22;
}
$52 = ($51&255)<(7);
if ($52) {
$53 = ((($0)) + 380|0);
$54 = HEAP32[$53>>2]|0;
$55 = ($54|0)==(0|0);
if ($55) {
return;
}
$56 = ((($0)) + 440|0);
$57 = HEAP8[$56>>0]|0;
$58 = $57&255;
$59 = ((($0)) + 437|0);
$60 = HEAP8[$59>>0]|0;
$61 = $60&255;
$62 = Math_imul($61, $58)|0;
$63 = ($62>>>0)>(7);
$64 = ((($0)) + 348|0);
$65 = HEAP32[$64>>2]|0;
if ($63) {
$66 = $62 >>> 3;
$67 = Math_imul($66, $65)|0;
$72 = $67;
} else {
$68 = Math_imul($62, $65)|0;
$69 = (($68) + 7)|0;
$70 = $69 >>> 3;
$72 = $70;
}
$71 = (($72) + 1)|0;
_memset(($54|0),0,($71|0))|0;
return;
}
}
_png_compress_IDAT($0,0,0,4);
return;
}
function _png_do_write_interlace($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0142167 = 0, $$0144164 = 0, $$0145163 = 0, $$0146166 = 0, $$0148165 = 0, $$0149185 = 0, $$0150175 = 0, $$0152184 = 0, $$0154183 = 0, $$0156182 = 0, $$0158174 = 0, $$0160173 = 0, $$0162172 = 0, $$0168 = 0, $$1 = 0, $$1143 = 0, $$1147 = 0, $$1151 = 0, $$1153 = 0, $$1155 = 0;
var $$1157 = 0, $$1159 = 0, $$1161 = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)<(6);
if (!($3)) {
return;
}
$4 = ((($0)) + 11|0);
$5 = HEAP8[$4>>0]|0;
switch ($5<<24>>24) {
case 1: {
$6 = HEAP32[$0>>2]|0;
$7 = (25569 + ($2)|0);
$8 = HEAP8[$7>>0]|0;
$9 = $8&255;
$10 = ($9>>>0)<($6>>>0);
if ($10) {
$11 = (25562 + ($2)|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12&255;
$$0142167 = 7;$$0146166 = 0;$$0148165 = $9;$$0168 = $1;
while(1) {
$14 = $$0148165 >>> 3;
$15 = (($1) + ($14)|0);
$16 = HEAP8[$15>>0]|0;
$17 = $16&255;
$18 = $$0148165 & 7;
$19 = $18 ^ 7;
$20 = $17 >>> $19;
$21 = $20 & 1;
$22 = $21 << $$0142167;
$23 = $22 | $$0146166;
$24 = ($$0142167|0)==(0);
if ($24) {
$25 = $23&255;
$26 = ((($$0168)) + 1|0);
HEAP8[$$0168>>0] = $25;
$$1 = $26;$$1143 = 7;$$1147 = 0;
} else {
$27 = (($$0142167) + -1)|0;
$$1 = $$0168;$$1143 = $27;$$1147 = $23;
}
$28 = (($13) + ($$0148165))|0;
$29 = ($28>>>0)<($6>>>0);
if ($29) {
$$0142167 = $$1143;$$0146166 = $$1147;$$0148165 = $28;$$0168 = $$1;
} else {
break;
}
}
$30 = ($$1143|0)==(7);
if ($30) {
$$pre$phiZ2D = $0;$107 = $8;
} else {
$31 = $$1147&255;
HEAP8[$$1>>0] = $31;
$$pre$phiZ2D = $0;$107 = $8;
}
} else {
$$pre$phiZ2D = $0;$107 = $8;
}
break;
}
case 2: {
$32 = HEAP32[$0>>2]|0;
$33 = (25569 + ($2)|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34&255;
$36 = ($35>>>0)<($32>>>0);
if ($36) {
$37 = (25562 + ($2)|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$$0150175 = $1;$$0158174 = 6;$$0160173 = 0;$$0162172 = $35;
while(1) {
$40 = $$0162172 >>> 2;
$41 = (($1) + ($40)|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = $$0162172 << 1;
$45 = $44 & 6;
$46 = $45 ^ 6;
$47 = $43 >>> $46;
$48 = $47 & 3;
$49 = $48 << $$0158174;
$50 = $49 | $$0160173;
$51 = ($$0158174|0)==(0);
if ($51) {
$52 = $50&255;
$53 = ((($$0150175)) + 1|0);
HEAP8[$$0150175>>0] = $52;
$$1151 = $53;$$1159 = 6;$$1161 = 0;
} else {
$54 = (($$0158174) + -2)|0;
$$1151 = $$0150175;$$1159 = $54;$$1161 = $50;
}
$55 = (($39) + ($$0162172))|0;
$56 = ($55>>>0)<($32>>>0);
if ($56) {
$$0150175 = $$1151;$$0158174 = $$1159;$$0160173 = $$1161;$$0162172 = $55;
} else {
break;
}
}
$57 = ($$1159|0)==(6);
if ($57) {
$$pre$phiZ2D = $0;$107 = $34;
} else {
$58 = $$1161&255;
HEAP8[$$1151>>0] = $58;
$$pre$phiZ2D = $0;$107 = $34;
}
} else {
$$pre$phiZ2D = $0;$107 = $34;
}
break;
}
case 4: {
$59 = HEAP32[$0>>2]|0;
$60 = (25569 + ($2)|0);
$61 = HEAP8[$60>>0]|0;
$62 = $61&255;
$63 = ($62>>>0)<($59>>>0);
if ($63) {
$64 = (25562 + ($2)|0);
$65 = HEAP8[$64>>0]|0;
$66 = $65&255;
$$0149185 = $62;$$0152184 = 0;$$0154183 = 4;$$0156182 = $1;
while(1) {
$67 = $$0149185 >>> 1;
$68 = (($1) + ($67)|0);
$69 = HEAP8[$68>>0]|0;
$70 = $69&255;
$71 = $$0149185 << 2;
$72 = $71 & 4;
$73 = $72 ^ 4;
$74 = $70 >>> $73;
$75 = $74 & 15;
$76 = $75 << $$0154183;
$77 = $76 | $$0152184;
$78 = ($$0154183|0)==(0);
if ($78) {
$79 = $77&255;
$80 = ((($$0156182)) + 1|0);
HEAP8[$$0156182>>0] = $79;
$$1153 = 0;$$1155 = 4;$$1157 = $80;
} else {
$81 = (($$0154183) + -4)|0;
$$1153 = $77;$$1155 = $81;$$1157 = $$0156182;
}
$82 = (($66) + ($$0149185))|0;
$83 = ($82>>>0)<($59>>>0);
if ($83) {
$$0149185 = $82;$$0152184 = $$1153;$$0154183 = $$1155;$$0156182 = $$1157;
} else {
break;
}
}
$84 = ($$1155|0)==(4);
if ($84) {
$$pre$phiZ2D = $0;$107 = $61;
} else {
$85 = $$1153&255;
HEAP8[$$1157>>0] = $85;
$$pre$phiZ2D = $0;$107 = $61;
}
} else {
$$pre$phiZ2D = $0;$107 = $61;
}
break;
}
default: {
$86 = $5&255;
$87 = HEAP32[$0>>2]|0;
$88 = $86 >>> 3;
$89 = (25569 + ($2)|0);
$90 = HEAP8[$89>>0]|0;
$91 = $90&255;
$92 = ($91>>>0)<($87>>>0);
if ($92) {
$93 = (25562 + ($2)|0);
$94 = HEAP8[$93>>0]|0;
$95 = $94&255;
$$0144164 = $91;$$0145163 = $1;
while(1) {
$96 = Math_imul($$0144164, $88)|0;
$97 = (($1) + ($96)|0);
$98 = ($$0145163|0)==($97|0);
if (!($98)) {
_memcpy(($$0145163|0),($97|0),($88|0))|0;
}
$99 = (($$0145163) + ($88)|0);
$100 = (($95) + ($$0144164))|0;
$101 = ($100>>>0)<($87>>>0);
if ($101) {
$$0144164 = $100;$$0145163 = $99;
} else {
$$pre$phiZ2D = $0;$107 = $90;
break;
}
}
} else {
$$pre$phiZ2D = $0;$107 = $90;
}
}
}
$102 = HEAP32[$$pre$phiZ2D>>2]|0;
$103 = (25562 + ($2)|0);
$104 = HEAP8[$103>>0]|0;
$105 = $104&255;
$106 = $107&255;
$108 = (($102) + -1)|0;
$109 = (($108) + ($105))|0;
$110 = (($109) - ($106))|0;
$111 = (($110>>>0) / ($105>>>0))&-1;
HEAP32[$$pre$phiZ2D>>2] = $111;
$112 = HEAP8[$4>>0]|0;
$113 = $112&255;
$114 = ($112&255)>(7);
if ($114) {
$115 = $113 >>> 3;
$116 = Math_imul($115, $111)|0;
$121 = $116;
} else {
$117 = Math_imul($113, $111)|0;
$118 = (($117) + 7)|0;
$119 = $118 >>> 3;
$121 = $119;
}
$120 = ((($0)) + 4|0);
HEAP32[$120>>2] = $121;
return;
}
function _png_write_find_filter($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$lcssa = 0, $$0662$lcssa = 0, $$0662863 = 0, $$0663$lcssa = 0, $$0663862 = 0, $$0665861 = 0, $$0669 = 0, $$06761065 = 0, $$06761065$pn = 0, $$0677$lcssa = 0, $$06771064 = 0, $$06801063 = 0, $$0681$lcssa = 0, $$0681896 = 0, $$0683$lcssa = 0, $$0683895 = 0, $$0685894 = 0, $$0686$lcssa = 0, $$0686885 = 0, $$0690$lcssa = 0;
var $$0690884 = 0, $$0695873 = 0, $$0696872 = 0, $$0697$lcssa = 0, $$0697883 = 0, $$0699 = 0, $$0699$lcssa = 0, $$0699881 = 0, $$0699886 = 0, $$0701$lcssa = 0, $$0701882 = 0, $$0703$lcssa = 0, $$07031056 = 0, $$0705$lcssa = 0, $$07051055 = 0, $$07071054 = 0, $$0708$lcssa = 0, $$07081010 = 0, $$07101004 = 0, $$0711$lcssa = 0;
var $$0711853 = 0, $$0713846 = 0, $$0714845 = 0, $$0715$lcssa = 0, $$0715852 = 0, $$0717 = 0, $$0717$lcssa = 0, $$0717850 = 0, $$0717854 = 0, $$0719$lcssa = 0, $$0719851 = 0, $$0721$lcssa = 0, $$0721923 = 0, $$0723$lcssa = 0, $$0723922 = 0, $$0725921 = 0, $$0726$lcssa = 0, $$0726956 = 0, $$0728$lcssa = 0, $$0728955 = 0;
var $$0730954 = 0, $$0731$lcssa = 0, $$0731944 = 0, $$0735$lcssa = 0, $$0735943 = 0, $$0740932 = 0, $$0741 = 0, $$0741$lcssa = 0, $$0741940 = 0, $$0741945 = 0, $$0743 = 0, $$0743$lcssa = 0, $$0743941 = 0, $$0743946 = 0, $$0745$lcssa = 0, $$0745942 = 0, $$0747$lcssa = 0, $$0747912 = 0, $$0749905 = 0, $$0750 = 0;
var $$0750$lcssa = 0, $$0750909 = 0, $$0750913 = 0, $$0752 = 0, $$0752$lcssa = 0, $$0752910 = 0, $$0752914 = 0, $$0754$lcssa = 0, $$0754911 = 0, $$0756$lcssa = 0, $$0756974 = 0, $$0758$lcssa = 0, $$0758973 = 0, $$0760972 = 0, $$0761$lcssa = 0, $$0761996 = 0, $$0763$lcssa = 0, $$0763995 = 0, $$0765994 = 0, $$0766 = 0;
var $$0766$lcssa = 0, $$07661008 = 0, $$07661011 = 0, $$0768984 = 0, $$0771983 = 0, $$0775985 = 0, $$0776986 = 0, $$0777987 = 0, $$0778965 = 0, $$0779966 = 0, $$0779966$pn = 0, $$0780967 = 0, $$0780967$pn = 0, $$0781968 = 0, $$0781968$pn = 0, $$0782$lcssa = 0, $$07821019 = 0, $$0784$lcssa = 0, $$07841018 = 0, $$07861017 = 0;
var $$0787$lcssa = 0, $$07871048 = 0, $$0789$lcssa = 0, $$07891047 = 0, $$07911046 = 0, $$0792$lcssa = 0, $$07921038 = 0, $$0796$lcssa = 0, $$07961037 = 0, $$08011027 = 0, $$0802 = 0, $$0802$lcssa = 0, $$08021035 = 0, $$08021039 = 0, $$0804$lcssa = 0, $$08041036 = 0, $$0806$lcssa = 0, $$08061009 = 0, $$0841 = 0, $$1 = 0;
var $$1664 = 0, $$1668 = 0, $$1682 = 0, $$1684 = 0, $$1687875 = 0, $$1689 = 0, $$1691874 = 0, $$1698871 = 0, $$1700870 = 0, $$1702869 = 0, $$1704 = 0, $$1706 = 0, $$17091005 = 0, $$1712847 = 0, $$1716844 = 0, $$1718843 = 0, $$1720842 = 0, $$1722 = 0, $$1724 = 0, $$1727 = 0;
var $$1729 = 0, $$1732934 = 0, $$1734 = 0, $$1736933 = 0, $$1742931 = 0, $$1744930 = 0, $$1746929 = 0, $$1748906 = 0, $$1751904 = 0, $$1753903 = 0, $$1755902 = 0, $$1757 = 0, $$1759 = 0, $$1762 = 0, $$1764 = 0, $$17671003 = 0, $$1770 = 0, $$1772 = 0, $$1783 = 0, $$1785 = 0;
var $$1788 = 0, $$1790 = 0, $$17931029 = 0, $$1795 = 0, $$17971028 = 0, $$18031026 = 0, $$18051025 = 0, $$18071002 = 0, $$2671 = 0, $$2692 = 0, $$2737 = 0, $$2798 = 0, $$3 = 0, $$31138 = 0, $$3774 = 0, $$4673 = 0, $$46731137 = 0, $$4694 = 0, $$4739 = 0, $$4800 = 0;
var $$5 = 0, $$6675 = 0, $$7 = 0, $$825 = 0, $$826 = 0, $$827 = 0, $$828 = 0, $$829 = 0, $$830 = 0, $$831 = 0, $$832 = 0, $$833 = 0, $$pn814$pn = 0, $$pn815$pn = 0, $$pn816$pn = 0, $$pre = 0, $$pre1135 = 0, $10 = 0, $100 = 0, $101 = 0;
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0;
var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0;
var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0;
var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0;
var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0;
var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0;
var $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0;
var $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0;
var $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0;
var $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0;
var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0;
var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0;
var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0;
var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0;
var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0;
var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0;
var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0;
var $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0;
var $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0;
var $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0;
var $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0;
var $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0;
var $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $div = 0, $div813 = 0, $exitcond = 0, $exitcond1100 = 0, $exitcond1103 = 0, $exitcond1104 = 0, $exitcond1108 = 0, $exitcond1109 = 0, $exitcond1110 = 0, $exitcond1114 = 0;
var $exitcond1115 = 0, $exitcond1119 = 0, $exitcond1120 = 0, $exitcond1121 = 0, $exitcond1122 = 0, $exitcond1123 = 0, $exitcond1124 = 0, $exitcond1127 = 0, $exitcond1128 = 0, $exitcond1131 = 0, $exitcond1132 = 0, $exitcond1133 = 0, $exitcond1134 = 0, $not$ = 0, $or$cond = 0, $or$cond1069 = 0, $or$cond823 = 0, $or$cond824 = 0, $scevgep = 0, $scevgep1101 = 0;
var $scevgep1102 = 0, $scevgep1105 = 0, $scevgep1106 = 0, $scevgep1107 = 0, $scevgep1111 = 0, $scevgep1112 = 0, $scevgep1113 = 0, $scevgep1116 = 0, $scevgep1117 = 0, $scevgep1118 = 0, $scevgep1125 = 0, $scevgep1126 = 0, $scevgep1129 = 0, $scevgep1130 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 434|0);
$3 = HEAP8[$2>>0]|0;
$4 = ((($1)) + 4|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($0)) + 621|0);
$7 = HEAP8[$6>>0]|0;
$8 = $7&255;
$9 = ((($1)) + 11|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10&255;
$12 = (($11) + 7)|0;
$13 = $12 >>> 3;
$14 = ((($0)) + 380|0);
$15 = HEAP32[$14>>2]|0;
$16 = ((($0)) + 384|0);
$17 = HEAP32[$16>>2]|0;
$18 = $3&255;
$19 = $18 & 8;
$20 = ($19|0)==(0);
$21 = ($3<<24>>24)==(8);
$or$cond = $21 | $20;
if ($or$cond) {
$$0669 = 2147483647;
} else {
$22 = ($5|0)==(0);
if ($22) {
$$0677$lcssa = 0;
} else {
$$06761065$pn = $17;$$06771064 = 0;$$06801063 = 0;
while(1) {
$$06761065 = ((($$06761065$pn)) + 1|0);
$23 = HEAP8[$$06761065>>0]|0;
$24 = $23&255;
$25 = ($23<<24>>24)>(-1);
$26 = (256 - ($24))|0;
$27 = $25 ? $24 : $26;
$28 = (($27) + ($$06771064))|0;
$29 = (($$06801063) + 1)|0;
$exitcond1134 = ($29|0)==($5|0);
if ($exitcond1134) {
$$0677$lcssa = $28;
break;
} else {
$$06761065$pn = $$06761065;$$06771064 = $28;$$06801063 = $29;
}
}
}
$30 = ((($0)) + 620|0);
$31 = HEAP8[$30>>0]|0;
$32 = ($31<<24>>24)==(2);
if ($32) {
$33 = $$0677$lcssa & 65535;
$34 = $$0677$lcssa >>> 10;
$35 = $34 & 4194240;
$36 = ($7<<24>>24)==(0);
if ($36) {
$$0703$lcssa = $35;$$0705$lcssa = $33;
} else {
$37 = ((($0)) + 624|0);
$38 = HEAP32[$37>>2]|0;
$39 = ((($0)) + 628|0);
$$07031056 = $35;$$07051055 = $33;$$07071054 = 0;
while(1) {
$40 = (($38) + ($$07071054)|0);
$41 = HEAP8[$40>>0]|0;
$42 = ($41<<24>>24)==(0);
if ($42) {
$43 = HEAP32[$39>>2]|0;
$44 = (($43) + ($$07071054<<1)|0);
$45 = HEAP16[$44>>1]|0;
$46 = $45&65535;
$47 = Math_imul($46, $$07051055)|0;
$48 = $47 >>> 8;
$49 = Math_imul($46, $$07031056)|0;
$50 = $49 >>> 8;
$$1704 = $50;$$1706 = $48;
} else {
$$1704 = $$07031056;$$1706 = $$07051055;
}
$51 = (($$07071054) + 1)|0;
$exitcond1133 = ($51|0)==($8|0);
if ($exitcond1133) {
$$0703$lcssa = $$1704;$$0705$lcssa = $$1706;
break;
} else {
$$07031056 = $$1704;$$07051055 = $$1706;$$07071054 = $51;
}
}
}
$52 = ((($0)) + 636|0);
$53 = HEAP32[$52>>2]|0;
$54 = HEAP16[$53>>1]|0;
$55 = $54&65535;
$56 = Math_imul($55, $$0703$lcssa)|0;
$57 = ($56>>>0)>(33553927);
$58 = $56 >>> 3;
$59 = Math_imul($55, $$0705$lcssa)|0;
$60 = $59 >>> 3;
$61 = $58 << 10;
$62 = (($61) + ($60))|0;
$$825 = $57 ? 2147483647 : $62;
$$0669 = $$825;
} else {
$$0669 = $$0677$lcssa;
}
}
$63 = ($3<<24>>24)==(16);
if ($63) {
$64 = ((($17)) + 1|0);
$65 = ((($0)) + 388|0);
$66 = HEAP32[$65>>2]|0;
$$07661008 = ((($66)) + 1|0);
$67 = ($13|0)==(0);
if ($67) {
$$0708$lcssa = $64;$$0766$lcssa = $$07661008;$$0806$lcssa = 0;
} else {
$68 = (($13) + 1)|0;
$scevgep1125 = (($17) + ($68)|0);
$$07081010 = $64;$$07661011 = $$07661008;$$08061009 = 0;
while(1) {
$70 = HEAP8[$$07081010>>0]|0;
HEAP8[$$07661011>>0] = $70;
$71 = (($$08061009) + 1)|0;
$72 = ((($$07081010)) + 1|0);
$$0766 = ((($$07661011)) + 1|0);
$exitcond1127 = ($71|0)==($13|0);
if ($exitcond1127) {
break;
} else {
$$07081010 = $72;$$07661011 = $$0766;$$08061009 = $71;
}
}
$scevgep1126 = (($66) + ($68)|0);
$$0708$lcssa = $scevgep1125;$$0766$lcssa = $scevgep1126;$$0806$lcssa = $13;
}
$69 = ($$0806$lcssa>>>0)<($5>>>0);
if ($69) {
$$07101004 = $64;$$17091005 = $$0708$lcssa;$$17671003 = $$0766$lcssa;$$18071002 = $$0806$lcssa;
while(1) {
$73 = HEAP8[$$17091005>>0]|0;
$74 = $73&255;
$75 = HEAP8[$$07101004>>0]|0;
$76 = $75&255;
$77 = (($74) - ($76))|0;
$78 = $77&255;
HEAP8[$$17671003>>0] = $78;
$79 = (($$18071002) + 1)|0;
$80 = ((($$17091005)) + 1|0);
$81 = ((($$07101004)) + 1|0);
$82 = ((($$17671003)) + 1|0);
$exitcond1124 = ($79|0)==($5|0);
if ($exitcond1124) {
break;
} else {
$$07101004 = $81;$$17091005 = $80;$$17671003 = $82;$$18071002 = $79;
}
}
}
$83 = HEAP32[$65>>2]|0;
$$1668 = $83;$$2671 = $$0669;
} else {
$84 = $18 & 16;
$85 = ($84|0)==(0);
if ($85) {
$$1668 = $17;$$2671 = $$0669;
} else {
$86 = ((($0)) + 620|0);
$87 = HEAP8[$86>>0]|0;
$88 = ($87<<24>>24)==(2);
if ($88) {
$89 = $$0669 & 65535;
$90 = $$0669 >>> 10;
$91 = $90 & 4194240;
$92 = ($7<<24>>24)==(0);
if ($92) {
$$0787$lcssa = $89;$$0789$lcssa = $91;
} else {
$93 = ((($0)) + 624|0);
$94 = HEAP32[$93>>2]|0;
$95 = ((($0)) + 632|0);
$$07871048 = $89;$$07891047 = $91;$$07911046 = 0;
while(1) {
$96 = (($94) + ($$07911046)|0);
$97 = HEAP8[$96>>0]|0;
$98 = ($97<<24>>24)==(1);
if ($98) {
$99 = HEAP32[$95>>2]|0;
$100 = (($99) + ($$07911046<<1)|0);
$101 = HEAP16[$100>>1]|0;
$102 = $101&65535;
$103 = Math_imul($102, $$07871048)|0;
$104 = $103 >>> 8;
$105 = Math_imul($102, $$07891047)|0;
$106 = $105 >>> 8;
$$1788 = $104;$$1790 = $106;
} else {
$$1788 = $$07871048;$$1790 = $$07891047;
}
$107 = (($$07911046) + 1)|0;
$exitcond1132 = ($107|0)==($8|0);
if ($exitcond1132) {
$$0787$lcssa = $$1788;$$0789$lcssa = $$1790;
break;
} else {
$$07871048 = $$1788;$$07891047 = $$1790;$$07911046 = $107;
}
}
}
$108 = ((($0)) + 640|0);
$109 = HEAP32[$108>>2]|0;
$110 = ((($109)) + 2|0);
$111 = HEAP16[$110>>1]|0;
$112 = $111&65535;
$113 = Math_imul($112, $$0789$lcssa)|0;
$114 = ($113>>>0)>(33553927);
$115 = $113 >>> 3;
$116 = Math_imul($112, $$0787$lcssa)|0;
$117 = $116 >>> 3;
$118 = $115 << 10;
$119 = (($118) + ($117))|0;
$$826 = $114 ? 2147483647 : $119;
$$1795 = $$826;
} else {
$$1795 = $$0669;
}
$120 = ((($17)) + 1|0);
$121 = ((($0)) + 388|0);
$122 = HEAP32[$121>>2]|0;
$$08021035 = ((($122)) + 1|0);
$123 = ($13|0)==(0);
if ($123) {
$$0792$lcssa = 0;$$0796$lcssa = 0;$$0802$lcssa = $$08021035;$$0804$lcssa = $120;
} else {
$124 = (($13) + 1)|0;
$scevgep1129 = (($17) + ($124)|0);
$$07921038 = 0;$$07961037 = 0;$$08021039 = $$08021035;$$08041036 = $120;
while(1) {
$126 = HEAP8[$$08041036>>0]|0;
HEAP8[$$08021039>>0] = $126;
$127 = $126&255;
$128 = ($126<<24>>24)>(-1);
$129 = (256 - ($127))|0;
$130 = $128 ? $127 : $129;
$131 = (($130) + ($$07961037))|0;
$132 = (($$07921038) + 1)|0;
$133 = ((($$08041036)) + 1|0);
$$0802 = ((($$08021039)) + 1|0);
$exitcond1131 = ($132|0)==($13|0);
if ($exitcond1131) {
break;
} else {
$$07921038 = $132;$$07961037 = $131;$$08021039 = $$0802;$$08041036 = $133;
}
}
$scevgep1130 = (($122) + ($124)|0);
$$0792$lcssa = $13;$$0796$lcssa = $131;$$0802$lcssa = $scevgep1130;$$0804$lcssa = $scevgep1129;
}
$125 = ($$0792$lcssa>>>0)<($5>>>0);
L48: do {
if ($125) {
$$08011027 = $120;$$17931029 = $$0792$lcssa;$$17971028 = $$0796$lcssa;$$18031026 = $$0802$lcssa;$$18051025 = $$0804$lcssa;
while(1) {
$134 = HEAP8[$$18051025>>0]|0;
$135 = $134&255;
$136 = HEAP8[$$08011027>>0]|0;
$137 = $136&255;
$138 = (($135) - ($137))|0;
$139 = $138&255;
HEAP8[$$18031026>>0] = $139;
$140 = $138 & 255;
$141 = ($140>>>0)<(128);
$142 = (256 - ($140))|0;
$143 = $141 ? $140 : $142;
$144 = (($143) + ($$17971028))|0;
$145 = ($144>>>0)>($$1795>>>0);
if ($145) {
$$2798 = $144;
break L48;
}
$146 = (($$17931029) + 1)|0;
$147 = ((($$18051025)) + 1|0);
$148 = ((($$08011027)) + 1|0);
$149 = ((($$18031026)) + 1|0);
$150 = ($146>>>0)<($5>>>0);
if ($150) {
$$08011027 = $148;$$17931029 = $146;$$17971028 = $144;$$18031026 = $149;$$18051025 = $147;
} else {
$$2798 = $144;
break;
}
}
} else {
$$2798 = $$0796$lcssa;
}
} while(0);
$151 = HEAP8[$86>>0]|0;
$152 = ($151<<24>>24)==(2);
if ($152) {
$153 = $$2798 & 65535;
$154 = $$2798 >>> 10;
$155 = $154 & 4194240;
$156 = ($7<<24>>24)==(0);
if ($156) {
$$0782$lcssa = $153;$$0784$lcssa = $155;
} else {
$157 = ((($0)) + 624|0);
$158 = HEAP32[$157>>2]|0;
$159 = ((($0)) + 632|0);
$$07821019 = $153;$$07841018 = $155;$$07861017 = 0;
while(1) {
$160 = (($158) + ($$07861017)|0);
$161 = HEAP8[$160>>0]|0;
$162 = ($161<<24>>24)==(1);
if ($162) {
$163 = HEAP32[$159>>2]|0;
$164 = (($163) + ($$07861017<<1)|0);
$165 = HEAP16[$164>>1]|0;
$166 = $165&65535;
$167 = Math_imul($166, $$07821019)|0;
$168 = $167 >>> 8;
$169 = Math_imul($166, $$07841018)|0;
$170 = $169 >>> 8;
$$1783 = $168;$$1785 = $170;
} else {
$$1783 = $$07821019;$$1785 = $$07841018;
}
$171 = (($$07861017) + 1)|0;
$exitcond1128 = ($171|0)==($8|0);
if ($exitcond1128) {
$$0782$lcssa = $$1783;$$0784$lcssa = $$1785;
break;
} else {
$$07821019 = $$1783;$$07841018 = $$1785;$$07861017 = $171;
}
}
}
$172 = ((($0)) + 640|0);
$173 = HEAP32[$172>>2]|0;
$174 = ((($173)) + 2|0);
$175 = HEAP16[$174>>1]|0;
$176 = $175&65535;
$177 = Math_imul($176, $$0784$lcssa)|0;
$178 = ($177>>>0)>(33553927);
$179 = $177 >>> 3;
$180 = Math_imul($176, $$0782$lcssa)|0;
$181 = $180 >>> 3;
$182 = $179 << 10;
$183 = (($182) + ($181))|0;
$$827 = $178 ? 2147483647 : $183;
$$4800 = $$827;
} else {
$$4800 = $$2798;
}
$184 = ($$4800>>>0)<($$0669>>>0);
if ($184) {
$185 = HEAP32[$121>>2]|0;
$$1668 = $185;$$2671 = $$4800;
} else {
$$1668 = $17;$$2671 = $$0669;
}
}
}
$186 = ($3<<24>>24)==(32);
if ($186) {
$187 = ((($0)) + 392|0);
$188 = HEAP32[$187>>2]|0;
$189 = ($5|0)==(0);
if ($189) {
$$31138 = $188;$$46731137 = $$2671;
label = 76;
} else {
$$0778965 = 0;$$0779966$pn = $15;$$0780967$pn = $188;$$0781968$pn = $17;
while(1) {
$$0779966 = ((($$0779966$pn)) + 1|0);
$$0780967 = ((($$0780967$pn)) + 1|0);
$$0781968 = ((($$0781968$pn)) + 1|0);
$190 = HEAP8[$$0781968>>0]|0;
$191 = $190&255;
$192 = HEAP8[$$0779966>>0]|0;
$193 = $192&255;
$194 = (($191) - ($193))|0;
$195 = $194&255;
HEAP8[$$0780967>>0] = $195;
$196 = (($$0778965) + 1)|0;
$exitcond1121 = ($196|0)==($5|0);
if ($exitcond1121) {
break;
} else {
$$0778965 = $196;$$0779966$pn = $$0779966;$$0780967$pn = $$0780967;$$0781968$pn = $$0781968;
}
}
$$pre1135 = HEAP32[$187>>2]|0;
$$3 = $$pre1135;$$4673 = $$2671;
label = 68;
}
} else {
$197 = $18 & 32;
$198 = ($197|0)==(0);
if ($198) {
$$3 = $$1668;$$4673 = $$2671;
label = 68;
} else {
$199 = ((($0)) + 620|0);
$200 = HEAP8[$199>>0]|0;
$201 = ($200<<24>>24)==(2);
if ($201) {
$202 = $$2671 & 65535;
$203 = $$2671 >>> 10;
$204 = $203 & 4194240;
$205 = ($7<<24>>24)==(0);
if ($205) {
$$0761$lcssa = $202;$$0763$lcssa = $204;
} else {
$206 = ((($0)) + 624|0);
$207 = HEAP32[$206>>2]|0;
$208 = ((($0)) + 632|0);
$$0761996 = $202;$$0763995 = $204;$$0765994 = 0;
while(1) {
$209 = (($207) + ($$0765994)|0);
$210 = HEAP8[$209>>0]|0;
$211 = ($210<<24>>24)==(2);
if ($211) {
$212 = HEAP32[$208>>2]|0;
$213 = (($212) + ($$0765994<<1)|0);
$214 = HEAP16[$213>>1]|0;
$215 = $214&65535;
$216 = Math_imul($215, $$0761996)|0;
$217 = $216 >>> 8;
$218 = Math_imul($215, $$0763995)|0;
$219 = $218 >>> 8;
$$1762 = $217;$$1764 = $219;
} else {
$$1762 = $$0761996;$$1764 = $$0763995;
}
$220 = (($$0765994) + 1)|0;
$exitcond1123 = ($220|0)==($8|0);
if ($exitcond1123) {
$$0761$lcssa = $$1762;$$0763$lcssa = $$1764;
break;
} else {
$$0761996 = $$1762;$$0763995 = $$1764;$$0765994 = $220;
}
}
}
$221 = ((($0)) + 640|0);
$222 = HEAP32[$221>>2]|0;
$223 = ((($222)) + 4|0);
$224 = HEAP16[$223>>1]|0;
$225 = $224&65535;
$226 = Math_imul($225, $$0763$lcssa)|0;
$227 = ($226>>>0)>(33553927);
$228 = $226 >>> 3;
$229 = Math_imul($225, $$0761$lcssa)|0;
$230 = $229 >>> 3;
$231 = $228 << 10;
$232 = (($231) + ($230))|0;
$$828 = $227 ? 2147483647 : $232;
$$1770 = $$828;
} else {
$$1770 = $$2671;
}
$233 = ((($0)) + 392|0);
$234 = ($5|0)==(0);
if ($234) {
$$1772 = 0;$250 = $200;
} else {
$235 = HEAP32[$233>>2]|0;
$$0768984 = 0;$$0771983 = 0;$$pn814$pn = $17;$$pn815$pn = $235;$$pn816$pn = $15;
while(1) {
$$0775985 = ((($$pn816$pn)) + 1|0);
$$0776986 = ((($$pn815$pn)) + 1|0);
$$0777987 = ((($$pn814$pn)) + 1|0);
$236 = HEAP8[$$0777987>>0]|0;
$237 = $236&255;
$238 = HEAP8[$$0775985>>0]|0;
$239 = $238&255;
$240 = (($237) - ($239))|0;
$241 = $240&255;
HEAP8[$$0776986>>0] = $241;
$242 = $240 & 255;
$243 = ($242>>>0)<(128);
$244 = (256 - ($242))|0;
$245 = $243 ? $242 : $244;
$246 = (($245) + ($$0771983))|0;
$247 = ($246>>>0)<=($$1770>>>0);
$248 = (($$0768984) + 1)|0;
$249 = ($248>>>0)<($5>>>0);
$or$cond1069 = $247 & $249;
if ($or$cond1069) {
$$0768984 = $248;$$0771983 = $246;$$pn814$pn = $$0777987;$$pn815$pn = $$0776986;$$pn816$pn = $$0775985;
} else {
break;
}
}
$$pre = HEAP8[$199>>0]|0;
$$1772 = $246;$250 = $$pre;
}
$251 = ($250<<24>>24)==(2);
if ($251) {
$252 = $$1772 & 65535;
$253 = $$1772 >>> 10;
$254 = $253 & 4194240;
$255 = ($7<<24>>24)==(0);
if ($255) {
$$0756$lcssa = $252;$$0758$lcssa = $254;
} else {
$256 = ((($0)) + 624|0);
$257 = HEAP32[$256>>2]|0;
$258 = ((($0)) + 628|0);
$$0756974 = $252;$$0758973 = $254;$$0760972 = 0;
while(1) {
$259 = (($257) + ($$0760972)|0);
$260 = HEAP8[$259>>0]|0;
$261 = ($260<<24>>24)==(2);
if ($261) {
$262 = HEAP32[$258>>2]|0;
$263 = (($262) + ($$0760972<<1)|0);
$264 = HEAP16[$263>>1]|0;
$265 = $264&65535;
$266 = Math_imul($265, $$0756974)|0;
$267 = $266 >>> 8;
$268 = Math_imul($265, $$0758973)|0;
$269 = $268 >>> 8;
$$1757 = $267;$$1759 = $269;
} else {
$$1757 = $$0756974;$$1759 = $$0758973;
}
$270 = (($$0760972) + 1)|0;
$exitcond1122 = ($270|0)==($8|0);
if ($exitcond1122) {
$$0756$lcssa = $$1757;$$0758$lcssa = $$1759;
break;
} else {
$$0756974 = $$1757;$$0758973 = $$1759;$$0760972 = $270;
}
}
}
$271 = ((($0)) + 636|0);
$272 = HEAP32[$271>>2]|0;
$273 = ((($272)) + 4|0);
$274 = HEAP16[$273>>1]|0;
$275 = $274&65535;
$276 = Math_imul($275, $$0758$lcssa)|0;
$277 = ($276>>>0)>(33553927);
$278 = $276 >>> 3;
$279 = Math_imul($275, $$0756$lcssa)|0;
$280 = $279 >>> 3;
$281 = $278 << 10;
$282 = (($281) + ($280))|0;
$$829 = $277 ? 2147483647 : $282;
$$3774 = $$829;
} else {
$$3774 = $$1772;
}
$283 = ($$3774>>>0)<($$2671>>>0);
if ($283) {
$284 = HEAP32[$233>>2]|0;
$$3 = $284;$$4673 = $$3774;
label = 68;
} else {
$$3 = $$1668;$$4673 = $$2671;
label = 68;
}
}
}
if ((label|0) == 68) {
$285 = ($3<<24>>24)==(64);
if ($285) {
$286 = ((($17)) + 1|0);
$287 = ((($0)) + 396|0);
$288 = HEAP32[$287>>2]|0;
$$0750909 = ((($15)) + 1|0);
$$0752910 = ((($288)) + 1|0);
$289 = ($13|0)==(0);
if ($289) {
$$0747$lcssa = 0;$$0750$lcssa = $$0750909;$$0752$lcssa = $$0752910;$$0754$lcssa = $286;
} else {
$290 = (($13) + 1)|0;
$scevgep1112 = (($15) + ($290)|0);
$$0747912 = 0;$$0750913 = $$0750909;$$0752914 = $$0752910;$$0754911 = $286;
while(1) {
$292 = ((($$0754911)) + 1|0);
$293 = HEAP8[$$0754911>>0]|0;
$294 = $293&255;
$295 = HEAP8[$$0750913>>0]|0;
$div813 = ($295&255) >>> 1;
$296 = $div813&255;
$297 = (($294) - ($296))|0;
$298 = $297&255;
HEAP8[$$0752914>>0] = $298;
$299 = (($$0747912) + 1)|0;
$$0750 = ((($$0750913)) + 1|0);
$$0752 = ((($$0752914)) + 1|0);
$exitcond1114 = ($299|0)==($13|0);
if ($exitcond1114) {
break;
} else {
$$0747912 = $299;$$0750913 = $$0750;$$0752914 = $$0752;$$0754911 = $292;
}
}
$scevgep1111 = (($17) + ($290)|0);
$scevgep1113 = (($288) + ($290)|0);
$$0747$lcssa = $13;$$0750$lcssa = $scevgep1112;$$0752$lcssa = $scevgep1113;$$0754$lcssa = $scevgep1111;
}
$291 = ($$0747$lcssa>>>0)<($5>>>0);
if ($291) {
$$0749905 = $286;$$1748906 = $$0747$lcssa;$$1751904 = $$0750$lcssa;$$1753903 = $$0752$lcssa;$$1755902 = $$0754$lcssa;
while(1) {
$300 = ((($$1755902)) + 1|0);
$301 = HEAP8[$$1755902>>0]|0;
$302 = $301&255;
$303 = ((($$1751904)) + 1|0);
$304 = HEAP8[$$1751904>>0]|0;
$305 = $304&255;
$306 = ((($$0749905)) + 1|0);
$307 = HEAP8[$$0749905>>0]|0;
$308 = $307&255;
$309 = (($308) + ($305))|0;
$310 = $309 >>> 1;
$311 = (($302) - ($310))|0;
$312 = $311&255;
$313 = ((($$1753903)) + 1|0);
HEAP8[$$1753903>>0] = $312;
$314 = (($$1748906) + 1)|0;
$exitcond1110 = ($314|0)==($5|0);
if ($exitcond1110) {
break;
} else {
$$0749905 = $306;$$1748906 = $314;$$1751904 = $303;$$1753903 = $313;$$1755902 = $300;
}
}
}
$315 = HEAP32[$287>>2]|0;
$$5 = $315;$$6675 = $$4673;
} else {
$$31138 = $$3;$$46731137 = $$4673;
label = 76;
}
}
if ((label|0) == 76) {
$316 = $18 & 64;
$317 = ($316|0)==(0);
if ($317) {
$$5 = $$31138;$$6675 = $$46731137;
} else {
$318 = ((($0)) + 620|0);
$319 = HEAP8[$318>>0]|0;
$320 = ($319<<24>>24)==(2);
if ($320) {
$321 = $$46731137 & 65535;
$322 = $$46731137 >>> 10;
$323 = $322 & 4194240;
$324 = ($7<<24>>24)==(0);
if ($324) {
$$0726$lcssa = $321;$$0728$lcssa = $323;
} else {
$325 = ((($0)) + 624|0);
$326 = HEAP32[$325>>2]|0;
$327 = ((($0)) + 632|0);
$$0726956 = $321;$$0728955 = $323;$$0730954 = 0;
while(1) {
$328 = (($326) + ($$0730954)|0);
$329 = HEAP8[$328>>0]|0;
$330 = ($329<<24>>24)==(3);
if ($330) {
$331 = HEAP32[$327>>2]|0;
$332 = (($331) + ($$0730954<<1)|0);
$333 = HEAP16[$332>>1]|0;
$334 = $333&65535;
$335 = Math_imul($334, $$0726956)|0;
$336 = $335 >>> 8;
$337 = Math_imul($334, $$0728955)|0;
$338 = $337 >>> 8;
$$1727 = $336;$$1729 = $338;
} else {
$$1727 = $$0726956;$$1729 = $$0728955;
}
$339 = (($$0730954) + 1)|0;
$exitcond1120 = ($339|0)==($8|0);
if ($exitcond1120) {
$$0726$lcssa = $$1727;$$0728$lcssa = $$1729;
break;
} else {
$$0726956 = $$1727;$$0728955 = $$1729;$$0730954 = $339;
}
}
}
$340 = ((($0)) + 640|0);
$341 = HEAP32[$340>>2]|0;
$342 = ((($341)) + 6|0);
$343 = HEAP16[$342>>1]|0;
$344 = $343&65535;
$345 = Math_imul($344, $$0728$lcssa)|0;
$346 = ($345>>>0)>(33553927);
$347 = $345 >>> 3;
$348 = Math_imul($344, $$0726$lcssa)|0;
$349 = $348 >>> 3;
$350 = $347 << 10;
$351 = (($350) + ($349))|0;
$$830 = $346 ? 2147483647 : $351;
$$1734 = $$830;
} else {
$$1734 = $$46731137;
}
$352 = ((($17)) + 1|0);
$353 = ((($0)) + 396|0);
$354 = HEAP32[$353>>2]|0;
$$0741940 = ((($15)) + 1|0);
$$0743941 = ((($354)) + 1|0);
$355 = ($13|0)==(0);
if ($355) {
$$0731$lcssa = 0;$$0735$lcssa = 0;$$0741$lcssa = $$0741940;$$0743$lcssa = $$0743941;$$0745$lcssa = $352;
} else {
$356 = (($13) + 1)|0;
$scevgep1117 = (($15) + ($356)|0);
$$0731944 = 0;$$0735943 = 0;$$0741945 = $$0741940;$$0743946 = $$0743941;$$0745942 = $352;
while(1) {
$358 = ((($$0745942)) + 1|0);
$359 = HEAP8[$$0745942>>0]|0;
$360 = $359&255;
$361 = HEAP8[$$0741945>>0]|0;
$div = ($361&255) >>> 1;
$362 = $div&255;
$363 = (($360) - ($362))|0;
$364 = $363&255;
HEAP8[$$0743946>>0] = $364;
$365 = $363 & 255;
$366 = ($365>>>0)<(128);
$367 = (256 - ($365))|0;
$368 = $366 ? $365 : $367;
$369 = (($368) + ($$0735943))|0;
$370 = (($$0731944) + 1)|0;
$$0741 = ((($$0741945)) + 1|0);
$$0743 = ((($$0743946)) + 1|0);
$exitcond1119 = ($370|0)==($13|0);
if ($exitcond1119) {
break;
} else {
$$0731944 = $370;$$0735943 = $369;$$0741945 = $$0741;$$0743946 = $$0743;$$0745942 = $358;
}
}
$scevgep1116 = (($17) + ($356)|0);
$scevgep1118 = (($354) + ($356)|0);
$$0731$lcssa = $13;$$0735$lcssa = $369;$$0741$lcssa = $scevgep1117;$$0743$lcssa = $scevgep1118;$$0745$lcssa = $scevgep1116;
}
$357 = ($$0731$lcssa>>>0)<($5>>>0);
L135: do {
if ($357) {
$$0740932 = $352;$$1732934 = $$0731$lcssa;$$1736933 = $$0735$lcssa;$$1742931 = $$0741$lcssa;$$1744930 = $$0743$lcssa;$$1746929 = $$0745$lcssa;
while(1) {
$371 = HEAP8[$$1746929>>0]|0;
$372 = $371&255;
$373 = HEAP8[$$1742931>>0]|0;
$374 = $373&255;
$375 = HEAP8[$$0740932>>0]|0;
$376 = $375&255;
$377 = (($376) + ($374))|0;
$378 = $377 >>> 1;
$379 = (($372) - ($378))|0;
$380 = $379&255;
HEAP8[$$1744930>>0] = $380;
$381 = $379 & 255;
$382 = ($381>>>0)<(128);
$383 = (256 - ($381))|0;
$384 = $382 ? $381 : $383;
$385 = (($384) + ($$1736933))|0;
$386 = ($385>>>0)>($$1734>>>0);
if ($386) {
$$2737 = $385;
break L135;
}
$387 = ((($$1744930)) + 1|0);
$388 = ((($$0740932)) + 1|0);
$389 = ((($$1742931)) + 1|0);
$390 = ((($$1746929)) + 1|0);
$391 = (($$1732934) + 1)|0;
$392 = ($391>>>0)<($5>>>0);
if ($392) {
$$0740932 = $388;$$1732934 = $391;$$1736933 = $385;$$1742931 = $389;$$1744930 = $387;$$1746929 = $390;
} else {
$$2737 = $385;
break;
}
}
} else {
$$2737 = $$0735$lcssa;
}
} while(0);
$393 = HEAP8[$318>>0]|0;
$394 = ($393<<24>>24)==(2);
if ($394) {
$395 = $$2737 & 65535;
$396 = $$2737 >>> 10;
$397 = $396 & 4194240;
$398 = ($7<<24>>24)==(0);
if ($398) {
$$0721$lcssa = $395;$$0723$lcssa = $397;
} else {
$399 = ((($0)) + 624|0);
$400 = HEAP32[$399>>2]|0;
$401 = ((($0)) + 628|0);
$$0721923 = $395;$$0723922 = $397;$$0725921 = 0;
while(1) {
$402 = (($400) + ($$0725921)|0);
$403 = HEAP8[$402>>0]|0;
$404 = ($403<<24>>24)==(0);
if ($404) {
$405 = HEAP32[$401>>2]|0;
$406 = (($405) + ($$0725921<<1)|0);
$407 = HEAP16[$406>>1]|0;
$408 = $407&65535;
$409 = Math_imul($408, $$0721923)|0;
$410 = $409 >>> 8;
$411 = Math_imul($408, $$0723922)|0;
$412 = $411 >>> 8;
$$1722 = $410;$$1724 = $412;
} else {
$$1722 = $$0721923;$$1724 = $$0723922;
}
$413 = (($$0725921) + 1)|0;
$exitcond1115 = ($413|0)==($8|0);
if ($exitcond1115) {
$$0721$lcssa = $$1722;$$0723$lcssa = $$1724;
break;
} else {
$$0721923 = $$1722;$$0723922 = $$1724;$$0725921 = $413;
}
}
}
$414 = ((($0)) + 636|0);
$415 = HEAP32[$414>>2]|0;
$416 = ((($415)) + 6|0);
$417 = HEAP16[$416>>1]|0;
$418 = $417&65535;
$419 = Math_imul($418, $$0723$lcssa)|0;
$420 = ($419>>>0)>(33553927);
$421 = $419 >>> 3;
$422 = Math_imul($418, $$0721$lcssa)|0;
$423 = $422 >>> 3;
$424 = $421 << 10;
$425 = (($424) + ($423))|0;
$$831 = $420 ? 2147483647 : $425;
$$4739 = $$831;
} else {
$$4739 = $$2737;
}
$426 = ($$4739>>>0)<($$46731137>>>0);
if ($426) {
$427 = HEAP32[$353>>2]|0;
$$5 = $427;$$6675 = $$4739;
} else {
$$5 = $$31138;$$6675 = $$46731137;
}
}
}
$428 = ($3<<24>>24)==(-128);
if ($428) {
$429 = ((($17)) + 1|0);
$430 = ((($0)) + 400|0);
$431 = HEAP32[$430>>2]|0;
$432 = ((($15)) + 1|0);
$$0717850 = ((($431)) + 1|0);
$433 = ($13|0)==(0);
if ($433) {
$$0711$lcssa = 0;$$0715$lcssa = $432;$$0717$lcssa = $$0717850;$$0719$lcssa = $429;
} else {
$434 = (($13) + 1)|0;
$scevgep1101 = (($15) + ($434)|0);
$$0711853 = 0;$$0715852 = $432;$$0717854 = $$0717850;$$0719851 = $429;
while(1) {
$436 = ((($$0719851)) + 1|0);
$437 = HEAP8[$$0719851>>0]|0;
$438 = $437&255;
$439 = ((($$0715852)) + 1|0);
$440 = HEAP8[$$0715852>>0]|0;
$441 = $440&255;
$442 = (($438) - ($441))|0;
$443 = $442&255;
HEAP8[$$0717854>>0] = $443;
$444 = (($$0711853) + 1)|0;
$$0717 = ((($$0717854)) + 1|0);
$exitcond1103 = ($444|0)==($13|0);
if ($exitcond1103) {
break;
} else {
$$0711853 = $444;$$0715852 = $439;$$0717854 = $$0717;$$0719851 = $436;
}
}
$scevgep = (($17) + ($434)|0);
$scevgep1102 = (($431) + ($434)|0);
$$0711$lcssa = $13;$$0715$lcssa = $scevgep1101;$$0717$lcssa = $scevgep1102;$$0719$lcssa = $scevgep;
}
$435 = ($$0711$lcssa>>>0)<($5>>>0);
if ($435) {
$$0713846 = $429;$$0714845 = $432;$$1712847 = $$0711$lcssa;$$1716844 = $$0715$lcssa;$$1718843 = $$0717$lcssa;$$1720842 = $$0719$lcssa;
while(1) {
$445 = ((($$1716844)) + 1|0);
$446 = HEAP8[$$1716844>>0]|0;
$447 = $446&255;
$448 = ((($$0714845)) + 1|0);
$449 = HEAP8[$$0714845>>0]|0;
$450 = $449&255;
$451 = ((($$0713846)) + 1|0);
$452 = HEAP8[$$0713846>>0]|0;
$453 = $452&255;
$454 = (($447) - ($450))|0;
$455 = (($453) - ($450))|0;
$456 = ($454|0)<(0);
$457 = (0 - ($454))|0;
$458 = $456 ? $457 : $454;
$459 = ($455|0)<(0);
$460 = (0 - ($455))|0;
$461 = $459 ? $460 : $455;
$462 = (($455) + ($454))|0;
$463 = ($462|0)<(0);
$464 = (0 - ($462))|0;
$465 = $463 ? $464 : $462;
$466 = ($458|0)>($461|0);
$467 = ($458|0)>($465|0);
$or$cond823 = $466 | $467;
$468 = ($461|0)<=($465|0);
$469 = $468 ? $447 : $450;
$470 = $or$cond823 ? $469 : $453;
$471 = ((($$1720842)) + 1|0);
$472 = HEAP8[$$1720842>>0]|0;
$473 = $472&255;
$474 = (($473) - ($470))|0;
$475 = $474&255;
$476 = ((($$1718843)) + 1|0);
HEAP8[$$1718843>>0] = $475;
$477 = (($$1712847) + 1)|0;
$exitcond1100 = ($477|0)==($5|0);
if ($exitcond1100) {
break;
} else {
$$0713846 = $451;$$0714845 = $448;$$1712847 = $477;$$1716844 = $445;$$1718843 = $476;$$1720842 = $471;
}
}
}
$478 = HEAP32[$430>>2]|0;
$$7 = $478;
} else {
$479 = $18 & 128;
$480 = ($479|0)==(0);
if ($480) {
$$7 = $$5;
} else {
$481 = ((($0)) + 620|0);
$482 = HEAP8[$481>>0]|0;
$483 = ($482<<24>>24)==(2);
if ($483) {
$484 = $$6675 & 65535;
$485 = $$6675 >>> 10;
$486 = $485 & 4194240;
$487 = ($7<<24>>24)==(0);
if ($487) {
$$0681$lcssa = $484;$$0683$lcssa = $486;
} else {
$488 = ((($0)) + 624|0);
$489 = HEAP32[$488>>2]|0;
$490 = ((($0)) + 632|0);
$$0681896 = $484;$$0683895 = $486;$$0685894 = 0;
while(1) {
$491 = (($489) + ($$0685894)|0);
$492 = HEAP8[$491>>0]|0;
$493 = ($492<<24>>24)==(4);
if ($493) {
$494 = HEAP32[$490>>2]|0;
$495 = (($494) + ($$0685894<<1)|0);
$496 = HEAP16[$495>>1]|0;
$497 = $496&65535;
$498 = Math_imul($497, $$0681896)|0;
$499 = $498 >>> 8;
$500 = Math_imul($497, $$0683895)|0;
$501 = $500 >>> 8;
$$1682 = $499;$$1684 = $501;
} else {
$$1682 = $$0681896;$$1684 = $$0683895;
}
$502 = (($$0685894) + 1)|0;
$exitcond1109 = ($502|0)==($8|0);
if ($exitcond1109) {
$$0681$lcssa = $$1682;$$0683$lcssa = $$1684;
break;
} else {
$$0681896 = $$1682;$$0683895 = $$1684;$$0685894 = $502;
}
}
}
$503 = ((($0)) + 640|0);
$504 = HEAP32[$503>>2]|0;
$505 = ((($504)) + 8|0);
$506 = HEAP16[$505>>1]|0;
$507 = $506&65535;
$508 = Math_imul($507, $$0683$lcssa)|0;
$509 = ($508>>>0)>(33553927);
$510 = $508 >>> 3;
$511 = Math_imul($507, $$0681$lcssa)|0;
$512 = $511 >>> 3;
$513 = $510 << 10;
$514 = (($513) + ($512))|0;
$$832 = $509 ? 2147483647 : $514;
$$1689 = $$832;
} else {
$$1689 = $$6675;
}
$515 = ((($17)) + 1|0);
$516 = ((($0)) + 400|0);
$517 = HEAP32[$516>>2]|0;
$518 = ((($15)) + 1|0);
$$0699881 = ((($517)) + 1|0);
$519 = ($13|0)==(0);
if ($519) {
$$0686$lcssa = 0;$$0690$lcssa = 0;$$0697$lcssa = $518;$$0699$lcssa = $$0699881;$$0701$lcssa = $515;
} else {
$520 = (($13) + 1)|0;
$scevgep1106 = (($15) + ($520)|0);
$$0686885 = 0;$$0690884 = 0;$$0697883 = $518;$$0699886 = $$0699881;$$0701882 = $515;
while(1) {
$522 = ((($$0701882)) + 1|0);
$523 = HEAP8[$$0701882>>0]|0;
$524 = $523&255;
$525 = ((($$0697883)) + 1|0);
$526 = HEAP8[$$0697883>>0]|0;
$527 = $526&255;
$528 = (($524) - ($527))|0;
$529 = $528&255;
HEAP8[$$0699886>>0] = $529;
$530 = $528 & 255;
$531 = ($530>>>0)<(128);
$532 = (256 - ($530))|0;
$533 = $531 ? $530 : $532;
$534 = (($533) + ($$0690884))|0;
$535 = (($$0686885) + 1)|0;
$$0699 = ((($$0699886)) + 1|0);
$exitcond1108 = ($535|0)==($13|0);
if ($exitcond1108) {
break;
} else {
$$0686885 = $535;$$0690884 = $534;$$0697883 = $525;$$0699886 = $$0699;$$0701882 = $522;
}
}
$scevgep1105 = (($17) + ($520)|0);
$scevgep1107 = (($517) + ($520)|0);
$$0686$lcssa = $13;$$0690$lcssa = $534;$$0697$lcssa = $scevgep1106;$$0699$lcssa = $scevgep1107;$$0701$lcssa = $scevgep1105;
}
$521 = ($$0686$lcssa>>>0)<($5>>>0);
L184: do {
if ($521) {
$$0695873 = $515;$$0696872 = $518;$$1687875 = $$0686$lcssa;$$1691874 = $$0690$lcssa;$$1698871 = $$0697$lcssa;$$1700870 = $$0699$lcssa;$$1702869 = $$0701$lcssa;
while(1) {
$536 = HEAP8[$$1698871>>0]|0;
$537 = $536&255;
$538 = HEAP8[$$0696872>>0]|0;
$539 = $538&255;
$540 = HEAP8[$$0695873>>0]|0;
$541 = $540&255;
$542 = (($537) - ($539))|0;
$543 = (($541) - ($539))|0;
$544 = ($542|0)<(0);
$545 = (0 - ($542))|0;
$546 = $544 ? $545 : $542;
$547 = ($543|0)<(0);
$548 = (0 - ($543))|0;
$549 = $547 ? $548 : $543;
$550 = (($543) + ($542))|0;
$551 = ($550|0)<(0);
$552 = (0 - ($550))|0;
$553 = $551 ? $552 : $550;
$554 = ($546|0)>($549|0);
$555 = ($546|0)>($553|0);
$or$cond824 = $554 | $555;
$556 = ($549|0)<=($553|0);
$557 = $556 ? $537 : $539;
$558 = $or$cond824 ? $557 : $541;
$559 = HEAP8[$$1702869>>0]|0;
$560 = $559&255;
$561 = (($560) - ($558))|0;
$562 = $561&255;
HEAP8[$$1700870>>0] = $562;
$563 = $561 & 255;
$564 = ($563>>>0)<(128);
$565 = (256 - ($563))|0;
$566 = $564 ? $563 : $565;
$567 = (($566) + ($$1691874))|0;
$not$ = ($567>>>0)>($$1689>>>0);
if ($not$) {
$$2692 = $567;
break L184;
}
$568 = ((($$1700870)) + 1|0);
$569 = ((($$1702869)) + 1|0);
$570 = ((($$0695873)) + 1|0);
$571 = ((($$0696872)) + 1|0);
$572 = ((($$1698871)) + 1|0);
$573 = (($$1687875) + 1)|0;
$574 = ($573>>>0)<($5>>>0);
if ($574) {
$$0695873 = $570;$$0696872 = $571;$$1687875 = $573;$$1691874 = $567;$$1698871 = $572;$$1700870 = $568;$$1702869 = $569;
} else {
$$2692 = $567;
break;
}
}
} else {
$$2692 = $$0690$lcssa;
}
} while(0);
$575 = HEAP8[$481>>0]|0;
$576 = ($575<<24>>24)==(2);
if ($576) {
$577 = $$2692 & 65535;
$578 = $$2692 >>> 10;
$579 = $578 & 4194240;
$580 = ($7<<24>>24)==(0);
if ($580) {
$$0662$lcssa = $577;$$0663$lcssa = $579;
} else {
$581 = ((($0)) + 624|0);
$582 = HEAP32[$581>>2]|0;
$583 = ((($0)) + 628|0);
$$0662863 = $577;$$0663862 = $579;$$0665861 = 0;
while(1) {
$584 = (($582) + ($$0665861)|0);
$585 = HEAP8[$584>>0]|0;
$586 = ($585<<24>>24)==(4);
if ($586) {
$587 = HEAP32[$583>>2]|0;
$588 = (($587) + ($$0665861<<1)|0);
$589 = HEAP16[$588>>1]|0;
$590 = $589&65535;
$591 = Math_imul($590, $$0662863)|0;
$592 = $591 >>> 8;
$593 = Math_imul($590, $$0663862)|0;
$594 = $593 >>> 8;
$$1 = $592;$$1664 = $594;
} else {
$$1 = $$0662863;$$1664 = $$0663862;
}
$595 = (($$0665861) + 1)|0;
$exitcond1104 = ($595|0)==($8|0);
if ($exitcond1104) {
$$0662$lcssa = $$1;$$0663$lcssa = $$1664;
break;
} else {
$$0662863 = $$1;$$0663862 = $$1664;$$0665861 = $595;
}
}
}
$596 = ((($0)) + 636|0);
$597 = HEAP32[$596>>2]|0;
$598 = ((($597)) + 8|0);
$599 = HEAP16[$598>>1]|0;
$600 = $599&65535;
$601 = Math_imul($600, $$0663$lcssa)|0;
$602 = ($601>>>0)>(33553927);
$603 = $601 >>> 3;
$604 = Math_imul($600, $$0662$lcssa)|0;
$605 = $604 >>> 3;
$606 = $603 << 10;
$607 = (($606) + ($605))|0;
$$833 = $602 ? 2147483647 : $607;
$$4694 = $$833;
} else {
$$4694 = $$2692;
}
$608 = ($$4694>>>0)<($$6675>>>0);
if ($608) {
$609 = HEAP32[$516>>2]|0;
$$7 = $609;
} else {
$$7 = $$5;
}
}
}
$610 = HEAP32[$4>>2]|0;
$611 = (($610) + 1)|0;
_png_compress_IDAT($0,$$7,$611,0);
$612 = HEAP32[$14>>2]|0;
$613 = ($612|0)==(0|0);
if (!($613)) {
$614 = HEAP32[$16>>2]|0;
HEAP32[$14>>2] = $614;
HEAP32[$16>>2] = $612;
}
_png_write_finish_row($0);
$615 = ((($0)) + 480|0);
$616 = HEAP32[$615>>2]|0;
$617 = (($616) + 1)|0;
HEAP32[$615>>2] = $617;
$618 = ((($0)) + 476|0);
$619 = HEAP32[$618>>2]|0;
$620 = (($619) + -1)|0;
$621 = ($620>>>0)<($617>>>0);
if ($621) {
_png_write_flush($0);
}
$622 = HEAP8[$6>>0]|0;
$623 = ($622<<24>>24)==(0);
if ($623) {
return;
}
$624 = ($7&255)>(1);
$625 = ((($0)) + 624|0);
if ($624) {
$$0841 = 1;
while(1) {
$626 = (($$0841) + -1)|0;
$627 = HEAP32[$625>>2]|0;
$628 = (($627) + ($626)|0);
$629 = HEAP8[$628>>0]|0;
$630 = (($627) + ($$0841)|0);
HEAP8[$630>>0] = $629;
$631 = (($$0841) + 1)|0;
$exitcond = ($631|0)==($8|0);
if ($exitcond) {
$$0$lcssa = $8;
break;
} else {
$$0841 = $631;
}
}
} else {
$$0$lcssa = 1;
}
$632 = HEAP8[$$7>>0]|0;
$633 = HEAP32[$625>>2]|0;
$634 = (($633) + ($$0$lcssa)|0);
HEAP8[$634>>0] = $632;
return;
}
function _png_write_flush($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 372|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 356|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($3>>>0)<($5>>>0);
if (!($6)) {
return;
}
_png_compress_IDAT($0,0,0,2);
$7 = ((($0)) + 480|0);
HEAP32[$7>>2] = 0;
_png_flush($0);
return;
}
function _png_flush($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 472|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0|0);
if ($3) {
return;
}
FUNCTION_TABLE_vi[$2 & 127]($0);
return;
}
function _png_create_read_struct($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_png_create_png_struct($0,$1,$2,$3,0,0,0)|0);
$5 = ($4|0)==(0|0);
if ($5) {
return ($4|0);
}
$6 = ((($4)) + 208|0);
HEAP32[$6>>2] = 32768;
$7 = ((($4)) + 796|0);
HEAP32[$7>>2] = 8192;
$8 = ((($4)) + 212|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 | 3145728;
HEAP32[$8>>2] = $10;
_png_set_read_fn($4,0,0);
return ($4|0);
}
function _png_create_png_struct($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$1$reg2mem$0 = 0, $$reg2mem38$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $cond41 = 0, $cond42 = 0, $cond43 = 0, $cond44 = 0, _setjmpTable = 0;
var _setjmpTableSize = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0);
_setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
$7 = sp + 156|0;
$8 = sp;
_memset(($7|0),0,900)|0;
$9 = ((($7)) + 748|0);
HEAP32[$9>>2] = 1000000;
$10 = ((($7)) + 752|0);
HEAP32[$10>>2] = 1000000;
$11 = ((($7)) + 756|0);
HEAP32[$11>>2] = 1000;
$12 = ((($7)) + 760|0);
HEAP32[$12>>2] = 8000000;
__THREW__ = 0;
invoke_viiii(54,($7|0),($4|0),($5|0),($6|0));
$13 = __THREW__; __THREW__ = 0;
if ((($13|0) != 0) & ((threwValue|0) != 0)) { $14 = _testSetjmp(HEAP32[$13>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($14|0) == 0) { _longjmp($13|0, threwValue|0); } tempRet0 = (threwValue); } else { $14 = -1; };
$15 = tempRet0;
$cond = ($14|0)==(1);
if ($cond) {
$$reg2mem38$0 = $15;
} else {
__THREW__ = 0;
invoke_viiii(55,($7|0),($1|0),($2|0),($3|0));
$16 = __THREW__; __THREW__ = 0;
if ((($16|0) != 0) & ((threwValue|0) != 0)) { $17 = _testSetjmp(HEAP32[$16>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($17|0) == 0) { _longjmp($16|0, threwValue|0); } tempRet0 = (threwValue); } else { $17 = -1; };
$18 = tempRet0;
$cond41 = ($17|0)==(1);
if ($cond41) {
$$reg2mem38$0 = $18;
} else {
_setjmpTable = _saveSetjmp($8,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
__THREW__ = 0;
$19 = __THREW__; __THREW__ = 0;
if ((($19|0) != 0) & ((threwValue|0) != 0)) { $20 = _testSetjmp(HEAP32[$19>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($20|0) == 0) { _longjmp($19|0, threwValue|0); } tempRet0 = (threwValue); } else { $20 = -1; };
$21 = tempRet0;
$cond42 = ($20|0)==(1);
if ($cond42) {
$$reg2mem38$0 = $21;
} else {
$$reg2mem38$0 = 0;
}
}
}
while(1) {
$22 = ($$reg2mem38$0|0)==(0);
if (!($22)) {
$$1$reg2mem$0 = 0;
label = 11;
break;
}
$23 = ((($7)) + 160|0);
HEAP32[$23>>2] = $8;
$24 = ((($7)) + 164|0);
HEAP32[$24>>2] = 0;
$25 = ((($7)) + 156|0);
HEAP32[$25>>2] = 52;
__THREW__ = 0;
$26 = (invoke_iii(56,($7|0),($0|0))|0);
$27 = __THREW__; __THREW__ = 0;
if ((($27|0) != 0) & ((threwValue|0) != 0)) { $28 = _testSetjmp(HEAP32[$27>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($28|0) == 0) { _longjmp($27|0, threwValue|0); } tempRet0 = (threwValue); } else { $28 = -1; };
$29 = tempRet0;
$cond43 = ($28|0)==(1);
if ($cond43) {
$$reg2mem38$0 = $29;
continue;
}
$30 = ($26|0)==(0);
if ($30) {
$$1$reg2mem$0 = 0;
label = 11;
break;
}
__THREW__ = 0;
$31 = (invoke_iii(57,($7|0),900)|0);
$32 = __THREW__; __THREW__ = 0;
if ((($32|0) != 0) & ((threwValue|0) != 0)) { $33 = _testSetjmp(HEAP32[$32>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($33|0) == 0) { _longjmp($32|0, threwValue|0); } tempRet0 = (threwValue); } else { $33 = -1; };
$34 = tempRet0;
$cond44 = ($33|0)==(1);
if ($cond44) {
$$reg2mem38$0 = $34;
} else {
label = 9;
break;
}
}
if ((label|0) == 9) {
$35 = ($31|0)==(0|0);
if ($35) {
$$1$reg2mem$0 = 0;
_free(_setjmpTable|0);
STACKTOP = sp;return ($$1$reg2mem$0|0);
}
$36 = ((($7)) + 256|0);
HEAP32[$36>>2] = 58;
$37 = ((($7)) + 260|0);
HEAP32[$37>>2] = 59;
$38 = ((($7)) + 264|0);
HEAP32[$38>>2] = $31;
HEAP32[$23>>2] = 0;
HEAP32[$24>>2] = 0;
HEAP32[$25>>2] = 0;
_memcpy(($31|0),($7|0),900)|0;
$$1$reg2mem$0 = $31;
_free(_setjmpTable|0);
STACKTOP = sp;return ($$1$reg2mem$0|0);
}
else if ((label|0) == 11) {
_free(_setjmpTable|0);
STACKTOP = sp;return ($$1$reg2mem$0|0);
}
return (0)|0;
}
function _png_set_read_fn($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $png_default_read_data$ = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
return;
}
$4 = ((($0)) + 188|0);
HEAP32[$4>>2] = $1;
$5 = ($2|0)==(0|0);
$6 = ((($0)) + 184|0);
$png_default_read_data$ = $5 ? 60 : $2;
HEAP32[$6>>2] = $png_default_read_data$;
$7 = ((($0)) + 180|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
if (!($9)) {
HEAP32[$7>>2] = 0;
_png_warning($0,26613);
}
$10 = ((($0)) + 472|0);
HEAP32[$10>>2] = 0;
return;
}
function _png_default_read_data($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
return;
}
$4 = ((($0)) + 188|0);
$5 = HEAP32[$4>>2]|0;
$6 = (_fread($1,1,$2,$5)|0);
$7 = ($6|0)==($2|0);
if ($7) {
return;
} else {
_png_error($0,24203);
// unreachable;
}
}
function _png_set_error_fn($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
if ($4) {
return;
}
$5 = ((($0)) + 176|0);
HEAP32[$5>>2] = $1;
$6 = ((($0)) + 168|0);
HEAP32[$6>>2] = $2;
$7 = ((($0)) + 172|0);
HEAP32[$7>>2] = $3;
return;
}
function _png_user_version_check($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$$028 = 0, $$0 = 0, $$028 = 0, $$029 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$2 = sp;
$3 = ($1|0)==(0|0);
$4 = ((($0)) + 212|0);
if ($3) {
$18 = HEAP32[$4>>2]|0;
$19 = $18 | 131072;
HEAP32[$4>>2] = $19;
$21 = $19;
} else {
$$028 = 0;$$029 = -1;
while(1) {
$5 = (($$029) + 1)|0;
$6 = (($1) + ($5)|0);
$7 = HEAP8[$6>>0]|0;
$8 = (24249 + ($5)|0);
$9 = HEAP8[$8>>0]|0;
$10 = ($7<<24>>24)==($9<<24>>24);
if (!($10)) {
$11 = HEAP32[$4>>2]|0;
$12 = $11 | 131072;
HEAP32[$4>>2] = $12;
}
$13 = ($7<<24>>24)==(46);
$14 = $13&1;
$$$028 = (($14) + ($$028))|0;
$15 = ($$$028|0)<(2);
if (!($15)) {
break;
}
$16 = ($7<<24>>24)==(0);
$17 = ($5|0)==(6);
$or$cond = $17 | $16;
if ($or$cond) {
break;
} else {
$$028 = $$$028;$$029 = $5;
}
}
$$pre = HEAP32[$4>>2]|0;
$21 = $$pre;
}
$20 = $21 & 131072;
$22 = ($20|0)==(0);
if ($22) {
$$0 = 1;
STACKTOP = sp;return ($$0|0);
}
$23 = (_png_safecat($2,128,0,24256)|0);
$24 = (_png_safecat($2,128,$23,$1)|0);
$25 = (_png_safecat($2,128,$24,24287)|0);
(_png_safecat($2,128,$25,24249)|0);
_png_warning($0,$2);
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _png_zalloc($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
$$0 = 0;
return ($$0|0);
}
$4 = (4294967295 / ($2>>>0))&-1;
$5 = ($4>>>0)>($1>>>0);
if ($5) {
$6 = Math_imul($2, $1)|0;
$7 = (_png_malloc_warn($0,$6)|0);
$$0 = $7;
return ($$0|0);
} else {
_png_warning($0,24214);
$$0 = 0;
return ($$0|0);
}
return (0)|0;
}
function _png_zfree($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
_png_free($0,$1);
return;
}
function _png_read_info($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond114 = 0, $switch$split102D = 0, $switch$split12D = 0, $switch$split132D = 0, $switch$split162D = 0, $switch$split192D = 0, $switch$split222D = 0, $switch$split252D = 0;
var $switch$split282D = 0, $switch$split2D = 0, $switch$split312D = 0, $switch$split342D = 0, $switch$split372D = 0, $switch$split402D = 0, $switch$split42D = 0, $switch$split432D = 0, $switch$split462D = 0, $switch$split72D = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
$3 = ($1|0)==(0|0);
$or$cond = $2 | $3;
if ($or$cond) {
return;
}
_png_read_sig($0,$1);
$4 = ((($0)) + 376|0);
$5 = ((($0)) + 208|0);
$6 = ((($0)) + 435|0);
L4: while(1) {
$7 = (_png_read_chunk_header($0)|0);
$8 = HEAP32[$4>>2]|0;
$9 = ($8|0)==(1229209940);
$10 = HEAP32[$5>>2]|0;
if ($9) {
$11 = $10 & 1;
$12 = ($11|0)==(0);
if ($12) {
label = 5;
break;
}
$13 = HEAP8[$6>>0]|0;
$14 = ($13<<24>>24)==(3);
$15 = $10 & 2;
$16 = ($15|0)==(0);
$or$cond114 = $16 & $14;
if ($or$cond114) {
label = 7;
break;
}
$17 = $10 & 8;
$18 = ($17|0)==(0);
if ($18) {
$20 = $10;
} else {
_png_chunk_benign_error($0,24356);
$$pre = HEAP32[$5>>2]|0;
$20 = $$pre;
}
$19 = $20 | 4;
HEAP32[$5>>2] = $19;
} else {
$21 = $10 & 4;
$22 = ($21|0)==(0);
if (!($22)) {
$23 = $10 | 8;
HEAP32[$5>>2] = $23;
}
}
$switch$split2D = ($8|0)<(1229472850);
L16: do {
if ($switch$split2D) {
switch ($8|0) {
case 1229278788: {
break;
}
default: {
break L16;
}
}
_png_handle_IEND($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 1229472850: {
break;
}
default: {
break L16;
}
}
_png_handle_IHDR($0,$1,$7);
continue L4;
}
} while(0);
$24 = (_png_chunk_unknown_handling($0,$8)|0);
$25 = ($24|0)==(0);
if (!($25)) {
_png_handle_unknown($0,$1,$7,$24);
$26 = ($8|0)==(1347179589);
if ($26) {
$27 = HEAP32[$5>>2]|0;
$28 = $27 | 2;
HEAP32[$5>>2] = $28;
continue;
} else {
if ($9) {
label = 20;
break;
} else {
continue;
}
}
}
$30 = ($8|0)==(1347179589);
if ($30) {
_png_handle_PLTE($0,$1,$7);
continue;
}
if ($9) {
label = 24;
break;
}
$switch$split12D = ($8|0)<(1883789683);
L32: do {
if ($switch$split12D) {
$switch$split42D = ($8|0)<(1766015824);
if ($switch$split42D) {
$switch$split102D = ($8|0)<(1732332865);
if ($switch$split102D) {
$switch$split222D = ($8|0)<(1665684045);
if ($switch$split222D) {
switch ($8|0) {
case 1649100612: {
break;
}
default: {
break L32;
}
}
_png_handle_bKGD($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 1665684045: {
break;
}
default: {
break L32;
}
}
_png_handle_cHRM($0,$1,$7);
continue L4;
}
} else {
$switch$split252D = ($8|0)<(1749635924);
if ($switch$split252D) {
switch ($8|0) {
case 1732332865: {
break;
}
default: {
break L32;
}
}
_png_handle_gAMA($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 1749635924: {
break;
}
default: {
break L32;
}
}
_png_handle_hIST($0,$1,$7);
continue L4;
}
}
} else {
$switch$split132D = ($8|0)<(1866876531);
if ($switch$split132D) {
$switch$split282D = ($8|0)<(1767135348);
if ($switch$split282D) {
switch ($8|0) {
case 1766015824: {
break;
}
default: {
break L32;
}
}
_png_handle_iCCP($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 1767135348: {
break;
}
default: {
break L32;
}
}
_png_handle_iTXt($0,$1,$7);
continue L4;
}
} else {
$switch$split312D = ($8|0)<(1883455820);
if ($switch$split312D) {
switch ($8|0) {
case 1866876531: {
break;
}
default: {
break L32;
}
}
_png_handle_oFFs($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 1883455820: {
break;
}
default: {
break L32;
}
}
_png_handle_pCAL($0,$1,$7);
continue L4;
}
}
}
} else {
$switch$split72D = ($8|0)<(1934772034);
if ($switch$split72D) {
$switch$split162D = ($8|0)<(1933787468);
if ($switch$split162D) {
$switch$split342D = ($8|0)<(1933723988);
if ($switch$split342D) {
switch ($8|0) {
case 1883789683: {
break;
}
default: {
break L32;
}
}
_png_handle_pHYs($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 1933723988: {
break;
}
default: {
break L32;
}
}
_png_handle_sBIT($0,$1,$7);
continue L4;
}
} else {
$switch$split372D = ($8|0)<(1934642260);
if ($switch$split372D) {
switch ($8|0) {
case 1933787468: {
break;
}
default: {
break L32;
}
}
_png_handle_sCAL($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 1934642260: {
break;
}
default: {
break L32;
}
}
_png_handle_sPLT($0,$1,$7);
continue L4;
}
}
}
$switch$split192D = ($8|0)<(1950960965);
if ($switch$split192D) {
$switch$split402D = ($8|0)<(1950701684);
if ($switch$split402D) {
switch ($8|0) {
case 1934772034: {
break;
}
default: {
break L32;
}
}
_png_handle_sRGB($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 1950701684: {
break;
}
default: {
break L32;
}
}
_png_handle_tEXt($0,$1,$7);
continue L4;
}
}
$switch$split432D = ($8|0)<(1951551059);
if ($switch$split432D) {
switch ($8|0) {
case 1950960965: {
break;
}
default: {
break L32;
}
}
_png_handle_tIME($0,$1,$7);
continue L4;
}
$switch$split462D = ($8|0)<(2052348020);
if ($switch$split462D) {
switch ($8|0) {
case 1951551059: {
break;
}
default: {
break L32;
}
}
_png_handle_tRNS($0,$1,$7);
continue L4;
} else {
switch ($8|0) {
case 2052348020: {
break;
}
default: {
break L32;
}
}
_png_handle_zTXt($0,$1,$7);
continue L4;
}
}
} while(0);
_png_handle_unknown($0,$1,$7,0);
}
if ((label|0) == 5) {
_png_chunk_error($0,24306);
// unreachable;
}
else if ((label|0) == 7) {
_png_chunk_error($0,24331);
// unreachable;
}
else if ((label|0) == 20) {
$29 = ((($0)) + 408|0);
HEAP32[$29>>2] = 0;
return;
}
else if ((label|0) == 24) {
$31 = ((($0)) + 408|0);
HEAP32[$31>>2] = $7;
return;
}
}
function _png_read_sig($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 441|0);
$3 = HEAP8[$2>>0]|0;
$4 = $3&255;
$5 = ($3&255)>(7);
if ($5) {
return;
}
$6 = (8 - ($4))|0;
$7 = ((($0)) + 800|0);
HEAP32[$7>>2] = 17;
$8 = (((($1)) + 32|0) + ($4)|0);
_png_read_data($0,$8,$6);
HEAP8[$2>>0] = 8;
$9 = ((($1)) + 32|0);
$10 = (_png_sig_cmp($9,$4,$6)|0);
$11 = ($10|0)==(0);
if ($11) {
$16 = ($3&255)<(3);
if (!($16)) {
return;
}
$17 = ((($0)) + 208|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 | 4096;
HEAP32[$17>>2] = $19;
return;
}
$12 = ($3&255)<(4);
if (!($12)) {
_png_error($0,25424);
// unreachable;
}
$13 = (($6) + -4)|0;
$14 = (_png_sig_cmp($9,$4,$13)|0);
$15 = ($14|0)==(0);
if ($15) {
_png_error($0,25424);
// unreachable;
} else {
_png_error($0,25409);
// unreachable;
}
}
function _png_read_chunk_header($0) {
$0 = $0|0;
var $$off$1$i = 0, $$off$2$i = 0, $$off$3$i = 0, $$off$i = 0, $$off15$1$i = 0, $$off15$2$i = 0, $$off15$3$i = 0, $$off15$i = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $or$cond$1$i = 0, $or$cond$2$i = 0, $or$cond$3$i = 0, $or$cond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = ((($0)) + 800|0);
HEAP32[$2>>2] = 33;
_png_read_data($0,$1,8);
$3 = HEAP8[$1>>0]|0;
$4 = $3&255;
$5 = $4 << 24;
$6 = ((($1)) + 1|0);
$7 = HEAP8[$6>>0]|0;
$8 = $7&255;
$9 = $8 << 16;
$10 = $9 | $5;
$11 = ((($1)) + 2|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12&255;
$14 = $13 << 8;
$15 = $10 | $14;
$16 = ((($1)) + 3|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17&255;
$19 = $15 | $18;
$20 = ($19|0)<(0);
if ($20) {
_png_error($0,25356);
// unreachable;
}
$21 = ((($1)) + 4|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = $23 << 24;
$25 = ((($1)) + 5|0);
$26 = HEAP8[$25>>0]|0;
$27 = $26&255;
$28 = $27 << 16;
$29 = $28 | $24;
$30 = ((($1)) + 6|0);
$31 = HEAP8[$30>>0]|0;
$32 = $31&255;
$33 = $32 << 8;
$34 = $29 | $33;
$35 = ((($1)) + 7|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $34 | $37;
$39 = ((($0)) + 376|0);
HEAP32[$39>>2] = $38;
_png_reset_crc($0);
_png_calculate_crc($0,$21,4);
$40 = HEAP32[$39>>2]|0;
$41 = $40 & 255;
$$off$i = (($41) + -65)|0;
$42 = ($$off$i>>>0)>(57);
$$off15$i = (($41) + -91)|0;
$43 = ($$off15$i>>>0)<(6);
$or$cond$i = $42 | $43;
if ($or$cond$i) {
_png_chunk_error($0,25390);
// unreachable;
}
$44 = $40 >>> 8;
$45 = $44 & 255;
$$off$1$i = (($45) + -65)|0;
$46 = ($$off$1$i>>>0)>(57);
$$off15$1$i = (($45) + -91)|0;
$47 = ($$off15$1$i>>>0)<(6);
$or$cond$1$i = $46 | $47;
if ($or$cond$1$i) {
_png_chunk_error($0,25390);
// unreachable;
}
$48 = $40 >>> 16;
$49 = $48 & 255;
$$off$2$i = (($49) + -65)|0;
$50 = ($$off$2$i>>>0)>(57);
$$off15$2$i = (($49) + -91)|0;
$51 = ($$off15$2$i>>>0)<(6);
$or$cond$2$i = $50 | $51;
if ($or$cond$2$i) {
_png_chunk_error($0,25390);
// unreachable;
}
$52 = $40 >>> 24;
$$off$3$i = (($52) + -65)|0;
$53 = ($$off$3$i>>>0)>(57);
$$off15$3$i = (($52) + -91)|0;
$54 = ($$off15$3$i>>>0)<(6);
$or$cond$3$i = $53 | $54;
if ($or$cond$3$i) {
_png_chunk_error($0,25390);
// unreachable;
} else {
HEAP32[$2>>2] = 65;
STACKTOP = sp;return ($19|0);
}
return (0)|0;
}
function _png_chunk_benign_error($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$idx$i = 0, $$idx$val$i = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$2 = sp;
$3 = ((($0)) + 212|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 1048576;
$6 = ($5|0)==(0);
if ($6) {
_png_chunk_error($0,$1);
// unreachable;
} else {
$$idx$i = ((($0)) + 376|0);
$$idx$val$i = HEAP32[$$idx$i>>2]|0;
_png_format_buffer($$idx$val$i,$2,$1);
_png_warning($0,$2);
STACKTOP = sp;return;
}
}
function _png_handle_IHDR($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
var $84 = 0, $85 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 1;
$7 = ($6|0)==(0);
if (!($7)) {
_png_chunk_error($0,24628);
// unreachable;
}
$8 = ($2|0)==(13);
if (!($8)) {
_png_chunk_error($0,24651);
// unreachable;
}
$9 = $5 | 1;
HEAP32[$4>>2] = $9;
_png_read_data($0,$3,13);
_png_calculate_crc($0,$3,13);
(_png_crc_finish($0,0)|0);
$10 = HEAP8[$3>>0]|0;
$11 = $10&255;
$12 = $11 << 24;
$13 = ((($3)) + 1|0);
$14 = HEAP8[$13>>0]|0;
$15 = $14&255;
$16 = $15 << 16;
$17 = $16 | $12;
$18 = ((($3)) + 2|0);
$19 = HEAP8[$18>>0]|0;
$20 = $19&255;
$21 = $20 << 8;
$22 = $17 | $21;
$23 = ((($3)) + 3|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24&255;
$26 = $22 | $25;
$27 = ($26|0)<(0);
if ($27) {
_png_error($0,25356);
// unreachable;
}
$28 = ((($3)) + 4|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29&255;
$31 = $30 << 24;
$32 = ((($3)) + 5|0);
$33 = HEAP8[$32>>0]|0;
$34 = $33&255;
$35 = $34 << 16;
$36 = $35 | $31;
$37 = ((($3)) + 6|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$40 = $39 << 8;
$41 = $36 | $40;
$42 = ((($3)) + 7|0);
$43 = HEAP8[$42>>0]|0;
$44 = $43&255;
$45 = $41 | $44;
$46 = ($45|0)<(0);
if ($46) {
_png_error($0,25356);
// unreachable;
}
$47 = ((($3)) + 8|0);
$48 = HEAP8[$47>>0]|0;
$49 = $48&255;
$50 = ((($3)) + 9|0);
$51 = HEAP8[$50>>0]|0;
$52 = $51&255;
$53 = ((($3)) + 10|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
$56 = ((($3)) + 11|0);
$57 = HEAP8[$56>>0]|0;
$58 = $57&255;
$59 = ((($3)) + 12|0);
$60 = HEAP8[$59>>0]|0;
$61 = $60&255;
$62 = ((($0)) + 348|0);
HEAP32[$62>>2] = $26;
$63 = ((($0)) + 352|0);
HEAP32[$63>>2] = $45;
$64 = ((($0)) + 436|0);
HEAP8[$64>>0] = $48;
$65 = ((($0)) + 432|0);
HEAP8[$65>>0] = $60;
$66 = ((($0)) + 435|0);
HEAP8[$66>>0] = $51;
$67 = ((($0)) + 712|0);
HEAP8[$67>>0] = $57;
$68 = ((($0)) + 744|0);
HEAP8[$68>>0] = $54;
switch ($51<<24>>24) {
case 6: {
$72 = ((($0)) + 439|0);
HEAP8[$72>>0] = 4;
$74 = 4;
break;
}
case 4: {
$71 = ((($0)) + 439|0);
HEAP8[$71>>0] = 2;
$74 = 2;
break;
}
case 2: {
$70 = ((($0)) + 439|0);
HEAP8[$70>>0] = 3;
$74 = 3;
break;
}
default: {
$69 = ((($0)) + 439|0);
HEAP8[$69>>0] = 1;
$74 = 1;
}
}
$73 = Math_imul($74, $49)|0;
$75 = $73&255;
$76 = ((($0)) + 438|0);
HEAP8[$76>>0] = $75;
$77 = $73 & 255;
$78 = ($77>>>0)>(7);
if ($78) {
$79 = $77 >>> 3;
$80 = Math_imul($79, $26)|0;
$85 = $80;
$84 = ((($0)) + 364|0);
HEAP32[$84>>2] = $85;
_png_set_IHDR($0,$1,$26,$45,$49,$52,$61,$55,$58);
STACKTOP = sp;return;
} else {
$81 = Math_imul($77, $26)|0;
$82 = (($81) + 7)|0;
$83 = $82 >>> 3;
$85 = $83;
$84 = ((($0)) + 364|0);
HEAP32[$84>>2] = $85;
_png_set_IHDR($0,$1,$26,$45,$49,$52,$61,$55,$58);
STACKTOP = sp;return;
}
}
function _png_handle_IEND($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 208|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 5;
$6 = ($5|0)==(5);
if (!($6)) {
_png_chunk_error($0,24628);
// unreachable;
}
$7 = $4 | 24;
HEAP32[$3>>2] = $7;
(_png_crc_finish($0,$2)|0);
$8 = ($2|0)==(0);
if ($8) {
return;
}
_png_chunk_benign_error($0,24651);
return;
}
function _png_chunk_unknown_handling($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$i = 0, $$015$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = $1 >>> 24;
$4 = $3&255;
HEAP8[$2>>0] = $4;
$5 = $1 >>> 16;
$6 = $5&255;
$7 = ((($2)) + 1|0);
HEAP8[$7>>0] = $6;
$8 = $1 >>> 8;
$9 = $8&255;
$10 = ((($2)) + 2|0);
HEAP8[$10>>0] = $9;
$11 = $1&255;
$12 = ((($2)) + 3|0);
HEAP8[$12>>0] = $11;
$13 = ((($2)) + 4|0);
HEAP8[$13>>0] = 0;
$14 = ($0|0)==(0|0);
if ($14) {
$$0$i = 0;
STACKTOP = sp;return ($$0$i|0);
}
$15 = ((($0)) + 692|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==(0);
if ($17) {
$$0$i = 0;
STACKTOP = sp;return ($$0$i|0);
}
$18 = ((($0)) + 696|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($16*5)|0;
$21 = (($19) + ($20)|0);
$$015$i = $21;
while(1) {
$22 = ((($$015$i)) + -5|0);
$23 = (_memcmp($2,$22,4)|0);
$24 = ($23|0)==(0);
if ($24) {
break;
}
$28 = ($22>>>0)>($19>>>0);
if ($28) {
$$015$i = $22;
} else {
$$0$i = 0;
label = 7;
break;
}
}
if ((label|0) == 7) {
STACKTOP = sp;return ($$0$i|0);
}
$25 = ((($$015$i)) + -1|0);
$26 = HEAP8[$25>>0]|0;
$27 = $26&255;
$$0$i = $27;
STACKTOP = sp;return ($$0$i|0);
}
function _png_handle_unknown($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$$1 = 0, $$1 = 0, $$2 = 0, $$243 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ((($0)) + 684|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
do {
if ($6) {
$18 = ($3|0)==(0);
if ($18) {
$19 = ((($0)) + 688|0);
$20 = HEAP32[$19>>2]|0;
$$1 = $20;
} else {
$$1 = $3;
}
switch ($$1|0) {
case 3: {
label = 13;
break;
}
case 2: {
$21 = ((($0)) + 376|0);
$22 = HEAP32[$21>>2]|0;
$23 = $22 & 536870912;
$24 = ($23|0)==(0);
if ($24) {
label = 14;
} else {
label = 13;
}
break;
}
default: {
label = 14;
}
}
if ((label|0) == 13) {
$25 = (_png_cache_unknown_chunk($0,$2)|0);
$26 = ($25|0)==(0);
$$$1 = $26 ? 1 : $$1;
$$2 = $$$1;
label = 15;
break;
}
else if ((label|0) == 14) {
(_png_crc_finish($0,$2)|0);
$$2 = $$1;
label = 15;
break;
}
} else {
$7 = (_png_cache_unknown_chunk($0,$2)|0);
$8 = ($7|0)==(0);
if ($8) {
$$243 = 0;
} else {
$9 = HEAP32[$4>>2]|0;
$10 = ((($0)) + 764|0);
$11 = (FUNCTION_TABLE_iii[$9 & 63]($0,$10)|0);
$12 = ($11|0)<(0);
if ($12) {
_png_chunk_error($0,25177);
// unreachable;
}
$13 = ($11|0)==(0);
if ($13) {
$14 = ($3|0)<(2);
if ($14) {
$15 = ((($0)) + 688|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)<(2);
if ($17) {
_png_chunk_warning($0,25197);
_png_app_warning($0,25219);
label = 16;
} else {
label = 16;
}
} else {
$$2 = $3;
label = 15;
}
} else {
$$243 = 1;
}
}
}
} while(0);
if ((label|0) == 15) {
switch ($$2|0) {
case 3: {
label = 17;
break;
}
case 2: {
label = 16;
break;
}
default: {
$$243 = 0;
}
}
}
if ((label|0) == 16) {
$27 = ((($0)) + 376|0);
$28 = HEAP32[$27>>2]|0;
$29 = $28 & 536870912;
$30 = ($29|0)==(0);
if ($30) {
$$243 = 0;
} else {
label = 17;
}
}
L23: do {
if ((label|0) == 17) {
$31 = ((($0)) + 756|0);
$32 = HEAP32[$31>>2]|0;
switch ($32|0) {
case 1: {
$$243 = 0;
break L23;
break;
}
case 2: {
HEAP32[$31>>2] = 1;
_png_chunk_benign_error($0,24377);
$$243 = 0;
break L23;
break;
}
case 0: {
break;
}
default: {
$33 = (($32) + -1)|0;
HEAP32[$31>>2] = $33;
}
}
$34 = ((($0)) + 764|0);
_png_set_unknown_chunks($0,$1,$34,1);
$$243 = 1;
}
} while(0);
$35 = ((($0)) + 772|0);
$36 = HEAP32[$35>>2]|0;
$37 = ($36|0)==(0|0);
if (!($37)) {
_png_free($0,$36);
}
HEAP32[$35>>2] = 0;
$38 = ($$243|0)==(0);
if (!($38)) {
return;
}
$39 = ((($0)) + 376|0);
$40 = HEAP32[$39>>2]|0;
$41 = $40 & 536870912;
$42 = ($41|0)==(0);
if ($42) {
_png_chunk_error($0,25295);
// unreachable;
} else {
return;
}
}
function _png_handle_PLTE($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$04651 = 0, $$052 = 0, $$phi$trans$insert$pre$phiZZZZ2D = 0, $$pre$phiZ2D = 0, $$pre54 = 0, $$pre55 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 784|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(784|0);
$3 = sp + 8|0;
$4 = sp;
$5 = ((($0)) + 208|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 1;
$8 = ($7|0)==(0);
if ($8) {
_png_chunk_error($0,24401);
// unreachable;
}
$9 = $6 & 2;
$10 = ($9|0)==(0);
if (!($10)) {
_png_chunk_error($0,24641);
// unreachable;
}
$11 = $6 & 4;
$12 = ($11|0)==(0);
if (!($12)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$13 = $6 | 2;
HEAP32[$5>>2] = $13;
$14 = ((($0)) + 435|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15 & 2;
$17 = ($16<<24>>24)==(0);
if ($17) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,25095);
STACKTOP = sp;return;
}
$18 = ($2>>>0)<(769);
$19 = (($2>>>0) % 3)&-1;
$20 = ($19|0)==(0);
$or$cond = $18 & $20;
if (!($or$cond)) {
(_png_crc_finish($0,$2)|0);
$21 = HEAP8[$14>>0]|0;
$22 = ($21<<24>>24)==(3);
if ($22) {
_png_chunk_error($0,24651);
// unreachable;
}
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
$23 = (($2|0) / 3)&-1;
$24 = ($2|0)>(2);
if ($24) {
$25 = ((($4)) + 1|0);
$26 = ((($4)) + 2|0);
$$04651 = 0;$$052 = $3;
while(1) {
_png_read_data($0,$4,3);
_png_calculate_crc($0,$4,3);
$27 = HEAP8[$4>>0]|0;
HEAP8[$$052>>0] = $27;
$28 = HEAP8[$25>>0]|0;
$29 = ((($$052)) + 1|0);
HEAP8[$29>>0] = $28;
$30 = HEAP8[$26>>0]|0;
$31 = ((($$052)) + 2|0);
HEAP8[$31>>0] = $30;
$32 = (($$04651) + 1)|0;
$33 = ((($$052)) + 3|0);
$34 = ($32|0)<($23|0);
if ($34) {
$$04651 = $32;$$052 = $33;
} else {
break;
}
}
}
(_png_crc_finish($0,0)|0);
_png_set_PLTE($0,$1,$3,$23);
$35 = ((($0)) + 428|0);
$36 = HEAP16[$35>>1]|0;
$37 = ($36<<16>>16)==(0);
do {
if ($37) {
$38 = ($1|0)==(0|0);
if ($38) {
STACKTOP = sp;return;
}
$39 = ((($1)) + 8|0);
$40 = HEAP32[$39>>2]|0;
$41 = $40 & 16;
$42 = ($41|0)==(0);
if ($42) {
$$pre$phiZ2D = $39;$46 = $40;
} else {
HEAP16[$35>>1] = 0;
$$phi$trans$insert$pre$phiZZZZ2D = $39;
label = 22;
}
} else {
HEAP16[$35>>1] = 0;
$43 = ($1|0)==(0|0);
if (!($43)) {
$$pre55 = ((($1)) + 8|0);
$$phi$trans$insert$pre$phiZZZZ2D = $$pre55;
label = 22;
break;
}
_png_chunk_benign_error($0,25120);
STACKTOP = sp;return;
}
} while(0);
if ((label|0) == 22) {
$44 = ((($1)) + 22|0);
HEAP16[$44>>1] = 0;
_png_chunk_benign_error($0,25120);
$$pre54 = HEAP32[$$phi$trans$insert$pre$phiZZZZ2D>>2]|0;
$$pre$phiZ2D = $$phi$trans$insert$pre$phiZZZZ2D;$46 = $$pre54;
}
$45 = $46 & 64;
$47 = ($45|0)==(0);
if (!($47)) {
_png_chunk_benign_error($0,25139);
}
$48 = HEAP32[$$pre$phiZ2D>>2]|0;
$49 = $48 & 32;
$50 = ($49|0)==(0);
if ($50) {
STACKTOP = sp;return;
}
_png_chunk_benign_error($0,25158);
STACKTOP = sp;return;
}
function _png_handle_bKGD($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 10|0;
$4 = sp;
$5 = ((($0)) + 208|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 1;
$8 = ($7|0)==(0);
if ($8) {
_png_chunk_error($0,24401);
// unreachable;
}
$9 = $6 & 4;
$10 = ($9|0)==(0);
if ($10) {
$11 = ((($0)) + 435|0);
$12 = HEAP8[$11>>0]|0;
$13 = ($12<<24>>24)==(3);
$14 = $6 & 2;
$15 = ($14|0)==(0);
$or$cond = $15 & $13;
if (!($or$cond)) {
$16 = ($1|0)!=(0|0);
if ($16) {
$17 = ((($1)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 32;
$20 = ($19|0)==(0);
if (!($20)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
$21 = $12 & 2;
$22 = $21&255;
$23 = $22 << 1;
$24 = $23 | 2;
$$0 = $13 ? 1 : $24;
$25 = ($$0|0)==($2|0);
if (!($25)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
_png_read_data($0,$3,$2);
_png_calculate_crc($0,$3,$2);
$26 = (_png_crc_finish($0,0)|0);
$27 = ($26|0)==(0);
if (!($27)) {
STACKTOP = sp;return;
}
$28 = HEAP8[$11>>0]|0;
$29 = ($28<<24>>24)==(3);
do {
if ($29) {
$30 = HEAP8[$3>>0]|0;
HEAP8[$4>>0] = $30;
do {
if ($16) {
$31 = ((($1)) + 20|0);
$32 = HEAP16[$31>>1]|0;
$33 = ($32<<16>>16)==(0);
if ($33) {
label = 18;
} else {
$34 = $32&65535;
$35 = $30&255;
$36 = ($35>>>0)<($34>>>0);
if ($36) {
$37 = ((($0)) + 416|0);
$38 = HEAP32[$37>>2]|0;
$39 = (($38) + (($35*3)|0)|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40&255;
$42 = ((($4)) + 2|0);
HEAP16[$42>>1] = $41;
$43 = (((($38) + (($35*3)|0)|0)) + 1|0);
$44 = HEAP8[$43>>0]|0;
$45 = $44&255;
$46 = ((($4)) + 4|0);
HEAP16[$46>>1] = $45;
$47 = (((($38) + (($35*3)|0)|0)) + 2|0);
$48 = HEAP8[$47>>0]|0;
$49 = $48&255;
$50 = ((($4)) + 6|0);
HEAP16[$50>>1] = $49;
break;
}
_png_chunk_benign_error($0,25081);
STACKTOP = sp;return;
}
} else {
label = 18;
}
} while(0);
if ((label|0) == 18) {
$51 = ((($4)) + 6|0);
HEAP16[$51>>1] = 0;
$52 = ((($4)) + 4|0);
HEAP16[$52>>1] = 0;
$53 = ((($4)) + 2|0);
HEAP16[$53>>1] = 0;
}
$54 = ((($4)) + 8|0);
HEAP16[$54>>1] = 0;
} else {
$55 = $28 & 2;
$56 = ($55<<24>>24)==(0);
HEAP8[$4>>0] = 0;
$57 = HEAP8[$3>>0]|0;
$58 = $57&255;
$59 = $58 << 8;
$60 = ((($3)) + 1|0);
$61 = HEAP8[$60>>0]|0;
$62 = $61&255;
$63 = $59 | $62;
$64 = $63&65535;
if ($56) {
$65 = ((($4)) + 8|0);
HEAP16[$65>>1] = $64;
$66 = ((($4)) + 6|0);
HEAP16[$66>>1] = $64;
$67 = ((($4)) + 4|0);
HEAP16[$67>>1] = $64;
$68 = ((($4)) + 2|0);
HEAP16[$68>>1] = $64;
break;
} else {
$69 = ((($4)) + 2|0);
HEAP16[$69>>1] = $64;
$70 = ((($3)) + 2|0);
$71 = HEAP8[$70>>0]|0;
$72 = $71&255;
$73 = $72 << 8;
$74 = ((($3)) + 3|0);
$75 = HEAP8[$74>>0]|0;
$76 = $75&255;
$77 = $73 | $76;
$78 = $77&65535;
$79 = ((($4)) + 4|0);
HEAP16[$79>>1] = $78;
$80 = ((($3)) + 4|0);
$81 = HEAP8[$80>>0]|0;
$82 = $81&255;
$83 = $82 << 8;
$84 = ((($3)) + 5|0);
$85 = HEAP8[$84>>0]|0;
$86 = $85&255;
$87 = $83 | $86;
$88 = $87&65535;
$89 = ((($4)) + 6|0);
HEAP16[$89>>1] = $88;
$90 = ((($4)) + 8|0);
HEAP16[$90>>1] = 0;
break;
}
}
} while(0);
_png_set_bKGD($0,$1,$4);
STACKTOP = sp;return;
}
}
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
function _png_handle_cHRM($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $$0$i32 = 0, $$0$i33 = 0, $$0$i34 = 0, $$0$i35 = 0, $$0$i36 = 0, $$0$i37 = 0, $$0$i38 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0;
var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0;
var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0;
var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0;
var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0;
var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
var $or$cond = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond26 = 0, $or$cond28 = 0, $or$cond30 = 0, $or$cond31 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$3 = sp + 32|0;
$4 = sp;
$5 = ((($0)) + 208|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 1;
$8 = ($7|0)==(0);
if ($8) {
_png_chunk_error($0,24401);
// unreachable;
}
$9 = $6 & 6;
$10 = ($9|0)==(0);
if (!($10)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$11 = ($2|0)==(32);
if (!($11)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
_png_read_data($0,$3,32);
_png_calculate_crc($0,$3,32);
$12 = (_png_crc_finish($0,0)|0);
$13 = ($12|0)==(0);
if (!($13)) {
STACKTOP = sp;return;
}
$14 = HEAP8[$3>>0]|0;
$15 = $14&255;
$16 = $15 << 24;
$17 = ((($3)) + 1|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18&255;
$20 = $19 << 16;
$21 = $20 | $16;
$22 = ((($3)) + 2|0);
$23 = HEAP8[$22>>0]|0;
$24 = $23&255;
$25 = $24 << 8;
$26 = $21 | $25;
$27 = ((($3)) + 3|0);
$28 = HEAP8[$27>>0]|0;
$29 = $28&255;
$30 = $26 | $29;
$31 = ($30|0)>(-1);
$$0$i = $31 ? $30 : -1;
$32 = ((($4)) + 24|0);
HEAP32[$32>>2] = $$0$i;
$33 = ((($3)) + 4|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34&255;
$36 = $35 << 24;
$37 = ((($3)) + 5|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$40 = $39 << 16;
$41 = $40 | $36;
$42 = ((($3)) + 6|0);
$43 = HEAP8[$42>>0]|0;
$44 = $43&255;
$45 = $44 << 8;
$46 = $41 | $45;
$47 = ((($3)) + 7|0);
$48 = HEAP8[$47>>0]|0;
$49 = $48&255;
$50 = $46 | $49;
$51 = ($50|0)>(-1);
$$0$i32 = $51 ? $50 : -1;
$52 = ((($4)) + 28|0);
HEAP32[$52>>2] = $$0$i32;
$53 = ((($3)) + 8|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
$56 = $55 << 24;
$57 = ((($3)) + 9|0);
$58 = HEAP8[$57>>0]|0;
$59 = $58&255;
$60 = $59 << 16;
$61 = $60 | $56;
$62 = ((($3)) + 10|0);
$63 = HEAP8[$62>>0]|0;
$64 = $63&255;
$65 = $64 << 8;
$66 = $61 | $65;
$67 = ((($3)) + 11|0);
$68 = HEAP8[$67>>0]|0;
$69 = $68&255;
$70 = $66 | $69;
$71 = ($70|0)>(-1);
$$0$i38 = $71 ? $70 : -1;
HEAP32[$4>>2] = $$0$i38;
$72 = ((($3)) + 12|0);
$73 = HEAP8[$72>>0]|0;
$74 = $73&255;
$75 = $74 << 24;
$76 = ((($3)) + 13|0);
$77 = HEAP8[$76>>0]|0;
$78 = $77&255;
$79 = $78 << 16;
$80 = $79 | $75;
$81 = ((($3)) + 14|0);
$82 = HEAP8[$81>>0]|0;
$83 = $82&255;
$84 = $83 << 8;
$85 = $80 | $84;
$86 = ((($3)) + 15|0);
$87 = HEAP8[$86>>0]|0;
$88 = $87&255;
$89 = $85 | $88;
$90 = ($89|0)>(-1);
$$0$i37 = $90 ? $89 : -1;
$91 = ((($4)) + 4|0);
HEAP32[$91>>2] = $$0$i37;
$92 = ((($3)) + 16|0);
$93 = HEAP8[$92>>0]|0;
$94 = $93&255;
$95 = $94 << 24;
$96 = ((($3)) + 17|0);
$97 = HEAP8[$96>>0]|0;
$98 = $97&255;
$99 = $98 << 16;
$100 = $99 | $95;
$101 = ((($3)) + 18|0);
$102 = HEAP8[$101>>0]|0;
$103 = $102&255;
$104 = $103 << 8;
$105 = $100 | $104;
$106 = ((($3)) + 19|0);
$107 = HEAP8[$106>>0]|0;
$108 = $107&255;
$109 = $105 | $108;
$110 = ($109|0)>(-1);
$$0$i36 = $110 ? $109 : -1;
$111 = ((($4)) + 8|0);
HEAP32[$111>>2] = $$0$i36;
$112 = ((($3)) + 20|0);
$113 = HEAP8[$112>>0]|0;
$114 = $113&255;
$115 = $114 << 24;
$116 = ((($3)) + 21|0);
$117 = HEAP8[$116>>0]|0;
$118 = $117&255;
$119 = $118 << 16;
$120 = $119 | $115;
$121 = ((($3)) + 22|0);
$122 = HEAP8[$121>>0]|0;
$123 = $122&255;
$124 = $123 << 8;
$125 = $120 | $124;
$126 = ((($3)) + 23|0);
$127 = HEAP8[$126>>0]|0;
$128 = $127&255;
$129 = $125 | $128;
$130 = ($129|0)>(-1);
$$0$i35 = $130 ? $129 : -1;
$131 = ((($4)) + 12|0);
HEAP32[$131>>2] = $$0$i35;
$132 = ((($3)) + 24|0);
$133 = HEAP8[$132>>0]|0;
$134 = $133&255;
$135 = $134 << 24;
$136 = ((($3)) + 25|0);
$137 = HEAP8[$136>>0]|0;
$138 = $137&255;
$139 = $138 << 16;
$140 = $139 | $135;
$141 = ((($3)) + 26|0);
$142 = HEAP8[$141>>0]|0;
$143 = $142&255;
$144 = $143 << 8;
$145 = $140 | $144;
$146 = ((($3)) + 27|0);
$147 = HEAP8[$146>>0]|0;
$148 = $147&255;
$149 = $145 | $148;
$150 = ($149|0)>(-1);
$$0$i34 = $150 ? $149 : -1;
$151 = ((($4)) + 16|0);
HEAP32[$151>>2] = $$0$i34;
$152 = ((($3)) + 28|0);
$153 = HEAP8[$152>>0]|0;
$154 = $153&255;
$155 = $154 << 24;
$156 = ((($3)) + 29|0);
$157 = HEAP8[$156>>0]|0;
$158 = $157&255;
$159 = $158 << 16;
$160 = $159 | $155;
$161 = ((($3)) + 30|0);
$162 = HEAP8[$161>>0]|0;
$163 = $162&255;
$164 = $163 << 8;
$165 = $160 | $164;
$166 = ((($3)) + 31|0);
$167 = HEAP8[$166>>0]|0;
$168 = $167&255;
$169 = $165 | $168;
$170 = ($169|0)>(-1);
$$0$i33 = $170 ? $169 : -1;
$171 = ((($4)) + 20|0);
HEAP32[$171>>2] = $$0$i33;
$172 = HEAP32[$32>>2]|0;
$173 = ($172|0)==(-1);
$174 = HEAP32[$52>>2]|0;
$175 = ($174|0)==(-1);
$or$cond = $173 | $175;
$176 = HEAP32[$4>>2]|0;
$177 = ($176|0)==(-1);
$or$cond22 = $or$cond | $177;
$178 = ($$0$i37|0)==(-1);
$or$cond24 = $or$cond22 | $178;
$179 = ($$0$i36|0)==(-1);
$or$cond26 = $or$cond24 | $179;
$180 = ($$0$i35|0)==(-1);
$or$cond28 = $or$cond26 | $180;
$181 = ($$0$i34|0)==(-1);
$or$cond30 = $or$cond28 | $181;
$182 = ($$0$i33|0)==(-1);
$or$cond31 = $182 | $or$cond30;
if ($or$cond31) {
_png_chunk_benign_error($0,25066);
STACKTOP = sp;return;
}
$183 = ((($0)) + 824|0);
$184 = ((($0)) + 898|0);
$185 = HEAP16[$184>>1]|0;
$186 = $185&65535;
$187 = $186 & 32768;
$188 = ($187|0)==(0);
if (!($188)) {
STACKTOP = sp;return;
}
$189 = $186 & 16;
$190 = ($189|0)==(0);
if ($190) {
$193 = $186 | 16;
$194 = $193&65535;
HEAP16[$184>>1] = $194;
(_png_colorspace_set_chromaticities($0,$183,$4,1)|0);
_png_colorspace_sync($0,$1);
STACKTOP = sp;return;
} else {
$191 = $186 | 32768;
$192 = $191&65535;
HEAP16[$184>>1] = $192;
_png_colorspace_sync($0,$1);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
function _png_handle_gAMA($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 1;
$7 = ($6|0)==(0);
if ($7) {
_png_chunk_error($0,24401);
// unreachable;
}
$8 = $5 & 6;
$9 = ($8|0)==(0);
if (!($9)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$10 = ($2|0)==(4);
if (!($10)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
_png_read_data($0,$3,4);
_png_calculate_crc($0,$3,4);
$11 = (_png_crc_finish($0,0)|0);
$12 = ($11|0)==(0);
if (!($12)) {
STACKTOP = sp;return;
}
$13 = HEAP8[$3>>0]|0;
$14 = $13&255;
$15 = $14 << 24;
$16 = ((($3)) + 1|0);
$17 = HEAP8[$16>>0]|0;
$18 = $17&255;
$19 = $18 << 16;
$20 = $19 | $15;
$21 = ((($3)) + 2|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = $23 << 8;
$25 = $20 | $24;
$26 = ((($3)) + 3|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
$29 = $25 | $28;
$30 = ($29|0)>(-1);
$$0$i = $30 ? $29 : -1;
$31 = ((($0)) + 824|0);
_png_colorspace_set_gamma($0,$31,$$0$i);
_png_colorspace_sync($0,$1);
STACKTOP = sp;return;
}
function _png_handle_hIST($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$031 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond33 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(528|0);
$3 = sp;
$4 = sp + 512|0;
$5 = ((($0)) + 208|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 1;
$8 = ($7|0)==(0);
if ($8) {
_png_chunk_error($0,24401);
// unreachable;
}
$9 = $6 & 6;
$10 = ($9|0)==(2);
if (!($10)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$11 = ($1|0)==(0|0);
if (!($11)) {
$12 = ((($1)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 & 64;
$15 = ($14|0)==(0);
if (!($15)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
$16 = $2 >>> 1;
$17 = ((($0)) + 420|0);
$18 = HEAP16[$17>>1]|0;
$19 = $18&65535;
$20 = ($16|0)!=($19|0);
$21 = ($2>>>0)>(513);
$or$cond = $21 | $20;
if ($or$cond) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
$22 = ($16|0)==(0);
if (!($22)) {
$23 = ((($4)) + 1|0);
$$031 = 0;
while(1) {
_png_read_data($0,$4,2);
_png_calculate_crc($0,$4,2);
$24 = HEAP8[$4>>0]|0;
$25 = $24&255;
$26 = $25 << 8;
$27 = HEAP8[$23>>0]|0;
$28 = $27&255;
$29 = $26 | $28;
$30 = $29&65535;
$31 = (($3) + ($$031<<1)|0);
HEAP16[$31>>1] = $30;
$32 = (($$031) + 1)|0;
$exitcond33 = ($32|0)==($16|0);
if ($exitcond33) {
break;
} else {
$$031 = $32;
}
}
}
$33 = (_png_crc_finish($0,0)|0);
$34 = ($33|0)==(0);
if (!($34)) {
STACKTOP = sp;return;
}
_png_set_hIST($0,$1,$3);
STACKTOP = sp;return;
}
function _png_handle_oFFs($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 1;
$7 = ($6|0)==(0);
if ($7) {
_png_chunk_error($0,24401);
// unreachable;
}
$8 = $5 & 4;
$9 = ($8|0)==(0);
if (!($9)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$10 = ($1|0)==(0|0);
if (!($10)) {
$11 = ((($1)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 & 256;
$14 = ($13|0)==(0);
if (!($14)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
$15 = ($2|0)==(9);
if (!($15)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
_png_read_data($0,$3,9);
_png_calculate_crc($0,$3,9);
$16 = (_png_crc_finish($0,0)|0);
$17 = ($16|0)==(0);
if (!($17)) {
STACKTOP = sp;return;
}
$18 = HEAP8[$3>>0]|0;
$19 = $18&255;
$20 = $19 << 24;
$21 = ((($3)) + 1|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = $23 << 16;
$25 = $24 | $20;
$26 = ((($3)) + 2|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
$29 = $28 << 8;
$30 = $25 | $29;
$31 = ((($3)) + 3|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = $30 | $33;
$35 = ((($3)) + 4|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $37 << 24;
$39 = ((($3)) + 5|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40&255;
$42 = $41 << 16;
$43 = $42 | $38;
$44 = ((($3)) + 6|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45&255;
$47 = $46 << 8;
$48 = $43 | $47;
$49 = ((($3)) + 7|0);
$50 = HEAP8[$49>>0]|0;
$51 = $50&255;
$52 = $48 | $51;
$53 = ((($3)) + 8|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
_png_set_oFFs($0,$1,$34,$52,$55);
STACKTOP = sp;return;
}
function _png_handle_pCAL($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0101 = 0, $$0114 = 0, $$1 = 0, $$1$i$ph = 0, $$2113 = 0, $$3111 = 0, $$cmp = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
var $95 = 0, $or$cond = 0, $or$cond104 = 0, $or$cond107 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 208|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 1;
$6 = ($5|0)==(0);
if ($6) {
_png_chunk_error($0,24401);
// unreachable;
}
$7 = $4 & 4;
$8 = ($7|0)==(0);
if (!($8)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
return;
}
$9 = ($1|0)==(0|0);
if (!($9)) {
$10 = ((($1)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 & 1024;
$13 = ($12|0)==(0);
if (!($13)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
return;
}
}
$14 = (($2) + 1)|0;
$15 = ((($0)) + 788|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==(0|0);
if ($17) {
label = 11;
} else {
$18 = ((($0)) + 792|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19>>>0)<($14>>>0);
if ($20) {
HEAP32[$15>>2] = 0;
HEAP32[$18>>2] = 0;
_png_free($0,$16);
label = 11;
} else {
$$1$i$ph = $16;
}
}
do {
if ((label|0) == 11) {
$21 = (_png_malloc_base($0,$14)|0);
$22 = ($21|0)==(0|0);
if (!($22)) {
HEAP32[$15>>2] = $21;
$23 = ((($0)) + 792|0);
HEAP32[$23>>2] = $14;
$$1$i$ph = $21;
break;
}
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24448);
return;
}
} while(0);
_png_read_data($0,$$1$i$ph,$2);
_png_calculate_crc($0,$$1$i$ph,$2);
$24 = (_png_crc_finish($0,0)|0);
$25 = ($24|0)==(0);
if (!($25)) {
return;
}
$26 = (($$1$i$ph) + ($2)|0);
HEAP8[$26>>0] = 0;
$$0101 = $$1$i$ph;
while(1) {
$27 = HEAP8[$$0101>>0]|0;
$28 = ($27<<24>>24)==(0);
$29 = ((($$0101)) + 1|0);
if ($28) {
break;
} else {
$$0101 = $29;
}
}
$30 = ((($$0101)) + 12|0);
$31 = ($26>>>0)>($30>>>0);
if (!($31)) {
_png_chunk_benign_error($0,24651);
return;
}
$32 = HEAP8[$29>>0]|0;
$33 = $32&255;
$34 = $33 << 24;
$35 = ((($$0101)) + 2|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $37 << 16;
$39 = $38 | $34;
$40 = ((($$0101)) + 3|0);
$41 = HEAP8[$40>>0]|0;
$42 = $41&255;
$43 = $42 << 8;
$44 = $39 | $43;
$45 = ((($$0101)) + 4|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46&255;
$48 = $44 | $47;
$49 = ((($$0101)) + 5|0);
$50 = HEAP8[$49>>0]|0;
$51 = $50&255;
$52 = $51 << 24;
$53 = ((($$0101)) + 6|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
$56 = $55 << 16;
$57 = $56 | $52;
$58 = ((($$0101)) + 7|0);
$59 = HEAP8[$58>>0]|0;
$60 = $59&255;
$61 = $60 << 8;
$62 = $57 | $61;
$63 = ((($$0101)) + 8|0);
$64 = HEAP8[$63>>0]|0;
$65 = $64&255;
$66 = $62 | $65;
$67 = ((($$0101)) + 9|0);
$68 = HEAP8[$67>>0]|0;
$69 = ((($$0101)) + 10|0);
$70 = HEAP8[$69>>0]|0;
$71 = ((($$0101)) + 11|0);
$72 = $68&255;
$73 = ($68<<24>>24)!=(0);
$74 = ($70<<24>>24)==(2);
$or$cond = $73 | $74;
if ($or$cond) {
$75 = ($70<<24>>24)==(3);
$$off = (($68) + -1)<<24>>24;
$$cmp = ($$off&255)>(1);
$or$cond107 = $$cmp | $75;
if ($or$cond107) {
$76 = ($68<<24>>24)!=(3);
$77 = ($70<<24>>24)==(4);
$or$cond104 = $76 | $77;
if ($or$cond104) {
$78 = ($68&255)>(3);
if ($78) {
_png_chunk_benign_error($0,25026);
$$1 = $71;
} else {
$$1 = $71;
}
while(1) {
$79 = HEAP8[$$1>>0]|0;
$80 = ($79<<24>>24)==(0);
$81 = ((($$1)) + 1|0);
if ($80) {
break;
} else {
$$1 = $81;
}
}
$82 = $70&255;
$83 = $82 << 2;
$84 = (_png_malloc_warn($0,$83)|0);
$85 = ($84|0)==(0|0);
if ($85) {
_png_chunk_benign_error($0,24448);
return;
}
$86 = ($70<<24>>24)==(0);
L46: do {
if (!($86)) {
$$0114 = 0;$$2113 = $$1;
L47: while(1) {
$87 = ((($$2113)) + 1|0);
$88 = (($84) + ($$0114<<2)|0);
HEAP32[$88>>2] = $87;
$89 = ($87>>>0)>($26>>>0);
if ($89) {
break;
} else {
$$3111 = $87;
}
while(1) {
$90 = HEAP8[$$3111>>0]|0;
$91 = ($90<<24>>24)==(0);
if ($91) {
break;
}
$92 = ((($$3111)) + 1|0);
$93 = ($92>>>0)>($26>>>0);
if ($93) {
break L47;
} else {
$$3111 = $92;
}
}
$94 = (($$0114) + 1)|0;
$95 = ($94|0)<($82|0);
if ($95) {
$$0114 = $94;$$2113 = $$3111;
} else {
break L46;
}
}
_png_free($0,$84);
_png_chunk_benign_error($0,25053);
return;
}
} while(0);
_png_set_pCAL($0,$1,$$1$i$ph,$48,$66,$72,$82,$71,$84);
_png_free($0,$84);
return;
}
}
}
_png_chunk_benign_error($0,25002);
return;
}
function _png_handle_sCAL($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$1$i$ph = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 4|0;
$4 = sp;
$5 = ((($0)) + 208|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 1;
$8 = ($7|0)==(0);
if ($8) {
_png_chunk_error($0,24401);
// unreachable;
}
$9 = $6 & 4;
$10 = ($9|0)==(0);
if (!($10)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$11 = ($1|0)==(0|0);
if (!($11)) {
$12 = ((($1)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 & 16384;
$15 = ($14|0)==(0);
if (!($15)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
$16 = ($2>>>0)<(4);
if ($16) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
$17 = (($2) + 1)|0;
$18 = ((($0)) + 788|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19|0)==(0|0);
if ($20) {
label = 13;
} else {
$21 = ((($0)) + 792|0);
$22 = HEAP32[$21>>2]|0;
$23 = ($22>>>0)<($17>>>0);
if ($23) {
HEAP32[$18>>2] = 0;
HEAP32[$21>>2] = 0;
_png_free($0,$19);
label = 13;
} else {
$$1$i$ph = $19;
}
}
do {
if ((label|0) == 13) {
$24 = (_png_malloc_base($0,$17)|0);
$25 = ($24|0)==(0|0);
if (!($25)) {
HEAP32[$18>>2] = $24;
$26 = ((($0)) + 792|0);
HEAP32[$26>>2] = $17;
$$1$i$ph = $24;
break;
}
_png_chunk_benign_error($0,24448);
(_png_crc_finish($0,$2)|0);
STACKTOP = sp;return;
}
} while(0);
_png_read_data($0,$$1$i$ph,$2);
_png_calculate_crc($0,$$1$i$ph,$2);
$27 = (($$1$i$ph) + ($2)|0);
HEAP8[$27>>0] = 0;
$28 = (_png_crc_finish($0,0)|0);
$29 = ($28|0)==(0);
if (!($29)) {
STACKTOP = sp;return;
}
$30 = HEAP8[$$1$i$ph>>0]|0;
$$off = (($30) + -1)<<24>>24;
$switch = ($$off&255)<(2);
if (!($switch)) {
_png_chunk_benign_error($0,24915);
STACKTOP = sp;return;
}
HEAP32[$3>>2] = 1;
HEAP32[$4>>2] = 0;
$31 = (_png_check_fp_number($$1$i$ph,$2,$4,$3)|0);
$32 = ($31|0)==(0);
if (!($32)) {
$33 = HEAP32[$3>>2]|0;
$34 = ($33>>>0)<($2>>>0);
if ($34) {
$35 = (($33) + 1)|0;
HEAP32[$3>>2] = $35;
$36 = (($$1$i$ph) + ($33)|0);
$37 = HEAP8[$36>>0]|0;
$38 = ($37<<24>>24)==(0);
if ($38) {
$39 = HEAP32[$4>>2]|0;
$40 = $39 & 392;
$41 = ($40|0)==(264);
if (!($41)) {
_png_chunk_benign_error($0,24945);
STACKTOP = sp;return;
}
HEAP32[$4>>2] = 0;
$42 = (_png_check_fp_number($$1$i$ph,$2,$4,$3)|0);
$43 = ($42|0)!=(0);
$44 = HEAP32[$3>>2]|0;
$45 = ($44|0)==($2|0);
$or$cond = $43 & $45;
if (!($or$cond)) {
_png_chunk_benign_error($0,24964);
STACKTOP = sp;return;
}
$46 = HEAP32[$4>>2]|0;
$47 = $46 & 392;
$48 = ($47|0)==(264);
if ($48) {
$49 = HEAP8[$$1$i$ph>>0]|0;
$50 = $49&255;
$51 = ((($$1$i$ph)) + 1|0);
$52 = (($$1$i$ph) + ($35)|0);
_png_set_sCAL_s($0,$1,$50,$51,$52);
STACKTOP = sp;return;
} else {
_png_chunk_benign_error($0,24982);
STACKTOP = sp;return;
}
}
}
}
_png_chunk_benign_error($0,24928);
STACKTOP = sp;return;
}
function _png_handle_pHYs($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 1;
$7 = ($6|0)==(0);
if ($7) {
_png_chunk_error($0,24401);
// unreachable;
}
$8 = $5 & 4;
$9 = ($8|0)==(0);
if (!($9)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$10 = ($1|0)==(0|0);
if (!($10)) {
$11 = ((($1)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 & 128;
$14 = ($13|0)==(0);
if (!($14)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
$15 = ($2|0)==(9);
if (!($15)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
_png_read_data($0,$3,9);
_png_calculate_crc($0,$3,9);
$16 = (_png_crc_finish($0,0)|0);
$17 = ($16|0)==(0);
if (!($17)) {
STACKTOP = sp;return;
}
$18 = HEAP8[$3>>0]|0;
$19 = $18&255;
$20 = $19 << 24;
$21 = ((($3)) + 1|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
$24 = $23 << 16;
$25 = $24 | $20;
$26 = ((($3)) + 2|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
$29 = $28 << 8;
$30 = $25 | $29;
$31 = ((($3)) + 3|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = $30 | $33;
$35 = ((($3)) + 4|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $37 << 24;
$39 = ((($3)) + 5|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40&255;
$42 = $41 << 16;
$43 = $42 | $38;
$44 = ((($3)) + 6|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45&255;
$47 = $46 << 8;
$48 = $43 | $47;
$49 = ((($3)) + 7|0);
$50 = HEAP8[$49>>0]|0;
$51 = $50&255;
$52 = $48 | $51;
$53 = ((($3)) + 8|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54&255;
_png_set_pHYs($0,$1,$34,$52,$55);
STACKTOP = sp;return;
}
function _png_handle_sBIT($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$04548 = 0, $$046 = 0, $$sink = 0, $$sink49 = 0, $$sink50 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 1;
$7 = ($6|0)==(0);
if ($7) {
_png_chunk_error($0,24401);
// unreachable;
}
$8 = $5 & 6;
$9 = ($8|0)==(0);
if (!($9)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$10 = ($1|0)==(0|0);
if (!($10)) {
$11 = ((($1)) + 8|0);
$12 = HEAP32[$11>>2]|0;
$13 = $12 & 2;
$14 = ($13|0)==(0);
if (!($14)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
$15 = ((($0)) + 435|0);
$16 = HEAP8[$15>>0]|0;
$17 = ($16<<24>>24)==(3);
if ($17) {
$$0 = 8;$$046 = 3;
} else {
$18 = ((($0)) + 439|0);
$19 = HEAP8[$18>>0]|0;
$20 = $19&255;
$21 = ((($0)) + 436|0);
$22 = HEAP8[$21>>0]|0;
$$0 = $22;$$046 = $20;
}
$23 = ($$046|0)!=($2|0);
$24 = ($2>>>0)>(4);
$or$cond = $24 | $23;
if ($or$cond) {
_png_chunk_benign_error($0,24651);
(_png_crc_finish($0,$2)|0);
STACKTOP = sp;return;
}
$25 = ((($3)) + 3|0);
$26 = ((($3)) + 2|0);
$27 = ((($3)) + 1|0);
_memset(($3|0),($$0|0),4)|0;
_png_read_data($0,$3,$2);
_png_calculate_crc($0,$3,$2);
$28 = (_png_crc_finish($0,0)|0);
$29 = ($28|0)==(0);
if (!($29)) {
STACKTOP = sp;return;
}
$30 = ($2|0)==(0);
L23: do {
if (!($30)) {
$$04548 = 0;
while(1) {
$33 = (($3) + ($$04548)|0);
$34 = HEAP8[$33>>0]|0;
$35 = (($34) + -1)<<24>>24;
$36 = ($35&255)<($$0&255);
$31 = (($$04548) + 1)|0;
if (!($36)) {
break;
}
$32 = ($31>>>0)<($2>>>0);
if ($32) {
$$04548 = $31;
} else {
break L23;
}
}
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
} while(0);
$37 = HEAP8[$15>>0]|0;
$38 = $37 & 2;
$39 = ($38<<24>>24)==(0);
$40 = HEAP8[$3>>0]|0;
$41 = ((($0)) + 516|0);
if ($39) {
$45 = ((($0)) + 519|0);
HEAP8[$45>>0] = $40;
$46 = HEAP8[$27>>0]|0;
$$sink = $46;$$sink49 = $40;$$sink50 = $40;
} else {
$42 = HEAP8[$27>>0]|0;
$43 = HEAP8[$26>>0]|0;
$44 = HEAP8[$25>>0]|0;
$$sink = $44;$$sink49 = $43;$$sink50 = $42;
}
HEAP8[$41>>0] = $40;
$47 = ((($0)) + 517|0);
HEAP8[$47>>0] = $$sink50;
$48 = ((($0)) + 518|0);
HEAP8[$48>>0] = $$sink49;
$49 = ((($0)) + 520|0);
HEAP8[$49>>0] = $$sink;
_png_set_sBIT($0,$1,$41);
STACKTOP = sp;return;
}
function _png_handle_sRGB($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 1;
$7 = ($6|0)==(0);
if ($7) {
_png_chunk_error($0,24401);
// unreachable;
}
$8 = $5 & 6;
$9 = ($8|0)==(0);
if (!($9)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$10 = ($2|0)==(1);
if (!($10)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
_png_read_data($0,$3,1);
_png_calculate_crc($0,$3,1);
$11 = (_png_crc_finish($0,0)|0);
$12 = ($11|0)==(0);
if (!($12)) {
STACKTOP = sp;return;
}
$13 = ((($0)) + 824|0);
$14 = ((($0)) + 898|0);
$15 = HEAP16[$14>>1]|0;
$16 = $15&65535;
$17 = $16 & 32768;
$18 = ($17|0)==(0);
if (!($18)) {
STACKTOP = sp;return;
}
$19 = $16 & 4;
$20 = ($19|0)==(0);
if ($20) {
$23 = HEAP8[$3>>0]|0;
$24 = $23&255;
(_png_colorspace_set_sRGB($0,$13,$24)|0);
_png_colorspace_sync($0,$1);
STACKTOP = sp;return;
} else {
$21 = $16 | 32768;
$22 = $21&65535;
HEAP16[$14>>1] = $22;
_png_colorspace_sync($0,$1);
_png_chunk_benign_error($0,24897);
STACKTOP = sp;return;
}
}
function _png_handle_iCCP($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0125$lcssa = 0, $$0125$off = 0, $$0125142 = 0, $$1$i$ph = 0, $$2123 = 0, $$4116 = 0, $$5 = 0, $$5117 = 0, $$6 = 0, $$7$ph = 0, $$9138 = 0, $$9139 = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1248|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1248|0);
$3 = sp + 4|0;
$4 = sp + 1164|0;
$5 = sp + 1032|0;
$6 = sp + 8|0;
$7 = sp;
HEAP32[$3>>2] = $2;
$8 = ((($0)) + 208|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 & 1;
$11 = ($10|0)==(0);
if ($11) {
_png_chunk_error($0,24401);
// unreachable;
}
$12 = $9 & 6;
$13 = ($12|0)==(0);
if (!($13)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$14 = ($2>>>0)<(9);
if ($14) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24864);
STACKTOP = sp;return;
}
$15 = ((($0)) + 824|0);
$16 = ((($0)) + 898|0);
$17 = HEAP16[$16>>1]|0;
$18 = $17&65535;
$19 = $18 & 32768;
$20 = ($19|0)==(0);
if (!($20)) {
(_png_crc_finish($0,$2)|0);
STACKTOP = sp;return;
}
$21 = $18 & 4;
$22 = ($21|0)==(0);
L16: do {
if ($22) {
$23 = ($2>>>0)<(81);
$$ = $23 ? $2 : 81;
_png_read_data($0,$4,$$);
_png_calculate_crc($0,$4,$$);
$24 = (($2) - ($$))|0;
HEAP32[$3>>2] = $24;
$25 = ($$|0)==(0);
do {
if ($25) {
$$7$ph = 24493;
} else {
$$0125142 = 0;
while(1) {
$26 = (($4) + ($$0125142)|0);
$27 = HEAP8[$26>>0]|0;
$28 = ($27<<24>>24)==(0);
if ($28) {
$$0125$lcssa = $$0125142;
break;
}
$29 = (($$0125142) + 1)|0;
$30 = ($29>>>0)<(80);
$31 = ($29>>>0)<($$>>>0);
$or$cond = $30 & $31;
if ($or$cond) {
$$0125142 = $29;
} else {
$$0125$lcssa = $29;
break;
}
}
$$0125$off = (($$0125$lcssa) + -1)|0;
$32 = ($$0125$off>>>0)<(79);
if ($32) {
$33 = (($$0125$lcssa) + 1)|0;
$34 = ($33>>>0)<($$>>>0);
if ($34) {
$35 = (($4) + ($33)|0);
$36 = HEAP8[$35>>0]|0;
$37 = ($36<<24>>24)==(0);
if ($37) {
$38 = (($$0125$lcssa) + 2)|0;
$39 = (_png_inflate_claim($0,1766015824)|0);
$40 = ($39|0)==(0);
if (!($40)) {
$139 = ((($0)) + 248|0);
$140 = HEAP32[$139>>2]|0;
$$7$ph = $140;
break;
}
$41 = (($$) - ($38))|0;
HEAP32[$7>>2] = 132;
$42 = (($4) + ($38)|0);
$43 = ((($0)) + 224|0);
HEAP32[$43>>2] = $42;
$44 = ((($0)) + 228|0);
HEAP32[$44>>2] = $41;
_png_inflate_read($0,$6,$3,$5,$7,0);
$45 = HEAP32[$7>>2]|0;
$46 = ($45|0)==(0);
L29: do {
if ($46) {
$47 = HEAP8[$5>>0]|0;
$48 = $47&255;
$49 = $48 << 24;
$50 = ((($5)) + 1|0);
$51 = HEAP8[$50>>0]|0;
$52 = $51&255;
$53 = $52 << 16;
$54 = $53 | $49;
$55 = ((($5)) + 2|0);
$56 = HEAP8[$55>>0]|0;
$57 = $56&255;
$58 = $57 << 8;
$59 = $54 | $58;
$60 = ((($5)) + 3|0);
$61 = HEAP8[$60>>0]|0;
$62 = $61&255;
$63 = $59 | $62;
$64 = (_png_icc_check_length($0,$15,$4,$63)|0);
$65 = ($64|0)==(0);
if ($65) {
$$4116 = 0;$$5 = 0;
label = 39;
} else {
$66 = ((($0)) + 435|0);
$67 = HEAP8[$66>>0]|0;
$68 = $67&255;
$69 = (_png_icc_check_header($0,$15,$4,$63,$5,$68)|0);
$70 = ($69|0)==(0);
if ($70) {
$$4116 = 0;$$5 = 0;
label = 39;
} else {
$71 = ((($5)) + 128|0);
$72 = HEAP8[$71>>0]|0;
$73 = ((($5)) + 129|0);
$74 = HEAP8[$73>>0]|0;
$75 = ((($5)) + 130|0);
$76 = HEAP8[$75>>0]|0;
$77 = ((($5)) + 131|0);
$78 = HEAP8[$77>>0]|0;
$79 = ((($0)) + 788|0);
$80 = HEAP32[$79>>2]|0;
$81 = ($80|0)==(0|0);
if ($81) {
label = 23;
} else {
$82 = ((($0)) + 792|0);
$83 = HEAP32[$82>>2]|0;
$84 = ($83>>>0)<($63>>>0);
if ($84) {
HEAP32[$79>>2] = 0;
HEAP32[$82>>2] = 0;
_png_free($0,$80);
label = 23;
} else {
$$1$i$ph = $80;
}
}
if ((label|0) == 23) {
$85 = (_png_malloc_base($0,$63)|0);
$86 = ($85|0)==(0|0);
if ($86) {
$$4116 = 0;$$5 = 24448;
label = 39;
break;
}
HEAP32[$79>>2] = $85;
$87 = ((($0)) + 792|0);
HEAP32[$87>>2] = $63;
$$1$i$ph = $85;
}
$88 = $72&255;
$89 = $88 << 24;
$90 = $74&255;
$91 = $90 << 16;
$92 = $91 | $89;
$93 = $76&255;
$94 = $93 << 8;
$95 = $92 | $94;
$96 = $78&255;
$97 = $95 | $96;
_memcpy(($$1$i$ph|0),($5|0),132)|0;
$98 = ($97*12)|0;
HEAP32[$7>>2] = $98;
$99 = ((($$1$i$ph)) + 132|0);
_png_inflate_read($0,$6,$3,$99,$7,0);
$100 = HEAP32[$7>>2]|0;
$101 = ($100|0)==(0);
if (!($101)) {
$133 = ((($0)) + 248|0);
$134 = HEAP32[$133>>2]|0;
$$4116 = 0;$$5 = $134;
label = 39;
break;
}
$102 = (_png_icc_check_tag_table($0,$15,$4,$63,$$1$i$ph)|0);
$103 = ($102|0)==(0);
if ($103) {
$$4116 = 0;$$5 = 0;
label = 39;
} else {
$104 = (($63) + -132)|0;
$105 = (($104) - ($98))|0;
HEAP32[$7>>2] = $105;
$106 = (($99) + ($98)|0);
_png_inflate_read($0,$6,$3,$106,$7,1);
$107 = HEAP32[$3>>2]|0;
$108 = ($107|0)==(0);
if (!($108)) {
$109 = ((($0)) + 212|0);
$110 = HEAP32[$109>>2]|0;
$111 = $110 & 1048576;
$112 = ($111|0)==(0);
if ($112) {
$$4116 = 0;$$5 = 24523;
label = 39;
break;
}
}
$113 = HEAP32[$7>>2]|0;
$114 = ($113|0)==(0);
if (!($114)) {
$$4116 = 0;$$5 = 24462;
label = 39;
break;
}
if (!($108)) {
_png_chunk_warning($0,24523);
}
(_png_crc_finish($0,$107)|0);
$115 = ((($0)) + 272|0);
$116 = HEAP32[$115>>2]|0;
_png_icc_set_sRGB($0,$15,$$1$i$ph,$116);
$117 = ($1|0)==(0|0);
do {
if (!($117)) {
_png_free_data($0,$1,16,0);
$118 = (_png_malloc_base($0,$33)|0);
$119 = ((($1)) + 116|0);
HEAP32[$119>>2] = $118;
$120 = ($118|0)==(0|0);
if ($120) {
$129 = HEAP16[$16>>1]|0;
$130 = $129&65535;
$131 = $130 | 32768;
$132 = $131&65535;
HEAP16[$16>>1] = $132;
_png_colorspace_sync($0,$1);
$$4116 = 1;$$5 = 24448;
label = 39;
break L29;
} else {
_memcpy(($118|0),($4|0),($33|0))|0;
$121 = ((($1)) + 124|0);
HEAP32[$121>>2] = $63;
$122 = ((($1)) + 120|0);
HEAP32[$122>>2] = $$1$i$ph;
HEAP32[$79>>2] = 0;
$123 = ((($1)) + 232|0);
$124 = HEAP32[$123>>2]|0;
$125 = $124 | 16;
HEAP32[$123>>2] = $125;
$126 = ((($1)) + 8|0);
$127 = HEAP32[$126>>2]|0;
$128 = $127 | 4096;
HEAP32[$126>>2] = $128;
_png_colorspace_sync($0,$1);
break;
}
}
} while(0);
$135 = ((($0)) + 220|0);
HEAP32[$135>>2] = 0;
$$2123 = 0;$$5117 = 1;$$6 = 0;
}
}
}
} else {
$136 = ((($0)) + 248|0);
$137 = HEAP32[$136>>2]|0;
$$4116 = 0;$$5 = $137;
label = 39;
}
} while(0);
if ((label|0) == 39) {
$138 = ((($0)) + 220|0);
HEAP32[$138>>2] = 0;
$$2123 = 1;$$5117 = $$4116;$$6 = $$5;
}
if (!($$2123)) {
STACKTOP = sp;return;
}
$141 = ($$5117|0)==(0);
if (!($141)) {
$$9138 = $$6;
break L16;
}
$$pre = HEAP32[$3>>2]|0;
$$9139 = $$6;$142 = $$pre;
label = 45;
break L16;
} else {
$$7$ph = 24874;
}
} else {
$$7$ph = 24874;
}
} else {
$$7$ph = 24493;
}
}
} while(0);
$$9139 = $$7$ph;$142 = $24;
label = 45;
} else {
$$9139 = 24897;$142 = $2;
label = 45;
}
} while(0);
if ((label|0) == 45) {
(_png_crc_finish($0,$142)|0);
$$9138 = $$9139;
}
$143 = HEAP16[$16>>1]|0;
$144 = $143&65535;
$145 = $144 | 32768;
$146 = $145&65535;
HEAP16[$16>>1] = $146;
_png_colorspace_sync($0,$1);
$147 = ($$9138|0)==(0|0);
if ($147) {
STACKTOP = sp;return;
}
_png_chunk_benign_error($0,$$9138);
STACKTOP = sp;return;
}
function _png_handle_sPLT($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$09597 = 0, $$1$i$ph = 0, $$198 = 0, $$2 = 0, $$pre = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ((($0)) + 756|0);
$5 = HEAP32[$4>>2]|0;
switch ($5|0) {
case 0: {
break;
}
case 1: {
(_png_crc_finish($0,$2)|0);
STACKTOP = sp;return;
break;
}
default: {
label = 3;
}
}
if ((label|0) == 3) {
$6 = (($5) + -1)|0;
HEAP32[$4>>2] = $6;
$7 = ($6|0)==(1);
if ($7) {
_png_warning($0,24728);
(_png_crc_finish($0,$2)|0);
STACKTOP = sp;return;
}
}
$8 = ((($0)) + 208|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 & 1;
$11 = ($10|0)==(0);
if ($11) {
_png_chunk_error($0,24401);
// unreachable;
}
$12 = $9 & 4;
$13 = ($12|0)==(0);
if (!($13)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$14 = (($2) + 1)|0;
$15 = ((($0)) + 788|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==(0|0);
if ($17) {
label = 12;
} else {
$18 = ((($0)) + 792|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19>>>0)<($14>>>0);
if ($20) {
HEAP32[$15>>2] = 0;
HEAP32[$18>>2] = 0;
_png_free($0,$16);
label = 12;
} else {
$$1$i$ph = $16;
}
}
do {
if ((label|0) == 12) {
$21 = (_png_malloc_base($0,$14)|0);
$22 = ($21|0)==(0|0);
if (!($22)) {
HEAP32[$15>>2] = $21;
$23 = ((($0)) + 792|0);
HEAP32[$23>>2] = $14;
$$1$i$ph = $21;
break;
}
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24448);
STACKTOP = sp;return;
}
} while(0);
_png_read_data($0,$$1$i$ph,$2);
_png_calculate_crc($0,$$1$i$ph,$2);
$24 = (_png_crc_finish($0,0)|0);
$25 = ($24|0)==(0);
if (!($25)) {
STACKTOP = sp;return;
}
$26 = (($$1$i$ph) + ($2)|0);
HEAP8[$26>>0] = 0;
$$0 = $$1$i$ph;
while(1) {
$27 = HEAP8[$$0>>0]|0;
$28 = ($27<<24>>24)==(0);
$29 = ((($$0)) + 1|0);
if ($28) {
break;
} else {
$$0 = $29;
}
}
$30 = ((($26)) + -2|0);
$31 = ($29>>>0)>($30>>>0);
if ($31) {
_png_warning($0,24761);
STACKTOP = sp;return;
}
$32 = ((($$0)) + 2|0);
$33 = HEAP8[$29>>0]|0;
$34 = ((($3)) + 4|0);
HEAP8[$34>>0] = $33;
$35 = ($33<<24>>24)==(8);
$36 = $35 ? 6 : 10;
$37 = $32;
$38 = $$1$i$ph;
$39 = (($38) - ($37))|0;
$40 = (($39) + ($2))|0;
$41 = (($40>>>0) % ($36>>>0))&-1;
$42 = ($41|0)==(0);
if (!($42)) {
_png_warning($0,24782);
STACKTOP = sp;return;
}
$43 = (($40>>>0) / ($36>>>0))&-1;
$44 = ($43>>>0)>(429496729);
if ($44) {
_png_warning($0,24808);
STACKTOP = sp;return;
}
$45 = ((($3)) + 12|0);
HEAP32[$45>>2] = $43;
$46 = ($43*10)|0;
$47 = (_png_malloc_warn($0,$46)|0);
$48 = ((($3)) + 8|0);
HEAP32[$48>>2] = $47;
$49 = ($47|0)==(0|0);
if ($49) {
_png_warning($0,24828);
STACKTOP = sp;return;
}
$50 = ($36>>>0)>($40>>>0);
L48: do {
if (!($50)) {
$$09597 = 0;$$198 = $32;$52 = $47;
while(1) {
$51 = (($52) + (($$09597*10)|0)|0);
if ($35) {
$53 = ((($$198)) + 1|0);
$54 = HEAP8[$$198>>0]|0;
$55 = $54&255;
HEAP16[$51>>1] = $55;
$56 = ((($$198)) + 2|0);
$57 = HEAP8[$53>>0]|0;
$58 = $57&255;
$59 = (((($52) + (($$09597*10)|0)|0)) + 2|0);
HEAP16[$59>>1] = $58;
$60 = ((($$198)) + 3|0);
$61 = HEAP8[$56>>0]|0;
$62 = $61&255;
$63 = (((($52) + (($$09597*10)|0)|0)) + 4|0);
HEAP16[$63>>1] = $62;
$64 = ((($$198)) + 4|0);
$65 = HEAP8[$60>>0]|0;
$66 = $65&255;
$$2 = $64;$$sink = $66;
} else {
$67 = HEAP8[$$198>>0]|0;
$68 = $67&255;
$69 = $68 << 8;
$70 = ((($$198)) + 1|0);
$71 = HEAP8[$70>>0]|0;
$72 = $71&255;
$73 = $69 | $72;
$74 = $73&65535;
HEAP16[$51>>1] = $74;
$75 = ((($$198)) + 2|0);
$76 = HEAP8[$75>>0]|0;
$77 = $76&255;
$78 = $77 << 8;
$79 = ((($$198)) + 3|0);
$80 = HEAP8[$79>>0]|0;
$81 = $80&255;
$82 = $78 | $81;
$83 = $82&65535;
$84 = (((($52) + (($$09597*10)|0)|0)) + 2|0);
HEAP16[$84>>1] = $83;
$85 = ((($$198)) + 4|0);
$86 = HEAP8[$85>>0]|0;
$87 = $86&255;
$88 = $87 << 8;
$89 = ((($$198)) + 5|0);
$90 = HEAP8[$89>>0]|0;
$91 = $90&255;
$92 = $88 | $91;
$93 = $92&65535;
$94 = (((($52) + (($$09597*10)|0)|0)) + 4|0);
HEAP16[$94>>1] = $93;
$95 = ((($$198)) + 6|0);
$96 = HEAP8[$95>>0]|0;
$97 = $96&255;
$98 = $97 << 8;
$99 = ((($$198)) + 7|0);
$100 = HEAP8[$99>>0]|0;
$101 = $100&255;
$102 = $98 | $101;
$103 = $102&65535;
$104 = ((($$198)) + 8|0);
$$2 = $104;$$sink = $103;
}
$105 = (((($52) + (($$09597*10)|0)|0)) + 6|0);
HEAP16[$105>>1] = $$sink;
$106 = HEAP8[$$2>>0]|0;
$107 = $106&255;
$108 = $107 << 8;
$109 = ((($$2)) + 1|0);
$110 = HEAP8[$109>>0]|0;
$111 = $110&255;
$112 = $108 | $111;
$113 = $112&65535;
$114 = (((($52) + (($$09597*10)|0)|0)) + 8|0);
HEAP16[$114>>1] = $113;
$115 = (($$09597) + 1)|0;
$116 = HEAP32[$45>>2]|0;
$117 = ($115|0)<($116|0);
if (!($117)) {
break L48;
}
$118 = ((($$2)) + 2|0);
$$pre = HEAP32[$48>>2]|0;
$$09597 = $115;$$198 = $118;$52 = $$pre;
}
}
} while(0);
HEAP32[$3>>2] = $$1$i$ph;
_png_set_sPLT($0,$1,$3,1);
$119 = HEAP32[$48>>2]|0;
_png_free($0,$119);
STACKTOP = sp;return;
}
function _png_handle_tEXt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$ = 0, $$1$i$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$3 = sp;
$4 = ((($0)) + 756|0);
$5 = HEAP32[$4>>2]|0;
switch ($5|0) {
case 0: {
break;
}
case 1: {
(_png_crc_finish($0,$2)|0);
STACKTOP = sp;return;
break;
}
default: {
label = 3;
}
}
if ((label|0) == 3) {
$6 = (($5) + -1)|0;
HEAP32[$4>>2] = $6;
$7 = ($6|0)==(1);
if ($7) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24377);
STACKTOP = sp;return;
}
}
$8 = ((($0)) + 208|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 & 1;
$11 = ($10|0)==(0);
if ($11) {
_png_chunk_error($0,24401);
// unreachable;
}
$12 = $9 & 4;
$13 = ($12|0)==(0);
if (!($13)) {
$14 = $9 | 8;
HEAP32[$8>>2] = $14;
}
$15 = (($2) + 1)|0;
$16 = ((($0)) + 788|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(0|0);
if ($18) {
label = 12;
} else {
$19 = ((($0)) + 792|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20>>>0)<($15>>>0);
if ($21) {
HEAP32[$16>>2] = 0;
HEAP32[$19>>2] = 0;
_png_free($0,$17);
label = 12;
} else {
$$1$i$ph = $17;
}
}
do {
if ((label|0) == 12) {
$22 = (_png_malloc_base($0,$15)|0);
$23 = ($22|0)==(0|0);
if (!($23)) {
HEAP32[$16>>2] = $22;
$24 = ((($0)) + 792|0);
HEAP32[$24>>2] = $15;
$$1$i$ph = $22;
break;
}
_png_chunk_warning($0,24414);
_png_chunk_benign_error($0,24448);
STACKTOP = sp;return;
}
} while(0);
_png_read_data($0,$$1$i$ph,$2);
_png_calculate_crc($0,$$1$i$ph,$2);
$25 = (_png_crc_finish($0,0)|0);
$26 = ($25|0)==(0);
if (!($26)) {
STACKTOP = sp;return;
}
$27 = (($$1$i$ph) + ($2)|0);
HEAP8[$27>>0] = 0;
$$0 = $$1$i$ph;
while(1) {
$28 = HEAP8[$$0>>0]|0;
$29 = ($28<<24>>24)==(0);
$30 = ((($$0)) + 1|0);
if ($29) {
break;
} else {
$$0 = $30;
}
}
$31 = ($$0|0)==($27|0);
$$0$ = $31 ? $$0 : $30;
HEAP32[$3>>2] = -1;
$32 = ((($3)) + 4|0);
HEAP32[$32>>2] = $$1$i$ph;
$33 = ((($3)) + 20|0);
HEAP32[$33>>2] = 0;
$34 = ((($3)) + 24|0);
HEAP32[$34>>2] = 0;
$35 = ((($3)) + 16|0);
HEAP32[$35>>2] = 0;
$36 = ((($3)) + 8|0);
HEAP32[$36>>2] = $$0$;
$37 = (_strlen($$0$)|0);
$38 = ((($3)) + 12|0);
HEAP32[$38>>2] = $37;
$39 = (_png_set_text_2($0,$1,$3,1)|0);
$40 = ($39|0)==(0);
if ($40) {
STACKTOP = sp;return;
}
_png_warning($0,24686);
STACKTOP = sp;return;
}
function _png_handle_tIME($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 8|0;
$4 = sp;
$5 = ((($0)) + 208|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 1;
$8 = ($7|0)==(0);
if ($8) {
_png_chunk_error($0,24401);
// unreachable;
}
$9 = ($1|0)==(0|0);
if (!($9)) {
$10 = ((($1)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 & 512;
$13 = ($12|0)==(0);
if (!($13)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
$14 = $6 & 4;
$15 = ($14|0)==(0);
if (!($15)) {
$16 = $6 | 8;
HEAP32[$5>>2] = $16;
}
$17 = ($2|0)==(7);
if (!($17)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
}
_png_read_data($0,$3,7);
_png_calculate_crc($0,$3,7);
$18 = (_png_crc_finish($0,0)|0);
$19 = ($18|0)==(0);
if (!($19)) {
STACKTOP = sp;return;
}
$20 = ((($3)) + 6|0);
$21 = HEAP8[$20>>0]|0;
$22 = ((($4)) + 6|0);
HEAP8[$22>>0] = $21;
$23 = ((($3)) + 5|0);
$24 = HEAP8[$23>>0]|0;
$25 = ((($4)) + 5|0);
HEAP8[$25>>0] = $24;
$26 = ((($3)) + 4|0);
$27 = HEAP8[$26>>0]|0;
$28 = ((($4)) + 4|0);
HEAP8[$28>>0] = $27;
$29 = ((($3)) + 3|0);
$30 = HEAP8[$29>>0]|0;
$31 = ((($4)) + 3|0);
HEAP8[$31>>0] = $30;
$32 = ((($3)) + 2|0);
$33 = HEAP8[$32>>0]|0;
$34 = ((($4)) + 2|0);
HEAP8[$34>>0] = $33;
$35 = HEAP8[$3>>0]|0;
$36 = $35&255;
$37 = $36 << 8;
$38 = ((($3)) + 1|0);
$39 = HEAP8[$38>>0]|0;
$40 = $39&255;
$41 = $37 | $40;
$42 = $41&65535;
HEAP16[$4>>1] = $42;
_png_set_tIME($0,$1,$4);
STACKTOP = sp;return;
}
function _png_handle_tRNS($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre$phiZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0);
$3 = sp + 8|0;
$4 = sp + 6|0;
$5 = sp;
$6 = ((($0)) + 208|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 1;
$9 = ($8|0)==(0);
if ($9) {
_png_chunk_error($0,24401);
// unreachable;
}
$10 = $7 & 4;
$11 = ($10|0)==(0);
if (!($11)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$12 = ($1|0)==(0|0);
if (!($12)) {
$13 = ((($1)) + 8|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14 & 16;
$16 = ($15|0)==(0);
if (!($16)) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24641);
STACKTOP = sp;return;
}
}
$17 = ((($0)) + 435|0);
$18 = HEAP8[$17>>0]|0;
L13: do {
switch ($18<<24>>24) {
case 0: {
$19 = ($2|0)==(2);
if ($19) {
_png_read_data($0,$4,2);
_png_calculate_crc($0,$4,2);
$20 = ((($0)) + 428|0);
HEAP16[$20>>1] = 1;
$21 = HEAP8[$4>>0]|0;
$22 = $21&255;
$23 = $22 << 8;
$24 = ((($4)) + 1|0);
$25 = HEAP8[$24>>0]|0;
$26 = $25&255;
$27 = $23 | $26;
$28 = $27&65535;
$29 = ((($0)) + 540|0);
HEAP16[$29>>1] = $28;
$$pre$phiZ2D = $20;
break L13;
}
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
break;
}
case 2: {
$30 = ($2|0)==(6);
if ($30) {
_png_read_data($0,$5,6);
_png_calculate_crc($0,$5,6);
$31 = ((($0)) + 428|0);
HEAP16[$31>>1] = 1;
$32 = HEAP8[$5>>0]|0;
$33 = $32&255;
$34 = $33 << 8;
$35 = ((($5)) + 1|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = $34 | $37;
$39 = $38&65535;
$40 = ((($0)) + 534|0);
HEAP16[$40>>1] = $39;
$41 = ((($5)) + 2|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = $43 << 8;
$45 = ((($5)) + 3|0);
$46 = HEAP8[$45>>0]|0;
$47 = $46&255;
$48 = $44 | $47;
$49 = $48&65535;
$50 = ((($0)) + 536|0);
HEAP16[$50>>1] = $49;
$51 = ((($5)) + 4|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52&255;
$54 = $53 << 8;
$55 = ((($5)) + 5|0);
$56 = HEAP8[$55>>0]|0;
$57 = $56&255;
$58 = $54 | $57;
$59 = $58&65535;
$60 = ((($0)) + 538|0);
HEAP16[$60>>1] = $59;
$$pre$phiZ2D = $31;
break L13;
}
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
break;
}
case 3: {
$61 = $7 & 2;
$62 = ($61|0)==(0);
if ($62) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24628);
STACKTOP = sp;return;
}
$63 = ((($0)) + 420|0);
$64 = HEAP16[$63>>1]|0;
$65 = $64&65535;
$66 = ($2>>>0)>(256);
$67 = (($2) + -1)|0;
$68 = ($67>>>0)>=($65>>>0);
$69 = $66 | $68;
if (!($69)) {
_png_read_data($0,$3,$2);
_png_calculate_crc($0,$3,$2);
$70 = $2&65535;
$71 = ((($0)) + 428|0);
HEAP16[$71>>1] = $70;
$$pre$phiZ2D = $71;
break L13;
}
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24651);
STACKTOP = sp;return;
break;
}
default: {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24659);
STACKTOP = sp;return;
}
}
} while(0);
$72 = (_png_crc_finish($0,0)|0);
$73 = ($72|0)==(0);
if ($73) {
$74 = HEAP16[$$pre$phiZ2D>>1]|0;
$75 = $74&65535;
$76 = ((($0)) + 532|0);
_png_set_tRNS($0,$1,$3,$75,$76);
STACKTOP = sp;return;
} else {
HEAP16[$$pre$phiZ2D>>1] = 0;
STACKTOP = sp;return;
}
}
function _png_handle_zTXt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$055 = 0, $$1$i$ph = 0, $$252 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$3 = sp + 28|0;
$4 = sp;
$5 = ((($0)) + 756|0);
$6 = HEAP32[$5>>2]|0;
switch ($6|0) {
case 0: {
break;
}
case 1: {
(_png_crc_finish($0,$2)|0);
STACKTOP = sp;return;
break;
}
default: {
label = 3;
}
}
if ((label|0) == 3) {
$7 = (($6) + -1)|0;
HEAP32[$5>>2] = $7;
$8 = ($7|0)==(1);
if ($8) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24377);
STACKTOP = sp;return;
}
}
$9 = ((($0)) + 208|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 & 1;
$12 = ($11|0)==(0);
if ($12) {
_png_chunk_error($0,24401);
// unreachable;
}
$13 = $10 & 4;
$14 = ($13|0)==(0);
if (!($14)) {
$15 = $10 | 8;
HEAP32[$9>>2] = $15;
}
$16 = ((($0)) + 788|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(0|0);
if ($18) {
label = 12;
} else {
$19 = ((($0)) + 792|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20>>>0)<($2>>>0);
if ($21) {
HEAP32[$16>>2] = 0;
HEAP32[$19>>2] = 0;
_png_free($0,$17);
label = 12;
} else {
$$1$i$ph = $17;
}
}
do {
if ((label|0) == 12) {
$22 = (_png_malloc_base($0,$2)|0);
$23 = ($22|0)==(0|0);
if (!($23)) {
HEAP32[$16>>2] = $22;
$24 = ((($0)) + 792|0);
HEAP32[$24>>2] = $2;
$$1$i$ph = $22;
break;
}
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24448);
STACKTOP = sp;return;
}
} while(0);
_png_read_data($0,$$1$i$ph,$2);
_png_calculate_crc($0,$$1$i$ph,$2);
$25 = (_png_crc_finish($0,0)|0);
$26 = ($25|0)==(0);
if (!($26)) {
STACKTOP = sp;return;
}
$27 = ($2|0)==(0);
do {
if ($27) {
$$252 = 24493;
} else {
$$055 = 0;
while(1) {
$28 = (($$1$i$ph) + ($$055)|0);
$29 = HEAP8[$28>>0]|0;
$30 = ($29<<24>>24)==(0);
if ($30) {
$$0$lcssa = $$055;
break;
}
$31 = (($$055) + 1)|0;
$32 = ($31>>>0)<($2>>>0);
if ($32) {
$$055 = $31;
} else {
$$0$lcssa = $31;
break;
}
}
$33 = (($$0$lcssa) + -1)|0;
$34 = ($33>>>0)>(78);
if ($34) {
$$252 = 24493;
} else {
$35 = (($$0$lcssa) + 3)|0;
$36 = ($35>>>0)>($2>>>0);
if ($36) {
$$252 = 24462;
} else {
$37 = (($$0$lcssa) + 1)|0;
$38 = (($$1$i$ph) + ($37)|0);
$39 = HEAP8[$38>>0]|0;
$40 = ($39<<24>>24)==(0);
if ($40) {
HEAP32[$3>>2] = -1;
$41 = (($$0$lcssa) + 2)|0;
$42 = (_png_decompress_chunk($0,$2,$41,$3)|0);
$43 = ($42|0)==(1);
if ($43) {
$44 = HEAP32[$16>>2]|0;
$45 = HEAP32[$3>>2]|0;
$46 = (($45) + ($41))|0;
$47 = (($44) + ($46)|0);
HEAP8[$47>>0] = 0;
HEAP32[$4>>2] = 0;
$48 = ((($4)) + 4|0);
HEAP32[$48>>2] = $44;
$49 = (($44) + ($$0$lcssa)|0);
$50 = ((($49)) + 2|0);
$51 = ((($4)) + 8|0);
HEAP32[$51>>2] = $50;
$52 = ((($4)) + 12|0);
HEAP32[$52>>2] = $45;
$53 = ((($4)) + 16|0);
HEAP32[$53>>2] = 0;
$54 = ((($4)) + 20|0);
HEAP32[$54>>2] = 0;
$55 = ((($4)) + 24|0);
HEAP32[$55>>2] = 0;
$56 = (_png_set_text_2($0,$1,$4,1)|0);
$57 = ($56|0)==(0);
if (!($57)) {
$$252 = 28416;
break;
}
STACKTOP = sp;return;
} else {
$58 = ((($0)) + 248|0);
$59 = HEAP32[$58>>2]|0;
$60 = ($59|0)==(0|0);
if (!($60)) {
$$252 = $59;
break;
}
STACKTOP = sp;return;
}
} else {
$$252 = 24603;
}
}
}
}
} while(0);
_png_chunk_benign_error($0,$$252);
STACKTOP = sp;return;
}
function _png_handle_iTXt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$09197 = 0, $$092$lcssa = 0, $$092113 = 0, $$1$i$ph = 0, $$193$lcssa = 0, $$193108 = 0, $$2$ph = 0, $$294$lcssa = 0, $$294105 = 0, $$3102 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $or$cond = 0, $or$cond95 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$3 = sp + 28|0;
$4 = sp;
$5 = ((($0)) + 756|0);
$6 = HEAP32[$5>>2]|0;
switch ($6|0) {
case 0: {
break;
}
case 1: {
(_png_crc_finish($0,$2)|0);
STACKTOP = sp;return;
break;
}
default: {
label = 3;
}
}
if ((label|0) == 3) {
$7 = (($6) + -1)|0;
HEAP32[$5>>2] = $7;
$8 = ($7|0)==(1);
if ($8) {
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24377);
STACKTOP = sp;return;
}
}
$9 = ((($0)) + 208|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 & 1;
$12 = ($11|0)==(0);
if ($12) {
_png_chunk_error($0,24401);
// unreachable;
}
$13 = $10 & 4;
$14 = ($13|0)==(0);
if (!($14)) {
$15 = $10 | 8;
HEAP32[$9>>2] = $15;
}
$16 = (($2) + 1)|0;
$17 = ((($0)) + 788|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
label = 12;
} else {
$20 = ((($0)) + 792|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21>>>0)<($16>>>0);
if ($22) {
HEAP32[$17>>2] = 0;
HEAP32[$20>>2] = 0;
_png_free($0,$18);
label = 12;
} else {
$$1$i$ph = $18;
}
}
do {
if ((label|0) == 12) {
$23 = (_png_malloc_base($0,$16)|0);
$24 = ($23|0)==(0|0);
if (!($24)) {
HEAP32[$17>>2] = $23;
$25 = ((($0)) + 792|0);
HEAP32[$25>>2] = $16;
$$1$i$ph = $23;
break;
}
_png_chunk_warning($0,24414);
(_png_crc_finish($0,$2)|0);
_png_chunk_benign_error($0,24448);
STACKTOP = sp;return;
}
} while(0);
_png_read_data($0,$$1$i$ph,$2);
_png_calculate_crc($0,$$1$i$ph,$2);
$26 = (_png_crc_finish($0,0)|0);
$27 = ($26|0)==(0);
if (!($27)) {
STACKTOP = sp;return;
}
$28 = ($2|0)==(0);
L28: do {
if ($28) {
$$3102 = 24493;
} else {
$$092113 = 0;
while(1) {
$29 = (($$1$i$ph) + ($$092113)|0);
$30 = HEAP8[$29>>0]|0;
$31 = ($30<<24>>24)==(0);
if ($31) {
$$092$lcssa = $$092113;
break;
}
$32 = (($$092113) + 1)|0;
$33 = ($32>>>0)<($2>>>0);
if ($33) {
$$092113 = $32;
} else {
$$092$lcssa = $32;
break;
}
}
$34 = (($$092$lcssa) + -1)|0;
$35 = ($34>>>0)>(78);
if ($35) {
$$3102 = 24493;
} else {
$36 = (($$092$lcssa) + 5)|0;
$37 = ($36>>>0)>($2>>>0);
if ($37) {
$$3102 = 24462;
} else {
$38 = (($$092$lcssa) + 1)|0;
$39 = (($$1$i$ph) + ($38)|0);
$40 = HEAP8[$39>>0]|0;
switch ($40<<24>>24) {
case 0: {
break;
}
case 1: {
$41 = (($$092$lcssa) + 2)|0;
$42 = (($$1$i$ph) + ($41)|0);
$43 = HEAP8[$42>>0]|0;
$44 = ($43<<24>>24)==(0);
if (!($44)) {
$$3102 = 24472;
break L28;
}
break;
}
default: {
$$3102 = 24472;
break L28;
}
}
$45 = ($40<<24>>24)!=(0);
HEAP32[$3>>2] = 0;
$46 = (($$092$lcssa) + 3)|0;
$47 = ($46>>>0)<($2>>>0);
L38: do {
if ($47) {
$$193108 = $46;
while(1) {
$48 = (($$1$i$ph) + ($$193108)|0);
$49 = HEAP8[$48>>0]|0;
$50 = ($49<<24>>24)==(0);
if ($50) {
$$193$lcssa = $$193108;
break L38;
}
$51 = (($$193108) + 1)|0;
$52 = ($51>>>0)<($2>>>0);
if ($52) {
$$193108 = $51;
} else {
$$193$lcssa = $51;
break;
}
}
} else {
$$193$lcssa = $46;
}
} while(0);
$53 = (($$193$lcssa) + 1)|0;
$54 = ($53>>>0)<($2>>>0);
L43: do {
if ($54) {
$$294105 = $53;
while(1) {
$55 = (($$1$i$ph) + ($$294105)|0);
$56 = HEAP8[$55>>0]|0;
$57 = ($56<<24>>24)==(0);
if ($57) {
$$294$lcssa = $$294105;
break L43;
}
$58 = (($$294105) + 1)|0;
$59 = ($58>>>0)<($2>>>0);
if ($59) {
$$294105 = $58;
} else {
$$294$lcssa = $58;
break;
}
}
} else {
$$294$lcssa = $53;
}
} while(0);
$60 = (($$294$lcssa) + 1)|0;
$61 = ($60>>>0)>($2>>>0);
$or$cond = $45 | $61;
do {
if ($or$cond) {
$63 = ($60>>>0)<($2>>>0);
$or$cond95 = $45 & $63;
if ($or$cond95) {
HEAP32[$3>>2] = -1;
$64 = (_png_decompress_chunk($0,$2,$60,$3)|0);
$65 = ($64|0)==(1);
if ($65) {
$66 = HEAP32[$17>>2]|0;
$$09197 = $66;
label = 35;
break;
} else {
$67 = ((($0)) + 248|0);
$68 = HEAP32[$67>>2]|0;
$69 = ($68|0)==(0|0);
if ($69) {
$$09197 = $$1$i$ph;
label = 35;
break;
} else {
$$2$ph = $68;
break;
}
}
} else {
$$2$ph = 24462;
}
} else {
$62 = (($2) - ($60))|0;
HEAP32[$3>>2] = $62;
$$09197 = $$1$i$ph;
label = 35;
}
} while(0);
if ((label|0) == 35) {
$70 = HEAP32[$3>>2]|0;
$71 = (($70) + ($60))|0;
$72 = (($$09197) + ($71)|0);
HEAP8[$72>>0] = 0;
$$ = $45 ? 2 : 1;
HEAP32[$4>>2] = $$;
$73 = ((($4)) + 4|0);
HEAP32[$73>>2] = $$09197;
$74 = (($$09197) + ($46)|0);
$75 = ((($4)) + 20|0);
HEAP32[$75>>2] = $74;
$76 = (($$09197) + ($53)|0);
$77 = ((($4)) + 24|0);
HEAP32[$77>>2] = $76;
$78 = (($$09197) + ($60)|0);
$79 = ((($4)) + 8|0);
HEAP32[$79>>2] = $78;
$80 = ((($4)) + 12|0);
HEAP32[$80>>2] = 0;
$81 = HEAP32[$3>>2]|0;
$82 = ((($4)) + 16|0);
HEAP32[$82>>2] = $81;
$83 = (_png_set_text_2($0,$1,$4,1)|0);
$84 = ($83|0)==(0);
if ($84) {
STACKTOP = sp;return;
} else {
$$2$ph = 28416;
}
}
$$3102 = $$2$ph;
}
}
}
} while(0);
_png_chunk_benign_error($0,$$3102);
STACKTOP = sp;return;
}
function _png_crc_finish($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$014$ = 0, $$014$$us = 0, $$01416 = 0, $$01416$us = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0);
$2 = sp + 1024|0;
$3 = sp;
$4 = ($1|0)==(0);
if (!($4)) {
$5 = ($0|0)==(0|0);
if ($5) {
$$01416$us = $1;
while(1) {
$6 = ($$01416$us>>>0)<(1024);
$$014$$us = $6 ? $$01416$us : 1024;
$7 = (($$01416$us) - ($$014$$us))|0;
$8 = ($7|0)==(0);
if ($8) {
break;
} else {
$$01416$us = $7;
}
}
} else {
$$01416 = $1;
while(1) {
$9 = ($$01416>>>0)<(1024);
$$014$ = $9 ? $$01416 : 1024;
$10 = (($$01416) - ($$014$))|0;
_png_read_data($0,$3,$$014$);
_png_calculate_crc($0,$3,$$014$);
$11 = ($10|0)==(0);
if ($11) {
break;
} else {
$$01416 = $10;
}
}
}
}
$12 = ((($0)) + 376|0);
$13 = HEAP32[$12>>2]|0;
$14 = $13 & 536870912;
$15 = ($14|0)==(0);
$16 = ((($0)) + 212|0);
$17 = HEAP32[$16>>2]|0;
if ($15) {
$20 = $17 & 2048;
$21 = ($20|0)==(0);
$22 = ((($0)) + 800|0);
HEAP32[$22>>2] = 129;
_png_read_data($0,$2,4);
if (!($21)) {
label = 8;
}
} else {
$18 = $17 & 768;
$not$$i = ($18|0)==(768);
$19 = ((($0)) + 800|0);
HEAP32[$19>>2] = 129;
_png_read_data($0,$2,4);
if ($not$$i) {
label = 8;
}
}
if ((label|0) == 8) {
$$015 = 0;
STACKTOP = sp;return ($$015|0);
}
$23 = HEAP8[$2>>0]|0;
$24 = $23&255;
$25 = $24 << 24;
$26 = ((($2)) + 1|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
$29 = $28 << 16;
$30 = $29 | $25;
$31 = ((($2)) + 2|0);
$32 = HEAP8[$31>>0]|0;
$33 = $32&255;
$34 = $33 << 8;
$35 = $30 | $34;
$36 = ((($2)) + 3|0);
$37 = HEAP8[$36>>0]|0;
$38 = $37&255;
$39 = $35 | $38;
$40 = ((($0)) + 412|0);
$41 = HEAP32[$40>>2]|0;
$42 = ($39|0)==($41|0);
if ($42) {
$$015 = 0;
STACKTOP = sp;return ($$015|0);
}
$43 = HEAP32[$12>>2]|0;
$44 = $43 & 536870912;
$45 = ($44|0)==(0);
$46 = HEAP32[$16>>2]|0;
if ($45) {
$49 = $46 & 1024;
$50 = ($49|0)==(0);
if ($50) {
_png_chunk_error($0,24593);
// unreachable;
}
} else {
$47 = $46 & 512;
$48 = ($47|0)==(0);
if (!($48)) {
_png_chunk_error($0,24593);
// unreachable;
}
}
_png_chunk_warning($0,24593);
$$015 = 1;
STACKTOP = sp;return ($$015|0);
}
function _png_chunk_warning($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$idx = 0, $$idx$val = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$2 = sp;
$3 = ($0|0)==(0|0);
if ($3) {
_png_warning(0,$1);
STACKTOP = sp;return;
} else {
$$idx = ((($0)) + 376|0);
$$idx$val = HEAP32[$$idx>>2]|0;
_png_format_buffer($$idx$val,$2,$1);
_png_warning($0,$2);
STACKTOP = sp;return;
}
}
function _png_read_data($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 184|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
_png_error($0,24566);
// unreachable;
} else {
FUNCTION_TABLE_viii[$4 & 127]($0,$1,$2);
return;
}
}
function _png_decompress_chunk($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$$1$us$i = 0, $$$1$us$i31 = 0, $$$1$us$i5 = 0, $$$1$us$i528 = 0, $$0 = 0, $$084 = 0, $$08520 = 0, $$086 = 0, $$2 = 0, $$321 = 0, $$lcssa$i = 0, $$lcssa$i41 = 0, $$lcssa$i42 = 0, $$lcssa1$i = 0, $$lcssa1$i39 = 0, $$lcssa1$i40 = 0, $$lcssa26 = 0, $$lcssa27 = 0, $$pre = 0, $$pre8$i = 0;
var $$pre8$i8 = 0, $$pre9$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond22 = 0;
var $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0);
$4 = sp;
$5 = ((($0)) + 760|0);
$6 = HEAP32[$5>>2]|0;
switch ($6|0) {
case -1: case 0: {
$7 = (($2) + 1)|0;
$$08520 = -1;$11 = $7;
break;
}
default: {
$8 = (($2) + 1)|0;
$9 = ($6>>>0)<($8>>>0);
if ($9) {
_png_zstream_error($0,-4);
$$0 = -4;
STACKTOP = sp;return ($$0|0);
} else {
$$08520 = $6;$11 = $8;
}
}
}
$10 = (($$08520) - ($11))|0;
$12 = HEAP32[$3>>2]|0;
$13 = ($10>>>0)<($12>>>0);
if ($13) {
HEAP32[$3>>2] = $10;
}
$14 = ((($0)) + 376|0);
$15 = HEAP32[$14>>2]|0;
$16 = (_png_inflate_claim($0,$15)|0);
switch ($16|0) {
case 0: {
$17 = (($1) - ($2))|0;
$18 = HEAP32[$14>>2]|0;
$19 = ((($0)) + 788|0);
$20 = ((($0)) + 220|0);
$21 = HEAP32[$20>>2]|0;
$22 = ($21|0)==($18|0);
do {
if ($22) {
$23 = HEAP32[$19>>2]|0;
$24 = (($23) + ($2)|0);
$25 = HEAP32[$3>>2]|0;
$26 = ((($0)) + 224|0);
HEAP32[$26>>2] = $24;
$27 = ((($0)) + 228|0);
$28 = ((($0)) + 240|0);
$$pre9$i = ((($0)) + 236|0);
HEAP32[$27>>2] = $17;
HEAP32[$$pre9$i>>2] = $4;
$29 = ($25>>>0)<(1024);
$$$1$us$i31 = $29 ? $25 : 1024;
HEAP32[$28>>2] = $$$1$us$i31;
$30 = (($25) - ($$$1$us$i31))|0;
$31 = ($30|0)==(0);
$32 = $31 ? 4 : 0;
$33 = (_inflate($26,$32)|0);
$34 = ($33|0)==(0);
if ($34) {
$36 = $30;
while(1) {
$$pre8$i = HEAP32[$28>>2]|0;
$35 = (($36) + ($$pre8$i))|0;
HEAP32[$$pre9$i>>2] = $4;
$37 = ($35>>>0)<(1024);
$$$1$us$i = $37 ? $35 : 1024;
HEAP32[$28>>2] = $$$1$us$i;
$38 = (($35) - ($$$1$us$i))|0;
$39 = ($38|0)==(0);
$40 = $39 ? 4 : 0;
$41 = (_inflate($26,$40)|0);
$42 = ($41|0)==(0);
if ($42) {
$36 = $38;
} else {
$$lcssa26 = $41;$$lcssa27 = $38;
break;
}
}
} else {
$$lcssa26 = $33;$$lcssa27 = $30;
}
HEAP32[$$pre9$i>>2] = 0;
$43 = HEAP32[$27>>2]|0;
$44 = HEAP32[$28>>2]|0;
$45 = (($44) + ($$lcssa27))|0;
$46 = ($45|0)==(0);
if (!($46)) {
$47 = HEAP32[$3>>2]|0;
$48 = (($47) - ($45))|0;
HEAP32[$3>>2] = $48;
}
$49 = (($17) - ($43))|0;
_png_zstream_error($0,$$lcssa26);
$cond = ($$lcssa26|0)==(1);
if ($cond) {
$51 = (_inflateReset($26)|0);
$52 = ($51|0)==(0);
if (!($52)) {
_png_zstream_error($0,1);
$$2 = -7;
break;
}
$53 = HEAP32[$3>>2]|0;
$54 = (($2) + 1)|0;
$55 = (($54) + ($53))|0;
$56 = (_png_malloc_base($0,$55)|0);
$57 = ($56|0)==(0|0);
if ($57) {
_png_zstream_error($0,-4);
$$2 = -4;
break;
}
$58 = HEAP32[$14>>2]|0;
$59 = (($56) + ($2)|0);
$60 = HEAP32[$20>>2]|0;
$61 = ($60|0)==($58|0);
if ($61) {
$62 = HEAP32[$19>>2]|0;
$63 = (($62) + ($2)|0);
$64 = HEAP32[$3>>2]|0;
HEAP32[$26>>2] = $63;
HEAP32[$27>>2] = 0;
HEAP32[$28>>2] = 0;
$65 = ($59|0)==(0|0);
if ($65) {
HEAP32[$27>>2] = $49;
HEAP32[$$pre9$i>>2] = $4;
$68 = ($64>>>0)<(1024);
$$$1$us$i528 = $68 ? $64 : 1024;
HEAP32[$28>>2] = $$$1$us$i528;
$69 = (($64) - ($$$1$us$i528))|0;
$70 = ($69|0)==(0);
$71 = $70 ? 4 : 0;
$72 = (_inflate($26,$71)|0);
$73 = ($72|0)==(0);
if ($73) {
$75 = $69;
while(1) {
$$pre8$i8 = HEAP32[$28>>2]|0;
$74 = (($75) + ($$pre8$i8))|0;
HEAP32[$$pre9$i>>2] = $4;
$76 = ($74>>>0)<(1024);
$$$1$us$i5 = $76 ? $74 : 1024;
HEAP32[$28>>2] = $$$1$us$i5;
$77 = (($74) - ($$$1$us$i5))|0;
$78 = ($77|0)==(0);
$79 = $78 ? 4 : 0;
$80 = (_inflate($26,$79)|0);
$81 = ($80|0)==(0);
if ($81) {
$75 = $77;
} else {
$$lcssa$i = $80;$$lcssa1$i = $77;
label = 22;
break;
}
}
} else {
$$lcssa$i42 = $72;$$lcssa1$i40 = $69;
label = 23;
}
} else {
HEAP32[$$pre9$i>>2] = $59;
HEAP32[$27>>2] = $49;
HEAP32[$28>>2] = $64;
$66 = (_inflate($26,4)|0);
$67 = ($66|0)==(0);
if ($67) {
while(1) {
$82 = (_inflate($26,4)|0);
$83 = ($82|0)==(0);
if (!($83)) {
$$lcssa$i = $82;$$lcssa1$i = 0;
label = 22;
break;
}
}
} else {
$$lcssa$i41 = $66;$$lcssa1$i39 = 0;
}
}
if ((label|0) == 22) {
if ($65) {
$$lcssa$i42 = $$lcssa$i;$$lcssa1$i40 = $$lcssa1$i;
label = 23;
} else {
$$lcssa$i41 = $$lcssa$i;$$lcssa1$i39 = $$lcssa1$i;
}
}
if ((label|0) == 23) {
HEAP32[$$pre9$i>>2] = 0;
$$lcssa$i41 = $$lcssa$i42;$$lcssa1$i39 = $$lcssa1$i40;
}
$84 = HEAP32[$27>>2]|0;
$85 = HEAP32[$28>>2]|0;
$86 = (($85) + ($$lcssa1$i39))|0;
$87 = ($86|0)==(0);
if (!($87)) {
$88 = HEAP32[$3>>2]|0;
$89 = (($88) - ($86))|0;
HEAP32[$3>>2] = $89;
}
$90 = (($49) - ($84))|0;
_png_zstream_error($0,$$lcssa$i41);
$cond22 = ($$lcssa$i41|0)==(1);
if ($cond22) {
$92 = HEAP32[$3>>2]|0;
$93 = ($53|0)==($92|0);
if ($93) {
$94 = (($53) + ($2))|0;
$95 = (($56) + ($94)|0);
HEAP8[$95>>0] = 0;
$96 = ($2|0)==(0);
$$pre = HEAP32[$19>>2]|0;
if (!($96)) {
_memcpy(($56|0),($$pre|0),($2|0))|0;
}
HEAP32[$19>>2] = $56;
$97 = ((($0)) + 792|0);
HEAP32[$97>>2] = $55;
$$084 = $$pre;$$086 = 1;$$321 = $90;
} else {
$$084 = $56;$$086 = -7;$$321 = $90;
}
} else {
$$084 = $56;$$086 = $$lcssa$i41;$$321 = $90;
}
} else {
$91 = ((($0)) + 248|0);
HEAP32[$91>>2] = 24505;
$$084 = $56;$$086 = -2;$$321 = $49;
}
_png_free($0,$$084);
$98 = ($$086|0)!=(1);
$99 = ($17|0)==($$321|0);
$or$cond = $99 | $98;
if ($or$cond) {
$$2 = $$086;
} else {
_png_chunk_benign_error($0,24523);
$$2 = 1;
}
} else {
$$2 = $$lcssa26;
}
} else {
$50 = ((($0)) + 248|0);
HEAP32[$50>>2] = 24505;
$$2 = -2;
}
} while(0);
HEAP32[$20>>2] = 0;
$$0 = $$2;
STACKTOP = sp;return ($$0|0);
break;
}
case 1: {
$$0 = -7;
STACKTOP = sp;return ($$0|0);
break;
}
default: {
$$0 = $16;
STACKTOP = sp;return ($$0|0);
}
}
return (0)|0;
}
function _png_inflate_claim($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$021 = 0, $$024 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$2 = sp;
$3 = ((($0)) + 220|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0);
if (!($5)) {
$6 = $4 >>> 24;
$7 = $6&255;
HEAP8[$2>>0] = $7;
$8 = $4 >>> 16;
$9 = $8&255;
$10 = ((($2)) + 1|0);
HEAP8[$10>>0] = $9;
$11 = $4 >>> 8;
$12 = $11&255;
$13 = ((($2)) + 2|0);
HEAP8[$13>>0] = $12;
$14 = $4&255;
$15 = ((($2)) + 3|0);
HEAP8[$15>>0] = $14;
(_png_safecat($2,64,4,24545)|0);
_png_chunk_warning($0,$2);
HEAP32[$3>>2] = 0;
}
$16 = ((($0)) + 224|0);
HEAP32[$16>>2] = 0;
$17 = ((($0)) + 228|0);
HEAP32[$17>>2] = 0;
$18 = ((($0)) + 236|0);
HEAP32[$18>>2] = 0;
$19 = ((($0)) + 240|0);
HEAP32[$19>>2] = 0;
$20 = ((($0)) + 212|0);
$21 = HEAP32[$20>>2]|0;
$22 = $21 & 2;
$23 = ($22|0)==(0);
if ($23) {
$24 = (_inflateInit_($16,24560,56)|0);
$25 = ($24|0)==(0);
if ($25) {
$26 = HEAP32[$20>>2]|0;
$27 = $26 | 2;
HEAP32[$20>>2] = $27;
label = 7;
} else {
$$024 = $24;
label = 8;
}
} else {
$28 = (_inflateReset($16)|0);
$29 = ($28|0)==(0);
if ($29) {
label = 7;
} else {
$$024 = $28;
label = 8;
}
}
if ((label|0) == 7) {
HEAP32[$3>>2] = $1;
$$021 = 0;
STACKTOP = sp;return ($$021|0);
}
else if ((label|0) == 8) {
_png_zstream_error($0,$$024);
$$021 = $$024;
STACKTOP = sp;return ($$021|0);
}
return (0)|0;
}
function _png_inflate_read($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$$045 = 0, $$045 = 0, $$2 = 0, $$lcssa = 0, $$pre = 0, $$pre1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$6 = ((($0)) + 220|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($0)) + 376|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($7|0)==($9|0);
if (!($10)) {
$38 = ((($0)) + 248|0);
HEAP32[$38>>2] = 24505;
return;
}
$11 = ((($0)) + 224|0);
$12 = ((($0)) + 236|0);
HEAP32[$12>>2] = $3;
$13 = ((($0)) + 240|0);
HEAP32[$13>>2] = 0;
$14 = ((($0)) + 228|0);
$15 = ($5|0)!=(0);
$16 = $15 ? 4 : 2;
$$045 = 1024;
while(1) {
$17 = HEAP32[$14>>2]|0;
$18 = ($17|0)==(0);
if ($18) {
$19 = HEAP32[$2>>2]|0;
$20 = ($$045>>>0)>($19>>>0);
$$$045 = $20 ? $19 : $$045;
$21 = (($19) - ($$$045))|0;
HEAP32[$2>>2] = $21;
$22 = ($$$045|0)==(0);
if (!($22)) {
_png_read_data($0,$1,$$$045);
_png_calculate_crc($0,$1,$$$045);
}
HEAP32[$11>>2] = $1;
HEAP32[$14>>2] = $$$045;
$$2 = $$$045;
} else {
$$2 = $$045;
}
$23 = HEAP32[$13>>2]|0;
$24 = ($23|0)==(0);
if ($24) {
$25 = HEAP32[$4>>2]|0;
HEAP32[$4>>2] = 0;
HEAP32[$13>>2] = $25;
}
$26 = HEAP32[$2>>2]|0;
$27 = ($26|0)==(0);
$28 = $27 ? $16 : 0;
$29 = (_inflate($11,$28)|0);
$30 = ($29|0)==(0);
if (!($30)) {
label = 10;
break;
}
$31 = HEAP32[$4>>2]|0;
$32 = ($31|0)==(0);
if (!($32)) {
$$045 = $$2;
continue;
}
$33 = HEAP32[$13>>2]|0;
$34 = ($33|0)==(0);
if ($34) {
$$lcssa = 0;$36 = 0;$37 = 0;
break;
} else {
$$045 = $$2;
}
}
if ((label|0) == 10) {
$$pre = HEAP32[$13>>2]|0;
$$pre1 = HEAP32[$4>>2]|0;
$$lcssa = $29;$36 = $$pre;$37 = $$pre1;
}
$35 = (($37) + ($36))|0;
HEAP32[$4>>2] = $35;
HEAP32[$13>>2] = 0;
_png_zstream_error($0,$$lcssa);
return;
}
function _png_icc_check_length($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($3>>>0)<(132);
if (!($4)) {
$$0 = 1;
return ($$0|0);
}
_png_icc_profile_error($0,$1,$2,$3,24864);
$$0 = 0;
return ($$0|0);
}
function _png_colorspace_sync($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$pre193$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $storemerge$i = 0, $storemerge9$i = 0, dest = 0, label = 0, sp = 0, src = 0;
var stop = 0;
sp = STACKTOP;
$2 = ($1|0)==(0|0);
if ($2) {
return;
}
$3 = ((($1)) + 40|0);
$4 = ((($0)) + 824|0);
dest=$3; src=$4; stop=dest+76|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$5 = ((($1)) + 114|0);
$6 = HEAP16[$5>>1]|0;
$7 = $6&65535;
$8 = $7 & 32768;
$9 = ($8|0)==(0);
if (!($9)) {
$10 = ((($1)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 & -6150;
HEAP32[$10>>2] = $12;
$$pre193$i$i = ((($1)) + 232|0);
$13 = HEAP32[$$pre193$i$i>>2]|0;
$14 = $13 & 16;
$15 = ($14|0)==(0);
if (!($15)) {
$16 = ((($1)) + 116|0);
$17 = HEAP32[$16>>2]|0;
_png_free($0,$17);
$18 = ((($1)) + 120|0);
$19 = HEAP32[$18>>2]|0;
_png_free($0,$19);
HEAP32[$16>>2] = 0;
HEAP32[$18>>2] = 0;
HEAP32[$10>>2] = $12;
}
$20 = $13 & -17;
HEAP32[$$pre193$i$i>>2] = $20;
return;
}
$21 = $7 & 128;
$22 = ($21|0)==(0);
$23 = ((($1)) + 8|0);
$24 = HEAP32[$23>>2]|0;
$25 = $24 & -2049;
$26 = $24 | 2048;
$storemerge$i = $22 ? $25 : $26;
$27 = $6 & 2;
$28 = ($27<<16>>16)==(0);
$29 = $storemerge$i & -5;
$30 = $storemerge$i | 4;
$storemerge9$i = $28 ? $29 : $30;
HEAP32[$23>>2] = $storemerge9$i;
$31 = $6 & 1;
$32 = ($31<<16>>16)==(0);
if ($32) {
$34 = $storemerge9$i & -2;
HEAP32[$23>>2] = $34;
return;
} else {
$33 = $storemerge9$i | 1;
HEAP32[$23>>2] = $33;
return;
}
}
function _png_cache_unknown_chunk($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$039 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 772|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if (!($4)) {
_png_free($0,$3);
HEAP32[$2>>2] = 0;
}
$5 = ((($0)) + 760|0);
$6 = HEAP32[$5>>2]|0;
switch ($6|0) {
case -1: case 0: {
label = 5;
break;
}
default: {
$7 = ($6>>>0)<($1>>>0);
if ($7) {
$29 = 0;
label = 8;
} else {
label = 5;
}
}
}
do {
if ((label|0) == 5) {
$8 = ((($0)) + 376|0);
$9 = HEAP32[$8>>2]|0;
$10 = $9 >>> 24;
$11 = $10&255;
$12 = ((($0)) + 764|0);
HEAP8[$12>>0] = $11;
$13 = $9 >>> 16;
$14 = $13&255;
$15 = ((($0)) + 765|0);
HEAP8[$15>>0] = $14;
$16 = $9 >>> 8;
$17 = $16&255;
$18 = ((($0)) + 766|0);
HEAP8[$18>>0] = $17;
$19 = $9&255;
$20 = ((($0)) + 767|0);
HEAP8[$20>>0] = $19;
$21 = ((($0)) + 768|0);
HEAP8[$21>>0] = 0;
$22 = ((($0)) + 776|0);
HEAP32[$22>>2] = $1;
$23 = ((($0)) + 208|0);
$24 = HEAP32[$23>>2]|0;
$25 = $24&255;
$26 = ((($0)) + 780|0);
HEAP8[$26>>0] = $25;
$27 = ($1|0)==(0);
if ($27) {
HEAP32[$2>>2] = 0;
break;
} else {
$28 = (_png_malloc_warn($0,$1)|0);
HEAP32[$2>>2] = $28;
$29 = $28;
label = 8;
break;
}
}
} while(0);
do {
if ((label|0) == 8) {
$30 = ($29|0)==(0|0);
$31 = ($1|0)!=(0);
$or$cond = $31 & $30;
if ($or$cond) {
(_png_crc_finish($0,$1)|0);
_png_chunk_benign_error($0,25320);
$$039 = 0;
return ($$039|0);
} else {
if (!($31)) {
break;
}
_png_read_data($0,$29,$1);
_png_calculate_crc($0,$29,$1);
break;
}
}
} while(0);
(_png_crc_finish($0,0)|0);
$$039 = 1;
return ($$039|0);
}
function _png_sig_cmp($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$0 = 0, $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2>>>0)>(8);
if ($3) {
$$0 = 8;
} else {
$4 = ($2|0)==(0);
if ($4) {
$$010 = -1;
return ($$010|0);
} else {
$$0 = $2;
}
}
$5 = ($1>>>0)>(7);
if ($5) {
$$010 = -1;
return ($$010|0);
}
$6 = (25463 + ($1)|0);
$7 = (($0) + ($1)|0);
$8 = (8 - ($1))|0;
$9 = (($$0) + ($1))|0;
$10 = ($9>>>0)>(8);
$$$0 = $10 ? $8 : $$0;
$11 = (_memcmp($7,$6,$$$0)|0);
$$010 = $11;
return ($$010|0);
}
function _png_read_update_info($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = ((($0)) + 212|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 64;
$6 = ($5|0)==(0);
if ($6) {
_png_read_start_row($0);
_png_read_transform_info($0,$1);
return;
} else {
_png_app_error($0,25471);
return;
}
}
function _png_read_start_row($0) {
$0 = $0|0;
var $$ = 0, $$$0 = 0, $$$0$ = 0, $$$2 = 0, $$$5 = 0, $$0 = 0, $$107 = 0, $$108 = 0, $$109 = 0, $$111 = 0, $$112 = 0, $$113 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$7 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phiZ2D = 0;
var $$sink = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond115 = 0, $or$cond115$not = 0, $or$cond116 = 0, $storemerge = 0;
var label = 0, sp = 0;
sp = STACKTOP;
_png_init_read_transformations($0);
$1 = ((($0)) + 432|0);
$2 = HEAP32[$1>>2]|0;
$3 = $2&255;
$4 = ($3<<24>>24)==(0);
$5 = $2 >>> 8;
$6 = $5 & 255;
$7 = $2 >>> 24;
$8 = $7&255;
if ($4) {
$31 = ((($0)) + 352|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($0)) + 356|0);
HEAP32[$33>>2] = $32;
$34 = ((($0)) + 348|0);
$35 = HEAP32[$34>>2]|0;
$36 = ((($0)) + 368|0);
HEAP32[$36>>2] = $35;
$$phi$trans$insert = ((($0)) + 216|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$$pre$phiZ2D = $$phi$trans$insert;$41 = $$pre;$98 = $35;
} else {
$9 = ((($0)) + 216|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 & 2;
$12 = ($11|0)==(0);
$13 = ((($0)) + 352|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($14) + 7)|0;
$16 = $15 >>> 3;
$$sink = $12 ? $16 : $14;
$17 = ((($0)) + 356|0);
HEAP32[$17>>2] = $$sink;
$18 = ((($0)) + 348|0);
$19 = HEAP32[$18>>2]|0;
$20 = (25562 + ($6)|0);
$21 = HEAP8[$20>>0]|0;
$22 = $21&255;
$23 = (25569 + ($6)|0);
$24 = HEAP8[$23>>0]|0;
$25 = $24&255;
$26 = (($19) + -1)|0;
$27 = (($26) + ($22))|0;
$28 = (($27) - ($25))|0;
$29 = (($28>>>0) / ($22>>>0))&-1;
$30 = ((($0)) + 368|0);
HEAP32[$30>>2] = $29;
$$pre$phiZ2D = $9;$41 = $10;$98 = $19;
}
$37 = ((($0)) + 438|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$40 = $41 & 4;
$42 = ($40|0)==(0);
if ($42) {
$$0 = $39;
} else {
$43 = ((($0)) + 436|0);
$44 = HEAP8[$43>>0]|0;
$45 = ($44&255)<(8);
$$ = $45 ? 8 : $39;
$$0 = $$;
}
$46 = HEAP32[$$pre$phiZ2D>>2]|0;
$47 = $46 & 4096;
$48 = ($47|0)==(0);
L8: do {
if ($48) {
$$2 = $$0;
} else {
switch ($8<<24>>24) {
case 3: {
$49 = ((($0)) + 428|0);
$50 = HEAP16[$49>>1]|0;
$51 = ($50<<16>>16)==(0);
$$107 = $51 ? 24 : 32;
$$2 = $$107;
break L8;
break;
}
case 0: {
$52 = ($$0>>>0)<(8);
$$$0 = $52 ? 8 : $$0;
$53 = ((($0)) + 428|0);
$54 = HEAP16[$53>>1]|0;
$not$ = ($54<<16>>16)!=(0);
$55 = $not$&1;
$$$0$ = $$$0 << $55;
$$2 = $$$0$;
break L8;
break;
}
case 2: {
$56 = ((($0)) + 428|0);
$57 = HEAP16[$56>>1]|0;
$58 = ($57<<16>>16)==(0);
if ($58) {
$$2 = $$0;
break L8;
}
$59 = $$0 << 2;
$60 = (($59>>>0) / 3)&-1;
$$2 = $60;
break L8;
break;
}
default: {
$$2 = $$0;
break L8;
}
}
}
} while(0);
$61 = $46 & 512;
$62 = ($61|0)==(0);
do {
if ($62) {
$$3 = $$2;$69 = $46;
} else {
if ($48) {
$67 = $46 & -513;
HEAP32[$$pre$phiZ2D>>2] = $67;
$$3 = $$2;$69 = $67;
break;
} else {
$63 = ((($0)) + 436|0);
$64 = HEAP8[$63>>0]|0;
$65 = ($64&255)<(16);
$66 = $65&1;
$$$2 = $$2 << $66;
$$3 = $$$2;$69 = $46;
break;
}
}
} while(0);
$68 = $69 & 32768;
$70 = ($68|0)==(0);
L22: do {
if ($70) {
$$4 = $$3;
} else {
switch ($8<<24>>24) {
case 0: {
$71 = ($$3|0)<(9);
$$108 = $71 ? 16 : 32;
$$4 = $$108;
break L22;
break;
}
case 3: case 2: {
$72 = ($$3|0)<(33);
$$109 = $72 ? 32 : 64;
$$4 = $$109;
break L22;
break;
}
default: {
$$4 = $$3;
break L22;
}
}
}
} while(0);
$73 = $69 & 16384;
$74 = ($73|0)==(0);
do {
if ($74) {
$$5 = $$4;
} else {
$75 = ((($0)) + 428|0);
$76 = HEAP16[$75>>1]|0;
$77 = ($76<<16>>16)==(0);
$78 = $69 & 4096;
$79 = ($78|0)==(0);
$or$cond = $79 | $77;
$or$cond115 = $70 & $or$cond;
$or$cond115$not = $or$cond115 ^ 1;
$80 = ($8<<24>>24)==(4);
$or$cond116 = $80 | $or$cond115$not;
if ($or$cond116) {
$81 = ($$4|0)<(17);
$$111 = $81 ? 32 : 64;
$$5 = $$111;
break;
}
$82 = ($$4|0)<(9);
$83 = ($8<<24>>24)==(6);
if ($82) {
$$112 = $83 ? 32 : 24;
$$5 = $$112;
break;
} else {
$$113 = $83 ? 64 : 48;
$$5 = $$113;
break;
}
}
} while(0);
$84 = $69 & 1048576;
$85 = ($84|0)==(0);
if ($85) {
$$7 = $$5;
} else {
$86 = ((($0)) + 204|0);
$87 = HEAP16[$86>>1]|0;
$88 = $87&65535;
$89 = $88 & 255;
$90 = ($87&65535) >>> 8;
$91 = $90&65535;
$92 = Math_imul($91, $89)|0;
$93 = ($92|0)>($$5|0);
$$$5 = $93 ? $92 : $$5;
$$7 = $$$5;
}
$94 = $$7&255;
$95 = ((($0)) + 442|0);
HEAP8[$95>>0] = $94;
$96 = ((($0)) + 443|0);
HEAP8[$96>>0] = 0;
$97 = (($98) + 7)|0;
$99 = $97 & -8;
$100 = ($$7|0)>(7);
$101 = $$7 >>> 3;
$102 = Math_imul($99, $101)|0;
$103 = Math_imul($99, $$7)|0;
$104 = $103 >>> 3;
$105 = $100 ? $102 : $104;
$106 = (($$7) + 7)|0;
$107 = $106 >> 3;
$108 = (($107) + 49)|0;
$109 = (($108) + ($105))|0;
$110 = ((($0)) + 784|0);
$111 = HEAP32[$110>>2]|0;
$112 = ($109>>>0)>($111>>>0);
if ($112) {
$113 = ((($0)) + 728|0);
$114 = HEAP32[$113>>2]|0;
_png_free($0,$114);
$115 = ((($0)) + 804|0);
$116 = HEAP32[$115>>2]|0;
_png_free($0,$116);
$117 = HEAP8[$1>>0]|0;
$118 = ($117<<24>>24)==(0);
if ($118) {
$120 = (_png_malloc($0,$109)|0);
$storemerge = $120;
} else {
$119 = (_png_calloc($0,$109)|0);
$storemerge = $119;
}
HEAP32[$113>>2] = $storemerge;
$121 = (_png_malloc($0,$109)|0);
HEAP32[$115>>2] = $121;
$122 = HEAP32[$113>>2]|0;
$123 = ((($122)) + 32|0);
$124 = $123;
$125 = $124 & 15;
$126 = (0 - ($125))|0;
$127 = (($123) + ($126)|0);
$128 = ((($127)) + -1|0);
$129 = ((($0)) + 384|0);
HEAP32[$129>>2] = $128;
$130 = ((($121)) + 32|0);
$131 = $130;
$132 = $131 & 15;
$133 = (0 - ($132))|0;
$134 = (($130) + ($133)|0);
$135 = ((($134)) + -1|0);
$136 = ((($0)) + 380|0);
HEAP32[$136>>2] = $135;
HEAP32[$110>>2] = $109;
}
$137 = ((($0)) + 364|0);
$138 = HEAP32[$137>>2]|0;
$139 = ($138|0)==(-1);
if ($139) {
_png_error($0,25576);
// unreachable;
}
$140 = ((($0)) + 380|0);
$141 = HEAP32[$140>>2]|0;
$142 = (($138) + 1)|0;
_memset(($141|0),0,($142|0))|0;
$143 = ((($0)) + 788|0);
$144 = HEAP32[$143>>2]|0;
$145 = ($144|0)==(0|0);
if (!($145)) {
$146 = ((($0)) + 792|0);
HEAP32[$146>>2] = 0;
HEAP32[$143>>2] = 0;
_png_free($0,$144);
}
$147 = (_png_inflate_claim($0,1229209940)|0);
$148 = ($147|0)==(0);
if ($148) {
$151 = ((($0)) + 212|0);
$152 = HEAP32[$151>>2]|0;
$153 = $152 | 64;
HEAP32[$151>>2] = $153;
return;
} else {
$149 = ((($0)) + 248|0);
$150 = HEAP32[$149>>2]|0;
_png_error($0,$150);
// unreachable;
}
}
function _png_read_transform_info($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond76 = 0, $or$cond77$not = 0, $or$cond78 = 0, $or$cond79 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 216|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 4096;
$5 = ($4|0)==(0);
do {
if (!($5)) {
$6 = ((($1)) + 25|0);
$7 = HEAP8[$6>>0]|0;
$8 = ($7<<24>>24)==(3);
$9 = ((($0)) + 428|0);
$10 = HEAP16[$9>>1]|0;
$11 = ($10<<16>>16)==(0);
if ($8) {
$$ = $11 ? 2 : 6;
HEAP8[$6>>0] = $$;
$12 = ((($1)) + 24|0);
HEAP8[$12>>0] = 8;
$13 = ((($1)) + 22|0);
HEAP16[$13>>1] = 0;
$14 = ((($0)) + 416|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0|0);
if (!($16)) {
break;
}
_png_error($0,25529);
// unreachable;
}
$17 = $3 & 33554432;
$18 = ($17|0)==(0);
$or$cond = $18 | $11;
if (!($or$cond)) {
$19 = $7&255;
$20 = $19 | 4;
$21 = $20&255;
HEAP8[$6>>0] = $21;
}
$22 = ((($1)) + 24|0);
$23 = HEAP8[$22>>0]|0;
$24 = ($23&255)<(8);
if ($24) {
HEAP8[$22>>0] = 8;
}
$25 = ((($1)) + 22|0);
HEAP16[$25>>1] = 0;
}
} while(0);
$26 = $3 & 128;
$27 = ($26|0)==(0);
if (!($27)) {
$28 = ((($1)) + 170|0);
$29 = ((($0)) + 452|0);
;HEAP16[$28>>1]=HEAP16[$29>>1]|0;HEAP16[$28+2>>1]=HEAP16[$29+2>>1]|0;HEAP16[$28+4>>1]=HEAP16[$29+4>>1]|0;HEAP16[$28+6>>1]=HEAP16[$29+6>>1]|0;HEAP16[$28+8>>1]=HEAP16[$29+8>>1]|0;
}
$30 = ((($0)) + 824|0);
$31 = HEAP32[$30>>2]|0;
$32 = ((($1)) + 40|0);
HEAP32[$32>>2] = $31;
$33 = ((($1)) + 24|0);
$34 = HEAP16[$33>>1]|0;
$35 = $34&255;
$36 = ($35<<24>>24)==(16);
$37 = ($34&65535) >>> 8;
$38 = $37&255;
if ($36) {
$39 = $3 & 67108864;
$40 = ($39|0)==(0);
if ($40) {
$130 = 16;
} else {
HEAP8[$33>>0] = 8;
$130 = 8;
}
$41 = $3 & 1024;
$42 = ($41|0)==(0);
if ($42) {
$63 = $130;
} else {
HEAP8[$33>>0] = 8;
$63 = 8;
}
} else {
$63 = $35;
}
$43 = $3 & 16384;
$44 = ($43|0)==(0);
if ($44) {
$53 = $38;
} else {
$45 = ((($1)) + 25|0);
$46 = $37&65535;
$47 = $46 | 2;
$48 = $47&255;
HEAP8[$45>>0] = $48;
$53 = $48;
}
$49 = $3 & 6291456;
$50 = ($49|0)==(0);
if ($50) {
$59 = $53;
} else {
$51 = ((($1)) + 25|0);
$52 = $53&255;
$54 = $52 & 253;
$55 = $54&255;
HEAP8[$51>>0] = $55;
$59 = $55;
}
$56 = $3 & 64;
$57 = ($56|0)==(0);
L30: do {
if ($57) {
$66 = $59;
} else {
$58 = ((($1)) + 25|0);
switch ($59<<24>>24) {
case 6: case 2: {
break;
}
default: {
$66 = $59;
break L30;
}
}
$60 = ((($0)) + 612|0);
$61 = HEAP32[$60>>2]|0;
$62 = ($61|0)!=(0|0);
$64 = ($63<<24>>24)==(8);
$or$cond76 = $62 & $64;
if ($or$cond76) {
HEAP8[$58>>0] = 3;
$66 = 3;
} else {
$66 = $59;
}
}
} while(0);
$65 = $3 & 512;
$notlhs = ($65|0)==(0);
$notrhs = ($63<<24>>24)!=(8);
$or$cond77$not = $notrhs | $notlhs;
$67 = ($66<<24>>24)==(3);
$or$cond78 = $or$cond77$not | $67;
if ($or$cond78) {
$70 = $63;
} else {
HEAP8[$33>>0] = 16;
$70 = 16;
}
$68 = $3 & 4;
$69 = ($68|0)!=(0);
$71 = ($70&255)<(8);
$or$cond79 = $69 & $71;
if ($or$cond79) {
HEAP8[$33>>0] = 8;
$105 = 8;
} else {
$105 = $70;
}
$72 = ((($1)) + 25|0);
$73 = ($66<<24>>24)==(3);
do {
if ($73) {
$74 = ((($1)) + 29|0);
HEAP8[$74>>0] = 1;
$89 = 1;
} else {
$75 = $66 & 2;
$76 = ($75<<24>>24)==(0);
$77 = ((($1)) + 29|0);
if ($76) {
HEAP8[$77>>0] = 1;
$89 = 1;
break;
} else {
HEAP8[$77>>0] = 3;
$89 = 3;
break;
}
}
} while(0);
$78 = $3 & 262144;
$79 = ($78|0)==(0);
if ($79) {
$85 = $66;
} else {
$80 = $66&255;
$81 = $80 & 251;
$82 = $81&255;
HEAP8[$72>>0] = $82;
$83 = ((($1)) + 22|0);
HEAP16[$83>>1] = 0;
$85 = $82;
}
$84 = $85 & 4;
$86 = ($84<<24>>24)==(0);
if ($86) {
$94 = $89;
} else {
$87 = ((($1)) + 29|0);
$88 = (($89) + 1)<<24>>24;
HEAP8[$87>>0] = $88;
$94 = $88;
}
$90 = $3 & 32768;
$91 = ($90|0)==(0);
L54: do {
if ($91) {
$109 = $94;
} else {
switch ($85<<24>>24) {
case 0: case 2: {
break;
}
default: {
$109 = $94;
break L54;
}
}
$92 = ((($1)) + 29|0);
$93 = (($94) + 1)<<24>>24;
HEAP8[$92>>0] = $93;
$95 = $3 & 16777216;
$96 = ($95|0)==(0);
if ($96) {
$109 = $93;
} else {
$97 = $85&255;
$98 = $97 | 4;
$99 = $98&255;
HEAP8[$72>>0] = $99;
$109 = $93;
}
}
} while(0);
$100 = $3 & 1048576;
$101 = ($100|0)==(0);
if ($101) {
$113 = $109;$115 = $105;
} else {
$102 = ((($0)) + 204|0);
$103 = HEAP16[$102>>1]|0;
$104 = $103&255;
$106 = ($105&255)<($104&255);
$107 = ($103&65535) >>> 8;
$108 = $107&255;
if ($106) {
HEAP8[$33>>0] = $104;
$131 = $104;
} else {
$131 = $105;
}
$110 = ($109&255)<($108&255);
if ($110) {
$111 = ((($1)) + 29|0);
HEAP8[$111>>0] = $108;
$113 = $108;$115 = $131;
} else {
$113 = $109;$115 = $131;
}
}
$112 = $113&255;
$114 = $115&255;
$116 = Math_imul($114, $112)|0;
$117 = $116&255;
$118 = ((($1)) + 30|0);
HEAP8[$118>>0] = $117;
$119 = $116 & 255;
$120 = ($119>>>0)>(7);
$121 = HEAP32[$1>>2]|0;
if ($120) {
$122 = $119 >>> 3;
$123 = Math_imul($122, $121)|0;
$128 = $123;
$127 = ((($1)) + 12|0);
HEAP32[$127>>2] = $128;
$129 = ((($0)) + 404|0);
HEAP32[$129>>2] = $128;
return;
} else {
$124 = Math_imul($119, $121)|0;
$125 = (($124) + 7)|0;
$126 = $125 >>> 3;
$128 = $126;
$127 = ((($1)) + 12|0);
HEAP32[$127>>2] = $128;
$129 = ((($0)) + 404|0);
HEAP32[$129>>2] = $128;
return;
}
}
function _png_init_read_transformations($0) {
$0 = $0|0;
var $$0 = 0, $$0$i = 0, $$034$i = 0, $$0423456 = 0, $$0424464 = 0, $$0425 = 0, $$04253$i = 0, $$0426 = 0, $$0427 = 0, $$0428 = 0, $$0429458 = 0, $$0430460 = 0, $$04355$i = 0, $$04454$i = 0, $$145$i = 0, $$1454 = 0, $$2453 = 0, $$3$ph$i = 0, $$lobit$i = 0, $$pre478 = 0;
var $$pre479 = 0, $$pre481 = 0, $$pre482 = 0, $$pre484 = 0, $$pre485 = 0, $$pre486 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0204$1 = 0, $$sroa$0205$0 = 0, $$sroa$0205$0$$sroa_idx = 0, $$sroa$0205$1 = 0, $$sroa$10$1 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$6$1 = 0, $$sroa$6206$0 = 0, $$sroa$6206$0$$sroa_idx = 0, $$sroa$6206$1 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx = 0;
var $$sroa$9$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0;
var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0;
var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0;
var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0;
var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0;
var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0;
var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0;
var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0;
var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0;
var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0;
var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0;
var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0;
var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0;
var $657 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond$i = 0;
var $exitcond472 = 0, $exitcond473 = 0, $exitcond474 = 0, $exitcond475 = 0, $exitcond476 = 0, $notlhs = 0, $or$cond = 0, $or$cond$i = 0, $or$cond3 = 0, $or$cond444 = 0, $or$cond469 = 0, $or$cond470 = 0, $or$cond471 = 0, $or$cond5 = 0, $storemerge = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = ((($0)) + 824|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0);
$5 = ((($0)) + 488|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)!=(0);
do {
if ($4) {
if ($7) {
$16 = (_png_reciprocal($6)|0);
HEAP32[$2>>2] = $16;
$$0 = 0;
break;
} else {
HEAP32[$2>>2] = 100000;
HEAP32[$5>>2] = 100000;
$$0 = 0;
break;
}
} else {
if (!($7)) {
$15 = (_png_reciprocal($3)|0);
HEAP32[$5>>2] = $15;
$$0 = 0;
break;
}
$8 = (_png_muldiv($1,$3,$6,100000)|0);
$9 = ($8|0)==(0);
if ($9) {
$14 = 1;
} else {
$10 = HEAP32[$1>>2]|0;
$11 = (_png_gamma_significant($10)|0);
$12 = ($11|0)!=(0);
$14 = $12;
}
$13 = $14&1;
$$0 = $13;
}
} while(0);
$17 = ((($0)) + 898|0);
$18 = HEAP16[$17>>1]|0;
$19 = $18&65535;
$20 = $19 | 1;
$21 = $20&65535;
HEAP16[$17>>1] = $21;
$22 = ($$0|0)==(0);
$23 = ((($0)) + 216|0);
$24 = HEAP32[$23>>2]|0;
$25 = $24 & -8193;
$26 = $24 | 8192;
$storemerge = $22 ? $25 : $26;
HEAP32[$23>>2] = $storemerge;
$27 = $storemerge & 262272;
$28 = ($27|0)==(262144);
if ($28) {
$29 = $storemerge & -41943297;
HEAP32[$23>>2] = $29;
$30 = ((($0)) + 212|0);
$31 = HEAP32[$30>>2]|0;
$32 = $31 & -8193;
HEAP32[$30>>2] = $32;
$33 = ((($0)) + 428|0);
HEAP16[$33>>1] = 0;
}
$34 = HEAP32[$5>>2]|0;
$35 = (_png_gamma_significant($34)|0);
$36 = ($35|0)==(0);
$37 = HEAP32[$23>>2]|0;
if ($36) {
$38 = $37 & -8388609;
HEAP32[$23>>2] = $38;
$39 = ((($0)) + 212|0);
$40 = HEAP32[$39>>2]|0;
$41 = $40 & -8193;
HEAP32[$39>>2] = $41;
$43 = $38;
} else {
$43 = $37;
}
$42 = $43 & 6291456;
$44 = ($42|0)==(0);
if ($44) {
$46 = $43;
} else {
_png_colorspace_set_rgb_coefficients($0);
$$pre478 = HEAP32[$23>>2]|0;
$46 = $$pre478;
}
$45 = $46 & 256;
$47 = ($45|0)==(0);
if ($47) {
$55 = $46 & 16512;
$56 = ($55|0)==(16512);
if ($56) {
$57 = ((($0)) + 454|0);
$58 = HEAP16[$57>>1]|0;
$59 = ((($0)) + 456|0);
$60 = HEAP32[$59>>2]|0;
$61 = $60&65535;
$62 = ($58<<16>>16)==($61<<16>>16);
if ($62) {
$63 = $60 >>> 16;
$64 = $63&65535;
$65 = ($58<<16>>16)==($64<<16>>16);
if ($65) {
$66 = ((($0)) + 208|0);
$67 = HEAP32[$66>>2]|0;
$68 = $67 | 2048;
HEAP32[$66>>2] = $68;
$69 = ((($0)) + 460|0);
HEAP16[$69>>1] = $58;
}
}
}
} else {
$48 = ((($0)) + 435|0);
$49 = HEAP8[$48>>0]|0;
$50 = $49 & 2;
$51 = ($50<<24>>24)==(0);
if ($51) {
$52 = ((($0)) + 208|0);
$53 = HEAP32[$52>>2]|0;
$54 = $53 | 2048;
HEAP32[$52>>2] = $54;
}
}
$70 = ((($0)) + 435|0);
$71 = HEAP8[$70>>0]|0;
$72 = ($71<<24>>24)==(3);
if ($72) {
$73 = ((($0)) + 428|0);
$74 = HEAP16[$73>>1]|0;
$75 = ($74<<16>>16)==(0);
L33: do {
if ($75) {
$$3$ph$i = 0;
label = 29;
} else {
$76 = ((($0)) + 528|0);
$77 = HEAP32[$76>>2]|0;
$78 = $74&65535;
$$04355$i = 0;$$04454$i = 0;
while(1) {
$79 = (($77) + ($$04355$i)|0);
$80 = HEAP8[$79>>0]|0;
$81 = ($80<<24>>24)==(-1);
if ($81) {
$$145$i = $$04454$i;
} else {
$82 = ($80<<24>>24)==(0);
if ($82) {
$$145$i = 1;
} else {
$92 = $46;
break L33;
}
}
$83 = (($$04355$i) + 1)|0;
$84 = ($83|0)<($78|0);
if ($84) {
$$04355$i = $83;$$04454$i = $$145$i;
} else {
$$3$ph$i = $$145$i;
label = 29;
break;
}
}
}
} while(0);
if ((label|0) == 29) {
$85 = $46 & -8388609;
HEAP32[$23>>2] = $85;
$86 = ((($0)) + 212|0);
$87 = HEAP32[$86>>2]|0;
$88 = $87 & -8193;
HEAP32[$86>>2] = $88;
$89 = ($$3$ph$i|0)==(0);
$90 = $46 & -8388993;
if ($89) {
HEAP32[$23>>2] = $90;
$92 = $90;
} else {
$92 = $85;
}
}
$91 = $92 & 4352;
$93 = ($91|0)==(4352);
if ($93) {
$94 = ((($0)) + 452|0);
$95 = HEAP8[$94>>0]|0;
$96 = $95&255;
$97 = ((($0)) + 416|0);
$98 = HEAP32[$97>>2]|0;
$99 = (($98) + (($96*3)|0)|0);
$100 = HEAP8[$99>>0]|0;
$101 = $100&255;
$102 = ((($0)) + 454|0);
HEAP16[$102>>1] = $101;
$103 = (((($98) + (($96*3)|0)|0)) + 1|0);
$104 = HEAP8[$103>>0]|0;
$105 = $104&255;
$106 = ((($0)) + 456|0);
HEAP16[$106>>1] = $105;
$107 = (((($98) + (($96*3)|0)|0)) + 2|0);
$108 = HEAP8[$107>>0]|0;
$109 = $108&255;
$110 = ((($0)) + 458|0);
HEAP16[$110>>1] = $109;
$111 = $92 & 34078720;
$112 = ($111|0)==(524288);
if ($112) {
$113 = $74&65535;
if ($75) {
$161 = $92;
} else {
$114 = ((($0)) + 528|0);
$115 = HEAP32[$114>>2]|0;
$$04253$i = 0;
while(1) {
$116 = (($115) + ($$04253$i)|0);
$117 = HEAP8[$116>>0]|0;
$118 = $117&255;
$119 = $118 ^ 255;
$120 = $119&255;
HEAP8[$116>>0] = $120;
$121 = (($$04253$i) + 1)|0;
$exitcond$i = ($121|0)==($113|0);
if ($exitcond$i) {
break;
} else {
$$04253$i = $121;
}
}
$$pre479 = HEAP32[$23>>2]|0;
$161 = $$pre479;
}
} else {
$161 = $92;
}
} else {
$161 = $92;
}
} else {
$$lobit$i = $71 & 4;
$122 = ($$lobit$i<<24>>24)==(0);
if ($122) {
$123 = ((($0)) + 428|0);
$124 = HEAP16[$123>>1]|0;
$125 = ($124<<16>>16)==(0);
$126 = $46 & -8388609;
HEAP32[$23>>2] = $126;
$127 = ((($0)) + 212|0);
$128 = HEAP32[$127>>2]|0;
$129 = $128 & -8193;
HEAP32[$127>>2] = $129;
$130 = $46 & -8388993;
if ($125) {
HEAP32[$23>>2] = $130;
$132 = $130;
} else {
$132 = $126;
}
} else {
$132 = $46;
}
$131 = $132 & 4352;
$133 = ($131|0)==(4352);
$134 = $71 & 2;
$135 = ($134<<24>>24)==(0);
$or$cond$i = $135 & $133;
if ($or$cond$i) {
$136 = ((($0)) + 460|0);
$137 = HEAP16[$136>>1]|0;
$138 = $137&65535;
$139 = ((($0)) + 540|0);
$140 = HEAP16[$139>>1]|0;
$141 = $140&65535;
$142 = ((($0)) + 436|0);
$143 = HEAP8[$142>>0]|0;
switch ($143<<24>>24) {
case 1: {
$144 = ($138*255)|0;
$145 = ($141*255)|0;
$$0$i = $145;$$034$i = $144;
break;
}
case 2: {
$146 = ($138*85)|0;
$147 = ($141*85)|0;
$$0$i = $147;$$034$i = $146;
break;
}
case 4: {
$148 = ($138*17)|0;
$149 = ($141*17)|0;
$$0$i = $149;$$034$i = $148;
break;
}
default: {
$$0$i = $141;$$034$i = $138;
}
}
$150 = $$034$i&65535;
$151 = ((($0)) + 458|0);
HEAP16[$151>>1] = $150;
$152 = ((($0)) + 456|0);
HEAP16[$152>>1] = $150;
$153 = ((($0)) + 454|0);
HEAP16[$153>>1] = $150;
$154 = $132 & 33554432;
$155 = ($154|0)==(0);
if ($155) {
$156 = $$0$i&65535;
$157 = ((($0)) + 538|0);
HEAP16[$157>>1] = $156;
$158 = ((($0)) + 536|0);
HEAP16[$158>>1] = $156;
$159 = ((($0)) + 534|0);
HEAP16[$159>>1] = $156;
$161 = $132;
} else {
$161 = $132;
}
} else {
$161 = $132;
}
}
$160 = $161 & 896;
$162 = ($160|0)==(640);
if ($162) {
$163 = ((($0)) + 436|0);
$164 = HEAP8[$163>>0]|0;
$165 = ($164<<24>>24)==(16);
if (!($165)) {
$166 = ((($0)) + 454|0);
$167 = HEAP16[$166>>1]|0;
$168 = $167&65535;
$169 = ($168*255)|0;
$170 = (($169) + 32895)|0;
$171 = $170 >>> 16;
$172 = $171&65535;
HEAP16[$166>>1] = $172;
$173 = ((($0)) + 456|0);
$174 = HEAP32[$173>>2]|0;
$175 = $174 & 65535;
$176 = ($175*255)|0;
$177 = (($176) + 32895)|0;
$178 = $177 >>> 16;
$179 = $178&65535;
HEAP16[$173>>1] = $179;
$180 = ((($0)) + 458|0);
$181 = $174 >>> 16;
$182 = ($181*255)|0;
$183 = (($182) + 32895)|0;
$184 = $183 >>> 16;
$185 = $184&65535;
HEAP16[$180>>1] = $185;
$186 = ((($0)) + 460|0);
$187 = HEAP16[$186>>1]|0;
$188 = $187&65535;
$189 = ($188*255)|0;
$190 = (($189) + 32895)|0;
$191 = $190 >>> 16;
$192 = $191&65535;
HEAP16[$186>>1] = $192;
}
}
$193 = $161 & 67109888;
$notlhs = ($193|0)!=(0);
$194 = $161 & 384;
$195 = ($194|0)==(128);
$196 = $195 & $notlhs;
if ($196) {
$197 = ((($0)) + 436|0);
$198 = HEAP8[$197>>0]|0;
$199 = ($198<<24>>24)==(16);
if ($199) {
$200 = ((($0)) + 454|0);
$201 = HEAP16[$200>>1]|0;
$202 = $201&65535;
$203 = ($202*257)|0;
$204 = $203&65535;
HEAP16[$200>>1] = $204;
$205 = ((($0)) + 456|0);
$206 = HEAP32[$205>>2]|0;
$207 = $206 & 65535;
$208 = ($207*257)|0;
$209 = $208&65535;
HEAP16[$205>>1] = $209;
$210 = ((($0)) + 458|0);
$211 = $206 >>> 16;
$212 = ($211*257)|0;
$213 = $212&65535;
HEAP16[$210>>1] = $213;
$214 = ((($0)) + 460|0);
$215 = HEAP16[$214>>1]|0;
$216 = $215&65535;
$217 = ($216*257)|0;
$218 = $217&65535;
HEAP16[$214>>1] = $218;
}
}
$219 = ((($0)) + 462|0);
$220 = ((($0)) + 452|0);
;HEAP16[$219>>1]=HEAP16[$220>>1]|0;HEAP16[$219+2>>1]=HEAP16[$220+2>>1]|0;HEAP16[$219+4>>1]=HEAP16[$220+4>>1]|0;HEAP16[$219+6>>1]=HEAP16[$220+6>>1]|0;HEAP16[$219+8>>1]=HEAP16[$220+8>>1]|0;
$221 = $161 & 8192;
$222 = ($221|0)==(0);
do {
if ($222) {
$223 = $161 & 6291456;
$224 = ($223|0)==(0);
if ($224) {
$232 = $161;
} else {
$225 = HEAP32[$2>>2]|0;
$226 = (_png_gamma_significant($225)|0);
$227 = ($226|0)==(0);
if (!($227)) {
label = 66;
break;
}
$228 = HEAP32[$5>>2]|0;
$229 = (_png_gamma_significant($228)|0);
$230 = ($229|0)==(0);
if (!($230)) {
label = 66;
break;
}
$$pre481 = HEAP32[$23>>2]|0;
$232 = $$pre481;
}
$231 = $232 & 128;
$233 = ($231|0)==(0);
if (!($233)) {
$234 = HEAP32[$2>>2]|0;
$235 = (_png_gamma_significant($234)|0);
$236 = ($235|0)==(0);
if (!($236)) {
label = 66;
break;
}
$237 = HEAP32[$5>>2]|0;
$238 = (_png_gamma_significant($237)|0);
$239 = ($238|0)==(0);
if (!($239)) {
label = 66;
break;
}
$240 = ((($0)) + 446|0);
$241 = HEAP8[$240>>0]|0;
$242 = ($241<<24>>24)==(3);
if ($242) {
$243 = ((($0)) + 448|0);
$244 = HEAP32[$243>>2]|0;
$245 = (_png_gamma_significant($244)|0);
$246 = ($245|0)==(0);
if (!($246)) {
label = 66;
break;
}
}
}
$247 = HEAP32[$23>>2]|0;
$248 = $247 & 8388608;
$249 = ($248|0)==(0);
if ($249) {
$532 = $247;
} else {
$250 = HEAP32[$5>>2]|0;
$251 = (_png_gamma_significant($250)|0);
$252 = ($251|0)==(0);
if (!($252)) {
label = 66;
break;
}
$$pre484 = HEAP32[$23>>2]|0;
$532 = $$pre484;
}
$531 = $532 & 128;
$533 = ($531|0)==(0);
if ($533) {
$606 = $532;
} else {
$534 = HEAP8[$70>>0]|0;
$535 = ($534<<24>>24)==(3);
if ($535) {
$536 = ((($0)) + 428|0);
$537 = HEAP16[$536>>1]|0;
$538 = $537&65535;
$539 = ((($0)) + 416|0);
$540 = HEAP32[$539>>2]|0;
$541 = ((($0)) + 454|0);
$542 = HEAP16[$541>>1]|0;
$543 = $542&255;
$544 = ((($0)) + 456|0);
$545 = HEAP32[$544>>2]|0;
$546 = $545&255;
$547 = $545 >>> 16;
$548 = $547&255;
$549 = ($537<<16>>16)==(0);
if ($549) {
$604 = $532;
} else {
$550 = ((($0)) + 528|0);
$551 = $542 & 255;
$552 = $551&65535;
$553 = $545 & 255;
$554 = $547 & 255;
$$0429458 = 0;
while(1) {
$555 = HEAP32[$550>>2]|0;
$556 = (($555) + ($$0429458)|0);
$557 = HEAP8[$556>>0]|0;
switch ($557<<24>>24) {
case 0: {
$$sroa$0$0$$sroa_idx = (($540) + (($$0429458*3)|0)|0);
HEAP8[$$sroa$0$0$$sroa_idx>>0] = $543;
$$sroa$5$0$$sroa_idx = (((($540) + (($$0429458*3)|0)|0)) + 1|0);
HEAP8[$$sroa$5$0$$sroa_idx>>0] = $546;
$$sroa$7$0$$sroa_idx = (((($540) + (($$0429458*3)|0)|0)) + 2|0);
HEAP8[$$sroa$7$0$$sroa_idx>>0] = $548;
break;
}
case -1: {
break;
}
default: {
$558 = (($540) + (($$0429458*3)|0)|0);
$559 = HEAP8[$558>>0]|0;
$560 = $559&255;
$561 = $557&255;
$562 = Math_imul($560, $561)|0;
$563 = $561 ^ 255;
$564 = Math_imul($563, $552)|0;
$565 = (($564) + 128)|0;
$566 = (($565) + ($562))|0;
$567 = $566 >>> 8;
$568 = $567 & 255;
$569 = (($568) + ($566))|0;
$570 = $569 >>> 8;
$571 = $570&255;
HEAP8[$558>>0] = $571;
$572 = (((($540) + (($$0429458*3)|0)|0)) + 1|0);
$573 = HEAP8[$572>>0]|0;
$574 = $573&255;
$575 = HEAP8[$556>>0]|0;
$576 = $575&255;
$577 = Math_imul($576, $574)|0;
$578 = $576 ^ 255;
$579 = Math_imul($578, $553)|0;
$580 = (($577) + 128)|0;
$581 = (($580) + ($579))|0;
$582 = $581 >>> 8;
$583 = $582 & 255;
$584 = (($583) + ($581))|0;
$585 = $584 >>> 8;
$586 = $585&255;
HEAP8[$572>>0] = $586;
$587 = (((($540) + (($$0429458*3)|0)|0)) + 2|0);
$588 = HEAP8[$587>>0]|0;
$589 = $588&255;
$590 = HEAP8[$556>>0]|0;
$591 = $590&255;
$592 = Math_imul($591, $589)|0;
$593 = $591 ^ 255;
$594 = Math_imul($593, $554)|0;
$595 = (($592) + 128)|0;
$596 = (($595) + ($594))|0;
$597 = $596 >>> 8;
$598 = $597 & 255;
$599 = (($598) + ($596))|0;
$600 = $599 >>> 8;
$601 = $600&255;
HEAP8[$587>>0] = $601;
}
}
$602 = (($$0429458) + 1)|0;
$exitcond474 = ($602|0)==($538|0);
if ($exitcond474) {
break;
} else {
$$0429458 = $602;
}
}
$$pre485 = HEAP32[$23>>2]|0;
$604 = $$pre485;
}
$603 = $604 & -129;
HEAP32[$23>>2] = $603;
$606 = $603;
} else {
$606 = $532;
}
}
} else {
label = 66;
}
} while(0);
do {
if ((label|0) == 66) {
$253 = ((($0)) + 436|0);
$254 = HEAP8[$253>>0]|0;
$255 = $254&255;
_png_build_gamma_table($0,$255);
$256 = HEAP32[$23>>2]|0;
$257 = $256 & 128;
$258 = ($257|0)==(0);
if ($258) {
$501 = HEAP8[$70>>0]|0;
$502 = ($501<<24>>24)==(3);
if (!($502)) {
$606 = $256;
break;
}
$503 = $256 & 4096;
$504 = ($503|0)==(0);
$505 = $256 & 6291456;
$506 = ($505|0)==(0);
$or$cond444 = $504 | $506;
if (!($or$cond444)) {
$606 = $256;
break;
}
$507 = ((($0)) + 416|0);
$508 = HEAP32[$507>>2]|0;
$509 = ((($0)) + 420|0);
$510 = HEAP16[$509>>1]|0;
$511 = $510&65535;
$512 = ($510<<16>>16)==(0);
if (!($512)) {
$513 = ((($0)) + 492|0);
$$pre482 = HEAP32[$513>>2]|0;
$$0430460 = 0;
while(1) {
$514 = (($508) + (($$0430460*3)|0)|0);
$515 = HEAP8[$514>>0]|0;
$516 = $515&255;
$517 = (($$pre482) + ($516)|0);
$518 = HEAP8[$517>>0]|0;
HEAP8[$514>>0] = $518;
$519 = (((($508) + (($$0430460*3)|0)|0)) + 1|0);
$520 = HEAP8[$519>>0]|0;
$521 = $520&255;
$522 = (($$pre482) + ($521)|0);
$523 = HEAP8[$522>>0]|0;
HEAP8[$519>>0] = $523;
$524 = (((($508) + (($$0430460*3)|0)|0)) + 2|0);
$525 = HEAP8[$524>>0]|0;
$526 = $525&255;
$527 = (($$pre482) + ($526)|0);
$528 = HEAP8[$527>>0]|0;
HEAP8[$524>>0] = $528;
$529 = (($$0430460) + 1)|0;
$exitcond475 = ($529|0)==($511|0);
if ($exitcond475) {
break;
} else {
$$0430460 = $529;
}
}
}
$530 = $256 & -8193;
HEAP32[$23>>2] = $530;
$606 = $530;
break;
}
$259 = $256 & 6291456;
$260 = ($259|0)==(0);
if (!($260)) {
_png_warning($0,25621);
}
$261 = HEAP8[$70>>0]|0;
$262 = ($261<<24>>24)==(3);
if (!($262)) {
$434 = ((($0)) + 446|0);
$435 = HEAP8[$434>>0]|0;
switch ($435<<24>>24) {
case 1: {
$436 = HEAP32[$5>>2]|0;
$$0427 = $436;$$0428 = 100000;
break;
}
case 2: {
$437 = HEAP32[$2>>2]|0;
$438 = (_png_reciprocal($437)|0);
$439 = HEAP32[$2>>2]|0;
$440 = HEAP32[$5>>2]|0;
$441 = (_png_reciprocal2($439,$440)|0);
$$0427 = $438;$$0428 = $441;
break;
}
case 3: {
$442 = ((($0)) + 448|0);
$443 = HEAP32[$442>>2]|0;
$444 = (_png_reciprocal($443)|0);
$445 = HEAP32[$442>>2]|0;
$446 = HEAP32[$5>>2]|0;
$447 = (_png_reciprocal2($445,$446)|0);
$$0427 = $444;$$0428 = $447;
break;
}
default: {
_png_error($0,25674);
// unreachable;
}
}
$448 = (_png_gamma_significant($$0427)|0);
$449 = (_png_gamma_significant($$0428)|0);
$450 = ($448|0)!=(0);
if ($450) {
$451 = ((($0)) + 460|0);
$452 = HEAP16[$451>>1]|0;
$453 = $452&65535;
$454 = (_png_gamma_correct($0,$453,$$0427)|0);
$455 = ((($0)) + 470|0);
HEAP16[$455>>1] = $454;
}
$456 = ($449|0)!=(0);
if ($456) {
$457 = ((($0)) + 460|0);
$458 = HEAP16[$457>>1]|0;
$459 = $458&65535;
$460 = (_png_gamma_correct($0,$459,$$0428)|0);
HEAP16[$457>>1] = $460;
}
$461 = ((($0)) + 454|0);
$462 = HEAP16[$461>>1]|0;
$463 = ((($0)) + 456|0);
$464 = HEAP32[$463>>2]|0;
$465 = $464&65535;
$466 = ($462<<16>>16)==($465<<16>>16);
if ($466) {
$467 = $464 >>> 16;
$468 = $467&65535;
$469 = ((($0)) + 458|0);
$470 = ($462<<16>>16)==($468<<16>>16);
if ($470) {
$471 = ((($0)) + 460|0);
$472 = HEAP16[$471>>1]|0;
$473 = ($462<<16>>16)==($472<<16>>16);
if ($473) {
$496 = ((($0)) + 470|0);
$497 = HEAP16[$496>>1]|0;
$498 = ((($0)) + 468|0);
HEAP16[$498>>1] = $497;
$499 = ((($0)) + 466|0);
HEAP16[$499>>1] = $497;
$500 = ((($0)) + 464|0);
HEAP16[$500>>1] = $497;
HEAP16[$469>>1] = $462;
HEAP16[$463>>1] = $462;
} else {
label = 101;
}
} else {
label = 101;
}
} else {
label = 101;
}
if ((label|0) == 101) {
if ($450) {
$474 = $462&65535;
$475 = (_png_gamma_correct($0,$474,$$0427)|0);
$476 = ((($0)) + 464|0);
HEAP16[$476>>1] = $475;
$477 = HEAP16[$463>>1]|0;
$478 = $477&65535;
$479 = (_png_gamma_correct($0,$478,$$0427)|0);
$480 = ((($0)) + 466|0);
HEAP16[$480>>1] = $479;
$481 = ((($0)) + 458|0);
$482 = HEAP16[$481>>1]|0;
$483 = $482&65535;
$484 = (_png_gamma_correct($0,$483,$$0427)|0);
$485 = ((($0)) + 468|0);
HEAP16[$485>>1] = $484;
}
if ($456) {
$486 = HEAP16[$461>>1]|0;
$487 = $486&65535;
$488 = (_png_gamma_correct($0,$487,$$0428)|0);
HEAP16[$461>>1] = $488;
$489 = HEAP16[$463>>1]|0;
$490 = $489&65535;
$491 = (_png_gamma_correct($0,$490,$$0428)|0);
HEAP16[$463>>1] = $491;
$492 = ((($0)) + 458|0);
$493 = HEAP16[$492>>1]|0;
$494 = $493&65535;
$495 = (_png_gamma_correct($0,$494,$$0428)|0);
HEAP16[$492>>1] = $495;
}
}
HEAP8[$434>>0] = 1;
$$pre486 = HEAP32[$23>>2]|0;
$606 = $$pre486;
break;
}
$263 = ((($0)) + 416|0);
$264 = HEAP32[$263>>2]|0;
$265 = ((($0)) + 420|0);
$266 = HEAP16[$265>>1]|0;
$267 = $266&65535;
$268 = ((($0)) + 446|0);
$269 = HEAP8[$268>>0]|0;
switch ($269<<24>>24) {
case 2: {
$270 = ((($0)) + 454|0);
$271 = HEAP16[$270>>1]|0;
$272 = $271&65535;
$273 = ((($0)) + 492|0);
$274 = HEAP32[$273>>2]|0;
$275 = (($274) + ($272)|0);
$276 = HEAP8[$275>>0]|0;
$277 = ((($0)) + 456|0);
$278 = HEAP32[$277>>2]|0;
$279 = $278 & 65535;
$280 = (($274) + ($279)|0);
$281 = HEAP8[$280>>0]|0;
$282 = $278 >>> 16;
$283 = (($274) + ($282)|0);
$284 = HEAP8[$283>>0]|0;
$285 = ((($0)) + 504|0);
$286 = HEAP32[$285>>2]|0;
$287 = (($286) + ($272)|0);
$288 = HEAP8[$287>>0]|0;
$289 = (($286) + ($279)|0);
$290 = HEAP8[$289>>0]|0;
$291 = (($286) + ($282)|0);
$292 = HEAP8[$291>>0]|0;
$$sroa$0204$1 = $288;$$sroa$0205$1 = $276;$$sroa$10$1 = $292;$$sroa$6$1 = $290;$$sroa$6206$1 = $281;$$sroa$9$1 = $284;
break;
}
case 1: {
$293 = HEAP32[$5>>2]|0;
$$0425 = $293;$$0426 = 100000;
label = 74;
break;
}
case 3: {
$294 = ((($0)) + 448|0);
$295 = HEAP32[$294>>2]|0;
$296 = (_png_reciprocal($295)|0);
$297 = HEAP32[$294>>2]|0;
$298 = HEAP32[$5>>2]|0;
$299 = (_png_reciprocal2($297,$298)|0);
$$0425 = $296;$$0426 = $299;
label = 74;
break;
}
default: {
$$0425 = 100000;$$0426 = 100000;
label = 74;
}
}
do {
if ((label|0) == 74) {
$300 = (_png_gamma_significant($$0426)|0);
$301 = ($300|0)==(0);
$302 = ((($0)) + 454|0);
$303 = HEAP16[$302>>1]|0;
if ($301) {
$314 = $303&255;
$315 = ((($0)) + 456|0);
$316 = HEAP32[$315>>2]|0;
$317 = $316&255;
$318 = $316 >>> 16;
$319 = $318&255;
$$sroa$0205$0 = $314;$$sroa$6206$0 = $317;$$sroa$9$0 = $319;
} else {
$304 = $303&65535;
$305 = (_png_gamma_8bit_correct($304,$$0426)|0);
$306 = ((($0)) + 456|0);
$307 = HEAP16[$306>>1]|0;
$308 = $307&65535;
$309 = (_png_gamma_8bit_correct($308,$$0426)|0);
$310 = ((($0)) + 458|0);
$311 = HEAP16[$310>>1]|0;
$312 = $311&65535;
$313 = (_png_gamma_8bit_correct($312,$$0426)|0);
$$sroa$0205$0 = $305;$$sroa$6206$0 = $309;$$sroa$9$0 = $313;
}
$320 = (_png_gamma_significant($$0425)|0);
$321 = ($320|0)==(0);
$322 = HEAP16[$302>>1]|0;
if ($321) {
$333 = $322&255;
$334 = ((($0)) + 456|0);
$335 = HEAP32[$334>>2]|0;
$336 = $335&255;
$337 = $335 >>> 16;
$338 = $337&255;
$$sroa$0204$1 = $333;$$sroa$0205$1 = $$sroa$0205$0;$$sroa$10$1 = $338;$$sroa$6$1 = $336;$$sroa$6206$1 = $$sroa$6206$0;$$sroa$9$1 = $$sroa$9$0;
break;
} else {
$323 = $322&65535;
$324 = (_png_gamma_8bit_correct($323,$$0425)|0);
$325 = ((($0)) + 456|0);
$326 = HEAP16[$325>>1]|0;
$327 = $326&65535;
$328 = (_png_gamma_8bit_correct($327,$$0425)|0);
$329 = ((($0)) + 458|0);
$330 = HEAP16[$329>>1]|0;
$331 = $330&65535;
$332 = (_png_gamma_8bit_correct($331,$$0425)|0);
$$sroa$0204$1 = $324;$$sroa$0205$1 = $$sroa$0205$0;$$sroa$10$1 = $332;$$sroa$6$1 = $328;$$sroa$6206$1 = $$sroa$6206$0;$$sroa$9$1 = $$sroa$9$0;
break;
}
}
} while(0);
$339 = ($266<<16>>16)==(0);
if (!($339)) {
$340 = ((($0)) + 428|0);
$341 = ((($0)) + 528|0);
$342 = ((($0)) + 504|0);
$343 = $$sroa$0204$1&255;
$344 = ((($0)) + 500|0);
$345 = $$sroa$6$1&255;
$346 = $$sroa$10$1&255;
$347 = ((($0)) + 492|0);
$$0424464 = 0;
while(1) {
$348 = HEAP16[$340>>1]|0;
$349 = $348&65535;
$350 = ($$0424464|0)<($349|0);
L159: do {
if ($350) {
$351 = HEAP32[$341>>2]|0;
$352 = (($351) + ($$0424464)|0);
$353 = HEAP8[$352>>0]|0;
switch ($353<<24>>24) {
case -1: {
label = 86;
break L159;
break;
}
case 0: {
$$sroa$0205$0$$sroa_idx = (($264) + (($$0424464*3)|0)|0);
HEAP8[$$sroa$0205$0$$sroa_idx>>0] = $$sroa$0205$1;
$$sroa$6206$0$$sroa_idx = (((($264) + (($$0424464*3)|0)|0)) + 1|0);
HEAP8[$$sroa$6206$0$$sroa_idx>>0] = $$sroa$6206$1;
$$sroa$9$0$$sroa_idx = (((($264) + (($$0424464*3)|0)|0)) + 2|0);
HEAP8[$$sroa$9$0$$sroa_idx>>0] = $$sroa$9$1;
break L159;
break;
}
default: {
$354 = (($264) + (($$0424464*3)|0)|0);
$355 = HEAP8[$354>>0]|0;
$356 = $355&255;
$357 = HEAP32[$342>>2]|0;
$358 = (($357) + ($356)|0);
$359 = HEAP8[$358>>0]|0;
$360 = $359&255;
$361 = $353&255;
$362 = Math_imul($360, $361)|0;
$363 = $361 ^ 255;
$364 = Math_imul($363, $343)|0;
$365 = (($364) + 128)|0;
$366 = (($365) + ($362))|0;
$367 = $366 >>> 8;
$368 = $367 & 255;
$369 = (($368) + ($366))|0;
$370 = $369 >>> 8;
$371 = $370 & 255;
$372 = HEAP32[$344>>2]|0;
$373 = (($372) + ($371)|0);
$374 = HEAP8[$373>>0]|0;
HEAP8[$354>>0] = $374;
$375 = (((($264) + (($$0424464*3)|0)|0)) + 1|0);
$376 = HEAP8[$375>>0]|0;
$377 = $376&255;
$378 = (($357) + ($377)|0);
$379 = HEAP8[$378>>0]|0;
$380 = $379&255;
$381 = HEAP8[$352>>0]|0;
$382 = $381&255;
$383 = Math_imul($382, $380)|0;
$384 = $382 ^ 255;
$385 = Math_imul($384, $345)|0;
$386 = (($383) + 128)|0;
$387 = (($386) + ($385))|0;
$388 = $387 >>> 8;
$389 = $388 & 255;
$390 = (($389) + ($387))|0;
$391 = $390 >>> 8;
$392 = $391 & 255;
$393 = (($372) + ($392)|0);
$394 = HEAP8[$393>>0]|0;
HEAP8[$375>>0] = $394;
$395 = (((($264) + (($$0424464*3)|0)|0)) + 2|0);
$396 = HEAP8[$395>>0]|0;
$397 = $396&255;
$398 = (($357) + ($397)|0);
$399 = HEAP8[$398>>0]|0;
$400 = $399&255;
$401 = HEAP8[$352>>0]|0;
$402 = $401&255;
$403 = Math_imul($402, $400)|0;
$404 = $402 ^ 255;
$405 = Math_imul($404, $346)|0;
$406 = (($403) + 128)|0;
$407 = (($406) + ($405))|0;
$408 = $407 >>> 8;
$409 = $408 & 255;
$410 = (($409) + ($407))|0;
$411 = $410 >>> 8;
$412 = $411 & 255;
$413 = (($372) + ($412)|0);
$414 = HEAP8[$413>>0]|0;
HEAP8[$395>>0] = $414;
break L159;
}
}
} else {
label = 86;
}
} while(0);
if ((label|0) == 86) {
label = 0;
$415 = (($264) + (($$0424464*3)|0)|0);
$416 = HEAP8[$415>>0]|0;
$417 = $416&255;
$418 = HEAP32[$347>>2]|0;
$419 = (($418) + ($417)|0);
$420 = HEAP8[$419>>0]|0;
HEAP8[$415>>0] = $420;
$421 = (((($264) + (($$0424464*3)|0)|0)) + 1|0);
$422 = HEAP8[$421>>0]|0;
$423 = $422&255;
$424 = (($418) + ($423)|0);
$425 = HEAP8[$424>>0]|0;
HEAP8[$421>>0] = $425;
$426 = (((($264) + (($$0424464*3)|0)|0)) + 2|0);
$427 = HEAP8[$426>>0]|0;
$428 = $427&255;
$429 = (($418) + ($428)|0);
$430 = HEAP8[$429>>0]|0;
HEAP8[$426>>0] = $430;
}
$431 = (($$0424464) + 1)|0;
$exitcond476 = ($431|0)==($267|0);
if ($exitcond476) {
break;
} else {
$$0424464 = $431;
}
}
}
$432 = HEAP32[$23>>2]|0;
$433 = $432 & -8321;
HEAP32[$23>>2] = $433;
$606 = $433;
}
} while(0);
$605 = $606 & 4104;
$607 = ($605|0)==(8);
if (!($607)) {
STACKTOP = sp;return;
}
$608 = HEAP8[$70>>0]|0;
$609 = ($608<<24>>24)==(3);
if (!($609)) {
STACKTOP = sp;return;
}
$610 = ((($0)) + 420|0);
$611 = HEAP16[$610>>1]|0;
$612 = $611&65535;
$613 = ((($0)) + 516|0);
$614 = HEAP32[$613>>2]|0;
$615 = $614&65535;
$616 = $614&255;
$617 = $614 & 255;
$618 = (8 - ($617))|0;
$619 = $606 & -9;
HEAP32[$23>>2] = $619;
$620 = ($618|0)>(0);
$621 = ($616<<24>>24)!=(0);
$or$cond = $621 & $620;
$622 = ($611<<16>>16)!=(0);
$or$cond469 = $or$cond & $622;
$623 = ($615&65535) >>> 8;
$624 = $614 >>> 16;
$625 = $624&255;
if ($or$cond469) {
$626 = ((($0)) + 416|0);
$627 = HEAP32[$626>>2]|0;
$$0423456 = 0;
while(1) {
$628 = (($627) + (($$0423456*3)|0)|0);
$629 = HEAP8[$628>>0]|0;
$630 = $629&255;
$631 = $630 >>> $618;
$632 = $631&255;
HEAP8[$628>>0] = $632;
$633 = (($$0423456) + 1)|0;
$exitcond473 = ($633|0)==($612|0);
if ($exitcond473) {
break;
} else {
$$0423456 = $633;
}
}
}
$634 = $623&65535;
$635 = (8 - ($634))|0;
$636 = ($635|0)>(0);
$637 = ($623<<16>>16)!=(0);
$or$cond3 = $637 & $636;
$or$cond470 = $or$cond3 & $622;
if ($or$cond470) {
$638 = ((($0)) + 416|0);
$639 = HEAP32[$638>>2]|0;
$$1454 = 0;
while(1) {
$640 = (((($639) + (($$1454*3)|0)|0)) + 1|0);
$641 = HEAP8[$640>>0]|0;
$642 = $641&255;
$643 = $642 >>> $635;
$644 = $643&255;
HEAP8[$640>>0] = $644;
$645 = (($$1454) + 1)|0;
$exitcond472 = ($645|0)==($612|0);
if ($exitcond472) {
break;
} else {
$$1454 = $645;
}
}
}
$646 = $624 & 255;
$647 = (8 - ($646))|0;
$648 = ($647|0)>(0);
$649 = ($625<<24>>24)!=(0);
$or$cond5 = $649 & $648;
$or$cond471 = $or$cond5 & $622;
if (!($or$cond471)) {
STACKTOP = sp;return;
}
$650 = ((($0)) + 416|0);
$651 = HEAP32[$650>>2]|0;
$$2453 = 0;
while(1) {
$652 = (((($651) + (($$2453*3)|0)|0)) + 2|0);
$653 = HEAP8[$652>>0]|0;
$654 = $653&255;
$655 = $654 >>> $647;
$656 = $655&255;
HEAP8[$652>>0] = $656;
$657 = (($$2453) + 1)|0;
$exitcond = ($657|0)==($612|0);
if ($exitcond) {
break;
} else {
$$2453 = $657;
}
}
STACKTOP = sp;return;
}
function _png_muldiv($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($3|0)==(0);
if ($4) {
$$1 = 0;
return ($$1|0);
}
$5 = ($1|0)==(0);
$6 = ($2|0)==(0);
$or$cond = $5 | $6;
if ($or$cond) {
HEAP32[$0>>2] = 0;
$$1 = 1;
return ($$1|0);
}
$7 = (+($1|0));
$8 = (+($2|0));
$9 = $7 * $8;
$10 = (+($3|0));
$11 = $9 / $10;
$12 = $11 + 0.5;
$13 = (+Math_floor((+$12)));
$14 = $13 <= 2147483647.0;
$15 = $13 >= -2147483648.0;
$or$cond3 = $14 & $15;
if (!($or$cond3)) {
$$1 = 0;
return ($$1|0);
}
$16 = (~~(($13)));
HEAP32[$0>>2] = $16;
$$1 = 1;
return ($$1|0);
}
function _png_gamma_significant($0) {
$0 = $0|0;
var $$off = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$off = (($0) + -95000)|0;
$1 = ($$off>>>0)>(10000);
$2 = $1&1;
return ($2|0);
}
function _png_reciprocal($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (+($0|0));
$2 = 1.0E+10 / $1;
$3 = $2 + 0.5;
$4 = (+Math_floor((+$3)));
$5 = $4 <= 2147483647.0;
$6 = $4 >= -2147483648.0;
$or$cond = $5 & $6;
$7 = (~~(($4)));
$$0 = $or$cond ? $7 : 0;
return ($$0|0);
}
function _png_colorspace_set_rgb_coefficients($0) {
$0 = $0|0;
var $$ = 0, $$0 = 0, $$07282 = 0, $$073 = 0, $$075 = 0, $$1 = 0, $$174 = 0, $$176 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0;
var $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0;
var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $notlhs = 0, $notlhs80 = 0, $notlhs84 = 0, $notrhs = 0, $notrhs81 = 0;
var $notrhs85 = 0, $or$cond13$not = 0, $or$cond3$i = 0, $or$cond3$i40 = 0, $or$cond3$i44 = 0, $or$cond37 = 0, $or$cond39 = 0, $or$cond7$not = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 701|0);
$2 = HEAP8[$1>>0]|0;
$3 = ($2<<24>>24)==(0);
if (!($3)) {
return;
}
$4 = ((($0)) + 898|0);
$5 = HEAP16[$4>>1]|0;
$6 = $5 & 2;
$7 = ($6<<16>>16)==(0);
if ($7) {
return;
}
$8 = ((($0)) + 864|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($0)) + 876|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 888|0);
$13 = HEAP32[$12>>2]|0;
$14 = (($11) + ($9))|0;
$15 = (($14) + ($13))|0;
$notlhs84 = ($9|0)<(0);
$notrhs85 = ($15|0)<(1);
$16 = $notrhs85 | $notlhs84;
if ($16) {
_png_error($0,25772);
// unreachable;
}
$17 = ($9|0)==(0);
do {
if ($17) {
$$075 = 0;
} else {
$18 = (+($9|0));
$19 = $18 * 32768.0;
$20 = (+($15|0));
$21 = $19 / $20;
$22 = $21 + 0.5;
$23 = (+Math_floor((+$22)));
$24 = $23 <= 2147483647.0;
$25 = $23 >= -2147483648.0;
$or$cond3$i = $24 & $25;
if ($or$cond3$i) {
$26 = (~~(($23)));
$$075 = $26;
break;
} else {
_png_error($0,25772);
// unreachable;
}
}
} while(0);
$notlhs = ($$075>>>0)>(32768);
$notrhs = ($11|0)<(0);
$or$cond7$not = $notrhs | $notlhs;
if ($or$cond7$not) {
_png_error($0,25772);
// unreachable;
}
$27 = ($11|0)==(0);
do {
if ($27) {
$$073 = 0;
} else {
$28 = (+($11|0));
$29 = $28 * 32768.0;
$30 = (+($15|0));
$31 = $29 / $30;
$32 = $31 + 0.5;
$33 = (+Math_floor((+$32)));
$34 = $33 <= 2147483647.0;
$35 = $33 >= -2147483648.0;
$or$cond3$i40 = $34 & $35;
if ($or$cond3$i40) {
$36 = (~~(($33)));
$$073 = $36;
break;
} else {
_png_error($0,25772);
// unreachable;
}
}
} while(0);
$notlhs80 = ($$073>>>0)>(32768);
$notrhs81 = ($13|0)<(0);
$or$cond13$not = $notrhs81 | $notlhs80;
if ($or$cond13$not) {
_png_error($0,25772);
// unreachable;
}
$37 = ($13|0)==(0);
if ($37) {
$$07282 = 0;
} else {
$38 = (+($13|0));
$39 = $38 * 32768.0;
$40 = (+($15|0));
$41 = $39 / $40;
$42 = $41 + 0.5;
$43 = (+Math_floor((+$42)));
$44 = $43 <= 2147483647.0;
$45 = $43 >= -2147483648.0;
$or$cond3$i44 = $44 & $45;
if (!($or$cond3$i44)) {
_png_error($0,25772);
// unreachable;
}
$46 = (~~(($43)));
$47 = ($46>>>0)<(32769);
if ($47) {
$$07282 = $46;
} else {
_png_error($0,25772);
// unreachable;
}
}
$48 = (($$073) + ($$075))|0;
$49 = (($48) + ($$07282))|0;
$50 = ($49|0)<(32770);
if (!($50)) {
_png_error($0,25772);
// unreachable;
}
$51 = ($49|0)==(32769);
$52 = ($49|0)<(32768);
$$ = $52&1;
$$0 = $51 ? -1 : $$;
$53 = ($$0|0)==(0);
do {
if ($53) {
$$1 = $$07282;$$174 = $$073;$$176 = $$075;
} else {
$54 = ($$073|0)<($$075|0);
$55 = ($$073|0)<($$07282|0);
$or$cond37 = $54 | $55;
if (!($or$cond37)) {
$56 = (($$0) + ($$073))|0;
$$1 = $$07282;$$174 = $56;$$176 = $$075;
break;
}
$57 = ($$075|0)<($$073|0);
$58 = ($$075|0)<($$07282|0);
$or$cond39 = $57 | $58;
if ($or$cond39) {
$60 = (($$0) + ($$07282))|0;
$$1 = $60;$$174 = $$073;$$176 = $$075;
break;
} else {
$59 = (($$0) + ($$075))|0;
$$1 = $$07282;$$174 = $$073;$$176 = $59;
break;
}
}
} while(0);
$61 = (($$174) + ($$176))|0;
$62 = (($61) + ($$1))|0;
$63 = ($62|0)==(32768);
if (!($63)) {
_png_error($0,25730);
// unreachable;
}
$64 = $$176&65535;
$65 = ((($0)) + 702|0);
HEAP16[$65>>1] = $64;
$66 = $$174&65535;
$67 = ((($0)) + 704|0);
HEAP16[$67>>1] = $66;
return;
}
function _png_build_gamma_table($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$$ = 0, $$$153 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i$i60 = 0, $$0$i$i73 = 0, $$0$i68 = 0, $$0$i91 = 0, $$0$i93 = 0, $$019$i = 0, $$019$i58 = 0, $$019$i71 = 0, $$04754$i = 0, $$052 = 0, $$056$i = 0, $$1 = 0, $$1$off = 0, $$120$i = 0, $$120$i63 = 0;
var $$120$i76 = 0, $$148$lcssa$i = 0, $$14851$i = 0, $$153 = 0, $$155$i = 0, $$250$i = 0, $$off$i$i = 0, $$off$i$i56 = 0, $$off$i$i69 = 0, $$off$i16$i = 0, $$off$i16$i59 = 0, $$off$i16$i72 = 0, $$op = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0;
var $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0.0, $148 = 0, $149 = 0, $15 = 0.0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0.0;
var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0;
var $179 = 0, $18 = 0.0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0.0;
var $197 = 0.0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0.0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0.0, $213 = 0;
var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0;
var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0;
var $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0;
var $exitcond$i61 = 0, $exitcond$i74 = 0, $exitcond$i83 = 0, $exitcond22$i = 0, $exitcond22$i64 = 0, $exitcond22$i77 = 0, $exitcond57$i = 0, $exitcond58$i = 0, $not$or$cond3$i = 0, $not$or$cond3$i87 = 0, $notlhs$i = 0, $notlhs$i85 = 0, $notrhs$i = 0, $notrhs$i86 = 0, $or$cond$i55 = 0, $or$cond$i67 = 0, $or$cond$i80 = 0, $or$cond$i90 = 0, $or$cond$i92 = 0, $or$cond54 = 0;
var $phitmp94 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 492|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if ($4) {
$5 = ((($0)) + 496|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if (!($7)) {
label = 3;
}
} else {
label = 3;
}
if ((label|0) == 3) {
_png_warning($0,25704);
_png_destroy_gamma_table($0);
}
$8 = ($1|0)<(9);
if (!($8)) {
$103 = ((($0)) + 435|0);
$104 = HEAP8[$103>>0]|0;
$105 = $104 & 2;
$106 = ($105<<24>>24)==(0);
if ($106) {
$117 = ((($0)) + 519|0);
$118 = HEAP8[$117>>0]|0;
$$1 = $118;
} else {
$107 = ((($0)) + 516|0);
$108 = HEAP32[$107>>2]|0;
$109 = $108&65535;
$110 = $108&255;
$111 = ($109&65535) >>> 8;
$112 = $111&255;
$113 = ($112&255)>($110&255);
$$ = $113 ? $112 : $110;
$114 = $108 >>> 16;
$115 = $114&255;
$116 = ($115&255)>($$&255);
$$$ = $116 ? $115 : $$;
$$1 = $$$;
}
$119 = $$1&255;
$$1$off = (($$1) + -1)<<24>>24;
$120 = ($$1$off&255)<(15);
$121 = (16 - ($119))|0;
$122 = $121&255;
$$052 = $120 ? $122 : 0;
$123 = ((($0)) + 216|0);
$124 = HEAP32[$123>>2]|0;
$125 = $124 & 67109888;
$126 = ($125|0)!=(0);
$127 = ($$052&255)<(5);
$or$cond54 = $126 & $127;
$$153 = $or$cond54 ? 5 : $$052;
$128 = ($$153&255)>(8);
$$$153 = $128 ? 8 : $$153;
$129 = $$$153&255;
$130 = ((($0)) + 484|0);
HEAP32[$130>>2] = $129;
$131 = ($125|0)==(0);
$132 = ((($0)) + 496|0);
$133 = ((($0)) + 488|0);
$134 = HEAP32[$133>>2]|0;
$135 = ($134|0)>(0);
if ($131) {
do {
if ($135) {
$192 = ((($0)) + 824|0);
$193 = HEAP32[$192>>2]|0;
$194 = ($193|0)==(0);
if (!($194)) {
$195 = (+($193|0));
$196 = 1.0E+15 / $195;
$197 = (+($134|0));
$198 = $196 / $197;
$199 = $198 + 0.5;
$200 = (+Math_floor((+$199)));
$201 = (~~(($200)));
$notlhs$i85 = !($200 <= 2147483647.0);
$notrhs$i86 = !($200 >= -2147483648.0);
$not$or$cond3$i87 = $notrhs$i86 | $notlhs$i85;
if (!($not$or$cond3$i87)) {
$202 = $201;
break;
}
}
$202 = 0;
} else {
$202 = 100000;
}
} while(0);
_png_build_16bit_table($0,$132,$129,$202);
} else {
if ($135) {
$136 = ((($0)) + 824|0);
$137 = HEAP32[$136>>2]|0;
$138 = (+($137|0));
$139 = $138 * 1.0000000000000001E-5;
$140 = (+($134|0));
$141 = $140 * $139;
$142 = $141 + 0.5;
$143 = (+Math_floor((+$142)));
$144 = $143 <= 2147483647.0;
$145 = $143 >= -2147483648.0;
$or$cond$i80 = $144 & $145;
$146 = (~~(($143)));
$147 = (+($146|0));
$$op = $147 * 1.0000000000000001E-5;
$phitmp94 = $or$cond$i80 ? $$op : 0.0;
$167 = $phitmp94;
} else {
$167 = 1.0;
}
$148 = (8 - ($129))|0;
$149 = 1 << $148;
$150 = (16 - ($129))|0;
$151 = $149 << 2;
$152 = (_png_calloc($0,$151)|0);
HEAP32[$132>>2] = $152;
$$056$i = 0;
while(1) {
$156 = (_png_malloc($0,512)|0);
$157 = (($152) + ($$056$i<<2)|0);
HEAP32[$157>>2] = $156;
$158 = (($$056$i) + 1)|0;
$159 = ($158>>>0)<($149>>>0);
if ($159) {
$$056$i = $158;
} else {
break;
}
}
$153 = 1 << $150;
$154 = (($153) + -1)|0;
$155 = 255 >>> $129;
$$04754$i = 0;$$155$i = 0;
while(1) {
$162 = ($$155$i*257)|0;
$163 = $162&65535;
$164 = (($162) + 128)|0;
$165 = (+($164|0));
$166 = $165 / 65535.0;
$168 = (+Math_pow((+$166),(+$167)));
$169 = $168 * 65535.0;
$170 = $169 + 0.5;
$171 = (+Math_floor((+$170)));
$172 = (~~(($171))&65535);
$173 = $172&65535;
$174 = Math_imul($173, $154)|0;
$175 = (($174) + 32768)|0;
$176 = (($175>>>0) / 65535)&-1;
$177 = (($176) + 1)|0;
$178 = ($$04754$i>>>0)<($177>>>0);
if ($178) {
$$14851$i = $$04754$i;
while(1) {
$179 = $$14851$i >>> $148;
$180 = $$14851$i & $155;
$181 = (($152) + ($180<<2)|0);
$182 = HEAP32[$181>>2]|0;
$183 = (($182) + ($179<<1)|0);
HEAP16[$183>>1] = $163;
$184 = (($$14851$i) + 1)|0;
$exitcond57$i = ($184|0)==($177|0);
if ($exitcond57$i) {
$$148$lcssa$i = $177;
break;
} else {
$$14851$i = $184;
}
}
} else {
$$148$lcssa$i = $$04754$i;
}
$185 = (($$155$i) + 1)|0;
$exitcond58$i = ($185|0)==(255);
if ($exitcond58$i) {
break;
} else {
$$04754$i = $$148$lcssa$i;$$155$i = $185;
}
}
$160 = $149 << 8;
$161 = ($$148$lcssa$i>>>0)<($160>>>0);
if ($161) {
$$250$i = $$148$lcssa$i;
while(1) {
$186 = $$250$i >>> $148;
$187 = $$250$i & $155;
$188 = (($152) + ($187<<2)|0);
$189 = HEAP32[$188>>2]|0;
$190 = (($189) + ($186<<1)|0);
HEAP16[$190>>1] = -1;
$191 = (($$250$i) + 1)|0;
$exitcond$i83 = ($191|0)==($160|0);
if ($exitcond$i83) {
break;
} else {
$$250$i = $191;
}
}
}
}
$203 = HEAP32[$123>>2]|0;
$204 = $203 & 6291584;
$205 = ($204|0)==(0);
if ($205) {
return;
}
$206 = ((($0)) + 512|0);
$207 = ((($0)) + 824|0);
$208 = HEAP32[$207>>2]|0;
$209 = (+($208|0));
$210 = 1.0E+10 / $209;
$211 = $210 + 0.5;
$212 = (+Math_floor((+$211)));
$213 = $212 <= 2147483647.0;
$214 = $212 >= -2147483648.0;
$or$cond$i90 = $213 & $214;
$215 = (~~(($212)));
$$0$i91 = $or$cond$i90 ? $215 : 0;
_png_build_16bit_table($0,$206,$129,$$0$i91);
$216 = ((($0)) + 508|0);
$217 = HEAP32[$133>>2]|0;
$218 = ($217|0)>(0);
if ($218) {
$219 = (+($217|0));
$220 = 1.0E+10 / $219;
$221 = $220 + 0.5;
$222 = (+Math_floor((+$221)));
$223 = $222 <= 2147483647.0;
$224 = $222 >= -2147483648.0;
$or$cond$i92 = $223 & $224;
$225 = (~~(($222)));
$$0$i93 = $or$cond$i92 ? $225 : 0;
$227 = $$0$i93;
} else {
$226 = HEAP32[$207>>2]|0;
$227 = $226;
}
_png_build_16bit_table($0,$216,$129,$227);
return;
}
$9 = ((($0)) + 488|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)>(0);
do {
if ($11) {
$12 = ((($0)) + 824|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0);
if (!($14)) {
$15 = (+($13|0));
$16 = 1.0E+15 / $15;
$17 = (+($10|0));
$18 = $16 / $17;
$19 = $18 + 0.5;
$20 = (+Math_floor((+$19)));
$21 = (~~(($20)));
$notlhs$i = !($20 <= 2147483647.0);
$notrhs$i = !($20 >= -2147483648.0);
$not$or$cond3$i = $notrhs$i | $notlhs$i;
if (!($not$or$cond3$i)) {
$23 = $21;
break;
}
}
$23 = 0;
} else {
$23 = 100000;
}
} while(0);
$22 = (_png_malloc($0,256)|0);
HEAP32[$2>>2] = $22;
$$off$i$i = (($23) + -95000)|0;
$24 = ($$off$i$i>>>0)>(10000);
if ($24) {
$25 = (+($23|0));
$26 = $25 * 1.0000000000000001E-5;
$$019$i = 0;
while(1) {
$$off$i16$i = (($$019$i) + -1)|0;
$27 = ($$off$i16$i>>>0)<(254);
if ($27) {
$28 = (+($$019$i|0));
$29 = $28 / 255.0;
$30 = (+Math_pow((+$29),(+$26)));
$31 = $30 * 255.0;
$32 = $31 + 0.5;
$33 = (+Math_floor((+$32)));
$34 = (~~(($33))&255);
$$0$i$i = $34;
} else {
$35 = $$019$i&255;
$$0$i$i = $35;
}
$36 = (($22) + ($$019$i)|0);
HEAP8[$36>>0] = $$0$i$i;
$37 = (($$019$i) + 1)|0;
$exitcond$i = ($37|0)==(256);
if ($exitcond$i) {
break;
} else {
$$019$i = $37;
}
}
} else {
$$120$i = 0;
while(1) {
$38 = $$120$i&255;
$39 = (($22) + ($$120$i)|0);
HEAP8[$39>>0] = $38;
$40 = (($$120$i) + 1)|0;
$exitcond22$i = ($40|0)==(256);
if ($exitcond22$i) {
break;
} else {
$$120$i = $40;
}
}
}
$41 = ((($0)) + 216|0);
$42 = HEAP32[$41>>2]|0;
$43 = $42 & 6291584;
$44 = ($43|0)==(0);
if ($44) {
return;
}
$45 = ((($0)) + 504|0);
$46 = ((($0)) + 824|0);
$47 = HEAP32[$46>>2]|0;
$48 = (+($47|0));
$49 = 1.0E+10 / $48;
$50 = $49 + 0.5;
$51 = (+Math_floor((+$50)));
$52 = $51 <= 2147483647.0;
$53 = $51 >= -2147483648.0;
$or$cond$i55 = $52 & $53;
$54 = (~~(($51)));
$$0$i = $or$cond$i55 ? $54 : 0;
$55 = (_png_malloc($0,256)|0);
HEAP32[$45>>2] = $55;
$$off$i$i56 = (($$0$i) + -95000)|0;
$56 = ($$off$i$i56>>>0)>(10000);
if ($56) {
$57 = (+($$0$i|0));
$58 = $57 * 1.0000000000000001E-5;
$$019$i58 = 0;
while(1) {
$$off$i16$i59 = (($$019$i58) + -1)|0;
$59 = ($$off$i16$i59>>>0)<(254);
if ($59) {
$60 = (+($$019$i58|0));
$61 = $60 / 255.0;
$62 = (+Math_pow((+$61),(+$58)));
$63 = $62 * 255.0;
$64 = $63 + 0.5;
$65 = (+Math_floor((+$64)));
$66 = (~~(($65))&255);
$$0$i$i60 = $66;
} else {
$67 = $$019$i58&255;
$$0$i$i60 = $67;
}
$68 = (($55) + ($$019$i58)|0);
HEAP8[$68>>0] = $$0$i$i60;
$69 = (($$019$i58) + 1)|0;
$exitcond$i61 = ($69|0)==(256);
if ($exitcond$i61) {
break;
} else {
$$019$i58 = $69;
}
}
} else {
$$120$i63 = 0;
while(1) {
$70 = $$120$i63&255;
$71 = (($55) + ($$120$i63)|0);
HEAP8[$71>>0] = $70;
$72 = (($$120$i63) + 1)|0;
$exitcond22$i64 = ($72|0)==(256);
if ($exitcond22$i64) {
break;
} else {
$$120$i63 = $72;
}
}
}
$73 = ((($0)) + 500|0);
$74 = HEAP32[$9>>2]|0;
$75 = ($74|0)>(0);
if ($75) {
$76 = (+($74|0));
$77 = 1.0E+10 / $76;
$78 = $77 + 0.5;
$79 = (+Math_floor((+$78)));
$80 = $79 <= 2147483647.0;
$81 = $79 >= -2147483648.0;
$or$cond$i67 = $80 & $81;
$82 = (~~(($79)));
$$0$i68 = $or$cond$i67 ? $82 : 0;
$85 = $$0$i68;
} else {
$83 = HEAP32[$46>>2]|0;
$85 = $83;
}
$84 = (_png_malloc($0,256)|0);
HEAP32[$73>>2] = $84;
$$off$i$i69 = (($85) + -95000)|0;
$86 = ($$off$i$i69>>>0)>(10000);
if (!($86)) {
$$120$i76 = 0;
while(1) {
$100 = $$120$i76&255;
$101 = (($84) + ($$120$i76)|0);
HEAP8[$101>>0] = $100;
$102 = (($$120$i76) + 1)|0;
$exitcond22$i77 = ($102|0)==(256);
if ($exitcond22$i77) {
break;
} else {
$$120$i76 = $102;
}
}
return;
}
$87 = (+($85|0));
$88 = $87 * 1.0000000000000001E-5;
$$019$i71 = 0;
while(1) {
$$off$i16$i72 = (($$019$i71) + -1)|0;
$89 = ($$off$i16$i72>>>0)<(254);
if ($89) {
$90 = (+($$019$i71|0));
$91 = $90 / 255.0;
$92 = (+Math_pow((+$91),(+$88)));
$93 = $92 * 255.0;
$94 = $93 + 0.5;
$95 = (+Math_floor((+$94)));
$96 = (~~(($95))&255);
$$0$i$i73 = $96;
} else {
$97 = $$019$i71&255;
$$0$i$i73 = $97;
}
$98 = (($84) + ($$019$i71)|0);
HEAP8[$98>>0] = $$0$i$i73;
$99 = (($$019$i71) + 1)|0;
$exitcond$i74 = ($99|0)==(256);
if ($exitcond$i74) {
break;
} else {
$$019$i71 = $99;
}
}
return;
}
function _png_reciprocal2($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $not$or$cond3 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)!=(0);
$3 = ($1|0)!=(0);
$or$cond = $2 & $3;
if ($or$cond) {
$4 = (+($0|0));
$5 = 1.0E+15 / $4;
$6 = (+($1|0));
$7 = $5 / $6;
$8 = $7 + 0.5;
$9 = (+Math_floor((+$8)));
$10 = (~~(($9)));
$notlhs = !($9 <= 2147483647.0);
$notrhs = !($9 >= -2147483648.0);
$not$or$cond3 = $notrhs | $notlhs;
if (!($not$or$cond3)) {
$$1 = $10;
return ($$1|0);
}
}
$$1 = 0;
return ($$1|0);
}
function _png_gamma_8bit_correct($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$off = 0, $10 = 0.0, $11 = 0, $12 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$$off = (($0) + -1)|0;
$2 = ($$off>>>0)<(254);
if ($2) {
$3 = (+($0|0));
$4 = $3 / 255.0;
$5 = (+($1|0));
$6 = $5 * 1.0000000000000001E-5;
$7 = (+Math_pow((+$4),(+$6)));
$8 = $7 * 255.0;
$9 = $8 + 0.5;
$10 = (+Math_floor((+$9)));
$11 = (~~(($10))&255);
$$0 = $11;
return ($$0|0);
} else {
$12 = $0&255;
$$0 = $12;
return ($$0|0);
}
return (0)|0;
}
function _png_gamma_correct($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$0$i = 0, $$off$i = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0;
var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 436|0);
$4 = HEAP8[$3>>0]|0;
$5 = ($4<<24>>24)==(8);
$$off$i = (($1) + -1)|0;
if ($5) {
$6 = ($$off$i>>>0)<(254);
if ($6) {
$7 = (+($1|0));
$8 = $7 / 255.0;
$9 = (+($2|0));
$10 = $9 * 1.0000000000000001E-5;
$11 = (+Math_pow((+$8),(+$10)));
$12 = $11 * 255.0;
$13 = $12 + 0.5;
$14 = (+Math_floor((+$13)));
$15 = (~~(($14))&255);
$$0$i = $15;
} else {
$16 = $1&255;
$$0$i = $16;
}
$17 = $$0$i&255;
$$0 = $17;
return ($$0|0);
} else {
$18 = ($$off$i>>>0)<(65534);
if ($18) {
$19 = (+($1|0));
$20 = $19 / 65535.0;
$21 = (+($2|0));
$22 = $21 * 1.0000000000000001E-5;
$23 = (+Math_pow((+$20),(+$22)));
$24 = $23 * 65535.0;
$25 = $24 + 0.5;
$26 = (+Math_floor((+$25)));
$27 = (~~(($26))&65535);
$$0 = $27;
return ($$0|0);
} else {
$28 = $1&65535;
$$0 = $28;
return ($$0|0);
}
}
return (0)|0;
}
function _png_destroy_gamma_table($0) {
$0 = $0|0;
var $$pre = 0, $$pre60 = 0, $$pre61 = 0, $$pre63 = 0, $$pre64 = 0, $$pre66 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 492|0);
$2 = HEAP32[$1>>2]|0;
_png_free($0,$2);
HEAP32[$1>>2] = 0;
$3 = ((($0)) + 496|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if (!($5)) {
$6 = ((($0)) + 484|0);
$7 = HEAP32[$6>>2]|0;
$8 = (8 - ($7))|0;
$9 = 1 << $8;
$10 = ($8|0)==(31);
if ($10) {
$18 = $4;
} else {
$11 = HEAP32[$4>>2]|0;
_png_free($0,$11);
$12 = ($9|0)>(1);
if ($12) {
$14 = 1;
while(1) {
$$pre = HEAP32[$3>>2]|0;
$13 = (($$pre) + ($14<<2)|0);
$15 = HEAP32[$13>>2]|0;
_png_free($0,$15);
$16 = (($14) + 1)|0;
$17 = ($16|0)<($9|0);
if ($17) {
$14 = $16;
} else {
break;
}
}
}
$$pre60 = HEAP32[$3>>2]|0;
$18 = $$pre60;
}
_png_free($0,$18);
HEAP32[$3>>2] = 0;
}
$19 = ((($0)) + 500|0);
$20 = HEAP32[$19>>2]|0;
_png_free($0,$20);
HEAP32[$19>>2] = 0;
$21 = ((($0)) + 504|0);
$22 = HEAP32[$21>>2]|0;
_png_free($0,$22);
HEAP32[$21>>2] = 0;
$23 = ((($0)) + 508|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==(0|0);
if (!($25)) {
$26 = ((($0)) + 484|0);
$27 = HEAP32[$26>>2]|0;
$28 = (8 - ($27))|0;
$29 = 1 << $28;
$30 = ($28|0)==(31);
if ($30) {
$38 = $24;
} else {
$31 = HEAP32[$24>>2]|0;
_png_free($0,$31);
$32 = ($29|0)>(1);
if ($32) {
$34 = 1;
while(1) {
$$pre61 = HEAP32[$23>>2]|0;
$33 = (($$pre61) + ($34<<2)|0);
$35 = HEAP32[$33>>2]|0;
_png_free($0,$35);
$36 = (($34) + 1)|0;
$37 = ($36|0)<($29|0);
if ($37) {
$34 = $36;
} else {
break;
}
}
}
$$pre63 = HEAP32[$23>>2]|0;
$38 = $$pre63;
}
_png_free($0,$38);
HEAP32[$23>>2] = 0;
}
$39 = ((($0)) + 512|0);
$40 = HEAP32[$39>>2]|0;
$41 = ($40|0)==(0|0);
if ($41) {
return;
}
$42 = ((($0)) + 484|0);
$43 = HEAP32[$42>>2]|0;
$44 = (8 - ($43))|0;
$45 = 1 << $44;
$46 = ($44|0)==(31);
if ($46) {
$54 = $40;
} else {
$47 = HEAP32[$40>>2]|0;
_png_free($0,$47);
$48 = ($45|0)>(1);
if ($48) {
$50 = 1;
while(1) {
$$pre64 = HEAP32[$39>>2]|0;
$49 = (($$pre64) + ($50<<2)|0);
$51 = HEAP32[$49>>2]|0;
_png_free($0,$51);
$52 = (($50) + 1)|0;
$53 = ($52|0)<($45|0);
if ($53) {
$50 = $52;
} else {
break;
}
}
}
$$pre66 = HEAP32[$39>>2]|0;
$54 = $$pre66;
}
_png_free($0,$54);
HEAP32[$39>>2] = 0;
return;
}
function _png_build_16bit_table($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$05964 = 0, $$05964$us = 0, $$06066 = 0, $$06066$us = 0, $$06165$us = 0, $$off$i = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0;
var $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond75 = 0, $exitcond76 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (8 - ($2))|0;
$5 = 1 << $4;
$6 = (16 - ($2))|0;
$7 = 1 << $6;
$8 = (($7) + -1)|0;
$9 = (+($8|0));
$10 = 1.0 / $9;
$11 = (15 - ($2))|0;
$12 = 1 << $11;
$13 = $5 << 2;
$14 = (_png_calloc($0,$13)|0);
HEAP32[$1>>2] = $14;
$$off$i = (($3) + -95000)|0;
$15 = ($$off$i>>>0)>(10000);
$16 = (+($3|0));
$17 = $16 * 1.0000000000000001E-5;
$18 = ($2|0)==(0);
if ($15) {
$$06066$us = 0;
while(1) {
$19 = (_png_malloc($0,512)|0);
$20 = (($14) + ($$06066$us<<2)|0);
HEAP32[$20>>2] = $19;
$$06165$us = 0;
while(1) {
$21 = $$06165$us << $4;
$22 = (($21) + ($$06066$us))|0;
$23 = (+($22>>>0));
$24 = $10 * $23;
$25 = (+Math_pow((+$24),(+$17)));
$26 = $25 * 65535.0;
$27 = $26 + 0.5;
$28 = (+Math_floor((+$27)));
$29 = (~~(($28))&65535);
$30 = (($19) + ($$06165$us<<1)|0);
HEAP16[$30>>1] = $29;
$31 = (($$06165$us) + 1)|0;
$exitcond = ($31|0)==(256);
if ($exitcond) {
break;
} else {
$$06165$us = $31;
}
}
$32 = (($$06066$us) + 1)|0;
$33 = ($32>>>0)<($5>>>0);
if ($33) {
$$06066$us = $32;
} else {
break;
}
}
return;
} else {
$$06066 = 0;
}
while(1) {
$34 = (_png_malloc($0,512)|0);
$35 = (($14) + ($$06066<<2)|0);
HEAP32[$35>>2] = $34;
if ($18) {
$$05964$us = 0;
while(1) {
$36 = $$05964$us << $4;
$37 = (($36) + ($$06066))|0;
$38 = $37&65535;
$39 = (($34) + ($$05964$us<<1)|0);
HEAP16[$39>>1] = $38;
$40 = (($$05964$us) + 1)|0;
$exitcond76 = ($40|0)==(256);
if ($exitcond76) {
break;
} else {
$$05964$us = $40;
}
}
} else {
$$05964 = 0;
while(1) {
$41 = $$05964 << $4;
$42 = (($41) + ($$06066))|0;
$43 = ($42*65535)|0;
$44 = (($43) + ($12))|0;
$45 = (($44>>>0) / ($8>>>0))&-1;
$46 = $45&65535;
$47 = (($34) + ($$05964<<1)|0);
HEAP16[$47>>1] = $46;
$48 = (($$05964) + 1)|0;
$exitcond75 = ($48|0)==(256);
if ($exitcond75) {
break;
} else {
$$05964 = $48;
}
}
}
$49 = (($$06066) + 1)|0;
$50 = ($49>>>0)<($5>>>0);
if ($50) {
$$06066 = $49;
} else {
break;
}
}
return;
}
function _png_read_row($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $$0673$i$lver$orig = 0, $$0682$i$lver$orig = 0, $$0715$i$lver$orig = 0, $$0724$i$lver$orig = 0, $$1$i = 0, $$idx$val = 0, $$idx98$val = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre102 = 0, $$pre103 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0;
var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0;
var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0;
var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0;
var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i$lver$orig = 0, $exitcond8$i$lver$orig = 0, $or$cond = 0, $or$cond97 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ($0|0)==(0|0);
if ($4) {
STACKTOP = sp;return;
}
$5 = ((($0)) + 212|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 64;
$8 = ($7|0)==(0);
if ($8) {
_png_read_start_row($0);
}
$9 = ((($0)) + 368|0);
$10 = HEAP32[$9>>2]|0;
HEAP32[$3>>2] = $10;
$11 = ((($0)) + 435|0);
$12 = HEAP8[$11>>0]|0;
$13 = ((($3)) + 8|0);
HEAP8[$13>>0] = $12;
$14 = ((($0)) + 436|0);
$15 = HEAP32[$14>>2]|0;
$16 = $15&255;
$17 = ((($3)) + 9|0);
HEAP8[$17>>0] = $16;
$18 = $15 >>> 24;
$19 = $18&255;
$20 = ((($3)) + 10|0);
HEAP8[$20>>0] = $19;
$21 = $15 >>> 16;
$22 = $21&255;
$23 = ((($3)) + 11|0);
HEAP8[$23>>0] = $22;
$24 = $21 & 255;
$25 = ($22&255)>(7);
if ($25) {
$26 = $24 >>> 3;
$27 = Math_imul($10, $26)|0;
$32 = $27;
} else {
$28 = Math_imul($10, $24)|0;
$29 = (($28) + 7)|0;
$30 = $29 >>> 3;
$32 = $30;
}
$31 = ((($3)) + 4|0);
HEAP32[$31>>2] = $32;
$33 = ((($0)) + 372|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($0)) + 432|0);
$36 = HEAP16[$35>>1]|0;
$37 = $36&255;
$38 = ($37<<24>>24)==(0);
$39 = ($36&65535) >>> 8;
$40 = $39&255;
L11: do {
if (!($38)) {
$41 = ((($0)) + 216|0);
$42 = HEAP32[$41>>2]|0;
$43 = $42 & 2;
$44 = ($43|0)==(0);
if (!($44)) {
switch ($40<<24>>24) {
case 0: {
$45 = $34 & 7;
$46 = ($45|0)==(0);
if ($46) {
break L11;
}
$47 = ($2|0)==(0|0);
if (!($47)) {
_png_combine_row($0,$2,1);
}
_png_read_finish_row($0);
STACKTOP = sp;return;
break;
}
case 1: {
$48 = $34 & 7;
$49 = ($48|0)==(0);
if ($49) {
$50 = ((($0)) + 348|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51>>>0)<(5);
if (!($52)) {
break L11;
}
}
$53 = ($2|0)==(0|0);
if (!($53)) {
_png_combine_row($0,$2,1);
}
_png_read_finish_row($0);
STACKTOP = sp;return;
break;
}
case 2: {
$54 = $34 & 7;
$55 = ($54|0)==(4);
if ($55) {
break L11;
}
$56 = ($2|0)==(0|0);
$57 = $34 & 4;
$58 = ($57|0)==(0);
$or$cond = $56 | $58;
if (!($or$cond)) {
_png_combine_row($0,$2,1);
}
_png_read_finish_row($0);
STACKTOP = sp;return;
break;
}
case 3: {
$59 = $34 & 3;
$60 = ($59|0)==(0);
if ($60) {
$61 = ((($0)) + 348|0);
$62 = HEAP32[$61>>2]|0;
$63 = ($62>>>0)<(3);
if (!($63)) {
break L11;
}
}
$64 = ($2|0)==(0|0);
if (!($64)) {
_png_combine_row($0,$2,1);
}
_png_read_finish_row($0);
STACKTOP = sp;return;
break;
}
case 4: {
$65 = $34 & 3;
$66 = ($65|0)==(2);
if ($66) {
break L11;
}
$67 = ($2|0)==(0|0);
$68 = $34 & 2;
$69 = ($68|0)==(0);
$or$cond97 = $67 | $69;
if (!($or$cond97)) {
_png_combine_row($0,$2,1);
}
_png_read_finish_row($0);
STACKTOP = sp;return;
break;
}
case 5: {
$70 = $34 & 1;
$71 = ($70|0)==(0);
if ($71) {
$72 = ((($0)) + 348|0);
$73 = HEAP32[$72>>2]|0;
$74 = ($73>>>0)<(2);
if (!($74)) {
break L11;
}
}
$75 = ($2|0)==(0|0);
if (!($75)) {
_png_combine_row($0,$2,1);
}
_png_read_finish_row($0);
STACKTOP = sp;return;
break;
}
default: {
$76 = $34 & 1;
$77 = ($76|0)==(0);
if (!($77)) {
break L11;
}
_png_read_finish_row($0);
STACKTOP = sp;return;
}
}
}
}
} while(0);
$78 = ((($0)) + 208|0);
$79 = HEAP32[$78>>2]|0;
$80 = $79 & 4;
$81 = ($80|0)==(0);
if ($81) {
_png_error($0,25864);
// unreachable;
}
$82 = ((($0)) + 384|0);
$83 = HEAP32[$82>>2]|0;
$84 = (($32) + 1)|0;
_png_read_IDAT_data($0,$83,$84);
$85 = HEAP32[$82>>2]|0;
$86 = HEAP8[$85>>0]|0;
$87 = $86&255;
$88 = ($86<<24>>24)==(0);
do {
if ($88) {
$$pre103 = ((($0)) + 380|0);
$$pre$phiZ2D = $$pre103;$96 = $32;$97 = $85;
} else {
$89 = ($86&255)<(5);
if ($89) {
$90 = ((($85)) + 1|0);
$91 = ((($0)) + 380|0);
$92 = HEAP32[$91>>2]|0;
$93 = ((($92)) + 1|0);
_png_read_filter_row($0,$3,$90,$93,$87);
$$pre = HEAP32[$82>>2]|0;
$$pre102 = HEAP32[$31>>2]|0;
$$pre$phiZ2D = $91;$96 = $$pre102;$97 = $$pre;
break;
} else {
_png_error($0,25897);
// unreachable;
}
}
} while(0);
$94 = HEAP32[$$pre$phiZ2D>>2]|0;
$95 = (($96) + 1)|0;
_memcpy(($94|0),($97|0),($95|0))|0;
$98 = ((($0)) + 708|0);
$99 = HEAP32[$98>>2]|0;
$100 = $99 & 4;
$101 = ($100|0)==(0);
L71: do {
if (!($101)) {
$102 = ((($0)) + 712|0);
$103 = HEAP8[$102>>0]|0;
$104 = ($103<<24>>24)==(64);
if ($104) {
$105 = HEAP32[$82>>2]|0;
$106 = ((($105)) + 1|0);
$$idx$val = HEAP32[$3>>2]|0;
$$idx98$val = HEAP16[$13>>1]|0;
$107 = $$idx98$val&255;
$108 = $107 & 2;
$109 = ($108<<24>>24)==(0);
if (!($109)) {
$110 = ($$idx98$val&65535) >>> 8;
$111 = $110&255;
switch ($111<<24>>24) {
case 8: {
switch ($107<<24>>24) {
case 2: {
$$0$i = 3;
break;
}
case 6: {
$$0$i = 4;
break;
}
default: {
break L71;
}
}
$112 = ($$idx$val|0)==(0);
if ($112) {
break L71;
} else {
$$0673$i$lver$orig = $106;$$0682$i$lver$orig = 0;
}
while(1) {
$113 = HEAP8[$$0673$i$lver$orig>>0]|0;
$114 = $113&255;
$115 = ((($$0673$i$lver$orig)) + 1|0);
$116 = HEAP8[$115>>0]|0;
$117 = $116&255;
$118 = (($117) + ($114))|0;
$119 = $118&255;
HEAP8[$$0673$i$lver$orig>>0] = $119;
$120 = ((($$0673$i$lver$orig)) + 2|0);
$121 = HEAP8[$120>>0]|0;
$122 = $121&255;
$123 = (($122) + ($117))|0;
$124 = $123&255;
HEAP8[$120>>0] = $124;
$125 = (($$0682$i$lver$orig) + 1)|0;
$126 = (($$0673$i$lver$orig) + ($$0$i)|0);
$exitcond$i$lver$orig = ($125|0)==($$idx$val|0);
if ($exitcond$i$lver$orig) {
break;
} else {
$$0673$i$lver$orig = $126;$$0682$i$lver$orig = $125;
}
}
break;
}
case 16: {
switch ($107<<24>>24) {
case 2: {
$$1$i = 6;
break;
}
case 6: {
$$1$i = 8;
break;
}
default: {
break L71;
}
}
$127 = ($$idx$val|0)==(0);
if ($127) {
break L71;
} else {
$$0715$i$lver$orig = $106;$$0724$i$lver$orig = 0;
}
while(1) {
$128 = HEAP8[$$0715$i$lver$orig>>0]|0;
$129 = $128&255;
$130 = $129 << 8;
$131 = ((($$0715$i$lver$orig)) + 1|0);
$132 = HEAP8[$131>>0]|0;
$133 = $132&255;
$134 = $130 | $133;
$135 = ((($$0715$i$lver$orig)) + 2|0);
$136 = HEAP8[$135>>0]|0;
$137 = $136&255;
$138 = $137 << 8;
$139 = ((($$0715$i$lver$orig)) + 3|0);
$140 = HEAP8[$139>>0]|0;
$141 = $140&255;
$142 = $138 | $141;
$143 = ((($$0715$i$lver$orig)) + 4|0);
$144 = HEAP8[$143>>0]|0;
$145 = $144&255;
$146 = $145 << 8;
$147 = ((($$0715$i$lver$orig)) + 5|0);
$148 = HEAP8[$147>>0]|0;
$149 = $148&255;
$150 = $146 | $149;
$151 = (($142) + ($134))|0;
$152 = (($150) + ($142))|0;
$153 = $151 >>> 8;
$154 = $153&255;
HEAP8[$$0715$i$lver$orig>>0] = $154;
$155 = $151&255;
HEAP8[$131>>0] = $155;
$156 = $152 >>> 8;
$157 = $156&255;
HEAP8[$143>>0] = $157;
$158 = $152&255;
HEAP8[$147>>0] = $158;
$159 = (($$0724$i$lver$orig) + 1)|0;
$160 = (($$0715$i$lver$orig) + ($$1$i)|0);
$exitcond8$i$lver$orig = ($159|0)==($$idx$val|0);
if ($exitcond8$i$lver$orig) {
break;
} else {
$$0715$i$lver$orig = $160;$$0724$i$lver$orig = $159;
}
}
break;
}
default: {
break L71;
}
}
}
}
}
} while(0);
$161 = ((($0)) + 216|0);
$162 = HEAP32[$161>>2]|0;
$163 = ($162|0)==(0);
if (!($163)) {
_png_do_read_transformations($0,$3);
}
$164 = ((($0)) + 443|0);
$165 = HEAP8[$164>>0]|0;
$166 = ($165<<24>>24)==(0);
$167 = HEAP8[$23>>0]|0;
if ($166) {
HEAP8[$164>>0] = $167;
$168 = ((($0)) + 442|0);
$169 = HEAP8[$168>>0]|0;
$170 = ($167&255)>($169&255);
if ($170) {
_png_error($0,25923);
// unreachable;
}
} else {
$171 = ($165<<24>>24)==($167<<24>>24);
if (!($171)) {
_png_error($0,25947);
// unreachable;
}
}
$172 = HEAP16[$35>>1]|0;
$173 = $172&255;
$174 = ($173<<24>>24)==(0);
$175 = ($172&65535) >>> 8;
$176 = $175&255;
if ($174) {
label = 73;
} else {
$177 = HEAP32[$161>>2]|0;
$178 = $177 & 2;
$179 = ($178|0)==(0);
if ($179) {
label = 73;
} else {
$180 = ($176&255)<(6);
if ($180) {
$181 = $175&65535;
$182 = HEAP32[$82>>2]|0;
$183 = ((($182)) + 1|0);
_png_do_read_interlace($3,$183,$181,$177);
}
$184 = ($2|0)==(0|0);
if (!($184)) {
_png_combine_row($0,$2,1);
}
$185 = ($1|0)==(0|0);
if (!($185)) {
_png_combine_row($0,$1,0);
}
}
}
if ((label|0) == 73) {
$186 = ($1|0)==(0|0);
if (!($186)) {
_png_combine_row($0,$1,-1);
}
$187 = ($2|0)==(0|0);
if (!($187)) {
_png_combine_row($0,$2,-1);
}
}
_png_read_finish_row($0);
$188 = ((($0)) + 544|0);
$189 = HEAP32[$188>>2]|0;
$190 = ($189|0)==(0|0);
if ($190) {
STACKTOP = sp;return;
}
$191 = HEAP32[$33>>2]|0;
$192 = ((($0)) + 433|0);
$193 = HEAP8[$192>>0]|0;
$194 = $193&255;
FUNCTION_TABLE_viii[$189 & 127]($0,$191,$194);
STACKTOP = sp;return;
}
function _png_combine_row($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$$1283 = 0, $$0 = 0, $$0252 = 0, $$0253 = 0, $$0256 = 0, $$0259 = 0, $$0260 = 0, $$0263 = 0, $$0266 = 0, $$0274 = 0, $$0282 = 0, $$0284 = 0, $$0284$ph = 0, $$0284$ph$in = 0, $$0285 = 0, $$0289 = 0, $$0290 = 0, $$10 = 0, $$11339 = 0;
var $$1254 = 0, $$1257 = 0, $$1261 = 0, $$1264 = 0, $$1283338 = 0, $$2268343 = 0, $$2276342 = 0, $$2344 = 0, $$3 = 0, $$3269 = 0, $$3277 = 0, $$4270347 = 0, $$4278346 = 0, $$4348 = 0, $$5 = 0, $$5271 = 0, $$5279 = 0, $$6 = 0, $$6272 = 0, $$7273340 = 0;
var $$7281 = 0, $$7341 = 0, $$8 = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
var $222 = 0, $223 = 0, $224 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $trunc = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 443|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4&255;
$6 = ((($0)) + 384|0);
$7 = HEAP32[$6>>2]|0;
$8 = ((($7)) + 1|0);
$9 = ((($0)) + 348|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($0)) + 433|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12&255;
$14 = ($4<<24>>24)==(0);
if ($14) {
_png_error($0,26218);
// unreachable;
}
$15 = ((($0)) + 404|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($16|0)==(0);
if (!($17)) {
$18 = ($4&255)>(7);
if ($18) {
$19 = $5 >>> 3;
$20 = Math_imul($10, $19)|0;
$25 = $20;
} else {
$21 = Math_imul($10, $5)|0;
$22 = (($21) + 7)|0;
$23 = $22 >>> 3;
$25 = $23;
}
$24 = ($16|0)==($25|0);
if (!($24)) {
_png_error($0,26243);
// unreachable;
}
}
$26 = ($10|0)==(0);
if ($26) {
_png_error($0,26279);
// unreachable;
}
$27 = Math_imul($10, $5)|0;
$28 = $27 & 7;
$29 = ($28|0)==(0);
do {
if ($29) {
$$0285 = 0;$$0289 = 0;$$0290 = 0;
} else {
$30 = ($4&255)>(7);
$31 = $5 >>> 3;
$32 = Math_imul($10, $31)|0;
$33 = (($27) + 7)|0;
$34 = $33 >>> 3;
$35 = $30 ? $32 : $34;
$36 = (($1) + ($35)|0);
$37 = ((($36)) + -1|0);
$38 = HEAP8[$37>>0]|0;
$39 = ((($0)) + 216|0);
$40 = HEAP32[$39>>2]|0;
$41 = $40 & 65536;
$42 = ($41|0)==(0);
if ($42) {
$44 = 255 >>> $28;
$$0285 = $37;$$0289 = $44;$$0290 = $38;
break;
} else {
$43 = 255 << $28;
$$0285 = $37;$$0289 = $43;$$0290 = $38;
break;
}
}
} while(0);
$45 = ((($0)) + 432|0);
$46 = HEAP8[$45>>0]|0;
$47 = ($46<<24>>24)==(0);
L21: do {
if ($47) {
label = 64;
} else {
$48 = ((($0)) + 216|0);
$49 = HEAP32[$48>>2]|0;
$50 = $49 & 2;
$51 = ($50|0)!=(0);
$52 = ($12&255)<(6);
$or$cond = $52 & $51;
if ($or$cond) {
switch ($2|0) {
case 0: {
$$pre = $13 & 1;
$$pre$phiZ2D = $$pre;
break;
}
case 1: {
$53 = $13 & 1;
$54 = ($53|0)==(0);
if ($54) {
label = 64;
break L21;
} else {
$$pre$phiZ2D = 1;
}
break;
}
default: {
label = 64;
break L21;
}
}
$55 = (($13) + 1)|0;
$56 = $55 >>> 1;
$57 = (3 - ($56))|0;
$58 = $$pre$phiZ2D << $57;
$59 = $58 & 7;
$60 = ($10>>>0)>($59>>>0);
if (!($60)) {
return;
}
$61 = ($4&255)<(8);
if ($61) {
$62 = (8 / ($5>>>0))&-1;
$63 = $49 & 65536;
$64 = ($63|0)==(0);
$65 = ($2|0)!=(0);
do {
if ($64) {
if ($65) {
$77 = $13 >>> 1;
$78 = ($4<<24>>24)==(1);
$79 = ($4<<24>>24)==(2);
$80 = $79 ? 1 : 2;
$81 = $78 ? 0 : $80;
$82 = ((836 + (($81*12)|0)|0) + ($77<<2)|0);
$$0284$ph$in = $82;
break;
} else {
$83 = ($4<<24>>24)==(1);
$84 = ($4<<24>>24)==(2);
$85 = $84 ? 1 : 2;
$86 = $83 ? 0 : $85;
$87 = ((944 + (($86*24)|0)|0) + ($13<<2)|0);
$$0284$ph$in = $87;
break;
}
} else {
if ($65) {
$66 = $13 >>> 1;
$67 = ($4<<24>>24)==(1);
$68 = ($4<<24>>24)==(2);
$69 = $68 ? 1 : 2;
$70 = $67 ? 0 : $69;
$71 = ((800 + (($70*12)|0)|0) + ($66<<2)|0);
$$0284$ph$in = $71;
break;
} else {
$72 = ($4<<24>>24)==(1);
$73 = ($4<<24>>24)==(2);
$74 = $73 ? 1 : 2;
$75 = $72 ? 0 : $74;
$76 = ((872 + (($75*24)|0)|0) + ($13<<2)|0);
$$0284$ph$in = $76;
break;
}
}
} while(0);
$$0284$ph = HEAP32[$$0284$ph$in>>2]|0;
$$0252 = $1;$$0266 = $8;$$0274 = $10;$$0284 = $$0284$ph;
while(1) {
$88 = $$0284 >>> 8;
$89 = $$0284 << 24;
$90 = $88 | $89;
$trunc = $$0284&255;
switch ($trunc<<24>>24) {
case 0: {
break;
}
case -1: {
$100 = HEAP8[$$0266>>0]|0;
HEAP8[$$0252>>0] = $100;
break;
}
default: {
$91 = HEAP8[$$0252>>0]|0;
$92 = $91&255;
$93 = $$0284 ^ 255;
$94 = $92 & $93;
$95 = HEAP8[$$0266>>0]|0;
$96 = $95&255;
$97 = $96 & $$0284;
$98 = $97 | $94;
$99 = $98&255;
HEAP8[$$0252>>0] = $99;
}
}
$101 = ($$0274>>>0)>($62>>>0);
$102 = (($$0274) - ($62))|0;
$103 = ((($$0252)) + 1|0);
$104 = ((($$0266)) + 1|0);
if ($101) {
$$0252 = $103;$$0266 = $104;$$0274 = $102;$$0284 = $90;
} else {
break L21;
}
}
}
$105 = $5 & 7;
$106 = ($105|0)==(0);
if (!($106)) {
_png_error($0,26304);
// unreachable;
}
$107 = $5 >>> 3;
$108 = Math_imul($10, $107)|0;
$109 = Math_imul($59, $107)|0;
$110 = (($108) - ($109))|0;
$111 = (($1) + ($109)|0);
$112 = (($8) + ($109)|0);
$113 = ($2|0)==(0);
$114 = (6 - ($13))|0;
$115 = $114 >>> 1;
$116 = $107 << $115;
$117 = ($116>>>0)>($110>>>0);
$$ = $117 ? $110 : $116;
$$0282 = $113 ? $107 : $$;
$118 = (7 - ($13))|0;
$119 = $118 >>> 1;
$120 = $107 << $119;
switch ($$0282|0) {
case 1: {
$129 = HEAP8[$112>>0]|0;
HEAP8[$111>>0] = $129;
$130 = ($110>>>0)>($120>>>0);
if ($130) {
$$2268343 = $112;$$2276342 = $110;$$2344 = $111;
} else {
return;
}
while(1) {
$131 = (($$2344) + ($120)|0);
$132 = (($$2268343) + ($120)|0);
$133 = (($$2276342) - ($120))|0;
$134 = HEAP8[$132>>0]|0;
HEAP8[$131>>0] = $134;
$135 = ($133>>>0)>($120>>>0);
if ($135) {
$$2268343 = $132;$$2276342 = $133;$$2344 = $131;
} else {
break;
}
}
return;
break;
}
case 2: {
$$3 = $111;$$3269 = $112;$$3277 = $110;
while(1) {
$136 = HEAP8[$$3269>>0]|0;
HEAP8[$$3>>0] = $136;
$137 = ((($$3269)) + 1|0);
$138 = HEAP8[$137>>0]|0;
$139 = ((($$3)) + 1|0);
HEAP8[$139>>0] = $138;
$140 = ($$3277>>>0)>($120>>>0);
if (!($140)) {
label = 67;
break;
}
$141 = (($$3269) + ($120)|0);
$142 = (($$3) + ($120)|0);
$143 = (($$3277) - ($120))|0;
$144 = ($143>>>0)>(1);
if ($144) {
$$3 = $142;$$3269 = $141;$$3277 = $143;
} else {
break;
}
}
if ((label|0) == 67) {
return;
}
$145 = HEAP8[$141>>0]|0;
HEAP8[$142>>0] = $145;
return;
break;
}
case 3: {
$121 = HEAP8[$112>>0]|0;
HEAP8[$111>>0] = $121;
$122 = ((($112)) + 1|0);
$123 = HEAP8[$122>>0]|0;
$124 = ((($111)) + 1|0);
HEAP8[$124>>0] = $123;
$125 = ((($112)) + 2|0);
$126 = HEAP8[$125>>0]|0;
$127 = ((($111)) + 2|0);
HEAP8[$127>>0] = $126;
$128 = ($110>>>0)>($120>>>0);
if ($128) {
$$4270347 = $112;$$4278346 = $110;$$4348 = $111;
} else {
return;
}
while(1) {
$146 = (($$4270347) + ($120)|0);
$147 = (($$4348) + ($120)|0);
$148 = (($$4278346) - ($120))|0;
$149 = HEAP8[$146>>0]|0;
HEAP8[$147>>0] = $149;
$150 = ((($146)) + 1|0);
$151 = HEAP8[$150>>0]|0;
$152 = ((($147)) + 1|0);
HEAP8[$152>>0] = $151;
$153 = ((($146)) + 2|0);
$154 = HEAP8[$153>>0]|0;
$155 = ((($147)) + 2|0);
HEAP8[$155>>0] = $154;
$156 = ($148>>>0)>($120>>>0);
if ($156) {
$$4270347 = $146;$$4278346 = $148;$$4348 = $147;
} else {
break;
}
}
return;
break;
}
default: {
$157 = ($$0282>>>0)<(16);
if ($157) {
$159 = $111;
$160 = $159 & 1;
$161 = ($160|0)==(0);
if ($161) {
$162 = $112;
$163 = $162 | $120;
$164 = $163 | $$0282;
$165 = $164 & 1;
$166 = ($165|0)==(0);
if ($166) {
$167 = $163 | $159;
$168 = $167 | $$0282;
$169 = $168 & 3;
$170 = ($169|0)==(0);
if ($170) {
$171 = (($120) - ($$0282))|0;
$172 = $171 >>> 2;
$$0260 = $112;$$0263 = $111;$$5279 = $110;
while(1) {
$$0259 = $$0282;$$1261 = $$0260;$$1264 = $$0263;
while(1) {
$173 = ((($$1261)) + 4|0);
$174 = HEAP32[$$1261>>2]|0;
$175 = ((($$1264)) + 4|0);
HEAP32[$$1264>>2] = $174;
$176 = (($$0259) + -4)|0;
$177 = ($176|0)==(0);
if ($177) {
break;
} else {
$$0259 = $176;$$1261 = $173;$$1264 = $175;
}
}
$178 = ($$5279>>>0)>($120>>>0);
$179 = (($175) + ($172<<2)|0);
$180 = (($173) + ($172<<2)|0);
$181 = (($$5279) - ($120))|0;
if (!($178)) {
label = 67;
break;
}
$182 = ($$0282>>>0)>($181>>>0);
if ($182) {
break;
} else {
$$0260 = $180;$$0263 = $179;$$5279 = $181;
}
}
if ((label|0) == 67) {
return;
}
$$5 = $179;$$5271 = $180;$$7281 = $181;
while(1) {
$183 = ((($$5271)) + 1|0);
$184 = HEAP8[$$5271>>0]|0;
$185 = ((($$5)) + 1|0);
HEAP8[$$5>>0] = $184;
$186 = (($$7281) + -1)|0;
$187 = ($186|0)==(0);
if ($187) {
break;
} else {
$$5 = $185;$$5271 = $183;$$7281 = $186;
}
}
return;
} else {
$188 = (($120) - ($$0282))|0;
$189 = $188 >>> 1;
$$0253 = $112;$$0256 = $111;$$8 = $110;
while(1) {
$$0 = $$0282;$$1254 = $$0253;$$1257 = $$0256;
while(1) {
$190 = ((($$1254)) + 2|0);
$191 = HEAP16[$$1254>>1]|0;
$192 = ((($$1257)) + 2|0);
HEAP16[$$1257>>1] = $191;
$193 = (($$0) + -2)|0;
$194 = ($193|0)==(0);
if ($194) {
break;
} else {
$$0 = $193;$$1254 = $190;$$1257 = $192;
}
}
$195 = ($$8>>>0)>($120>>>0);
$196 = (($192) + ($189<<1)|0);
$197 = (($190) + ($189<<1)|0);
$198 = (($$8) - ($120))|0;
if (!($195)) {
label = 67;
break;
}
$199 = ($$0282>>>0)>($198>>>0);
if ($199) {
break;
} else {
$$0253 = $197;$$0256 = $196;$$8 = $198;
}
}
if ((label|0) == 67) {
return;
}
$$10 = $198;$$6 = $196;$$6272 = $197;
while(1) {
$200 = ((($$6272)) + 1|0);
$201 = HEAP8[$$6272>>0]|0;
$202 = ((($$6)) + 1|0);
HEAP8[$$6>>0] = $201;
$203 = (($$10) + -1)|0;
$204 = ($203|0)==(0);
if ($204) {
break;
} else {
$$10 = $203;$$6 = $202;$$6272 = $200;
}
}
return;
}
}
}
}
_memcpy(($111|0),($112|0),($$0282|0))|0;
$158 = ($110>>>0)>($120>>>0);
if ($158) {
$$11339 = $110;$$1283338 = $$0282;$$7273340 = $112;$$7341 = $111;
} else {
return;
}
while(1) {
$205 = (($$7273340) + ($120)|0);
$206 = (($$7341) + ($120)|0);
$207 = (($$11339) - ($120))|0;
$208 = ($$1283338>>>0)>($207>>>0);
$$$1283 = $208 ? $207 : $$1283338;
_memcpy(($206|0),($205|0),($$$1283|0))|0;
$209 = ($207>>>0)>($120>>>0);
if ($209) {
$$11339 = $207;$$1283338 = $$$1283;$$7273340 = $205;$$7341 = $206;
} else {
break;
}
}
return;
}
}
} else {
label = 64;
}
}
} while(0);
if ((label|0) == 64) {
$210 = ($4&255)>(7);
$211 = $5 >>> 3;
$212 = Math_imul($10, $211)|0;
$213 = (($27) + 7)|0;
$214 = $213 >>> 3;
$215 = $210 ? $212 : $214;
_memcpy(($1|0),($8|0),($215|0))|0;
}
$216 = ($$0285|0)==(0|0);
if ($216) {
return;
}
$217 = $$0290&255;
$218 = $217 & $$0289;
$219 = HEAP8[$$0285>>0]|0;
$220 = $219&255;
$221 = $$0289 ^ 255;
$222 = $220 & $221;
$223 = $222 | $218;
$224 = $223&255;
HEAP8[$$0285>>0] = $224;
return;
}
function _png_read_finish_row($0) {
$0 = $0|0;
var $$lcssa = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 372|0);
$2 = HEAP32[$1>>2]|0;
$3 = (($2) + 1)|0;
HEAP32[$1>>2] = $3;
$4 = ((($0)) + 356|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($3>>>0)<($5>>>0);
if ($6) {
return;
}
$7 = ((($0)) + 432|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)==(0);
L4: do {
if (!($9)) {
HEAP32[$1>>2] = 0;
$10 = ((($0)) + 380|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 364|0);
$13 = HEAP32[$12>>2]|0;
$14 = (($13) + 1)|0;
_memset(($11|0),0,($14|0))|0;
$15 = ((($0)) + 433|0);
$16 = HEAP8[$15>>0]|0;
$17 = (($16) + 1)<<24>>24;
HEAP8[$15>>0] = $17;
$18 = $17&255;
$19 = ($17&255)>(6);
if (!($19)) {
$20 = ((($0)) + 348|0);
$21 = HEAP32[$20>>2]|0;
$22 = (($21) + -1)|0;
$23 = ((($0)) + 368|0);
$24 = ((($0)) + 216|0);
$25 = HEAP32[$24>>2]|0;
$26 = $25 & 2;
$27 = ($26|0)==(0);
do {
if ($27) {
$28 = ((($0)) + 352|0);
$$pre = HEAP32[$28>>2]|0;
$29 = (($$pre) + -1)|0;
$31 = $18;$40 = $17;
while(1) {
$30 = (25562 + ($31)|0);
$32 = HEAP8[$30>>0]|0;
$33 = $32&255;
$34 = (25569 + ($31)|0);
$35 = HEAP8[$34>>0]|0;
$36 = $35&255;
$37 = (($22) + ($33))|0;
$38 = (($37) - ($36))|0;
$39 = $40&255;
$41 = (26204 + ($39)|0);
$42 = HEAP8[$41>>0]|0;
$43 = $42&255;
$44 = (26211 + ($39)|0);
$45 = HEAP8[$44>>0]|0;
$46 = $45&255;
$47 = (($29) + ($43))|0;
$48 = (($47) - ($46))|0;
$49 = ($43>>>0)>($48>>>0);
$50 = ($33>>>0)>($38>>>0);
$or$cond = $49 | $50;
if (!($or$cond)) {
label = 9;
break;
}
$51 = (($40) + 1)<<24>>24;
HEAP8[$15>>0] = $51;
$52 = $51&255;
$53 = ($51&255)>(6);
if ($53) {
label = 11;
break;
} else {
$31 = $52;$40 = $51;
}
}
if ((label|0) == 9) {
$63 = (($48>>>0) / ($43>>>0))&-1;
HEAP32[$4>>2] = $63;
$64 = (($38>>>0) / ($33>>>0))&-1;
$$lcssa = $64;
break;
}
else if ((label|0) == 11) {
$65 = (($48>>>0) / ($43>>>0))&-1;
HEAP32[$4>>2] = $65;
$66 = (($38>>>0) / ($33>>>0))&-1;
HEAP32[$23>>2] = $66;
break L4;
}
} else {
$54 = (25562 + ($18)|0);
$55 = HEAP8[$54>>0]|0;
$56 = $55&255;
$57 = (25569 + ($18)|0);
$58 = HEAP8[$57>>0]|0;
$59 = $58&255;
$60 = (($22) + ($56))|0;
$61 = (($60) - ($59))|0;
$62 = (($61>>>0) / ($56>>>0))&-1;
$$lcssa = $62;
}
} while(0);
HEAP32[$23>>2] = $$lcssa;
return;
}
}
} while(0);
$67 = ((($0)) + 212|0);
$68 = HEAP32[$67>>2]|0;
$69 = $68 & 8;
$70 = ($69|0)==(0);
if ($70) {
_png_read_IDAT_data($0,0,0);
$71 = ((($0)) + 236|0);
HEAP32[$71>>2] = 0;
$72 = HEAP32[$67>>2]|0;
$73 = $72 & 8;
$74 = ($73|0)==(0);
$75 = ((($0)) + 208|0);
if ($74) {
$76 = $72 | 8;
$77 = HEAP32[$75>>2]|0;
$78 = $77 | 8;
HEAP32[$75>>2] = $78;
HEAP32[$67>>2] = $76;
}
}
$79 = ((($0)) + 220|0);
$80 = HEAP32[$79>>2]|0;
$81 = ($80|0)==(1229209940);
if (!($81)) {
return;
}
$82 = ((($0)) + 224|0);
HEAP32[$82>>2] = 0;
$83 = ((($0)) + 228|0);
HEAP32[$83>>2] = 0;
HEAP32[$79>>2] = 0;
$84 = ((($0)) + 408|0);
$85 = HEAP32[$84>>2]|0;
(_png_crc_finish($0,$85)|0);
return;
}
function _png_read_IDAT_data($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$066 = 0, $$066$us = 0, $$1$i = 0, $$1$i$us = 0, $$2 = 0, $$2$lcssa73 = 0, $$68 = 0, $$68$us = 0, $$lcssa75 = 0, $$pre = 0, $$pre113 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $cond$us = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0);
$3 = sp;
$4 = ((($0)) + 224|0);
$5 = ((($0)) + 236|0);
HEAP32[$5>>2] = $1;
$6 = ((($0)) + 240|0);
HEAP32[$6>>2] = 0;
$7 = ($1|0)==(0|0);
$$ = $7 ? 0 : $2;
$8 = ((($0)) + 228|0);
$9 = ($1|0)!=(0|0);
$10 = ((($0)) + 408|0);
$11 = ((($0)) + 376|0);
$12 = ((($0)) + 796|0);
$13 = ((($0)) + 788|0);
$14 = ((($0)) + 792|0);
L1: do {
if ($9) {
$$066$us = $$;
L2: while(1) {
$15 = HEAP32[$8>>2]|0;
$16 = ($15|0)==(0);
if ($16) {
$$pre113 = HEAP32[$10>>2]|0;
$17 = $$pre113;
while(1) {
$18 = ($17|0)==(0);
if (!($18)) {
break;
}
(_png_crc_finish($0,0)|0);
$31 = (_png_read_chunk_header($0)|0);
HEAP32[$10>>2] = $31;
$32 = HEAP32[$11>>2]|0;
$33 = ($32|0)==(1229209940);
if ($33) {
$17 = $31;
} else {
label = 18;
break L2;
}
}
$19 = HEAP32[$12>>2]|0;
$20 = ($19>>>0)>($17>>>0);
$$68$us = $20 ? $17 : $19;
$21 = HEAP32[$13>>2]|0;
$22 = ($21|0)==(0|0);
if ($22) {
label = 8;
} else {
$23 = HEAP32[$14>>2]|0;
$24 = ($23>>>0)<($$68$us>>>0);
if ($24) {
HEAP32[$13>>2] = 0;
HEAP32[$14>>2] = 0;
_png_free($0,$21);
label = 8;
} else {
$$1$i$us = $21;
}
}
if ((label|0) == 8) {
label = 0;
$25 = (_png_malloc_base($0,$$68$us)|0);
$26 = ($25|0)==(0|0);
if ($26) {
label = 24;
break;
}
HEAP32[$13>>2] = $25;
HEAP32[$14>>2] = $$68$us;
$$1$i$us = $25;
}
_png_read_data($0,$$1$i$us,$$68$us);
_png_calculate_crc($0,$$1$i$us,$$68$us);
$27 = HEAP32[$10>>2]|0;
$28 = (($27) - ($$68$us))|0;
HEAP32[$10>>2] = $28;
HEAP32[$4>>2] = $$1$i$us;
HEAP32[$8>>2] = $$68$us;
}
HEAP32[$6>>2] = $$066$us;
$29 = (_inflate($4,0)|0);
$30 = HEAP32[$6>>2]|0;
HEAP32[$6>>2] = 0;
switch ($29|0) {
case 1: {
$$2$lcssa73 = $30;
break L1;
break;
}
case 0: {
break;
}
default: {
$$lcssa75 = $29;
label = 30;
break L1;
}
}
$cond$us = ($30|0)==(0);
if ($cond$us) {
label = 38;
break;
} else {
$$066$us = $30;
}
}
if ((label|0) == 18) {
_png_error($0,26140);
// unreachable;
}
else if ((label|0) == 24) {
_png_chunk_error($0,24414);
// unreachable;
}
else if ((label|0) == 38) {
STACKTOP = sp;return;
}
} else {
$$066 = $$;
L23: while(1) {
$34 = HEAP32[$8>>2]|0;
$35 = ($34|0)==(0);
if ($35) {
$$pre = HEAP32[$10>>2]|0;
$36 = $$pre;
while(1) {
$37 = ($36|0)==(0);
if (!($37)) {
break;
}
(_png_crc_finish($0,0)|0);
$38 = (_png_read_chunk_header($0)|0);
HEAP32[$10>>2] = $38;
$39 = HEAP32[$11>>2]|0;
$40 = ($39|0)==(1229209940);
if ($40) {
$36 = $38;
} else {
label = 18;
break L23;
}
}
$41 = HEAP32[$12>>2]|0;
$42 = ($41>>>0)>($36>>>0);
$$68 = $42 ? $36 : $41;
$43 = HEAP32[$13>>2]|0;
$44 = ($43|0)==(0|0);
if ($44) {
label = 22;
} else {
$45 = HEAP32[$14>>2]|0;
$46 = ($45>>>0)<($$68>>>0);
if ($46) {
HEAP32[$13>>2] = 0;
HEAP32[$14>>2] = 0;
_png_free($0,$43);
label = 22;
} else {
$$1$i = $43;
}
}
if ((label|0) == 22) {
label = 0;
$47 = (_png_malloc_base($0,$$68)|0);
$48 = ($47|0)==(0|0);
if ($48) {
label = 24;
break;
}
HEAP32[$13>>2] = $47;
HEAP32[$14>>2] = $$68;
$$1$i = $47;
}
_png_read_data($0,$$1$i,$$68);
_png_calculate_crc($0,$$1$i,$$68);
$49 = HEAP32[$10>>2]|0;
$50 = (($49) - ($$68))|0;
HEAP32[$10>>2] = $50;
HEAP32[$4>>2] = $$1$i;
HEAP32[$8>>2] = $$68;
}
HEAP32[$5>>2] = $3;
HEAP32[$6>>2] = 1024;
$51 = (_inflate($4,0)|0);
$52 = HEAP32[$6>>2]|0;
$53 = (1024 - ($52))|0;
$$2 = (($53) + ($$066))|0;
HEAP32[$6>>2] = 0;
switch ($51|0) {
case 1: {
$$2$lcssa73 = $$2;
break L1;
break;
}
case 0: {
break;
}
default: {
$$lcssa75 = $51;
label = 30;
break L1;
}
}
$cond = ($$2|0)==(0);
if ($cond) {
label = 38;
break;
} else {
$$066 = $$2;
}
}
if ((label|0) == 18) {
_png_error($0,26140);
// unreachable;
}
else if ((label|0) == 24) {
_png_chunk_error($0,24414);
// unreachable;
}
else if ((label|0) == 38) {
STACKTOP = sp;return;
}
}
} while(0);
if ((label|0) == 30) {
_png_zstream_error($0,$$lcssa75);
$64 = ((($0)) + 248|0);
$65 = HEAP32[$64>>2]|0;
if ($9) {
_png_chunk_error($0,$65);
// unreachable;
}
_png_chunk_benign_error($0,$65);
STACKTOP = sp;return;
}
HEAP32[$5>>2] = 0;
$54 = ((($0)) + 208|0);
$55 = HEAP32[$54>>2]|0;
$56 = $55 | 8;
HEAP32[$54>>2] = $56;
$57 = ((($0)) + 212|0);
$58 = HEAP32[$57>>2]|0;
$59 = $58 | 8;
HEAP32[$57>>2] = $59;
$60 = HEAP32[$8>>2]|0;
$61 = ($60|0)==(0);
if ($61) {
$62 = HEAP32[$10>>2]|0;
$63 = ($62|0)==(0);
if (!($63)) {
label = 29;
}
} else {
label = 29;
}
if ((label|0) == 29) {
_png_chunk_benign_error($0,26162);
}
$66 = ($$2$lcssa73|0)==(0);
if ($66) {
STACKTOP = sp;return;
}
if ($9) {
_png_error($0,26140);
// unreachable;
}
_png_chunk_benign_error($0,26184);
STACKTOP = sp;return;
}
function _png_read_filter_row($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$mask$i = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $png_read_filter_row_paeth_1byte_pixel$png_read_filter_row_paeth_multibyte_pixel$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$$off = (($4) + -1)|0;
$5 = ($$off>>>0)<(4);
if (!($5)) {
return;
}
$6 = ((($0)) + 808|0);
$7 = HEAP32[$6>>2]|0;
$8 = ($7|0)==(0|0);
if ($8) {
$9 = ((($0)) + 438|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10&255;
$12 = (($11) + 7)|0;
HEAP32[$6>>2] = 61;
$13 = ((($0)) + 812|0);
HEAP32[$13>>2] = 62;
$14 = ((($0)) + 816|0);
HEAP32[$14>>2] = 63;
$$mask$i = $12 & 504;
$15 = ($$mask$i|0)==(8);
$16 = ((($0)) + 820|0);
$png_read_filter_row_paeth_1byte_pixel$png_read_filter_row_paeth_multibyte_pixel$i = $15 ? 65 : 64;
HEAP32[$16>>2] = $png_read_filter_row_paeth_1byte_pixel$png_read_filter_row_paeth_multibyte_pixel$i;
}
$17 = (((($0)) + 808|0) + ($$off<<2)|0);
$18 = HEAP32[$17>>2]|0;
FUNCTION_TABLE_viii[$18 & 127]($1,$2,$3);
return;
}
function _png_do_read_transformations($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$$i = 0, $$$i168 = 0, $$0$i = 0, $$0100114$i = 0, $$0101113$i = 0, $$0106$i = 0, $$0115152$i = 0, $$0118140$i = 0, $$0119143$i = 0, $$0120139$i = 0, $$0120154$i = 0, $$0120154$pn$i = 0, $$0121142$i = 0, $$0122$i = 0, $$0123137$i = 0, $$0126136$i = 0, $$0126151$i = 0, $$0127133$i = 0, $$0128134$i = 0, $$0153$i = 0;
var $$019$i = 0, $$01920$i = 0, $$0206258$i = 0, $$0207264$i = 0, $$0208263$i = 0, $$0209249$i = 0, $$021$i = 0, $$0210248$i = 0, $$0211254$i = 0, $$02122$i = 0, $$0212253$i = 0, $$0213239$i = 0, $$0214238$i = 0, $$0215244$i = 0, $$0216243$i = 0, $$0217231$i = 0, $$0218230$i = 0, $$0219234$i = 0, $$0220233$i = 0, $$0221232$i = 0;
var $$022718$i = 0, $$023$i = 0, $$0237286$i = 0, $$0237286$us$i = 0, $$0239285$i = 0, $$0239285$us$i = 0, $$0242284$i = 0, $$0242284$us$i = 0, $$0244292$i = 0, $$0244292$us$i = 0, $$0245291$i = 0, $$0245291$us$i = 0, $$0247290$i = 0, $$0247290$us$i = 0, $$0249282$i = 0, $$0249282$us$i = 0, $$0251281$i = 0, $$0251281$us$i = 0, $$02526$i = 0, $$0254280$i = 0;
var $$0254280$us$i = 0, $$0255298$i = 0, $$0255298$i$us = 0, $$0257297$i = 0, $$0257297$i$us = 0, $$0259$i = 0, $$0259$off0$i = 0, $$0259$off0$i$us = 0, $$0259$off8$i = 0, $$0259$off8$i$us = 0, $$0260296$i = 0, $$0260296$i$us = 0, $$027$i = 0, $$0287$i = 0, $$0287$us$i = 0, $$05056$i = 0, $$057$i = 0, $$073107$i = 0, $$073107$pn$i = 0, $$07398$i = 0;
var $$074105$i = 0, $$07496$i = 0, $$07595$i = 0, $$076100$i = 0, $$07792$i = 0, $$078101$i = 0, $$078101$pn$i = 0, $$07991$i = 0, $$07999$i = 0, $$08090$i = 0, $$08195$i = 0, $$0822947$i = 0, $$08289$i = 0, $$08396$i = 0, $$08396$pn$i = 0, $$0843946$i = 0, $$08494$i = 0, $$0858$off0$i = 0, $$0858$off8$i = 0, $$08693$i = 0;
var $$08896$i = 0, $$09095$i = 0, $$092111$i = 0, $$094121$i = 0, $$0948$i = 0, $$096118$i = 0, $$097$i = 0, $$097109$i = 0, $$098117$i = 0, $$099$i = 0, $$1$i = 0, $$1$i148 = 0, $$1$i163 = 0, $$1$i166 = 0, $$1$i176 = 0, $$1$us$i = 0, $$10832977$i = 0, $$10969$i = 0, $$1100$i = 0, $$1116159$i = 0;
var $$1121161$i = 0, $$1121161$pn$i = 0, $$1122$i = 0, $$1127$i = 0, $$11833987$i = 0, $$11966$i = 0, $$121$i = 0, $$122820$i = 0, $$1229$i = 0, $$1240$i = 0, $$1240$us$i = 0, $$1252$i = 0, $$1252$us$i = 0, $$12834984$i = 0, $$12975$i = 0, $$13835991$i = 0, $$13835991$us$i = 0, $$13972$i = 0, $$14836995$i = 0, $$14981$i = 0;
var $$15158$i = 0, $$15837998$i = 0, $$15837998$us$i = 0, $$159$i = 0, $$15978$i = 0, $$168381002$i = 0, $$16988$i = 0, $$175$i = 0, $$177$i = 0, $$178391005$i = 0, $$178391005$us$i = 0, $$17985$i = 0, $$180$i = 0, $$182$i = 0, $$1823954$i = 0, $$1844$i = 0, $$185$i = 0, $$1859$off0$i = 0, $$1859$off8$i = 0, $$18798$i = 0;
var $$188401009$i = 0, $$18992$i = 0, $$18992$us$i = 0, $$18999$i = 0, $$19198$i = 0, $$198411012$i = 0, $$19996$i = 0, $$2$i = 0, $$208421016$i = 0, $$20999$i = 0, $$20999$us$i = 0, $$2104$i = 0, $$2104$i199 = 0, $$211003$i = 0, $$2117166$i = 0, $$2122168$i = 0, $$2122168$pn$i = 0, $$2128158$i = 0, $$2160$i = 0, $$221006$i = 0;
var $$221006$us$i = 0, $$222923$i = 0, $$224$i = 0, $$2242$i = 0, $$2283$i = 0, $$2283$us$i = 0, $$231010$i = 0, $$241013$i = 0, $$251017$i = 0, $$2824950$i = 0, $$2845953$i = 0, $$2860$off0$i = 0, $$2860$off8$i = 0, $$292103$i = 0, $$2955$i = 0, $$3$i = 0, $$3$i150 = 0, $$3$i178 = 0, $$3$us$i = 0, $$3118142$i = 0;
var $$3123143$i = 0, $$3129$i = 0, $$323026$i = 0, $$3237$i = 0, $$327$i = 0, $$3825962$i = 0, $$3846$i = 0, $$4119146$i = 0, $$4124$i = 0, $$4130165$i = 0, $$4167$i = 0, $$423129$i = 0, $$4252$i = 0, $$4299$i = 0, $$4299$i$us = 0, $$430$i = 0, $$4826958$i = 0, $$4847949$i = 0, $$4951$i = 0, $$5$i = 0;
var $$5$i151 = 0, $$5$i151$us = 0, $$5$i179 = 0, $$5125$i = 0, $$5131$i = 0, $$523232$i = 0, $$5247$i = 0, $$533$i = 0, $$5827968$i = 0, $$5848$i = 0, $$6140$i = 0, $$623344$i = 0, $$6262$i = 0, $$6293$i = 0, $$6293$us$i = 0, $$645$i = 0, $$6828965$i = 0, $$6849961$i = 0, $$6963$i = 0, $$7$i = 0;
var $$7$i180 = 0, $$7$us$i = 0, $$7144$i = 0, $$723435$i = 0, $$7257$i = 0, $$736$i = 0, $$7829974$i = 0, $$7850$i = 0, $$8$i = 0, $$823538$i = 0, $$839$i = 0, $$8830971$i = 0, $$8851957$i = 0, $$8959$i = 0, $$9$i181 = 0, $$923641$i = 0, $$942$i = 0, $$9831980$i = 0, $$9852$i = 0, $$idx = 0;
var $$idx$val = 0, $$idx144 = 0, $$idx144$val = 0, $$idx145 = 0, $$idx145$val = 0, $$lobit$i = 0, $$mask$i = 0, $$mask$i165 = 0, $$masked865$i = 0, $$masked869$i = 0, $$phi$trans$insert = 0, $$phi$trans$insert$i = 0, $$phi$trans$insert346 = 0, $$pn$i = 0, $$pn132141$i = 0, $$pn145$i = 0, $$pr$pre$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i197 = 0;
var $$pre$phi353Z2D = 0, $$pre1069$i = 0, $$pre109$i = 0, $$pre22$i = 0, $$pre324 = 0, $$pre325 = 0, $$pre326 = 0, $$pre327 = 0, $$pre328 = 0, $$pre329 = 0, $$pre330 = 0, $$pre331 = 0, $$pre332 = 0, $$pre333 = 0, $$pre334 = 0, $$pre335 = 0, $$pre335$pre = 0, $$pre336 = 0, $$pre336$pre = 0, $$pre337 = 0;
var $$pre338 = 0, $$pre338$pre = 0, $$pre339 = 0, $$pre340 = 0, $$pre341 = 0, $$pre342 = 0, $$pre343 = 0, $$pre344 = 0, $$pre347 = 0, $$pre352 = 0, $$sink = 0, $$sink$i = 0, $$sink$in = 0, $$sink217$off0 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0;
var $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0;
var $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0;
var $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0;
var $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0;
var $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0;
var $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0;
var $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0;
var $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0;
var $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0;
var $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0;
var $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0;
var $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 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, $122 = 0;
var $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0;
var $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0;
var $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0;
var $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0;
var $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0;
var $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0;
var $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0;
var $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0;
var $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0;
var $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0;
var $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0;
var $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0;
var $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0;
var $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0;
var $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0;
var $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0;
var $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, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0;
var $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0;
var $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0;
var $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0;
var $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0;
var $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0;
var $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0;
var $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0;
var $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0;
var $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0;
var $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0;
var $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0;
var $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0;
var $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0;
var $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0;
var $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0;
var $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0;
var $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0;
var $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0;
var $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0;
var $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0;
var $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0;
var $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0;
var $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0;
var $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0;
var $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0;
var $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0;
var $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0;
var $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0;
var $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0;
var $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0;
var $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0;
var $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0;
var $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0;
var $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0;
var $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0;
var $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0;
var $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0;
var $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0;
var $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0;
var $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0;
var $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0;
var $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0;
var $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0;
var $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0;
var $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0;
var $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0;
var $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0;
var $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0;
var $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0;
var $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0;
var $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0;
var $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0;
var $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0;
var $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0;
var $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0;
var $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0;
var $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0;
var $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0;
var $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0;
var $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0;
var $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0;
var $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0;
var $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0;
var $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0;
var $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0;
var $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0;
var $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0;
var $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0;
var $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0;
var $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $279 = 0, $28 = 0, $280 = 0;
var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0;
var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0;
var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0;
var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0;
var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0;
var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0;
var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0;
var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0;
var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0;
var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0;
var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0;
var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0;
var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0;
var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0;
var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0;
var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0;
var $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 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;
var $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0;
var $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0;
var $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0;
var $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0;
var $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0;
var $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0;
var $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0;
var $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0;
var $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0;
var $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0;
var $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0;
var $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0;
var $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0;
var $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0;
var $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0;
var $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $exitcond$i = 0, $exitcond$i147 = 0, $exitcond$i153 = 0;
var $exitcond$i157 = 0, $exitcond$i161 = 0, $exitcond$i171 = 0, $exitcond$i177 = 0, $exitcond$i192 = 0, $exitcond$i210 = 0, $exitcond104$i = 0, $exitcond1046$i = 0, $exitcond1047$i = 0, $exitcond1048$i = 0, $exitcond1049$i = 0, $exitcond105$i = 0, $exitcond1050$i = 0, $exitcond1051$i = 0, $exitcond1052$i = 0, $exitcond1053$i = 0, $exitcond1054$i = 0, $exitcond1055$i = 0, $exitcond1056$i = 0, $exitcond1057$i = 0;
var $exitcond1058$i = 0, $exitcond1059$i = 0, $exitcond106$i = 0, $exitcond1060$i = 0, $exitcond1061$i = 0, $exitcond1062$i = 0, $exitcond1063$i = 0, $exitcond1064$i = 0, $exitcond1065$i = 0, $exitcond1066$i = 0, $exitcond1067$i = 0, $exitcond1068$i = 0, $exitcond107$i = 0, $exitcond108$i = 0, $exitcond111$i = 0, $exitcond112$i = 0, $exitcond127$i = 0, $exitcond128$i = 0, $exitcond129$i = 0, $exitcond173$i = 0;
var $exitcond174$i = 0, $exitcond175$i = 0, $exitcond176$i = 0, $exitcond267$i = 0, $exitcond268$i = 0, $exitcond269$i = 0, $exitcond270$i = 0, $exitcond271$i = 0, $exitcond272$i = 0, $exitcond273$i = 0, $exitcond308$i = 0, $exitcond309$i = 0, $exitcond310$i = 0, $exitcond311$i = 0, $exitcond312$i = 0, $exitcond313$i = 0, $exitcond313$i$us = 0, $exitcond55$i = 0, $exitcond56$i = 0, $exitcond57$i = 0;
var $exitcond58$i = 0, $exitcond59$i = 0, $exitcond60$i = 0, $exitcond61$i = 0, $extract$i = 0, $extract$i$us = 0, $extract$i185 = 0, $extract$t$i = 0, $extract$t$i$us = 0, $extract$t$i184 = 0, $extract$t263$i = 0, $extract$t263$i$us = 0, $extract$t264$i = 0, $extract$t264$i$us = 0, $extract$t268$i = 0, $extract$t268$i$us = 0, $extract$t269 = 0, $extract$t270 = 0, $extract$t409 = 0, $extract$t871$i = 0;
var $extract$t872$i = 0, $extract$t874$i = 0, $extract$t876$i = 0, $extract$t877$i = 0, $extract$t879$i = 0, $extract$t881$i = 0, $extract$t883$i = 0, $extract$t884$i = 0, $extract$t886$i = 0, $extract$t888$i = 0, $extract$t890$i = 0, $extract$t891$us$i = 0, $extract$t893$i = 0, $extract$t895$us$i = 0, $extract267$i = 0, $extract267$i$us = 0, $extract873875$i = 0, $extract878$i = 0, $extract880882$i = 0, $extract885$i = 0;
var $extract887889$i = 0, $extract892896$i = 0, $extract894$us$i = 0, $not$$i = 0, $or$cond$i = 0, $or$cond$i183 = 0, $or$cond$i190 = 0, $or$cond$i207 = 0, $or$cond106$i = 0, $or$cond1096$i = 0, $or$cond1099$i = 0, $or$cond11$i = 0, $or$cond13$i = 0, $or$cond137 = 0, $or$cond15$i = 0, $or$cond271$i = 0, $or$cond271$us$i = 0, $or$cond272$i = 0, $or$cond272$us$i = 0, $or$cond273$i = 0;
var $or$cond273$us$i = 0, $or$cond3$i = 0, $or$cond3$i196 = 0, $or$cond3$i208 = 0, $or$cond5$i = 0, $or$cond5$i198 = 0, $or$cond7$i = 0, $or$cond9$i = 0, $storemerge$i = 0, $storemerge$i149 = 0, $storemerge$us$i = 0, $storemerge261$i = 0, $storemerge261$us$i = 0, $storemerge862$i = 0, $storemerge864$i = 0, $storemerge864$in$i = 0, $storemerge868$i = 0, $storemerge868$in$i = 0, $trunc$i = 0, $trunc898$i = 0;
var $trunc899$i = 0, $trunc900$i = 0, $trunc900$us$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = ((($0)) + 384|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
_png_error($0,25994);
// unreachable;
}
$6 = ((($0)) + 212|0);
$7 = HEAP32[$6>>2]|0;
$8 = $7 & 16448;
$9 = ($8|0)==(16384);
if ($9) {
_png_error($0,26010);
// unreachable;
}
$10 = ((($0)) + 216|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 & 4096;
$13 = ($12|0)==(0);
do {
if (!($13)) {
$14 = ((($1)) + 8|0);
$15 = HEAP8[$14>>0]|0;
$16 = ($15<<24>>24)==(3);
if (!($16)) {
$138 = ((($0)) + 428|0);
$139 = HEAP16[$138>>1]|0;
$140 = ($139<<16>>16)==(0);
$141 = $11 & 33554432;
$142 = ($141|0)==(0);
$or$cond137 = $142 | $140;
$143 = ((($4)) + 1|0);
if ($or$cond137) {
_png_do_expand($1,$143,0);
break;
} else {
$144 = ((($0)) + 532|0);
_png_do_expand($1,$143,$144);
break;
}
}
$17 = ((($4)) + 1|0);
$18 = ((($0)) + 416|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($0)) + 528|0);
$21 = HEAP32[$20>>2]|0;
$22 = ((($0)) + 428|0);
$23 = HEAP16[$22>>1]|0;
$24 = $23&65535;
$25 = HEAP32[$1>>2]|0;
$26 = HEAP16[$14>>1]|0;
$27 = $26&255;
$28 = ($27<<24>>24)==(3);
$29 = ($26&65535) >>> 8;
$30 = $29&255;
if ($28) {
$31 = ((($1)) + 9|0);
$32 = ($30&255)<(8);
if ($32) {
switch ($30<<24>>24) {
case 1: {
$33 = ($25|0)==(0);
if (!($33)) {
$34 = (($25) + 7)|0;
$35 = $34 & 7;
$36 = $35 ^ 7;
$37 = (($17) + ($25)|0);
$38 = (($25) + -1)|0;
$39 = $38 >>> 3;
$40 = (($17) + ($39)|0);
$$0115152$i = 0;$$0120154$pn$i = $37;$$0126151$i = $40;$$0153$i = $36;
while(1) {
$$0120154$i = ((($$0120154$pn$i)) + -1|0);
$41 = HEAP8[$$0126151$i>>0]|0;
$42 = $41&255;
$43 = 1 << $$0153$i;
$44 = $42 & $43;
$not$$i = ($44|0)!=(0);
$$$i = $not$$i&1;
HEAP8[$$0120154$i>>0] = $$$i;
$45 = ($$0153$i|0)==(7);
$46 = ((($$0126151$i)) + -1|0);
$47 = (($$0153$i) + 1)|0;
$$1127$i = $45 ? $46 : $$0126151$i;
$$1$i = $45 ? 0 : $47;
$48 = (($$0115152$i) + 1)|0;
$exitcond174$i = ($48|0)==($25|0);
if ($exitcond174$i) {
break;
} else {
$$0115152$i = $48;$$0120154$pn$i = $$0120154$i;$$0126151$i = $$1127$i;$$0153$i = $$1$i;
}
}
}
break;
}
case 2: {
$49 = ($25|0)==(0);
if (!($49)) {
$50 = $25 << 1;
$51 = (($50) + 6)|0;
$52 = $51 & 6;
$53 = $52 ^ 6;
$54 = (($17) + ($25)|0);
$55 = (($25) + -1)|0;
$56 = $55 >>> 2;
$57 = (($17) + ($56)|0);
$$1116159$i = 0;$$1121161$pn$i = $54;$$2128158$i = $57;$$2160$i = $53;
while(1) {
$$1121161$i = ((($$1121161$pn$i)) + -1|0);
$58 = HEAP8[$$2128158$i>>0]|0;
$59 = $58&255;
$60 = $59 >>> $$2160$i;
$61 = $60 & 3;
$62 = $61&255;
HEAP8[$$1121161$i>>0] = $62;
$63 = ($$2160$i|0)==(6);
$64 = ((($$2128158$i)) + -1|0);
$65 = (($$2160$i) + 2)|0;
$$3129$i = $63 ? $64 : $$2128158$i;
$$3$i = $63 ? 0 : $65;
$66 = (($$1116159$i) + 1)|0;
$exitcond175$i = ($66|0)==($25|0);
if ($exitcond175$i) {
break;
} else {
$$1116159$i = $66;$$1121161$pn$i = $$1121161$i;$$2128158$i = $$3129$i;$$2160$i = $$3$i;
}
}
}
break;
}
case 4: {
$67 = ($25|0)==(0);
if (!($67)) {
$68 = $25 << 2;
$69 = $68 & 4;
$70 = (($17) + ($25)|0);
$71 = (($25) + -1)|0;
$72 = $71 >>> 1;
$73 = (($17) + ($72)|0);
$$2117166$i = 0;$$2122168$pn$i = $70;$$4130165$i = $73;$$4167$i = $69;
while(1) {
$$2122168$i = ((($$2122168$pn$i)) + -1|0);
$74 = HEAP8[$$4130165$i>>0]|0;
$75 = $74&255;
$76 = $75 >>> $$4167$i;
$77 = $76 & 15;
$78 = $77&255;
HEAP8[$$2122168$i>>0] = $78;
$79 = ($$4167$i|0)==(4);
$80 = ((($$4130165$i)) + -1|0);
$81 = (($$4167$i) + 4)|0;
$$5131$i = $79 ? $80 : $$4130165$i;
$$5$i = $79 ? 0 : $81;
$82 = (($$2117166$i) + 1)|0;
$exitcond176$i = ($82|0)==($25|0);
if ($exitcond176$i) {
break;
} else {
$$2117166$i = $82;$$2122168$pn$i = $$2122168$i;$$4130165$i = $$5131$i;$$4167$i = $$5$i;
}
}
}
break;
}
default: {
}
}
HEAP8[$31>>0] = 8;
$83 = ((($1)) + 11|0);
HEAP8[$83>>0] = 8;
$84 = ((($1)) + 4|0);
HEAP32[$84>>2] = $25;
} else {
$85 = ($30<<24>>24)==(8);
if (!($85)) {
break;
}
}
$86 = ($23<<16>>16)==(0);
$87 = (($17) + ($25)|0);
$88 = ((($87)) + -1|0);
if ($86) {
$116 = ($25*3)|0;
$117 = ($25|0)==(0);
if (!($117)) {
$118 = (($17) + ($116)|0);
$$4119146$i = 0;$$7144$i = $88;$$pn145$i = $118;
while(1) {
$$5125$i = ((($$pn145$i)) + -1|0);
$119 = HEAP8[$$7144$i>>0]|0;
$120 = $119&255;
$121 = (((($19) + (($120*3)|0)|0)) + 2|0);
$122 = HEAP8[$121>>0]|0;
$123 = ((($$pn145$i)) + -2|0);
HEAP8[$$5125$i>>0] = $122;
$124 = HEAP8[$$7144$i>>0]|0;
$125 = $124&255;
$126 = (((($19) + (($125*3)|0)|0)) + 1|0);
$127 = HEAP8[$126>>0]|0;
$128 = ((($$pn145$i)) + -3|0);
HEAP8[$123>>0] = $127;
$129 = HEAP8[$$7144$i>>0]|0;
$130 = $129&255;
$131 = (($19) + (($130*3)|0)|0);
$132 = HEAP8[$131>>0]|0;
HEAP8[$128>>0] = $132;
$133 = ((($$7144$i)) + -1|0);
$134 = (($$4119146$i) + 1)|0;
$exitcond173$i = ($134|0)==($25|0);
if ($exitcond173$i) {
break;
} else {
$$4119146$i = $134;$$7144$i = $133;$$pn145$i = $128;
}
}
}
HEAP8[$31>>0] = 8;
$135 = ((($1)) + 11|0);
HEAP8[$135>>0] = 24;
$136 = ((($1)) + 4|0);
HEAP32[$136>>2] = $116;
HEAP8[$14>>0] = 2;
$137 = ((($1)) + 10|0);
HEAP8[$137>>0] = 3;
break;
}
$89 = $25 << 2;
$90 = ($25|0)==(0);
if (!($90)) {
$91 = (($17) + ($89)|0);
$$3118142$i = 0;$$6140$i = $88;$$pn132141$i = $91;
while(1) {
$$3123143$i = ((($$pn132141$i)) + -1|0);
$92 = HEAP8[$$6140$i>>0]|0;
$93 = $92&255;
$94 = ($93>>>0)<($24>>>0);
if ($94) {
$95 = (($21) + ($93)|0);
$96 = HEAP8[$95>>0]|0;
$storemerge$i = $96;
} else {
$storemerge$i = -1;
}
$$4124$i = ((($$pn132141$i)) + -2|0);
HEAP8[$$3123143$i>>0] = $storemerge$i;
$97 = HEAP8[$$6140$i>>0]|0;
$98 = $97&255;
$99 = (((($19) + (($98*3)|0)|0)) + 2|0);
$100 = HEAP8[$99>>0]|0;
$101 = ((($$pn132141$i)) + -3|0);
HEAP8[$$4124$i>>0] = $100;
$102 = HEAP8[$$6140$i>>0]|0;
$103 = $102&255;
$104 = (((($19) + (($103*3)|0)|0)) + 1|0);
$105 = HEAP8[$104>>0]|0;
$106 = ((($$pn132141$i)) + -4|0);
HEAP8[$101>>0] = $105;
$107 = HEAP8[$$6140$i>>0]|0;
$108 = $107&255;
$109 = (($19) + (($108*3)|0)|0);
$110 = HEAP8[$109>>0]|0;
HEAP8[$106>>0] = $110;
$111 = ((($$6140$i)) + -1|0);
$112 = (($$3118142$i) + 1)|0;
$exitcond$i = ($112|0)==($25|0);
if ($exitcond$i) {
break;
} else {
$$3118142$i = $112;$$6140$i = $111;$$pn132141$i = $106;
}
}
}
HEAP8[$31>>0] = 8;
$113 = ((($1)) + 11|0);
HEAP8[$113>>0] = 32;
$114 = ((($1)) + 4|0);
HEAP32[$114>>2] = $89;
HEAP8[$14>>0] = 6;
$115 = ((($1)) + 10|0);
HEAP8[$115>>0] = 4;
}
}
} while(0);
$145 = HEAP32[$10>>2]|0;
$146 = $145 & 262272;
$147 = ($146|0)==(262144);
L51: do {
if ($147) {
$148 = ((($1)) + 8|0);
$149 = HEAP8[$148>>0]|0;
switch ($149<<24>>24) {
case 4: case 6: {
break;
}
default: {
$153 = $145;
break L51;
}
}
$150 = HEAP32[$3>>2]|0;
$151 = ((($150)) + 1|0);
_png_do_strip_channel($1,$151,0);
$$pre = HEAP32[$10>>2]|0;
$153 = $$pre;
} else {
$153 = $145;
}
} while(0);
$152 = $153 & 6291456;
$154 = ($152|0)==(0);
do {
if ($154) {
$580 = $153;
} else {
$155 = HEAP32[$3>>2]|0;
$156 = ((($155)) + 1|0);
$157 = ((($1)) + 8|0);
$158 = HEAP16[$157>>1]|0;
$159 = $158&65535;
$160 = $159 & 3;
$161 = ($160|0)==(2);
if ($161) {
$162 = ((($0)) + 702|0);
$163 = HEAP16[$162>>1]|0;
$164 = $163&65535;
$165 = ((($0)) + 704|0);
$166 = HEAP16[$165>>1]|0;
$167 = $166&65535;
$168 = (32768 - ($164))|0;
$169 = (($168) - ($167))|0;
$170 = HEAP32[$1>>2]|0;
$171 = $159 & 4;
$172 = ($171|0)!=(0);
$$mask$i = $158 & -256;
$173 = ($$mask$i<<16>>16)==(2048);
L58: do {
if ($173) {
$174 = ((($0)) + 500|0);
$175 = HEAP32[$174>>2]|0;
$176 = ($175|0)==(0|0);
if (!($176)) {
$201 = ((($0)) + 504|0);
$202 = HEAP32[$201>>2]|0;
$203 = ($202|0)==(0|0);
if (!($203)) {
$204 = ($170|0)==(0);
if ($204) {
$$8$i = 0;
break;
}
$205 = ((($0)) + 492|0);
if ($172) {
$$0237286$us$i = $156;$$0239285$us$i = $156;$$0242284$us$i = 0;$$0287$us$i = 0;
while(1) {
$206 = ((($$0237286$us$i)) + 1|0);
$207 = HEAP8[$$0237286$us$i>>0]|0;
$208 = ((($$0237286$us$i)) + 2|0);
$209 = HEAP8[$206>>0]|0;
$210 = ((($$0237286$us$i)) + 3|0);
$211 = HEAP8[$208>>0]|0;
$212 = $207&255;
$213 = ($207<<24>>24)==($209<<24>>24);
$214 = ($207<<24>>24)==($211<<24>>24);
$or$cond271$us$i = $213 & $214;
if ($or$cond271$us$i) {
$236 = HEAP32[$205>>2]|0;
$237 = ($236|0)==(0|0);
if ($237) {
$$1$us$i = $$0287$us$i;$storemerge261$us$i = $207;
} else {
$238 = (($236) + ($212)|0);
$239 = HEAP8[$238>>0]|0;
$$1$us$i = $$0287$us$i;$storemerge261$us$i = $239;
}
} else {
$215 = $209&255;
$216 = (($202) + ($212)|0);
$217 = HEAP8[$216>>0]|0;
$218 = (($202) + ($215)|0);
$219 = HEAP8[$218>>0]|0;
$220 = $211&255;
$221 = (($202) + ($220)|0);
$222 = HEAP8[$221>>0]|0;
$223 = $$0287$us$i | 1;
$224 = $217&255;
$225 = Math_imul($224, $164)|0;
$226 = $219&255;
$227 = Math_imul($226, $167)|0;
$228 = $222&255;
$229 = Math_imul($228, $169)|0;
$230 = (($225) + 16384)|0;
$231 = (($230) + ($227))|0;
$232 = (($231) + ($229))|0;
$233 = $232 >>> 15;
$234 = (($175) + ($233)|0);
$235 = HEAP8[$234>>0]|0;
$$1$us$i = $223;$storemerge261$us$i = $235;
}
$$1240$us$i = ((($$0239285$us$i)) + 1|0);
HEAP8[$$0239285$us$i>>0] = $storemerge261$us$i;
$240 = ((($$0237286$us$i)) + 4|0);
$241 = HEAP8[$210>>0]|0;
$242 = ((($$0239285$us$i)) + 2|0);
HEAP8[$$1240$us$i>>0] = $241;
$243 = (($$0242284$us$i) + 1)|0;
$exitcond309$i = ($243|0)==($170|0);
if ($exitcond309$i) {
$$8$i = $$1$us$i;
break L58;
} else {
$$0237286$us$i = $240;$$0239285$us$i = $242;$$0242284$us$i = $243;$$0287$us$i = $$1$us$i;
}
}
} else {
$$0237286$i = $156;$$0239285$i = $156;$$0242284$i = 0;$$0287$i = 0;
while(1) {
$244 = ((($$0237286$i)) + 1|0);
$245 = HEAP8[$$0237286$i>>0]|0;
$246 = ((($$0237286$i)) + 2|0);
$247 = HEAP8[$244>>0]|0;
$248 = ((($$0237286$i)) + 3|0);
$249 = HEAP8[$246>>0]|0;
$250 = $245&255;
$251 = ($245<<24>>24)==($247<<24>>24);
$252 = ($245<<24>>24)==($249<<24>>24);
$or$cond271$i = $251 & $252;
if ($or$cond271$i) {
$274 = HEAP32[$205>>2]|0;
$275 = ($274|0)==(0|0);
if ($275) {
$$1$i148 = $$0287$i;$storemerge261$i = $245;
} else {
$276 = (($274) + ($250)|0);
$277 = HEAP8[$276>>0]|0;
$$1$i148 = $$0287$i;$storemerge261$i = $277;
}
} else {
$253 = $247&255;
$254 = (($202) + ($250)|0);
$255 = HEAP8[$254>>0]|0;
$256 = (($202) + ($253)|0);
$257 = HEAP8[$256>>0]|0;
$258 = $249&255;
$259 = (($202) + ($258)|0);
$260 = HEAP8[$259>>0]|0;
$261 = $$0287$i | 1;
$262 = $255&255;
$263 = Math_imul($262, $164)|0;
$264 = $257&255;
$265 = Math_imul($264, $167)|0;
$266 = $260&255;
$267 = Math_imul($266, $169)|0;
$268 = (($263) + 16384)|0;
$269 = (($268) + ($265))|0;
$270 = (($269) + ($267))|0;
$271 = $270 >>> 15;
$272 = (($175) + ($271)|0);
$273 = HEAP8[$272>>0]|0;
$$1$i148 = $261;$storemerge261$i = $273;
}
$$1240$i = ((($$0239285$i)) + 1|0);
HEAP8[$$0239285$i>>0] = $storemerge261$i;
$278 = (($$0242284$i) + 1)|0;
$exitcond310$i = ($278|0)==($170|0);
if ($exitcond310$i) {
$$8$i = $$1$i148;
break L58;
} else {
$$0237286$i = $248;$$0239285$i = $$1240$i;$$0242284$i = $278;$$0287$i = $$1$i148;
}
}
}
}
}
$177 = ($170|0)==(0);
if ($177) {
$$8$i = 0;
} else {
if ($172) {
$$0249282$us$i = $156;$$0251281$us$i = $156;$$0254280$us$i = 0;$$2283$us$i = 0;
while(1) {
$178 = ((($$0249282$us$i)) + 1|0);
$179 = HEAP8[$$0249282$us$i>>0]|0;
$180 = ((($$0249282$us$i)) + 2|0);
$181 = HEAP8[$178>>0]|0;
$182 = ((($$0249282$us$i)) + 3|0);
$183 = HEAP8[$180>>0]|0;
$184 = ($179<<24>>24)==($181<<24>>24);
$185 = ($179<<24>>24)==($183<<24>>24);
$or$cond272$us$i = $184 & $185;
if ($or$cond272$us$i) {
$$3$us$i = $$2283$us$i;$storemerge$us$i = $179;
} else {
$186 = $181&255;
$187 = $179&255;
$188 = $$2283$us$i | 1;
$189 = Math_imul($187, $164)|0;
$190 = Math_imul($186, $167)|0;
$191 = (($190) + ($189))|0;
$192 = $183&255;
$193 = Math_imul($192, $169)|0;
$194 = (($191) + ($193))|0;
$195 = $194 >>> 15;
$196 = $195&255;
$$3$us$i = $188;$storemerge$us$i = $196;
}
$$1252$us$i = ((($$0251281$us$i)) + 1|0);
HEAP8[$$0251281$us$i>>0] = $storemerge$us$i;
$197 = ((($$0249282$us$i)) + 4|0);
$198 = HEAP8[$182>>0]|0;
$199 = ((($$0251281$us$i)) + 2|0);
HEAP8[$$1252$us$i>>0] = $198;
$200 = (($$0254280$us$i) + 1)|0;
$exitcond$i147 = ($200|0)==($170|0);
if ($exitcond$i147) {
$$8$i = $$3$us$i;
break;
} else {
$$0249282$us$i = $197;$$0251281$us$i = $199;$$0254280$us$i = $200;$$2283$us$i = $$3$us$i;
}
}
} else {
$$0249282$i = $156;$$0251281$i = $156;$$0254280$i = 0;$$2283$i = 0;
while(1) {
$279 = ((($$0249282$i)) + 1|0);
$280 = HEAP8[$$0249282$i>>0]|0;
$281 = ((($$0249282$i)) + 2|0);
$282 = HEAP8[$279>>0]|0;
$283 = ((($$0249282$i)) + 3|0);
$284 = HEAP8[$281>>0]|0;
$285 = ($280<<24>>24)==($282<<24>>24);
$286 = ($280<<24>>24)==($284<<24>>24);
$or$cond272$i = $285 & $286;
if ($or$cond272$i) {
$$3$i150 = $$2283$i;$storemerge$i149 = $280;
} else {
$287 = $282&255;
$288 = $280&255;
$289 = $$2283$i | 1;
$290 = Math_imul($288, $164)|0;
$291 = Math_imul($287, $167)|0;
$292 = (($291) + ($290))|0;
$293 = $284&255;
$294 = Math_imul($293, $169)|0;
$295 = (($292) + ($294))|0;
$296 = $295 >>> 15;
$297 = $296&255;
$$3$i150 = $289;$storemerge$i149 = $297;
}
$$1252$i = ((($$0251281$i)) + 1|0);
HEAP8[$$0251281$i>>0] = $storemerge$i149;
$298 = (($$0254280$i) + 1)|0;
$exitcond308$i = ($298|0)==($170|0);
if ($exitcond308$i) {
$$8$i = $$3$i150;
break;
} else {
$$0249282$i = $283;$$0251281$i = $$1252$i;$$0254280$i = $298;$$2283$i = $$3$i150;
}
}
}
}
} else {
$299 = ((($0)) + 512|0);
$300 = HEAP32[$299>>2]|0;
$301 = ($300|0)==(0|0);
if (!($301)) {
$350 = ((($0)) + 508|0);
$351 = HEAP32[$350>>2]|0;
$352 = ($351|0)==(0|0);
if (!($352)) {
$353 = ($170|0)==(0);
if ($353) {
$$8$i = 0;
break;
}
$354 = ((($0)) + 496|0);
$355 = ((($0)) + 484|0);
if ($172) {
$$0255298$i$us = $156;$$0257297$i$us = $156;$$0260296$i$us = 0;$$4299$i$us = 0;
while(1) {
$356 = ((($$0255298$i$us)) + 1|0);
$357 = HEAP8[$$0255298$i$us>>0]|0;
$358 = ((($$0255298$i$us)) + 2|0);
$359 = HEAP8[$356>>0]|0;
$360 = $357&255;
$361 = $360 << 8;
$362 = $359&255;
$363 = $361 | $362;
$364 = ((($$0255298$i$us)) + 3|0);
$365 = HEAP8[$358>>0]|0;
$366 = ((($$0255298$i$us)) + 4|0);
$367 = HEAP8[$364>>0]|0;
$368 = $365&255;
$369 = $368 << 8;
$370 = $367&255;
$371 = $369 | $370;
$372 = ((($$0255298$i$us)) + 5|0);
$373 = HEAP8[$366>>0]|0;
$374 = ((($$0255298$i$us)) + 6|0);
$375 = HEAP8[$372>>0]|0;
$376 = $373&255;
$377 = $375&255;
$378 = ($363|0)==($371|0);
if ($378) {
$379 = $376 << 8;
$380 = $379 | $377;
$381 = ($363|0)==($380|0);
if ($381) {
$417 = HEAP32[$354>>2]|0;
$418 = ($417|0)==(0|0);
if ($418) {
$$0259$off0$i$us = $359;$$0259$off8$i$us = $357;$$5$i151$us = $$4299$i$us;
} else {
$419 = HEAP32[$355>>2]|0;
$420 = $362 >>> $419;
$421 = (($417) + ($420<<2)|0);
$422 = HEAP32[$421>>2]|0;
$423 = (($422) + ($360<<1)|0);
$424 = HEAP16[$423>>1]|0;
$extract$t$i$us = $424&255;
$extract$i$us = ($424&65535) >>> 8;
$extract$t264$i$us = $extract$i$us&255;
$$0259$off0$i$us = $extract$t$i$us;$$0259$off8$i$us = $extract$t264$i$us;$$5$i151$us = $$4299$i$us;
}
} else {
label = 72;
}
} else {
label = 72;
}
if ((label|0) == 72) {
label = 0;
$382 = HEAP32[$355>>2]|0;
$383 = $362 >>> $382;
$384 = (($300) + ($383<<2)|0);
$385 = HEAP32[$384>>2]|0;
$386 = (($385) + ($360<<1)|0);
$387 = HEAP16[$386>>1]|0;
$388 = $370 >>> $382;
$389 = (($300) + ($388<<2)|0);
$390 = HEAP32[$389>>2]|0;
$391 = (($390) + ($368<<1)|0);
$392 = HEAP16[$391>>1]|0;
$393 = $377 >>> $382;
$394 = (($300) + ($393<<2)|0);
$395 = HEAP32[$394>>2]|0;
$396 = (($395) + ($376<<1)|0);
$397 = HEAP16[$396>>1]|0;
$398 = $387&65535;
$399 = Math_imul($398, $164)|0;
$400 = $392&65535;
$401 = Math_imul($400, $167)|0;
$402 = $397&65535;
$403 = Math_imul($402, $169)|0;
$404 = (($399) + 16384)|0;
$405 = (($404) + ($401))|0;
$406 = (($405) + ($403))|0;
$407 = $406 >>> 15;
$408 = $406 >>> 23;
$409 = $408 & 255;
$410 = $407 & 255;
$411 = $410 >>> $382;
$412 = (($351) + ($411<<2)|0);
$413 = HEAP32[$412>>2]|0;
$414 = (($413) + ($409<<1)|0);
$415 = HEAP16[$414>>1]|0;
$416 = $$4299$i$us | 1;
$extract$t263$i$us = $415&255;
$extract267$i$us = ($415&65535) >>> 8;
$extract$t268$i$us = $extract267$i$us&255;
$$0259$off0$i$us = $extract$t263$i$us;$$0259$off8$i$us = $extract$t268$i$us;$$5$i151$us = $416;
}
$425 = ((($$0257297$i$us)) + 1|0);
HEAP8[$$0257297$i$us>>0] = $$0259$off8$i$us;
$426 = ((($$0257297$i$us)) + 2|0);
HEAP8[$425>>0] = $$0259$off0$i$us;
$427 = ((($$0255298$i$us)) + 7|0);
$428 = HEAP8[$374>>0]|0;
$429 = ((($$0257297$i$us)) + 3|0);
HEAP8[$426>>0] = $428;
$430 = ((($$0255298$i$us)) + 8|0);
$431 = HEAP8[$427>>0]|0;
$432 = ((($$0257297$i$us)) + 4|0);
HEAP8[$429>>0] = $431;
$433 = (($$0260296$i$us) + 1)|0;
$exitcond313$i$us = ($433|0)==($170|0);
if ($exitcond313$i$us) {
$$8$i = $$5$i151$us;
break L58;
} else {
$$0255298$i$us = $430;$$0257297$i$us = $432;$$0260296$i$us = $433;$$4299$i$us = $$5$i151$us;
}
}
} else {
$$0255298$i = $156;$$0257297$i = $156;$$0260296$i = 0;$$4299$i = 0;
while(1) {
$434 = ((($$0255298$i)) + 1|0);
$435 = HEAP8[$$0255298$i>>0]|0;
$436 = ((($$0255298$i)) + 2|0);
$437 = HEAP8[$434>>0]|0;
$438 = $435&255;
$439 = $438 << 8;
$440 = $437&255;
$441 = $439 | $440;
$442 = ((($$0255298$i)) + 3|0);
$443 = HEAP8[$436>>0]|0;
$444 = ((($$0255298$i)) + 4|0);
$445 = HEAP8[$442>>0]|0;
$446 = $443&255;
$447 = $446 << 8;
$448 = $445&255;
$449 = $447 | $448;
$450 = ((($$0255298$i)) + 5|0);
$451 = HEAP8[$444>>0]|0;
$452 = ((($$0255298$i)) + 6|0);
$453 = HEAP8[$450>>0]|0;
$454 = $451&255;
$455 = $453&255;
$456 = ($441|0)==($449|0);
if ($456) {
$457 = $454 << 8;
$458 = $457 | $455;
$459 = ($441|0)==($458|0);
if ($459) {
$460 = HEAP32[$354>>2]|0;
$461 = ($460|0)==(0|0);
if ($461) {
$$0259$off0$i = $437;$$0259$off8$i = $435;$$5$i151 = $$4299$i;
} else {
$462 = HEAP32[$355>>2]|0;
$463 = $440 >>> $462;
$464 = (($460) + ($463<<2)|0);
$465 = HEAP32[$464>>2]|0;
$466 = (($465) + ($438<<1)|0);
$467 = HEAP16[$466>>1]|0;
$extract$t$i = $467&255;
$extract$i = ($467&65535) >>> 8;
$extract$t264$i = $extract$i&255;
$$0259$off0$i = $extract$t$i;$$0259$off8$i = $extract$t264$i;$$5$i151 = $$4299$i;
}
} else {
label = 80;
}
} else {
label = 80;
}
if ((label|0) == 80) {
label = 0;
$468 = HEAP32[$355>>2]|0;
$469 = $440 >>> $468;
$470 = (($300) + ($469<<2)|0);
$471 = HEAP32[$470>>2]|0;
$472 = (($471) + ($438<<1)|0);
$473 = HEAP16[$472>>1]|0;
$474 = $448 >>> $468;
$475 = (($300) + ($474<<2)|0);
$476 = HEAP32[$475>>2]|0;
$477 = (($476) + ($446<<1)|0);
$478 = HEAP16[$477>>1]|0;
$479 = $455 >>> $468;
$480 = (($300) + ($479<<2)|0);
$481 = HEAP32[$480>>2]|0;
$482 = (($481) + ($454<<1)|0);
$483 = HEAP16[$482>>1]|0;
$484 = $473&65535;
$485 = Math_imul($484, $164)|0;
$486 = $478&65535;
$487 = Math_imul($486, $167)|0;
$488 = $483&65535;
$489 = Math_imul($488, $169)|0;
$490 = (($485) + 16384)|0;
$491 = (($490) + ($487))|0;
$492 = (($491) + ($489))|0;
$493 = $492 >>> 15;
$494 = $492 >>> 23;
$495 = $494 & 255;
$496 = $493 & 255;
$497 = $496 >>> $468;
$498 = (($351) + ($497<<2)|0);
$499 = HEAP32[$498>>2]|0;
$500 = (($499) + ($495<<1)|0);
$501 = HEAP16[$500>>1]|0;
$502 = $$4299$i | 1;
$extract$t263$i = $501&255;
$extract267$i = ($501&65535) >>> 8;
$extract$t268$i = $extract267$i&255;
$$0259$off0$i = $extract$t263$i;$$0259$off8$i = $extract$t268$i;$$5$i151 = $502;
}
$503 = ((($$0257297$i)) + 1|0);
HEAP8[$$0257297$i>>0] = $$0259$off8$i;
$504 = ((($$0257297$i)) + 2|0);
HEAP8[$503>>0] = $$0259$off0$i;
$505 = (($$0260296$i) + 1)|0;
$exitcond313$i = ($505|0)==($170|0);
if ($exitcond313$i) {
$$8$i = $$5$i151;
break L58;
} else {
$$0255298$i = $452;$$0257297$i = $504;$$0260296$i = $505;$$4299$i = $$5$i151;
}
}
}
}
}
$302 = ($170|0)==(0);
if ($302) {
$$8$i = 0;
} else {
if ($172) {
$$0244292$us$i = 0;$$0245291$us$i = $156;$$0247290$us$i = $156;$$6293$us$i = 0;
while(1) {
$303 = ((($$0247290$us$i)) + 1|0);
$304 = HEAP8[$$0247290$us$i>>0]|0;
$305 = ((($$0247290$us$i)) + 2|0);
$306 = HEAP8[$303>>0]|0;
$307 = $304&255;
$308 = $307 << 8;
$309 = $306&255;
$310 = $308 | $309;
$311 = ((($$0247290$us$i)) + 3|0);
$312 = HEAP8[$305>>0]|0;
$313 = ((($$0247290$us$i)) + 4|0);
$314 = HEAP8[$311>>0]|0;
$315 = $312&255;
$316 = $315 << 8;
$317 = $314&255;
$318 = $316 | $317;
$319 = ((($$0247290$us$i)) + 5|0);
$320 = HEAP8[$313>>0]|0;
$321 = ((($$0247290$us$i)) + 6|0);
$322 = HEAP8[$319>>0]|0;
$323 = $320&255;
$324 = $323 << 8;
$325 = $322&255;
$326 = $324 | $325;
$327 = ($310|0)==($318|0);
$328 = ($310|0)==($326|0);
$or$cond273$us$i = $327 & $328;
$329 = $or$cond273$us$i&1;
$330 = $329 ^ 1;
$$7$us$i = $330 | $$6293$us$i;
$331 = Math_imul($310, $164)|0;
$332 = Math_imul($318, $167)|0;
$333 = Math_imul($326, $169)|0;
$334 = (($331) + 16384)|0;
$335 = (($334) + ($332))|0;
$336 = (($335) + ($333))|0;
$337 = $336 >>> 15;
$338 = $336 >>> 23;
$339 = $338&255;
$340 = ((($$0245291$us$i)) + 1|0);
HEAP8[$$0245291$us$i>>0] = $339;
$341 = $337&255;
$342 = ((($$0245291$us$i)) + 2|0);
HEAP8[$340>>0] = $341;
$343 = ((($$0247290$us$i)) + 7|0);
$344 = HEAP8[$321>>0]|0;
$345 = ((($$0245291$us$i)) + 3|0);
HEAP8[$342>>0] = $344;
$346 = ((($$0247290$us$i)) + 8|0);
$347 = HEAP8[$343>>0]|0;
$348 = ((($$0245291$us$i)) + 4|0);
HEAP8[$345>>0] = $347;
$349 = (($$0244292$us$i) + 1)|0;
$exitcond311$i = ($349|0)==($170|0);
if ($exitcond311$i) {
$$8$i = $$7$us$i;
break;
} else {
$$0244292$us$i = $349;$$0245291$us$i = $348;$$0247290$us$i = $346;$$6293$us$i = $$7$us$i;
}
}
} else {
$$0244292$i = 0;$$0245291$i = $156;$$0247290$i = $156;$$6293$i = 0;
while(1) {
$506 = ((($$0247290$i)) + 1|0);
$507 = HEAP8[$$0247290$i>>0]|0;
$508 = ((($$0247290$i)) + 2|0);
$509 = HEAP8[$506>>0]|0;
$510 = $507&255;
$511 = $510 << 8;
$512 = $509&255;
$513 = $511 | $512;
$514 = ((($$0247290$i)) + 3|0);
$515 = HEAP8[$508>>0]|0;
$516 = ((($$0247290$i)) + 4|0);
$517 = HEAP8[$514>>0]|0;
$518 = $515&255;
$519 = $518 << 8;
$520 = $517&255;
$521 = $519 | $520;
$522 = ((($$0247290$i)) + 5|0);
$523 = HEAP8[$516>>0]|0;
$524 = ((($$0247290$i)) + 6|0);
$525 = HEAP8[$522>>0]|0;
$526 = $523&255;
$527 = $526 << 8;
$528 = $525&255;
$529 = $527 | $528;
$530 = ($513|0)==($521|0);
$531 = ($513|0)==($529|0);
$or$cond273$i = $530 & $531;
$532 = $or$cond273$i&1;
$533 = $532 ^ 1;
$$7$i = $533 | $$6293$i;
$534 = Math_imul($513, $164)|0;
$535 = Math_imul($521, $167)|0;
$536 = Math_imul($529, $169)|0;
$537 = (($534) + 16384)|0;
$538 = (($537) + ($535))|0;
$539 = (($538) + ($536))|0;
$540 = $539 >>> 15;
$541 = $539 >>> 23;
$542 = $541&255;
$543 = ((($$0245291$i)) + 1|0);
HEAP8[$$0245291$i>>0] = $542;
$544 = $540&255;
$545 = ((($$0245291$i)) + 2|0);
HEAP8[$543>>0] = $544;
$546 = (($$0244292$i) + 1)|0;
$exitcond312$i = ($546|0)==($170|0);
if ($exitcond312$i) {
$$8$i = $$7$i;
break;
} else {
$$0244292$i = $546;$$0245291$i = $545;$$0247290$i = $524;$$6293$i = $$7$i;
}
}
}
}
}
} while(0);
$547 = ((($1)) + 10|0);
$548 = HEAP8[$547>>0]|0;
$549 = $548&255;
$550 = (($549) + 254)|0;
$551 = $550&255;
HEAP8[$547>>0] = $551;
$552 = HEAP16[$157>>1]|0;
$553 = $552&65535;
$554 = $553 & 253;
$555 = $554&255;
HEAP8[$157>>0] = $555;
$556 = $550 & 255;
$557 = ($552&65535) >>> 8;
$558 = $557&65535;
$559 = Math_imul($558, $556)|0;
$560 = $559&255;
$561 = ((($1)) + 11|0);
HEAP8[$561>>0] = $560;
$562 = $559 & 255;
$563 = ($562>>>0)>(7);
if ($563) {
$564 = $562 >>> 3;
$565 = Math_imul($564, $170)|0;
$570 = $565;
} else {
$566 = Math_imul($562, $170)|0;
$567 = (($566) + 7)|0;
$568 = $567 >>> 3;
$570 = $568;
}
$569 = ((($1)) + 4|0);
HEAP32[$569>>2] = $570;
$571 = ($$8$i|0)==(0);
if ($571) {
$$pre325 = HEAP32[$10>>2]|0;
$580 = $$pre325;
break;
}
$572 = ((($0)) + 700|0);
HEAP8[$572>>0] = 1;
$573 = HEAP32[$10>>2]|0;
$574 = $573 & 6291456;
$575 = ($574|0)==(4194304);
if ($575) {
_png_warning($0,26028);
$$pre324 = HEAP32[$10>>2]|0;
$577 = $$pre324;
} else {
$577 = $573;
}
$576 = $577 & 6291456;
$578 = ($576|0)==(2097152);
if ($578) {
_png_error($0,26028);
// unreachable;
} else {
$580 = $577;
}
} else {
$580 = $153;
}
}
} while(0);
$579 = $580 & 16384;
$581 = ($579|0)==(0);
if ($581) {
$589 = $580;
} else {
$582 = ((($0)) + 208|0);
$583 = HEAP32[$582>>2]|0;
$584 = $583 & 2048;
$585 = ($584|0)==(0);
if ($585) {
$586 = HEAP32[$3>>2]|0;
$587 = ((($586)) + 1|0);
_png_do_gray_to_rgb($1,$587);
$$pre326 = HEAP32[$10>>2]|0;
$589 = $$pre326;
} else {
$589 = $580;
}
}
$588 = $589 & 128;
$590 = ($588|0)==(0);
L140: do {
if (!($590)) {
$591 = HEAP32[$3>>2]|0;
$592 = ((($591)) + 1|0);
$593 = ((($0)) + 492|0);
$594 = HEAP32[$593>>2]|0;
$595 = ((($0)) + 500|0);
$596 = HEAP32[$595>>2]|0;
$597 = ((($0)) + 504|0);
$598 = HEAP32[$597>>2]|0;
$599 = ((($0)) + 496|0);
$600 = HEAP32[$599>>2]|0;
$601 = ((($0)) + 508|0);
$602 = HEAP32[$601>>2]|0;
$603 = ((($0)) + 512|0);
$604 = HEAP32[$603>>2]|0;
$605 = ((($0)) + 484|0);
$606 = HEAP32[$605>>2]|0;
$607 = HEAP32[$6>>2]|0;
$608 = $607 & 8192;
$609 = ($608|0)==(0);
$$lobit$i = $608 >>> 13;
$610 = HEAP32[$1>>2]|0;
$611 = ((($1)) + 8|0);
$612 = HEAP16[$611>>1]|0;
$613 = $612&255;
$614 = ($612&65535) >>> 8;
$615 = $614&255;
switch ($613<<24>>24) {
case 0: {
switch ($615<<24>>24) {
case 1: {
$616 = ($610|0)==(0);
if ($616) {
break L140;
}
$617 = ((($0)) + 540|0);
$618 = ((($0)) + 460|0);
$619 = HEAP16[$617>>1]|0;
$620 = $619&65535;
$$0822947$i = 0;$$0843946$i = 7;$$0948$i = $592;
while(1) {
$621 = HEAP8[$$0948$i>>0]|0;
$622 = $621&255;
$623 = $622 >>> $$0843946$i;
$624 = $623 & 1;
$625 = ($624|0)==($620|0);
if ($625) {
$626 = (7 - ($$0843946$i))|0;
$627 = 32639 >>> $626;
$628 = $622 & $627;
$629 = HEAP16[$618>>1]|0;
$630 = $629&65535;
$631 = $630 << $$0843946$i;
$632 = $631 | $628;
$633 = $632&255;
HEAP8[$$0948$i>>0] = $633;
}
$634 = ($$0843946$i|0)==(0);
$635 = ((($$0948$i)) + 1|0);
$636 = (($$0843946$i) + -1)|0;
$$1844$i = $634 ? 7 : $636;
$$1$i176 = $634 ? $635 : $$0948$i;
$637 = (($$0822947$i) + 1)|0;
$exitcond$i177 = ($637|0)==($610|0);
if ($exitcond$i177) {
break;
} else {
$$0822947$i = $637;$$0843946$i = $$1844$i;$$0948$i = $$1$i176;
}
}
break;
}
case 2: {
$638 = ($594|0)==(0|0);
$639 = ($610|0)!=(0);
if ($638) {
if (!($639)) {
break L140;
}
$643 = ((($0)) + 540|0);
$644 = ((($0)) + 460|0);
$645 = HEAP16[$643>>1]|0;
$646 = $645&65535;
$$2824950$i = 0;$$4847949$i = 6;$$4951$i = $592;
while(1) {
$678 = HEAP8[$$4951$i>>0]|0;
$679 = $678&255;
$680 = $679 >>> $$4847949$i;
$681 = $680 & 3;
$682 = ($681|0)==($646|0);
if ($682) {
$683 = (6 - ($$4847949$i))|0;
$684 = 16191 >>> $683;
$685 = $679 & $684;
$686 = HEAP16[$644>>1]|0;
$687 = $686&65535;
$688 = $687 << $$4847949$i;
$689 = $688 | $685;
$690 = $689&255;
HEAP8[$$4951$i>>0] = $690;
}
$691 = ($$4847949$i|0)==(0);
$692 = ((($$4951$i)) + 1|0);
$693 = (($$4847949$i) + -2)|0;
$$5848$i = $691 ? 6 : $693;
$$5$i179 = $691 ? $692 : $$4951$i;
$694 = (($$2824950$i) + 1)|0;
$exitcond1046$i = ($694|0)==($610|0);
if ($exitcond1046$i) {
break L140;
} else {
$$2824950$i = $694;$$4847949$i = $$5848$i;$$4951$i = $$5$i179;
}
}
}
if (!($639)) {
break L140;
}
$640 = ((($0)) + 540|0);
$641 = ((($0)) + 460|0);
$$pre332 = HEAP16[$640>>1]|0;
$642 = $$pre332&65535;
$$1823954$i = 0;$$2845953$i = 6;$$2955$i = $592;
while(1) {
$647 = HEAP8[$$2955$i>>0]|0;
$648 = $647&255;
$649 = $648 >>> $$2845953$i;
$650 = $649 & 3;
$651 = ($650|0)==($642|0);
if ($651) {
$652 = (6 - ($$2845953$i))|0;
$653 = 16191 >>> $652;
$654 = $648 & $653;
$655 = HEAP16[$641>>1]|0;
$656 = $655&65535;
$657 = $656 << $$2845953$i;
$$masked869$i = $657 & 255;
$658 = $$masked869$i | $654;
$storemerge868$in$i = $658;
} else {
$659 = $650 << 2;
$660 = $659 | $650;
$661 = $650 << 4;
$662 = $660 | $661;
$663 = $650 << 6;
$664 = $662 | $663;
$665 = (($594) + ($664)|0);
$666 = HEAP8[$665>>0]|0;
$667 = $666&255;
$668 = $667 >>> 6;
$669 = (6 - ($$2845953$i))|0;
$670 = 16191 >>> $669;
$671 = $648 & $670;
$672 = $668 << $$2845953$i;
$673 = $672 | $671;
$storemerge868$in$i = $673;
}
$storemerge868$i = $storemerge868$in$i&255;
HEAP8[$$2955$i>>0] = $storemerge868$i;
$674 = ($$2845953$i|0)==(0);
$675 = ((($$2955$i)) + 1|0);
$676 = (($$2845953$i) + -2)|0;
$$3846$i = $674 ? 6 : $676;
$$3$i178 = $674 ? $675 : $$2955$i;
$677 = (($$1823954$i) + 1)|0;
$exitcond1047$i = ($677|0)==($610|0);
if ($exitcond1047$i) {
break;
} else {
$$1823954$i = $677;$$2845953$i = $$3846$i;$$2955$i = $$3$i178;
}
}
break;
}
case 4: {
$695 = ($594|0)==(0|0);
$696 = ($610|0)!=(0);
if ($695) {
if (!($696)) {
break L140;
}
$700 = ((($0)) + 540|0);
$701 = ((($0)) + 460|0);
$702 = HEAP16[$700>>1]|0;
$703 = $702&65535;
$$4826958$i = 0;$$8851957$i = 4;$$8959$i = $592;
while(1) {
$731 = HEAP8[$$8959$i>>0]|0;
$732 = $731&255;
$733 = $732 >>> $$8851957$i;
$734 = $733 & 15;
$735 = ($734|0)==($703|0);
if ($735) {
$736 = (4 - ($$8851957$i))|0;
$737 = 3855 >>> $736;
$738 = $732 & $737;
$739 = HEAP16[$701>>1]|0;
$740 = $739&65535;
$741 = $740 << $$8851957$i;
$742 = $741 | $738;
$743 = $742&255;
HEAP8[$$8959$i>>0] = $743;
}
$744 = ($$8851957$i|0)==(0);
$745 = ((($$8959$i)) + 1|0);
$746 = (($$8851957$i) + -4)|0;
$$9852$i = $744 ? 4 : $746;
$$9$i181 = $744 ? $745 : $$8959$i;
$747 = (($$4826958$i) + 1)|0;
$exitcond1048$i = ($747|0)==($610|0);
if ($exitcond1048$i) {
break L140;
} else {
$$4826958$i = $747;$$8851957$i = $$9852$i;$$8959$i = $$9$i181;
}
}
}
if (!($696)) {
break L140;
}
$697 = ((($0)) + 540|0);
$698 = ((($0)) + 460|0);
$$pre331 = HEAP16[$697>>1]|0;
$699 = $$pre331&65535;
$$3825962$i = 0;$$6849961$i = 4;$$6963$i = $592;
while(1) {
$704 = HEAP8[$$6963$i>>0]|0;
$705 = $704&255;
$706 = $705 >>> $$6849961$i;
$707 = $706 & 15;
$708 = ($707|0)==($699|0);
if ($708) {
$709 = (4 - ($$6849961$i))|0;
$710 = 3855 >>> $709;
$711 = $705 & $710;
$712 = HEAP16[$698>>1]|0;
$713 = $712&65535;
$714 = $713 << $$6849961$i;
$$masked865$i = $714 & 255;
$715 = $$masked865$i | $711;
$storemerge864$in$i = $715;
} else {
$716 = $707 << 4;
$717 = $716 | $707;
$718 = (($594) + ($717)|0);
$719 = HEAP8[$718>>0]|0;
$720 = $719&255;
$721 = $720 >>> 4;
$722 = (4 - ($$6849961$i))|0;
$723 = 3855 >>> $722;
$724 = $705 & $723;
$725 = $721 << $$6849961$i;
$726 = $725 | $724;
$storemerge864$in$i = $726;
}
$storemerge864$i = $storemerge864$in$i&255;
HEAP8[$$6963$i>>0] = $storemerge864$i;
$727 = ($$6849961$i|0)==(0);
$728 = ((($$6963$i)) + 1|0);
$729 = (($$6849961$i) + -4)|0;
$$7850$i = $727 ? 4 : $729;
$$7$i180 = $727 ? $728 : $$6963$i;
$730 = (($$3825962$i) + 1)|0;
$exitcond1049$i = ($730|0)==($610|0);
if ($exitcond1049$i) {
break;
} else {
$$3825962$i = $730;$$6849961$i = $$7850$i;$$6963$i = $$7$i180;
}
}
break;
}
case 8: {
$748 = ($594|0)==(0|0);
$749 = ($610|0)!=(0);
if ($748) {
if (!($749)) {
break L140;
}
$753 = ((($0)) + 540|0);
$754 = ((($0)) + 460|0);
$755 = HEAP16[$753>>1]|0;
$756 = $755&65535;
$$11966$i = $592;$$6828965$i = 0;
while(1) {
$766 = HEAP8[$$11966$i>>0]|0;
$767 = $766&255;
$768 = ($767|0)==($756|0);
if ($768) {
$769 = HEAP16[$754>>1]|0;
$770 = $769&255;
HEAP8[$$11966$i>>0] = $770;
}
$771 = (($$6828965$i) + 1)|0;
$772 = ((($$11966$i)) + 1|0);
$exitcond1050$i = ($771|0)==($610|0);
if ($exitcond1050$i) {
break L140;
} else {
$$11966$i = $772;$$6828965$i = $771;
}
}
}
if (!($749)) {
break L140;
}
$750 = ((($0)) + 540|0);
$751 = ((($0)) + 460|0);
$$pre330 = HEAP16[$750>>1]|0;
$752 = $$pre330&65535;
$$10969$i = $592;$$5827968$i = 0;
while(1) {
$757 = HEAP8[$$10969$i>>0]|0;
$758 = $757&255;
$759 = ($758|0)==($752|0);
if ($759) {
$760 = HEAP16[$751>>1]|0;
$761 = $760&255;
$storemerge862$i = $761;
} else {
$762 = (($594) + ($758)|0);
$763 = HEAP8[$762>>0]|0;
$storemerge862$i = $763;
}
HEAP8[$$10969$i>>0] = $storemerge862$i;
$764 = (($$5827968$i) + 1)|0;
$765 = ((($$10969$i)) + 1|0);
$exitcond1051$i = ($764|0)==($610|0);
if ($exitcond1051$i) {
break;
} else {
$$10969$i = $765;$$5827968$i = $764;
}
}
break;
}
case 16: {
$773 = ($600|0)==(0|0);
$774 = ($610|0)!=(0);
if ($773) {
if (!($774)) {
break L140;
}
$778 = ((($0)) + 540|0);
$779 = ((($0)) + 460|0);
$780 = HEAP16[$778>>1]|0;
$781 = $780&65535;
$$13972$i = $592;$$8830971$i = 0;
while(1) {
$798 = HEAP8[$$13972$i>>0]|0;
$799 = $798&255;
$800 = $799 << 8;
$801 = ((($$13972$i)) + 1|0);
$802 = HEAP8[$801>>0]|0;
$803 = $802&255;
$804 = $800 | $803;
$805 = ($804|0)==($781|0);
if ($805) {
$806 = HEAP16[$779>>1]|0;
$807 = ($806&65535) >>> 8;
$808 = $807&255;
HEAP8[$$13972$i>>0] = $808;
$809 = $806&255;
HEAP8[$801>>0] = $809;
}
$810 = (($$8830971$i) + 1)|0;
$811 = ((($$13972$i)) + 2|0);
$exitcond1052$i = ($810|0)==($610|0);
if ($exitcond1052$i) {
break;
} else {
$$13972$i = $811;$$8830971$i = $810;
}
}
} else {
if (!($774)) {
break L140;
}
$775 = ((($0)) + 540|0);
$776 = ((($0)) + 460|0);
$$pre329 = HEAP16[$775>>1]|0;
$777 = $$pre329&65535;
$$12975$i = $592;$$7829974$i = 0;
while(1) {
$782 = HEAP8[$$12975$i>>0]|0;
$783 = $782&255;
$784 = $783 << 8;
$785 = ((($$12975$i)) + 1|0);
$786 = HEAP8[$785>>0]|0;
$787 = $786&255;
$788 = $784 | $787;
$789 = ($788|0)==($777|0);
if ($789) {
$$sink$in = $776;
} else {
$790 = $787 >>> $606;
$791 = (($600) + ($790<<2)|0);
$792 = HEAP32[$791>>2]|0;
$793 = (($792) + ($783<<1)|0);
$$sink$in = $793;
}
$$sink = HEAP16[$$sink$in>>1]|0;
$794 = ($$sink&65535) >>> 8;
$795 = $794&255;
$extract$t409 = $$sink&255;
HEAP8[$$12975$i>>0] = $795;
HEAP8[$785>>0] = $extract$t409;
$796 = (($$7829974$i) + 1)|0;
$797 = ((($$12975$i)) + 2|0);
$exitcond1053$i = ($796|0)==($610|0);
if ($exitcond1053$i) {
break;
} else {
$$12975$i = $797;$$7829974$i = $796;
}
}
}
break;
}
default: {
break L140;
}
}
break;
}
case 2: {
$812 = ($615<<24>>24)==(8);
if (!($812)) {
$879 = ($600|0)==(0|0);
$880 = ($610|0)!=(0);
if ($879) {
if (!($880)) {
break L140;
}
$886 = ((($0)) + 534|0);
$887 = ((($0)) + 536|0);
$888 = ((($0)) + 454|0);
$889 = ((($0)) + 456|0);
$890 = HEAP16[$886>>1]|0;
$891 = $890&65535;
$$12834984$i = 0;$$17985$i = $592;
while(1) {
$960 = HEAP8[$$17985$i>>0]|0;
$961 = $960&255;
$962 = $961 << 8;
$963 = ((($$17985$i)) + 1|0);
$964 = HEAP8[$963>>0]|0;
$965 = $964&255;
$966 = $962 | $965;
$967 = ((($$17985$i)) + 2|0);
$968 = ((($$17985$i)) + 3|0);
$969 = ((($$17985$i)) + 4|0);
$970 = ((($$17985$i)) + 5|0);
$971 = ($966|0)==($891|0);
if ($971) {
$972 = HEAP8[$969>>0]|0;
$973 = $972&255;
$974 = $973 << 8;
$975 = HEAP8[$970>>0]|0;
$976 = $975&255;
$977 = $974 | $976;
$978 = HEAP8[$967>>0]|0;
$979 = $978&255;
$980 = $979 << 8;
$981 = HEAP8[$968>>0]|0;
$982 = $981&255;
$983 = $980 | $982;
$984 = HEAP32[$887>>2]|0;
$985 = $984 & 65535;
$986 = ($983|0)==($985|0);
$987 = $984 >>> 16;
$988 = ($977|0)==($987|0);
$or$cond1099$i = $986 & $988;
if ($or$cond1099$i) {
$989 = HEAP16[$888>>1]|0;
$990 = ($989&65535) >>> 8;
$991 = $990&255;
HEAP8[$$17985$i>>0] = $991;
$992 = $989&255;
HEAP8[$963>>0] = $992;
$993 = HEAP32[$889>>2]|0;
$994 = $993&65535;
$995 = ($994&65535) >>> 8;
$996 = $995&255;
HEAP8[$967>>0] = $996;
$997 = $993&255;
HEAP8[$968>>0] = $997;
$998 = $993 >>> 16;
$999 = $993 >>> 24;
$1000 = $999&255;
HEAP8[$969>>0] = $1000;
$1001 = $998&255;
HEAP8[$970>>0] = $1001;
}
}
$1002 = (($$12834984$i) + 1)|0;
$1003 = ((($$17985$i)) + 6|0);
$exitcond1056$i = ($1002|0)==($610|0);
if ($exitcond1056$i) {
break L140;
} else {
$$12834984$i = $1002;$$17985$i = $1003;
}
}
}
if (!($880)) {
break L140;
}
$881 = ((($0)) + 534|0);
$882 = ((($0)) + 536|0);
$883 = ((($0)) + 454|0);
$884 = ((($0)) + 456|0);
$$pre327 = HEAP16[$881>>1]|0;
$885 = $$pre327&65535;
$$11833987$i = 0;$$16988$i = $592;
while(1) {
$892 = HEAP8[$$16988$i>>0]|0;
$893 = $892&255;
$894 = $893 << 8;
$895 = ((($$16988$i)) + 1|0);
$896 = HEAP8[$895>>0]|0;
$897 = $896&255;
$898 = $894 | $897;
$899 = ((($$16988$i)) + 2|0);
$900 = ((($$16988$i)) + 3|0);
$901 = ((($$16988$i)) + 4|0);
$902 = HEAP8[$901>>0]|0;
$903 = $902&255;
$904 = ((($$16988$i)) + 5|0);
$905 = HEAP8[$904>>0]|0;
$906 = $905&255;
$907 = ($898|0)==($885|0);
$908 = HEAP8[$899>>0]|0;
if ($907) {
$909 = $903 << 8;
$910 = $909 | $906;
$911 = $908&255;
$912 = $911 << 8;
$913 = HEAP8[$900>>0]|0;
$914 = $913&255;
$915 = $914 | $912;
$916 = HEAP32[$882>>2]|0;
$917 = $916 & 65535;
$918 = ($915|0)==($917|0);
$919 = $916 >>> 16;
$920 = ($910|0)==($919|0);
$or$cond1096$i = $918 & $920;
if ($or$cond1096$i) {
$921 = HEAP16[$883>>1]|0;
$922 = ($921&65535) >>> 8;
$923 = $922&255;
HEAP8[$$16988$i>>0] = $923;
$924 = $921&255;
HEAP8[$895>>0] = $924;
$925 = HEAP32[$884>>2]|0;
$926 = $925&65535;
$927 = ($926&65535) >>> 8;
$928 = $927&255;
HEAP8[$899>>0] = $928;
$929 = $925&255;
HEAP8[$900>>0] = $929;
$930 = $925 >>> 16;
$931 = $925 >>> 24;
$932 = $931&255;
HEAP8[$901>>0] = $932;
$extract$t269 = $930&255;
$$sink217$off0 = $extract$t269;
} else {
$$pre$phi353Z2D = $911;$942 = $913;
label = 176;
}
} else {
$$pre1069$i = HEAP8[$900>>0]|0;
$$pre352 = $908&255;
$$pre$phi353Z2D = $$pre352;$942 = $$pre1069$i;
label = 176;
}
if ((label|0) == 176) {
label = 0;
$933 = $897 >>> $606;
$934 = (($600) + ($933<<2)|0);
$935 = HEAP32[$934>>2]|0;
$936 = (($935) + ($893<<1)|0);
$937 = HEAP16[$936>>1]|0;
$938 = ($937&65535) >>> 8;
$939 = $938&255;
HEAP8[$$16988$i>>0] = $939;
$940 = $937&255;
HEAP8[$895>>0] = $940;
$941 = $942&255;
$943 = $941 >>> $606;
$944 = (($600) + ($943<<2)|0);
$945 = HEAP32[$944>>2]|0;
$946 = (($945) + ($$pre$phi353Z2D<<1)|0);
$947 = HEAP16[$946>>1]|0;
$948 = ($947&65535) >>> 8;
$949 = $948&255;
HEAP8[$899>>0] = $949;
$950 = $947&255;
HEAP8[$900>>0] = $950;
$951 = $906 >>> $606;
$952 = (($600) + ($951<<2)|0);
$953 = HEAP32[$952>>2]|0;
$954 = (($953) + ($903<<1)|0);
$955 = HEAP16[$954>>1]|0;
$956 = ($955&65535) >>> 8;
$957 = $956&255;
HEAP8[$901>>0] = $957;
$extract$t270 = $955&255;
$$sink217$off0 = $extract$t270;
}
HEAP8[$904>>0] = $$sink217$off0;
$958 = (($$11833987$i) + 1)|0;
$959 = ((($$16988$i)) + 6|0);
$exitcond1057$i = ($958|0)==($610|0);
if ($exitcond1057$i) {
break L140;
} else {
$$11833987$i = $958;$$16988$i = $959;
}
}
}
$813 = ($594|0)==(0|0);
$814 = ($610|0)!=(0);
if ($813) {
if (!($814)) {
break L140;
}
$820 = ((($0)) + 534|0);
$821 = ((($0)) + 536|0);
$822 = ((($0)) + 454|0);
$823 = ((($0)) + 456|0);
$824 = HEAP16[$820>>1]|0;
$825 = $824&65535;
$$10832977$i = 0;$$15978$i = $592;
while(1) {
$857 = HEAP8[$$15978$i>>0]|0;
$858 = $857&255;
$859 = ($858|0)==($825|0);
if ($859) {
$860 = ((($$15978$i)) + 1|0);
$861 = HEAP8[$860>>0]|0;
$862 = $861&255;
$863 = HEAP32[$821>>2]|0;
$864 = $863 & 65535;
$865 = ($862|0)==($864|0);
if ($865) {
$866 = $863 >>> 16;
$867 = ((($$15978$i)) + 2|0);
$868 = HEAP8[$867>>0]|0;
$869 = $868&255;
$870 = ($869|0)==($866|0);
if ($870) {
$871 = HEAP16[$822>>1]|0;
$872 = $871&255;
HEAP8[$$15978$i>>0] = $872;
$873 = HEAP32[$823>>2]|0;
$874 = $873&255;
HEAP8[$860>>0] = $874;
$875 = $873 >>> 16;
$876 = $875&255;
HEAP8[$867>>0] = $876;
}
}
}
$877 = (($$10832977$i) + 1)|0;
$878 = ((($$15978$i)) + 3|0);
$exitcond1054$i = ($877|0)==($610|0);
if ($exitcond1054$i) {
break L140;
} else {
$$10832977$i = $877;$$15978$i = $878;
}
}
}
if (!($814)) {
break L140;
}
$815 = ((($0)) + 534|0);
$816 = ((($0)) + 536|0);
$817 = ((($0)) + 454|0);
$818 = ((($0)) + 456|0);
$$pre328 = HEAP16[$815>>1]|0;
$819 = $$pre328&65535;
$$14981$i = $592;$$9831980$i = 0;
while(1) {
$826 = HEAP8[$$14981$i>>0]|0;
$827 = $826&255;
$828 = ($827|0)==($819|0);
$829 = ((($$14981$i)) + 1|0);
$830 = HEAP8[$829>>0]|0;
$831 = $830&255;
if ($828) {
$832 = HEAP32[$816>>2]|0;
$833 = $832 & 65535;
$834 = ($831|0)==($833|0);
if ($834) {
$835 = $832 >>> 16;
$836 = ((($$14981$i)) + 2|0);
$837 = HEAP8[$836>>0]|0;
$838 = $837&255;
$839 = ($838|0)==($835|0);
if ($839) {
$840 = HEAP16[$817>>1]|0;
$841 = $840&255;
HEAP8[$$14981$i>>0] = $841;
$842 = HEAP32[$818>>2]|0;
$843 = $842&255;
HEAP8[$829>>0] = $843;
$844 = $842 >>> 16;
$845 = $844&255;
HEAP8[$836>>0] = $845;
} else {
label = 160;
}
} else {
label = 160;
}
} else {
label = 160;
}
if ((label|0) == 160) {
label = 0;
$846 = (($594) + ($827)|0);
$847 = HEAP8[$846>>0]|0;
HEAP8[$$14981$i>>0] = $847;
$848 = (($594) + ($831)|0);
$849 = HEAP8[$848>>0]|0;
HEAP8[$829>>0] = $849;
$850 = ((($$14981$i)) + 2|0);
$851 = HEAP8[$850>>0]|0;
$852 = $851&255;
$853 = (($594) + ($852)|0);
$854 = HEAP8[$853>>0]|0;
HEAP8[$850>>0] = $854;
}
$855 = (($$9831980$i) + 1)|0;
$856 = ((($$14981$i)) + 3|0);
$exitcond1055$i = ($855|0)==($610|0);
if ($exitcond1055$i) {
break;
} else {
$$14981$i = $856;$$9831980$i = $855;
}
}
break;
}
case 4: {
$1004 = ($615<<24>>24)==(8);
if ($1004) {
$1005 = ($598|0)!=(0|0);
$1006 = ($596|0)!=(0|0);
$or$cond$i183 = $1006 & $1005;
$1007 = ($594|0)!=(0|0);
$or$cond3$i = $1007 & $or$cond$i183;
$1008 = ($610|0)!=(0);
if (!($or$cond3$i)) {
if (!($1008)) {
break L140;
}
$1009 = ((($0)) + 460|0);
$$14836995$i = 0;$$19996$i = $592;
while(1) {
$1071 = ((($$19996$i)) + 1|0);
$1072 = HEAP8[$1071>>0]|0;
switch ($1072<<24>>24) {
case 0: {
$1073 = HEAP16[$1009>>1]|0;
$1074 = $1073&255;
HEAP8[$$19996$i>>0] = $1074;
break;
}
case -1: {
break;
}
default: {
$1075 = HEAP8[$$19996$i>>0]|0;
$1076 = $1075&255;
$1077 = $1072&255;
$1078 = Math_imul($1076, $1077)|0;
$1079 = HEAP16[$1009>>1]|0;
$1080 = $1079&65535;
$1081 = $1077 ^ 255;
$1082 = Math_imul($1080, $1081)|0;
$1083 = (($1078) + 128)|0;
$1084 = (($1083) + ($1082))|0;
$1085 = $1084 >>> 8;
$1086 = $1085 & 255;
$1087 = (($1086) + ($1084))|0;
$1088 = $1087 >>> 8;
$1089 = $1088&255;
HEAP8[$$19996$i>>0] = $1089;
}
}
$1090 = (($$14836995$i) + 1)|0;
$1091 = ((($$19996$i)) + 2|0);
$exitcond1060$i = ($1090|0)==($610|0);
if ($exitcond1060$i) {
break L140;
} else {
$$14836995$i = $1090;$$19996$i = $1091;
}
}
}
if (!($1008)) {
break L140;
}
$1010 = ((($0)) + 470|0);
$1011 = ($$lobit$i|0)==(0);
$1012 = ((($0)) + 460|0);
if ($1011) {
$$13835991$us$i = 0;$$18992$us$i = $592;
while(1) {
$1013 = ((($$18992$us$i)) + 1|0);
$1014 = HEAP8[$1013>>0]|0;
$1015 = $1014&255;
switch ($1014<<24>>24) {
case -1: {
$1018 = HEAP8[$$18992$us$i>>0]|0;
$1019 = $1018&255;
$1020 = (($594) + ($1019)|0);
$1021 = HEAP8[$1020>>0]|0;
HEAP8[$$18992$us$i>>0] = $1021;
break;
}
case 0: {
$1016 = HEAP16[$1012>>1]|0;
$1017 = $1016&255;
HEAP8[$$18992$us$i>>0] = $1017;
break;
}
default: {
$1022 = HEAP8[$$18992$us$i>>0]|0;
$1023 = $1022&255;
$1024 = (($598) + ($1023)|0);
$1025 = HEAP8[$1024>>0]|0;
$1026 = $1025&255;
$1027 = Math_imul($1026, $1015)|0;
$1028 = HEAP16[$1010>>1]|0;
$1029 = $1028&65535;
$1030 = $1015 ^ 255;
$1031 = Math_imul($1029, $1030)|0;
$1032 = (($1027) + 128)|0;
$1033 = (($1032) + ($1031))|0;
$1034 = $1033 >>> 8;
$1035 = $1034 & 255;
$1036 = (($1035) + ($1033))|0;
$1037 = $1036 >>> 8;
$1038 = $1037 & 255;
$1039 = (($596) + ($1038)|0);
$1040 = HEAP8[$1039>>0]|0;
HEAP8[$$18992$us$i>>0] = $1040;
}
}
$1041 = (($$13835991$us$i) + 1)|0;
$1042 = ((($$18992$us$i)) + 2|0);
$exitcond1058$i = ($1041|0)==($610|0);
if ($exitcond1058$i) {
break L140;
} else {
$$13835991$us$i = $1041;$$18992$us$i = $1042;
}
}
} else {
$$13835991$i = 0;$$18992$i = $592;
while(1) {
$1043 = ((($$18992$i)) + 1|0);
$1044 = HEAP8[$1043>>0]|0;
$1045 = $1044&255;
switch ($1044<<24>>24) {
case -1: {
$1046 = HEAP8[$$18992$i>>0]|0;
$1047 = $1046&255;
$1048 = (($594) + ($1047)|0);
$1049 = HEAP8[$1048>>0]|0;
HEAP8[$$18992$i>>0] = $1049;
break;
}
case 0: {
$1050 = HEAP16[$1012>>1]|0;
$1051 = $1050&255;
HEAP8[$$18992$i>>0] = $1051;
break;
}
default: {
$1052 = HEAP8[$$18992$i>>0]|0;
$1053 = $1052&255;
$1054 = (($598) + ($1053)|0);
$1055 = HEAP8[$1054>>0]|0;
$1056 = $1055&255;
$1057 = Math_imul($1056, $1045)|0;
$1058 = HEAP16[$1010>>1]|0;
$1059 = $1058&65535;
$1060 = $1045 ^ 255;
$1061 = Math_imul($1059, $1060)|0;
$1062 = (($1057) + 128)|0;
$1063 = (($1062) + ($1061))|0;
$1064 = $1063 >>> 8;
$1065 = $1064 & 255;
$1066 = (($1065) + ($1063))|0;
$1067 = $1066 >>> 8;
$1068 = $1067&255;
HEAP8[$$18992$i>>0] = $1068;
}
}
$1069 = (($$13835991$i) + 1)|0;
$1070 = ((($$18992$i)) + 2|0);
$exitcond1059$i = ($1069|0)==($610|0);
if ($exitcond1059$i) {
break L140;
} else {
$$13835991$i = $1069;$$18992$i = $1070;
}
}
}
} else {
$1092 = ($600|0)!=(0|0);
$1093 = ($602|0)!=(0|0);
$or$cond5$i = $1092 & $1093;
$1094 = ($604|0)!=(0|0);
$or$cond7$i = $or$cond5$i & $1094;
$1095 = ($610|0)!=(0);
if (!($or$cond7$i)) {
if (!($1095)) {
break L140;
}
$1096 = ((($0)) + 460|0);
$$168381002$i = 0;$$211003$i = $592;
while(1) {
$1204 = ((($$211003$i)) + 2|0);
$1205 = HEAP8[$1204>>0]|0;
$1206 = $1205&255;
$1207 = $1206 << 8;
$1208 = ((($$211003$i)) + 3|0);
$1209 = HEAP8[$1208>>0]|0;
$1210 = $1209&255;
$1211 = $1207 | $1210;
$trunc899$i = $1211&65535;
switch ($trunc899$i<<16>>16) {
case 0: {
$1212 = HEAP16[$1096>>1]|0;
$1213 = ($1212&65535) >>> 8;
$1214 = $1213&255;
HEAP8[$$211003$i>>0] = $1214;
$1215 = $1212&255;
$1216 = ((($$211003$i)) + 1|0);
HEAP8[$1216>>0] = $1215;
break;
}
case -1: {
break;
}
default: {
$1217 = HEAP8[$$211003$i>>0]|0;
$1218 = $1217&255;
$1219 = $1218 << 8;
$1220 = ((($$211003$i)) + 1|0);
$1221 = HEAP8[$1220>>0]|0;
$1222 = $1221&255;
$1223 = $1219 | $1222;
$1224 = Math_imul($1223, $1211)|0;
$1225 = HEAP16[$1096>>1]|0;
$1226 = $1225&65535;
$1227 = $1211 ^ 65535;
$1228 = Math_imul($1226, $1227)|0;
$1229 = (($1228) + 32768)|0;
$1230 = (($1229) + ($1224))|0;
$1231 = $1230 >>> 16;
$1232 = (($1231) + ($1230))|0;
$1233 = $1232 >>> 16;
$1234 = $1232 >>> 24;
$1235 = $1234&255;
HEAP8[$$211003$i>>0] = $1235;
$1236 = $1233&255;
HEAP8[$1220>>0] = $1236;
}
}
$1237 = (($$168381002$i) + 1)|0;
$1238 = ((($$211003$i)) + 4|0);
$exitcond1063$i = ($1237|0)==($610|0);
if ($exitcond1063$i) {
break L140;
} else {
$$168381002$i = $1237;$$211003$i = $1238;
}
}
}
if (!($1095)) {
break L140;
}
$1097 = ((($0)) + 470|0);
$1098 = ((($0)) + 460|0);
if ($609) {
$$15837998$us$i = 0;$$20999$us$i = $592;
while(1) {
$1099 = ((($$20999$us$i)) + 2|0);
$1100 = HEAP8[$1099>>0]|0;
$1101 = $1100&255;
$1102 = $1101 << 8;
$1103 = ((($$20999$us$i)) + 3|0);
$1104 = HEAP8[$1103>>0]|0;
$1105 = $1104&255;
$1106 = $1102 | $1105;
$trunc900$us$i = $1106&65535;
switch ($trunc900$us$i<<16>>16) {
case -1: {
$1112 = HEAP8[$$20999$us$i>>0]|0;
$1113 = $1112&255;
$1114 = ((($$20999$us$i)) + 1|0);
$1115 = HEAP8[$1114>>0]|0;
$1116 = $1115&255;
$1117 = $1116 >>> $606;
$1118 = (($600) + ($1117<<2)|0);
$1119 = HEAP32[$1118>>2]|0;
$1120 = (($1119) + ($1113<<1)|0);
$1121 = HEAP16[$1120>>1]|0;
$1122 = ($1121&65535) >>> 8;
$1123 = $1122&255;
HEAP8[$$20999$us$i>>0] = $1123;
$1124 = $1121&255;
HEAP8[$1114>>0] = $1124;
break;
}
case 0: {
$1107 = HEAP16[$1098>>1]|0;
$1108 = ($1107&65535) >>> 8;
$1109 = $1108&255;
HEAP8[$$20999$us$i>>0] = $1109;
$1110 = $1107&255;
$1111 = ((($$20999$us$i)) + 1|0);
HEAP8[$1111>>0] = $1110;
break;
}
default: {
$1125 = HEAP8[$$20999$us$i>>0]|0;
$1126 = $1125&255;
$1127 = ((($$20999$us$i)) + 1|0);
$1128 = HEAP8[$1127>>0]|0;
$1129 = $1128&255;
$1130 = $1129 >>> $606;
$1131 = (($604) + ($1130<<2)|0);
$1132 = HEAP32[$1131>>2]|0;
$1133 = (($1132) + ($1126<<1)|0);
$1134 = HEAP16[$1133>>1]|0;
$1135 = $1134&65535;
$1136 = Math_imul($1135, $1106)|0;
$1137 = HEAP16[$1097>>1]|0;
$1138 = $1137&65535;
$1139 = $1106 ^ 65535;
$1140 = Math_imul($1138, $1139)|0;
$1141 = (($1136) + 32768)|0;
$1142 = (($1141) + ($1140))|0;
$1143 = $1142 >>> 16;
$1144 = (($1143) + ($1142))|0;
$1145 = $1144 >>> 16;
$1146 = $1144 >>> 24;
$1147 = $1145 & 255;
$1148 = $1147 >>> $606;
$1149 = (($602) + ($1148<<2)|0);
$1150 = HEAP32[$1149>>2]|0;
$1151 = (($1150) + ($1146<<1)|0);
$1152 = HEAP16[$1151>>1]|0;
$extract$t891$us$i = $1152&255;
$extract894$us$i = ($1152&65535) >>> 8;
$extract$t895$us$i = $extract894$us$i&255;
HEAP8[$$20999$us$i>>0] = $extract$t895$us$i;
HEAP8[$1127>>0] = $extract$t891$us$i;
}
}
$1153 = (($$15837998$us$i) + 1)|0;
$1154 = ((($$20999$us$i)) + 4|0);
$exitcond1061$i = ($1153|0)==($610|0);
if ($exitcond1061$i) {
break L140;
} else {
$$15837998$us$i = $1153;$$20999$us$i = $1154;
}
}
} else {
$$15837998$i = 0;$$20999$i = $592;
while(1) {
$1155 = ((($$20999$i)) + 2|0);
$1156 = HEAP8[$1155>>0]|0;
$1157 = $1156&255;
$1158 = $1157 << 8;
$1159 = ((($$20999$i)) + 3|0);
$1160 = HEAP8[$1159>>0]|0;
$1161 = $1160&255;
$1162 = $1158 | $1161;
$trunc900$i = $1162&65535;
switch ($trunc900$i<<16>>16) {
case -1: {
$1163 = HEAP8[$$20999$i>>0]|0;
$1164 = $1163&255;
$1165 = ((($$20999$i)) + 1|0);
$1166 = HEAP8[$1165>>0]|0;
$1167 = $1166&255;
$1168 = $1167 >>> $606;
$1169 = (($600) + ($1168<<2)|0);
$1170 = HEAP32[$1169>>2]|0;
$1171 = (($1170) + ($1164<<1)|0);
$1172 = HEAP16[$1171>>1]|0;
$1173 = ($1172&65535) >>> 8;
$1174 = $1173&255;
HEAP8[$$20999$i>>0] = $1174;
$1175 = $1172&255;
HEAP8[$1165>>0] = $1175;
break;
}
case 0: {
$1176 = HEAP16[$1098>>1]|0;
$1177 = ($1176&65535) >>> 8;
$1178 = $1177&255;
HEAP8[$$20999$i>>0] = $1178;
$1179 = $1176&255;
$1180 = ((($$20999$i)) + 1|0);
HEAP8[$1180>>0] = $1179;
break;
}
default: {
$1181 = HEAP8[$$20999$i>>0]|0;
$1182 = $1181&255;
$1183 = ((($$20999$i)) + 1|0);
$1184 = HEAP8[$1183>>0]|0;
$1185 = $1184&255;
$1186 = $1185 >>> $606;
$1187 = (($604) + ($1186<<2)|0);
$1188 = HEAP32[$1187>>2]|0;
$1189 = (($1188) + ($1182<<1)|0);
$1190 = HEAP16[$1189>>1]|0;
$1191 = $1190&65535;
$1192 = Math_imul($1191, $1162)|0;
$1193 = HEAP16[$1097>>1]|0;
$1194 = $1193&65535;
$1195 = $1162 ^ 65535;
$1196 = Math_imul($1194, $1195)|0;
$1197 = (($1192) + 32768)|0;
$1198 = (($1197) + ($1196))|0;
$1199 = $1198 >>> 16;
$1200 = (($1199) + ($1198))|0;
$1201 = $1200 >>> 16;
$extract$t890$i = $1201&255;
$extract892896$i = $1200 >>> 24;
$extract$t893$i = $extract892896$i&255;
HEAP8[$$20999$i>>0] = $extract$t893$i;
HEAP8[$1183>>0] = $extract$t890$i;
}
}
$1202 = (($$15837998$i) + 1)|0;
$1203 = ((($$20999$i)) + 4|0);
$exitcond1062$i = ($1202|0)==($610|0);
if ($exitcond1062$i) {
break L140;
} else {
$$15837998$i = $1202;$$20999$i = $1203;
}
}
}
}
break;
}
case 6: {
$1239 = ($615<<24>>24)==(8);
if ($1239) {
$1240 = ($598|0)!=(0|0);
$1241 = ($596|0)!=(0|0);
$or$cond9$i = $1241 & $1240;
$1242 = ($594|0)!=(0|0);
$or$cond11$i = $1242 & $or$cond9$i;
$1243 = ($610|0)!=(0);
if (!($or$cond11$i)) {
if (!($1243)) {
break L140;
}
$1244 = ((($0)) + 454|0);
$1245 = ((($0)) + 456|0);
$$188401009$i = 0;$$231010$i = $592;
while(1) {
$1414 = ((($$231010$i)) + 3|0);
$1415 = HEAP8[$1414>>0]|0;
switch ($1415<<24>>24) {
case 0: {
$1416 = HEAP16[$1244>>1]|0;
$1417 = $1416&255;
HEAP8[$$231010$i>>0] = $1417;
$1418 = HEAP32[$1245>>2]|0;
$1419 = $1418&255;
$1420 = ((($$231010$i)) + 1|0);
HEAP8[$1420>>0] = $1419;
$1421 = $1418 >>> 16;
$1422 = $1421&255;
$1423 = ((($$231010$i)) + 2|0);
HEAP8[$1423>>0] = $1422;
break;
}
case -1: {
break;
}
default: {
$1424 = HEAP8[$$231010$i>>0]|0;
$1425 = $1424&255;
$1426 = $1415&255;
$1427 = Math_imul($1425, $1426)|0;
$1428 = HEAP16[$1244>>1]|0;
$1429 = $1428&65535;
$1430 = $1426 ^ 255;
$1431 = Math_imul($1429, $1430)|0;
$1432 = (($1427) + 128)|0;
$1433 = (($1432) + ($1431))|0;
$1434 = $1433 >>> 8;
$1435 = $1434 & 255;
$1436 = (($1435) + ($1433))|0;
$1437 = $1436 >>> 8;
$1438 = $1437&255;
HEAP8[$$231010$i>>0] = $1438;
$1439 = ((($$231010$i)) + 1|0);
$1440 = HEAP8[$1439>>0]|0;
$1441 = $1440&255;
$1442 = Math_imul($1441, $1426)|0;
$1443 = HEAP32[$1245>>2]|0;
$1444 = $1443 & 65535;
$1445 = Math_imul($1444, $1430)|0;
$1446 = (($1442) + 128)|0;
$1447 = (($1446) + ($1445))|0;
$1448 = $1447 >>> 8;
$1449 = $1448 & 255;
$1450 = (($1449) + ($1447))|0;
$1451 = $1450 >>> 8;
$1452 = $1451&255;
HEAP8[$1439>>0] = $1452;
$1453 = ((($$231010$i)) + 2|0);
$1454 = HEAP8[$1453>>0]|0;
$1455 = $1454&255;
$1456 = Math_imul($1455, $1426)|0;
$1457 = $1443 >>> 16;
$1458 = Math_imul($1457, $1430)|0;
$1459 = (($1456) + 128)|0;
$1460 = (($1459) + ($1458))|0;
$1461 = $1460 >>> 8;
$1462 = $1461 & 255;
$1463 = (($1462) + ($1460))|0;
$1464 = $1463 >>> 8;
$1465 = $1464&255;
HEAP8[$1453>>0] = $1465;
}
}
$1466 = (($$188401009$i) + 1)|0;
$1467 = ((($$231010$i)) + 4|0);
$exitcond1066$i = ($1466|0)==($610|0);
if ($exitcond1066$i) {
break L140;
} else {
$$188401009$i = $1466;$$231010$i = $1467;
}
}
}
if (!($1243)) {
break L140;
}
$1246 = ((($0)) + 464|0);
$1247 = ($$lobit$i|0)==(0);
$1248 = ((($0)) + 466|0);
$1249 = ((($0)) + 468|0);
$1250 = ((($0)) + 454|0);
$1251 = ((($0)) + 456|0);
if ($1247) {
$$178391005$us$i = 0;$$221006$us$i = $592;
while(1) {
$1252 = ((($$221006$us$i)) + 3|0);
$1253 = HEAP8[$1252>>0]|0;
switch ($1253<<24>>24) {
case -1: {
$1262 = HEAP8[$$221006$us$i>>0]|0;
$1263 = $1262&255;
$1264 = (($594) + ($1263)|0);
$1265 = HEAP8[$1264>>0]|0;
HEAP8[$$221006$us$i>>0] = $1265;
$1266 = ((($$221006$us$i)) + 1|0);
$1267 = HEAP8[$1266>>0]|0;
$1268 = $1267&255;
$1269 = (($594) + ($1268)|0);
$1270 = HEAP8[$1269>>0]|0;
HEAP8[$1266>>0] = $1270;
$1271 = ((($$221006$us$i)) + 2|0);
$1272 = HEAP8[$1271>>0]|0;
$1273 = $1272&255;
$1274 = (($594) + ($1273)|0);
$1275 = HEAP8[$1274>>0]|0;
HEAP8[$1271>>0] = $1275;
break;
}
case 0: {
$1254 = HEAP16[$1250>>1]|0;
$1255 = $1254&255;
HEAP8[$$221006$us$i>>0] = $1255;
$1256 = HEAP32[$1251>>2]|0;
$1257 = $1256&255;
$1258 = ((($$221006$us$i)) + 1|0);
HEAP8[$1258>>0] = $1257;
$1259 = $1256 >>> 16;
$1260 = $1259&255;
$1261 = ((($$221006$us$i)) + 2|0);
HEAP8[$1261>>0] = $1260;
break;
}
default: {
$1276 = HEAP8[$$221006$us$i>>0]|0;
$1277 = $1276&255;
$1278 = (($598) + ($1277)|0);
$1279 = HEAP8[$1278>>0]|0;
$1280 = $1279&255;
$1281 = $1253&255;
$1282 = Math_imul($1280, $1281)|0;
$1283 = HEAP16[$1246>>1]|0;
$1284 = $1283&65535;
$1285 = $1281 ^ 255;
$1286 = Math_imul($1284, $1285)|0;
$1287 = (($1282) + 128)|0;
$1288 = (($1287) + ($1286))|0;
$1289 = $1288 >>> 8;
$1290 = $1289 & 255;
$1291 = (($1290) + ($1288))|0;
$1292 = $1291 >>> 8;
$1293 = $1292 & 255;
$1294 = (($596) + ($1293)|0);
$1295 = HEAP8[$1294>>0]|0;
HEAP8[$$221006$us$i>>0] = $1295;
$1296 = ((($$221006$us$i)) + 1|0);
$1297 = HEAP8[$1296>>0]|0;
$1298 = $1297&255;
$1299 = (($598) + ($1298)|0);
$1300 = HEAP8[$1299>>0]|0;
$1301 = $1300&255;
$1302 = Math_imul($1301, $1281)|0;
$1303 = HEAP16[$1248>>1]|0;
$1304 = $1303&65535;
$1305 = Math_imul($1304, $1285)|0;
$1306 = (($1302) + 128)|0;
$1307 = (($1306) + ($1305))|0;
$1308 = $1307 >>> 8;
$1309 = $1308 & 255;
$1310 = (($1309) + ($1307))|0;
$1311 = $1310 >>> 8;
$1312 = $1311 & 255;
$1313 = (($596) + ($1312)|0);
$1314 = HEAP8[$1313>>0]|0;
HEAP8[$1296>>0] = $1314;
$1315 = ((($$221006$us$i)) + 2|0);
$1316 = HEAP8[$1315>>0]|0;
$1317 = $1316&255;
$1318 = (($598) + ($1317)|0);
$1319 = HEAP8[$1318>>0]|0;
$1320 = $1319&255;
$1321 = Math_imul($1320, $1281)|0;
$1322 = HEAP16[$1249>>1]|0;
$1323 = $1322&65535;
$1324 = Math_imul($1323, $1285)|0;
$1325 = (($1321) + 128)|0;
$1326 = (($1325) + ($1324))|0;
$1327 = $1326 >>> 8;
$1328 = $1327 & 255;
$1329 = (($1328) + ($1326))|0;
$1330 = $1329 >>> 8;
$1331 = $1330 & 255;
$1332 = (($596) + ($1331)|0);
$1333 = HEAP8[$1332>>0]|0;
HEAP8[$1315>>0] = $1333;
}
}
$1334 = (($$178391005$us$i) + 1)|0;
$1335 = ((($$221006$us$i)) + 4|0);
$exitcond1064$i = ($1334|0)==($610|0);
if ($exitcond1064$i) {
break L140;
} else {
$$178391005$us$i = $1334;$$221006$us$i = $1335;
}
}
} else {
$$178391005$i = 0;$$221006$i = $592;
while(1) {
$1336 = ((($$221006$i)) + 3|0);
$1337 = HEAP8[$1336>>0]|0;
switch ($1337<<24>>24) {
case -1: {
$1338 = HEAP8[$$221006$i>>0]|0;
$1339 = $1338&255;
$1340 = (($594) + ($1339)|0);
$1341 = HEAP8[$1340>>0]|0;
HEAP8[$$221006$i>>0] = $1341;
$1342 = ((($$221006$i)) + 1|0);
$1343 = HEAP8[$1342>>0]|0;
$1344 = $1343&255;
$1345 = (($594) + ($1344)|0);
$1346 = HEAP8[$1345>>0]|0;
HEAP8[$1342>>0] = $1346;
$1347 = ((($$221006$i)) + 2|0);
$1348 = HEAP8[$1347>>0]|0;
$1349 = $1348&255;
$1350 = (($594) + ($1349)|0);
$1351 = HEAP8[$1350>>0]|0;
HEAP8[$1347>>0] = $1351;
break;
}
case 0: {
$1352 = HEAP16[$1250>>1]|0;
$1353 = $1352&255;
HEAP8[$$221006$i>>0] = $1353;
$1354 = HEAP32[$1251>>2]|0;
$1355 = $1354&255;
$1356 = ((($$221006$i)) + 1|0);
HEAP8[$1356>>0] = $1355;
$1357 = $1354 >>> 16;
$1358 = $1357&255;
$1359 = ((($$221006$i)) + 2|0);
HEAP8[$1359>>0] = $1358;
break;
}
default: {
$1360 = HEAP8[$$221006$i>>0]|0;
$1361 = $1360&255;
$1362 = (($598) + ($1361)|0);
$1363 = HEAP8[$1362>>0]|0;
$1364 = $1363&255;
$1365 = $1337&255;
$1366 = Math_imul($1364, $1365)|0;
$1367 = HEAP16[$1246>>1]|0;
$1368 = $1367&65535;
$1369 = $1365 ^ 255;
$1370 = Math_imul($1368, $1369)|0;
$1371 = (($1366) + 128)|0;
$1372 = (($1371) + ($1370))|0;
$1373 = $1372 >>> 8;
$1374 = $1373 & 255;
$1375 = (($1374) + ($1372))|0;
$1376 = $1375 >>> 8;
$1377 = $1376&255;
HEAP8[$$221006$i>>0] = $1377;
$1378 = ((($$221006$i)) + 1|0);
$1379 = HEAP8[$1378>>0]|0;
$1380 = $1379&255;
$1381 = (($598) + ($1380)|0);
$1382 = HEAP8[$1381>>0]|0;
$1383 = $1382&255;
$1384 = Math_imul($1383, $1365)|0;
$1385 = HEAP16[$1248>>1]|0;
$1386 = $1385&65535;
$1387 = Math_imul($1386, $1369)|0;
$1388 = (($1384) + 128)|0;
$1389 = (($1388) + ($1387))|0;
$1390 = $1389 >>> 8;
$1391 = $1390 & 255;
$1392 = (($1391) + ($1389))|0;
$1393 = $1392 >>> 8;
$1394 = $1393&255;
HEAP8[$1378>>0] = $1394;
$1395 = ((($$221006$i)) + 2|0);
$1396 = HEAP8[$1395>>0]|0;
$1397 = $1396&255;
$1398 = (($598) + ($1397)|0);
$1399 = HEAP8[$1398>>0]|0;
$1400 = $1399&255;
$1401 = Math_imul($1400, $1365)|0;
$1402 = HEAP16[$1249>>1]|0;
$1403 = $1402&65535;
$1404 = Math_imul($1403, $1369)|0;
$1405 = (($1401) + 128)|0;
$1406 = (($1405) + ($1404))|0;
$1407 = $1406 >>> 8;
$1408 = $1407 & 255;
$1409 = (($1408) + ($1406))|0;
$1410 = $1409 >>> 8;
$1411 = $1410&255;
HEAP8[$1395>>0] = $1411;
}
}
$1412 = (($$178391005$i) + 1)|0;
$1413 = ((($$221006$i)) + 4|0);
$exitcond1065$i = ($1412|0)==($610|0);
if ($exitcond1065$i) {
break L140;
} else {
$$178391005$i = $1412;$$221006$i = $1413;
}
}
}
}
$1468 = ($600|0)!=(0|0);
$1469 = ($602|0)!=(0|0);
$or$cond13$i = $1468 & $1469;
$1470 = ($604|0)!=(0|0);
$or$cond15$i = $or$cond13$i & $1470;
$1471 = ($610|0)!=(0);
if (!($or$cond15$i)) {
if (!($1471)) {
break L140;
}
$1472 = ((($0)) + 454|0);
$1473 = ((($0)) + 456|0);
$$208421016$i = 0;$$251017$i = $592;
while(1) {
$1630 = ((($$251017$i)) + 6|0);
$1631 = HEAP8[$1630>>0]|0;
$1632 = $1631&255;
$1633 = $1632 << 8;
$1634 = ((($$251017$i)) + 7|0);
$1635 = HEAP8[$1634>>0]|0;
$1636 = $1635&255;
$1637 = $1633 | $1636;
$trunc$i = $1637&65535;
switch ($trunc$i<<16>>16) {
case 0: {
$1638 = HEAP16[$1472>>1]|0;
$1639 = ($1638&65535) >>> 8;
$1640 = $1639&255;
HEAP8[$$251017$i>>0] = $1640;
$1641 = $1638&255;
$1642 = ((($$251017$i)) + 1|0);
HEAP8[$1642>>0] = $1641;
$1643 = HEAP32[$1473>>2]|0;
$1644 = $1643&65535;
$1645 = ($1644&65535) >>> 8;
$1646 = $1645&255;
$1647 = ((($$251017$i)) + 2|0);
HEAP8[$1647>>0] = $1646;
$1648 = $1643&255;
$1649 = ((($$251017$i)) + 3|0);
HEAP8[$1649>>0] = $1648;
$1650 = $1643 >>> 16;
$1651 = $1643 >>> 24;
$1652 = $1651&255;
$1653 = ((($$251017$i)) + 4|0);
HEAP8[$1653>>0] = $1652;
$1654 = $1650&255;
$1655 = ((($$251017$i)) + 5|0);
HEAP8[$1655>>0] = $1654;
break;
}
case -1: {
break;
}
default: {
$1656 = HEAP8[$$251017$i>>0]|0;
$1657 = $1656&255;
$1658 = $1657 << 8;
$1659 = ((($$251017$i)) + 1|0);
$1660 = HEAP8[$1659>>0]|0;
$1661 = $1660&255;
$1662 = $1658 | $1661;
$1663 = ((($$251017$i)) + 2|0);
$1664 = HEAP8[$1663>>0]|0;
$1665 = $1664&255;
$1666 = $1665 << 8;
$1667 = ((($$251017$i)) + 3|0);
$1668 = HEAP8[$1667>>0]|0;
$1669 = $1668&255;
$1670 = $1666 | $1669;
$1671 = ((($$251017$i)) + 4|0);
$1672 = HEAP8[$1671>>0]|0;
$1673 = $1672&255;
$1674 = $1673 << 8;
$1675 = ((($$251017$i)) + 5|0);
$1676 = HEAP8[$1675>>0]|0;
$1677 = $1676&255;
$1678 = $1674 | $1677;
$1679 = Math_imul($1662, $1637)|0;
$1680 = HEAP16[$1472>>1]|0;
$1681 = $1680&65535;
$1682 = $1637 ^ 65535;
$1683 = Math_imul($1681, $1682)|0;
$1684 = (($1679) + 32768)|0;
$1685 = (($1684) + ($1683))|0;
$1686 = $1685 >>> 16;
$1687 = (($1686) + ($1685))|0;
$1688 = $1687 >>> 16;
$1689 = $1687 >>> 24;
$1690 = $1689&255;
HEAP8[$$251017$i>>0] = $1690;
$1691 = $1688&255;
HEAP8[$1659>>0] = $1691;
$1692 = Math_imul($1670, $1637)|0;
$1693 = HEAP32[$1473>>2]|0;
$1694 = $1693 & 65535;
$1695 = Math_imul($1694, $1682)|0;
$1696 = (($1692) + 32768)|0;
$1697 = (($1696) + ($1695))|0;
$1698 = $1697 >>> 16;
$1699 = (($1698) + ($1697))|0;
$1700 = $1699 >>> 16;
$1701 = $1699 >>> 24;
$1702 = $1701&255;
HEAP8[$1663>>0] = $1702;
$1703 = $1700&255;
HEAP8[$1667>>0] = $1703;
$1704 = Math_imul($1678, $1637)|0;
$1705 = $1693 >>> 16;
$1706 = Math_imul($1705, $1682)|0;
$1707 = (($1704) + 32768)|0;
$1708 = (($1707) + ($1706))|0;
$1709 = $1708 >>> 16;
$1710 = (($1709) + ($1708))|0;
$1711 = $1710 >>> 16;
$1712 = $1710 >>> 24;
$1713 = $1712&255;
HEAP8[$1671>>0] = $1713;
$1714 = $1711&255;
HEAP8[$1675>>0] = $1714;
}
}
$1715 = (($$208421016$i) + 1)|0;
$1716 = ((($$251017$i)) + 8|0);
$exitcond1068$i = ($1715|0)==($610|0);
if ($exitcond1068$i) {
break L140;
} else {
$$208421016$i = $1715;$$251017$i = $1716;
}
}
}
if (!($1471)) {
break L140;
}
$1474 = ((($0)) + 464|0);
$1475 = ($$lobit$i|0)==(0);
$1476 = ((($0)) + 466|0);
$1477 = ((($0)) + 468|0);
$1478 = ((($0)) + 454|0);
$1479 = ((($0)) + 456|0);
$$198411012$i = 0;$$241013$i = $592;
while(1) {
$1480 = ((($$241013$i)) + 6|0);
$1481 = HEAP8[$1480>>0]|0;
$1482 = $1481&255;
$1483 = $1482 << 8;
$1484 = ((($$241013$i)) + 7|0);
$1485 = HEAP8[$1484>>0]|0;
$1486 = $1485&255;
$1487 = $1483 | $1486;
$trunc898$i = $1487&65535;
switch ($trunc898$i<<16>>16) {
case -1: {
$1488 = HEAP8[$$241013$i>>0]|0;
$1489 = $1488&255;
$1490 = ((($$241013$i)) + 1|0);
$1491 = HEAP8[$1490>>0]|0;
$1492 = $1491&255;
$1493 = $1492 >>> $606;
$1494 = (($600) + ($1493<<2)|0);
$1495 = HEAP32[$1494>>2]|0;
$1496 = (($1495) + ($1489<<1)|0);
$1497 = HEAP16[$1496>>1]|0;
$1498 = ($1497&65535) >>> 8;
$1499 = $1498&255;
HEAP8[$$241013$i>>0] = $1499;
$1500 = $1497&255;
HEAP8[$1490>>0] = $1500;
$1501 = ((($$241013$i)) + 2|0);
$1502 = HEAP8[$1501>>0]|0;
$1503 = $1502&255;
$1504 = ((($$241013$i)) + 3|0);
$1505 = HEAP8[$1504>>0]|0;
$1506 = $1505&255;
$1507 = $1506 >>> $606;
$1508 = (($600) + ($1507<<2)|0);
$1509 = HEAP32[$1508>>2]|0;
$1510 = (($1509) + ($1503<<1)|0);
$1511 = HEAP16[$1510>>1]|0;
$1512 = ($1511&65535) >>> 8;
$1513 = $1512&255;
HEAP8[$1501>>0] = $1513;
$1514 = $1511&255;
HEAP8[$1504>>0] = $1514;
$1515 = ((($$241013$i)) + 4|0);
$1516 = HEAP8[$1515>>0]|0;
$1517 = $1516&255;
$1518 = ((($$241013$i)) + 5|0);
$1519 = HEAP8[$1518>>0]|0;
$1520 = $1519&255;
$1521 = $1520 >>> $606;
$1522 = (($600) + ($1521<<2)|0);
$1523 = HEAP32[$1522>>2]|0;
$1524 = (($1523) + ($1517<<1)|0);
$1525 = HEAP16[$1524>>1]|0;
$1526 = ($1525&65535) >>> 8;
$1527 = $1526&255;
HEAP8[$1515>>0] = $1527;
$1528 = $1525&255;
HEAP8[$1518>>0] = $1528;
break;
}
case 0: {
$1529 = HEAP16[$1478>>1]|0;
$1530 = ($1529&65535) >>> 8;
$1531 = $1530&255;
HEAP8[$$241013$i>>0] = $1531;
$1532 = $1529&255;
$1533 = ((($$241013$i)) + 1|0);
HEAP8[$1533>>0] = $1532;
$1534 = HEAP32[$1479>>2]|0;
$1535 = $1534&65535;
$1536 = ($1535&65535) >>> 8;
$1537 = $1536&255;
$1538 = ((($$241013$i)) + 2|0);
HEAP8[$1538>>0] = $1537;
$1539 = $1534&255;
$1540 = ((($$241013$i)) + 3|0);
HEAP8[$1540>>0] = $1539;
$1541 = $1534 >>> 16;
$1542 = $1534 >>> 24;
$1543 = $1542&255;
$1544 = ((($$241013$i)) + 4|0);
HEAP8[$1544>>0] = $1543;
$1545 = $1541&255;
$1546 = ((($$241013$i)) + 5|0);
HEAP8[$1546>>0] = $1545;
break;
}
default: {
$1547 = HEAP8[$$241013$i>>0]|0;
$1548 = $1547&255;
$1549 = ((($$241013$i)) + 1|0);
$1550 = HEAP8[$1549>>0]|0;
$1551 = $1550&255;
$1552 = $1551 >>> $606;
$1553 = (($604) + ($1552<<2)|0);
$1554 = HEAP32[$1553>>2]|0;
$1555 = (($1554) + ($1548<<1)|0);
$1556 = HEAP16[$1555>>1]|0;
$1557 = $1556&65535;
$1558 = Math_imul($1557, $1487)|0;
$1559 = HEAP16[$1474>>1]|0;
$1560 = $1559&65535;
$1561 = $1487 ^ 65535;
$1562 = Math_imul($1560, $1561)|0;
$1563 = (($1558) + 32768)|0;
$1564 = (($1563) + ($1562))|0;
$1565 = $1564 >>> 16;
$1566 = (($1565) + ($1564))|0;
$1567 = $1566 >>> 16;
$extract$t871$i = $1567&255;
$extract873875$i = $1566 >>> 24;
$extract$t874$i = $extract873875$i&255;
if ($1475) {
$1568 = $1567 & 255;
$1569 = $1568 >>> $606;
$1570 = (($602) + ($1569<<2)|0);
$1571 = HEAP32[$1570>>2]|0;
$1572 = (($1571) + ($extract873875$i<<1)|0);
$1573 = HEAP16[$1572>>1]|0;
$extract$t$i184 = $1573&255;
$extract$i185 = ($1573&65535) >>> 8;
$extract$t872$i = $extract$i185&255;
$$0858$off0$i = $extract$t$i184;$$0858$off8$i = $extract$t872$i;
} else {
$$0858$off0$i = $extract$t871$i;$$0858$off8$i = $extract$t874$i;
}
HEAP8[$$241013$i>>0] = $$0858$off8$i;
HEAP8[$1549>>0] = $$0858$off0$i;
$1574 = ((($$241013$i)) + 2|0);
$1575 = HEAP8[$1574>>0]|0;
$1576 = $1575&255;
$1577 = ((($$241013$i)) + 3|0);
$1578 = HEAP8[$1577>>0]|0;
$1579 = $1578&255;
$1580 = $1579 >>> $606;
$1581 = (($604) + ($1580<<2)|0);
$1582 = HEAP32[$1581>>2]|0;
$1583 = (($1582) + ($1576<<1)|0);
$1584 = HEAP16[$1583>>1]|0;
$1585 = $1584&65535;
$1586 = Math_imul($1585, $1487)|0;
$1587 = HEAP16[$1476>>1]|0;
$1588 = $1587&65535;
$1589 = Math_imul($1588, $1561)|0;
$1590 = (($1586) + 32768)|0;
$1591 = (($1590) + ($1589))|0;
$1592 = $1591 >>> 16;
$1593 = (($1592) + ($1591))|0;
$1594 = $1593 >>> 16;
$extract$t877$i = $1594&255;
$extract880882$i = $1593 >>> 24;
$extract$t881$i = $extract880882$i&255;
if ($1475) {
$1595 = $1594 & 255;
$1596 = $1595 >>> $606;
$1597 = (($602) + ($1596<<2)|0);
$1598 = HEAP32[$1597>>2]|0;
$1599 = (($1598) + ($extract880882$i<<1)|0);
$1600 = HEAP16[$1599>>1]|0;
$extract$t876$i = $1600&255;
$extract878$i = ($1600&65535) >>> 8;
$extract$t879$i = $extract878$i&255;
$$1859$off0$i = $extract$t876$i;$$1859$off8$i = $extract$t879$i;
} else {
$$1859$off0$i = $extract$t877$i;$$1859$off8$i = $extract$t881$i;
}
HEAP8[$1574>>0] = $$1859$off8$i;
HEAP8[$1577>>0] = $$1859$off0$i;
$1601 = ((($$241013$i)) + 4|0);
$1602 = HEAP8[$1601>>0]|0;
$1603 = $1602&255;
$1604 = ((($$241013$i)) + 5|0);
$1605 = HEAP8[$1604>>0]|0;
$1606 = $1605&255;
$1607 = $1606 >>> $606;
$1608 = (($604) + ($1607<<2)|0);
$1609 = HEAP32[$1608>>2]|0;
$1610 = (($1609) + ($1603<<1)|0);
$1611 = HEAP16[$1610>>1]|0;
$1612 = $1611&65535;
$1613 = Math_imul($1612, $1487)|0;
$1614 = HEAP16[$1477>>1]|0;
$1615 = $1614&65535;
$1616 = Math_imul($1615, $1561)|0;
$1617 = (($1613) + 32768)|0;
$1618 = (($1617) + ($1616))|0;
$1619 = $1618 >>> 16;
$1620 = (($1619) + ($1618))|0;
$1621 = $1620 >>> 16;
$extract$t884$i = $1621&255;
$extract887889$i = $1620 >>> 24;
$extract$t888$i = $extract887889$i&255;
if ($1475) {
$1622 = $1621 & 255;
$1623 = $1622 >>> $606;
$1624 = (($602) + ($1623<<2)|0);
$1625 = HEAP32[$1624>>2]|0;
$1626 = (($1625) + ($extract887889$i<<1)|0);
$1627 = HEAP16[$1626>>1]|0;
$extract$t883$i = $1627&255;
$extract885$i = ($1627&65535) >>> 8;
$extract$t886$i = $extract885$i&255;
$$2860$off0$i = $extract$t883$i;$$2860$off8$i = $extract$t886$i;
} else {
$$2860$off0$i = $extract$t884$i;$$2860$off8$i = $extract$t888$i;
}
HEAP8[$1601>>0] = $$2860$off8$i;
HEAP8[$1604>>0] = $$2860$off0$i;
}
}
$1628 = (($$198411012$i) + 1)|0;
$1629 = ((($$241013$i)) + 8|0);
$exitcond1067$i = ($1628|0)==($610|0);
if ($exitcond1067$i) {
break L140;
} else {
$$198411012$i = $1628;$$241013$i = $1629;
}
}
break;
}
default: {
break L140;
}
}
}
} while(0);
$1717 = HEAP32[$10>>2]|0;
$1718 = $1717 & 6299648;
$1719 = ($1718|0)==(8192);
L378: do {
if ($1719) {
$1720 = $1717 & 128;
$1721 = ($1720|0)==(0);
if ($1721) {
$$phi$trans$insert = ((($0)) + 435|0);
$$pre333 = HEAP8[$$phi$trans$insert>>0]|0;
$1729 = $$pre333;
} else {
$1722 = ((($0)) + 428|0);
$1723 = HEAP16[$1722>>1]|0;
$1724 = ($1723<<16>>16)==(0);
if (!($1724)) {
break;
}
$1725 = ((($0)) + 435|0);
$1726 = HEAP8[$1725>>0]|0;
$1727 = $1726 & 4;
$1728 = ($1727<<24>>24)==(0);
if ($1728) {
$1729 = $1726;
} else {
break;
}
}
$1730 = ($1729<<24>>24)==(3);
if (!($1730)) {
$1731 = HEAP32[$3>>2]|0;
$1732 = ((($1731)) + 1|0);
$$idx = ((($0)) + 484|0);
$$idx$val = HEAP32[$$idx>>2]|0;
$$idx144 = ((($0)) + 492|0);
$$idx144$val = HEAP32[$$idx144>>2]|0;
$$idx145 = ((($0)) + 496|0);
$$idx145$val = HEAP32[$$idx145>>2]|0;
$1733 = HEAP32[$1>>2]|0;
$1734 = ((($1)) + 9|0);
$1735 = HEAP8[$1734>>0]|0;
$1736 = ($1735&255)<(9);
$1737 = ($$idx144$val|0)!=(0|0);
$or$cond$i207 = $1737 & $1736;
if (!($or$cond$i207)) {
$1738 = ($1735<<24>>24)==(16);
$1739 = ($$idx145$val|0)!=(0|0);
$or$cond3$i208 = $1739 & $1738;
if (!($or$cond3$i208)) {
break;
}
}
$1740 = ((($1)) + 8|0);
$1741 = HEAP16[$1740>>1]|0;
$1742 = $1741&255;
$1743 = ($1741&65535) >>> 8;
$1744 = $1743&255;
switch ($1742<<24>>24) {
case 2: {
$1745 = ($1744<<24>>24)==(8);
$1746 = ($1733|0)!=(0);
if ($1745) {
if ($1746) {
$$019$i = $1732;$$022718$i = 0;
} else {
break L378;
}
while(1) {
$1747 = HEAP8[$$019$i>>0]|0;
$1748 = $1747&255;
$1749 = (($$idx144$val) + ($1748)|0);
$1750 = HEAP8[$1749>>0]|0;
HEAP8[$$019$i>>0] = $1750;
$1751 = ((($$019$i)) + 1|0);
$1752 = HEAP8[$1751>>0]|0;
$1753 = $1752&255;
$1754 = (($$idx144$val) + ($1753)|0);
$1755 = HEAP8[$1754>>0]|0;
HEAP8[$1751>>0] = $1755;
$1756 = ((($$019$i)) + 2|0);
$1757 = HEAP8[$1756>>0]|0;
$1758 = $1757&255;
$1759 = (($$idx144$val) + ($1758)|0);
$1760 = HEAP8[$1759>>0]|0;
HEAP8[$1756>>0] = $1760;
$1761 = ((($$019$i)) + 3|0);
$1762 = (($$022718$i) + 1)|0;
$exitcond$i210 = ($1762|0)==($1733|0);
if ($exitcond$i210) {
break;
} else {
$$019$i = $1761;$$022718$i = $1762;
}
}
} else {
if ($1746) {
$$121$i = $1732;$$122820$i = 0;
} else {
break L378;
}
while(1) {
$1763 = HEAP8[$$121$i>>0]|0;
$1764 = $1763&255;
$1765 = ((($$121$i)) + 1|0);
$1766 = HEAP8[$1765>>0]|0;
$1767 = $1766&255;
$1768 = $1767 >>> $$idx$val;
$1769 = (($$idx145$val) + ($1768<<2)|0);
$1770 = HEAP32[$1769>>2]|0;
$1771 = (($1770) + ($1764<<1)|0);
$1772 = HEAP16[$1771>>1]|0;
$1773 = ($1772&65535) >>> 8;
$1774 = $1773&255;
HEAP8[$$121$i>>0] = $1774;
$1775 = $1772&255;
HEAP8[$1765>>0] = $1775;
$1776 = ((($$121$i)) + 2|0);
$1777 = HEAP8[$1776>>0]|0;
$1778 = $1777&255;
$1779 = ((($$121$i)) + 3|0);
$1780 = HEAP8[$1779>>0]|0;
$1781 = $1780&255;
$1782 = $1781 >>> $$idx$val;
$1783 = (($$idx145$val) + ($1782<<2)|0);
$1784 = HEAP32[$1783>>2]|0;
$1785 = (($1784) + ($1778<<1)|0);
$1786 = HEAP16[$1785>>1]|0;
$1787 = ($1786&65535) >>> 8;
$1788 = $1787&255;
HEAP8[$1776>>0] = $1788;
$1789 = $1786&255;
HEAP8[$1779>>0] = $1789;
$1790 = ((($$121$i)) + 4|0);
$1791 = HEAP8[$1790>>0]|0;
$1792 = $1791&255;
$1793 = ((($$121$i)) + 5|0);
$1794 = HEAP8[$1793>>0]|0;
$1795 = $1794&255;
$1796 = $1795 >>> $$idx$val;
$1797 = (($$idx145$val) + ($1796<<2)|0);
$1798 = HEAP32[$1797>>2]|0;
$1799 = (($1798) + ($1792<<1)|0);
$1800 = HEAP16[$1799>>1]|0;
$1801 = ($1800&65535) >>> 8;
$1802 = $1801&255;
HEAP8[$1790>>0] = $1802;
$1803 = $1800&255;
HEAP8[$1793>>0] = $1803;
$1804 = ((($$121$i)) + 6|0);
$1805 = (($$122820$i) + 1)|0;
$exitcond55$i = ($1805|0)==($1733|0);
if ($exitcond55$i) {
break;
} else {
$$121$i = $1804;$$122820$i = $1805;
}
}
}
break;
}
case 6: {
$1806 = ($1744<<24>>24)==(8);
$1807 = ($1733|0)!=(0);
if ($1806) {
if ($1807) {
$$222923$i = 0;$$224$i = $1732;
} else {
break L378;
}
while(1) {
$1808 = HEAP8[$$224$i>>0]|0;
$1809 = $1808&255;
$1810 = (($$idx144$val) + ($1809)|0);
$1811 = HEAP8[$1810>>0]|0;
HEAP8[$$224$i>>0] = $1811;
$1812 = ((($$224$i)) + 1|0);
$1813 = HEAP8[$1812>>0]|0;
$1814 = $1813&255;
$1815 = (($$idx144$val) + ($1814)|0);
$1816 = HEAP8[$1815>>0]|0;
HEAP8[$1812>>0] = $1816;
$1817 = ((($$224$i)) + 2|0);
$1818 = HEAP8[$1817>>0]|0;
$1819 = $1818&255;
$1820 = (($$idx144$val) + ($1819)|0);
$1821 = HEAP8[$1820>>0]|0;
HEAP8[$1817>>0] = $1821;
$1822 = ((($$224$i)) + 4|0);
$1823 = (($$222923$i) + 1)|0;
$exitcond56$i = ($1823|0)==($1733|0);
if ($exitcond56$i) {
break;
} else {
$$222923$i = $1823;$$224$i = $1822;
}
}
} else {
if ($1807) {
$$323026$i = 0;$$327$i = $1732;
} else {
break L378;
}
while(1) {
$1824 = HEAP8[$$327$i>>0]|0;
$1825 = $1824&255;
$1826 = ((($$327$i)) + 1|0);
$1827 = HEAP8[$1826>>0]|0;
$1828 = $1827&255;
$1829 = $1828 >>> $$idx$val;
$1830 = (($$idx145$val) + ($1829<<2)|0);
$1831 = HEAP32[$1830>>2]|0;
$1832 = (($1831) + ($1825<<1)|0);
$1833 = HEAP16[$1832>>1]|0;
$1834 = ($1833&65535) >>> 8;
$1835 = $1834&255;
HEAP8[$$327$i>>0] = $1835;
$1836 = $1833&255;
HEAP8[$1826>>0] = $1836;
$1837 = ((($$327$i)) + 2|0);
$1838 = HEAP8[$1837>>0]|0;
$1839 = $1838&255;
$1840 = ((($$327$i)) + 3|0);
$1841 = HEAP8[$1840>>0]|0;
$1842 = $1841&255;
$1843 = $1842 >>> $$idx$val;
$1844 = (($$idx145$val) + ($1843<<2)|0);
$1845 = HEAP32[$1844>>2]|0;
$1846 = (($1845) + ($1839<<1)|0);
$1847 = HEAP16[$1846>>1]|0;
$1848 = ($1847&65535) >>> 8;
$1849 = $1848&255;
HEAP8[$1837>>0] = $1849;
$1850 = $1847&255;
HEAP8[$1840>>0] = $1850;
$1851 = ((($$327$i)) + 4|0);
$1852 = HEAP8[$1851>>0]|0;
$1853 = $1852&255;
$1854 = ((($$327$i)) + 5|0);
$1855 = HEAP8[$1854>>0]|0;
$1856 = $1855&255;
$1857 = $1856 >>> $$idx$val;
$1858 = (($$idx145$val) + ($1857<<2)|0);
$1859 = HEAP32[$1858>>2]|0;
$1860 = (($1859) + ($1853<<1)|0);
$1861 = HEAP16[$1860>>1]|0;
$1862 = ($1861&65535) >>> 8;
$1863 = $1862&255;
HEAP8[$1851>>0] = $1863;
$1864 = $1861&255;
HEAP8[$1854>>0] = $1864;
$1865 = ((($$327$i)) + 8|0);
$1866 = (($$323026$i) + 1)|0;
$exitcond57$i = ($1866|0)==($1733|0);
if ($exitcond57$i) {
break;
} else {
$$323026$i = $1866;$$327$i = $1865;
}
}
}
break;
}
case 4: {
$1867 = ($1744<<24>>24)==(8);
$1868 = ($1733|0)!=(0);
if ($1867) {
if ($1868) {
$$423129$i = 0;$$430$i = $1732;
} else {
break L378;
}
while(1) {
$1869 = HEAP8[$$430$i>>0]|0;
$1870 = $1869&255;
$1871 = (($$idx144$val) + ($1870)|0);
$1872 = HEAP8[$1871>>0]|0;
HEAP8[$$430$i>>0] = $1872;
$1873 = ((($$430$i)) + 2|0);
$1874 = (($$423129$i) + 1)|0;
$exitcond58$i = ($1874|0)==($1733|0);
if ($exitcond58$i) {
break;
} else {
$$423129$i = $1874;$$430$i = $1873;
}
}
} else {
if ($1868) {
$$523232$i = 0;$$533$i = $1732;
} else {
break L378;
}
while(1) {
$1875 = HEAP8[$$533$i>>0]|0;
$1876 = $1875&255;
$1877 = ((($$533$i)) + 1|0);
$1878 = HEAP8[$1877>>0]|0;
$1879 = $1878&255;
$1880 = $1879 >>> $$idx$val;
$1881 = (($$idx145$val) + ($1880<<2)|0);
$1882 = HEAP32[$1881>>2]|0;
$1883 = (($1882) + ($1876<<1)|0);
$1884 = HEAP16[$1883>>1]|0;
$1885 = ($1884&65535) >>> 8;
$1886 = $1885&255;
HEAP8[$$533$i>>0] = $1886;
$1887 = $1884&255;
HEAP8[$1877>>0] = $1887;
$1888 = ((($$533$i)) + 4|0);
$1889 = (($$523232$i) + 1)|0;
$exitcond59$i = ($1889|0)==($1733|0);
if ($exitcond59$i) {
break;
} else {
$$523232$i = $1889;$$533$i = $1888;
}
}
}
break;
}
case 0: {
$1890 = ($1744<<24>>24)==(2);
if ($1890) {
$1891 = ($1733|0)==(0);
if ($1891) {
break L378;
} else {
$$623344$i = 0;$$645$i = $1732;
}
while(1) {
$1892 = HEAP8[$$645$i>>0]|0;
$1893 = $1892&255;
$1894 = $1893 & 192;
$1895 = $1893 & 48;
$1896 = $1893 & 12;
$1897 = $1893 & 3;
$1898 = $1894 >>> 2;
$1899 = $1894 >>> 4;
$1900 = $1893 >>> 6;
$1901 = $1900 | $1894;
$1902 = $1901 | $1898;
$1903 = $1902 | $1899;
$1904 = (($$idx144$val) + ($1903)|0);
$1905 = HEAP8[$1904>>0]|0;
$1906 = $1905&255;
$1907 = $1906 & 192;
$1908 = $1895 << 2;
$1909 = $1908 | $1895;
$1910 = $1895 >>> 2;
$1911 = $1909 | $1910;
$1912 = $1895 >>> 4;
$1913 = $1911 | $1912;
$1914 = (($$idx144$val) + ($1913)|0);
$1915 = HEAP8[$1914>>0]|0;
$1916 = $1915&255;
$1917 = $1916 >>> 2;
$1918 = $1917 & 48;
$1919 = $1918 | $1907;
$1920 = $1896 << 4;
$1921 = $1896 << 2;
$1922 = $1896 >>> 2;
$1923 = $1921 | $1896;
$1924 = $1923 | $1920;
$1925 = $1924 | $1922;
$1926 = (($$idx144$val) + ($1925)|0);
$1927 = HEAP8[$1926>>0]|0;
$1928 = $1927&255;
$1929 = $1928 >>> 4;
$1930 = $1929 & 12;
$1931 = $1919 | $1930;
$1932 = $1897 << 6;
$1933 = $1897 << 4;
$1934 = $1897 << 2;
$1935 = $1933 | $1897;
$1936 = $1935 | $1932;
$1937 = $1936 | $1934;
$1938 = (($$idx144$val) + ($1937)|0);
$1939 = HEAP8[$1938>>0]|0;
$1940 = $1939&255;
$1941 = $1940 >>> 6;
$1942 = $1931 | $1941;
$1943 = $1942&255;
HEAP8[$$645$i>>0] = $1943;
$1944 = ((($$645$i)) + 1|0);
$1945 = (($$623344$i) + 4)|0;
$1946 = ($1945>>>0)<($1733>>>0);
if ($1946) {
$$623344$i = $1945;$$645$i = $1944;
} else {
break;
}
}
$$pr$pre$i = HEAP8[$1734>>0]|0;
$1947 = $$pr$pre$i;
} else {
$1947 = $1744;
}
switch ($1947<<24>>24) {
case 4: {
$1950 = ($1733|0)==(0);
if ($1950) {
break L378;
} else {
$$723435$i = 0;$$736$i = $1732;
}
while(1) {
$1951 = HEAP8[$$736$i>>0]|0;
$1952 = $1951&255;
$1953 = $1952 & 240;
$1954 = $1952 & 15;
$1955 = $1952 >>> 4;
$1956 = $1953 | $1955;
$1957 = (($$idx144$val) + ($1956)|0);
$1958 = HEAP8[$1957>>0]|0;
$1959 = $1958&255;
$1960 = $1959 & 240;
$1961 = $1954 << 4;
$1962 = $1961 | $1954;
$1963 = (($$idx144$val) + ($1962)|0);
$1964 = HEAP8[$1963>>0]|0;
$1965 = $1964&255;
$1966 = $1965 >>> 4;
$1967 = $1966 | $1960;
$1968 = $1967&255;
HEAP8[$$736$i>>0] = $1968;
$1969 = ((($$736$i)) + 1|0);
$1970 = (($$723435$i) + 2)|0;
$1971 = ($1970>>>0)<($1733>>>0);
if ($1971) {
$$723435$i = $1970;$$736$i = $1969;
} else {
break;
}
}
break;
}
case 8: {
$1949 = ($1733|0)==(0);
if ($1949) {
break L378;
} else {
$$823538$i = 0;$$839$i = $1732;
}
while(1) {
$1972 = HEAP8[$$839$i>>0]|0;
$1973 = $1972&255;
$1974 = (($$idx144$val) + ($1973)|0);
$1975 = HEAP8[$1974>>0]|0;
HEAP8[$$839$i>>0] = $1975;
$1976 = ((($$839$i)) + 1|0);
$1977 = (($$823538$i) + 1)|0;
$exitcond60$i = ($1977|0)==($1733|0);
if ($exitcond60$i) {
break;
} else {
$$823538$i = $1977;$$839$i = $1976;
}
}
break;
}
case 16: {
$1948 = ($1733|0)==(0);
if ($1948) {
break L378;
} else {
$$923641$i = 0;$$942$i = $1732;
}
while(1) {
$1978 = HEAP8[$$942$i>>0]|0;
$1979 = $1978&255;
$1980 = ((($$942$i)) + 1|0);
$1981 = HEAP8[$1980>>0]|0;
$1982 = $1981&255;
$1983 = $1982 >>> $$idx$val;
$1984 = (($$idx145$val) + ($1983<<2)|0);
$1985 = HEAP32[$1984>>2]|0;
$1986 = (($1985) + ($1979<<1)|0);
$1987 = HEAP16[$1986>>1]|0;
$1988 = ($1987&65535) >>> 8;
$1989 = $1988&255;
HEAP8[$$942$i>>0] = $1989;
$1990 = $1987&255;
HEAP8[$1980>>0] = $1990;
$1991 = ((($$942$i)) + 2|0);
$1992 = (($$923641$i) + 1)|0;
$exitcond61$i = ($1992|0)==($1733|0);
if ($exitcond61$i) {
break;
} else {
$$923641$i = $1992;$$942$i = $1991;
}
}
break;
}
default: {
break L378;
}
}
break;
}
default: {
break L378;
}
}
}
}
} while(0);
$1993 = HEAP32[$10>>2]|0;
$1994 = $1993 & 262272;
$1995 = ($1994|0)==(262272);
L432: do {
if ($1995) {
$1996 = ((($1)) + 8|0);
$1997 = HEAP8[$1996>>0]|0;
switch ($1997<<24>>24) {
case 4: case 6: {
break;
}
default: {
$2001 = $1993;
break L432;
}
}
$1998 = HEAP32[$3>>2]|0;
$1999 = ((($1998)) + 1|0);
_png_do_strip_channel($1,$1999,0);
$$pre334 = HEAP32[$10>>2]|0;
$2001 = $$pre334;
} else {
$2001 = $1993;
}
} while(0);
$2000 = $2001 & 8388608;
$2002 = ($2000|0)==(0);
L436: do {
if (!($2002)) {
$2003 = ((($1)) + 8|0);
$2004 = HEAP8[$2003>>0]|0;
$2005 = $2004 & 4;
$2006 = ($2005<<24>>24)==(0);
if (!($2006)) {
$2007 = HEAP32[$3>>2]|0;
$2008 = ((($2007)) + 1|0);
$2009 = HEAP32[$1>>2]|0;
$2010 = HEAP16[$2003>>1]|0;
$2011 = $2010&65535;
$2012 = $2011 & 4;
$2013 = ($2012|0)==(0);
L439: do {
if (!($2013)) {
$2014 = ($2010&65535) >>> 8;
$2015 = $2014&255;
switch ($2015<<24>>24) {
case 8: {
$2016 = ((($0)) + 500|0);
$2017 = HEAP32[$2016>>2]|0;
$2018 = ($2017|0)==(0|0);
if ($2018) {
break L439;
}
$2019 = $2011 & 2;
$2020 = (($2019) + 2)|0;
$2021 = ($2009|0)==(0);
if ($2021) {
break L436;
}
$2022 = $2019 | 1;
$2023 = (($2008) + ($2022)|0);
$$05056$i = $2009;$$057$i = $2023;
while(1) {
$2024 = HEAP8[$$057$i>>0]|0;
$2025 = $2024&255;
$2026 = (($2017) + ($2025)|0);
$2027 = HEAP8[$2026>>0]|0;
HEAP8[$$057$i>>0] = $2027;
$2028 = (($$05056$i) + -1)|0;
$2029 = (($$057$i) + ($2020)|0);
$2030 = ($2028|0)==(0);
if ($2030) {
break L436;
} else {
$$05056$i = $2028;$$057$i = $2029;
}
}
break;
}
case 16: {
$2031 = ((($0)) + 508|0);
$2032 = HEAP32[$2031>>2]|0;
$2033 = ((($0)) + 484|0);
$2034 = HEAP32[$2033>>2]|0;
$2035 = ($2032|0)==(0|0);
if ($2035) {
break L439;
}
$2036 = $2011 << 1;
$2037 = $2036 & 4;
$2038 = (($2037) + 4)|0;
$2039 = ($2009|0)==(0);
if ($2039) {
break L436;
}
$2040 = $2037 | 2;
$2041 = (($2008) + ($2040)|0);
$$15158$i = $2009;$$159$i = $2041;
while(1) {
$2042 = HEAP8[$$159$i>>0]|0;
$2043 = $2042&255;
$2044 = ((($$159$i)) + 1|0);
$2045 = HEAP8[$2044>>0]|0;
$2046 = $2045&255;
$2047 = $2046 >>> $2034;
$2048 = (($2032) + ($2047<<2)|0);
$2049 = HEAP32[$2048>>2]|0;
$2050 = (($2049) + ($2043<<1)|0);
$2051 = HEAP16[$2050>>1]|0;
$2052 = ($2051&65535) >>> 8;
$2053 = $2052&255;
HEAP8[$$159$i>>0] = $2053;
$2054 = $2051&255;
HEAP8[$2044>>0] = $2054;
$2055 = (($$15158$i) + -1)|0;
$2056 = (($$159$i) + ($2038)|0);
$2057 = ($2055|0)==(0);
if ($2057) {
break L436;
} else {
$$15158$i = $2055;$$159$i = $2056;
}
}
break;
}
default: {
break L439;
}
}
}
} while(0);
_png_warning($0,26067);
}
}
} while(0);
$2058 = HEAP32[$10>>2]|0;
$2059 = $2058 & 67108864;
$2060 = ($2059|0)==(0);
if ($2060) {
$2093 = $2058;
} else {
$2061 = HEAP32[$3>>2]|0;
$2062 = ((($2061)) + 1|0);
$2063 = ((($1)) + 9|0);
$2064 = HEAP8[$2063>>0]|0;
$2065 = ($2064<<24>>24)==(16);
if ($2065) {
$2066 = ((($1)) + 4|0);
$2067 = HEAP32[$2066>>2]|0;
$2068 = (($2062) + ($2067)|0);
$2069 = ($2067|0)>(0);
if ($2069) {
$$02526$i = $2062;$$027$i = $2062;
while(1) {
$2070 = ((($$027$i)) + 1|0);
$2071 = HEAP8[$$027$i>>0]|0;
$2072 = $2071&255;
$2073 = ((($$027$i)) + 2|0);
$2074 = HEAP8[$2070>>0]|0;
$2075 = $2074&255;
$2076 = (($2075) - ($2072))|0;
$2077 = ($2076*65535)|0;
$2078 = (($2077) + 8388480)|0;
$2079 = $2078 >>> 24;
$2080 = (($2079) + ($2072))|0;
$2081 = $2080&255;
$2082 = ((($$02526$i)) + 1|0);
HEAP8[$$02526$i>>0] = $2081;
$2083 = ($2073>>>0)<($2068>>>0);
if ($2083) {
$$02526$i = $2082;$$027$i = $2073;
} else {
break;
}
}
$$pre335$pre = HEAP32[$10>>2]|0;
$$pre335 = $$pre335$pre;
} else {
$$pre335 = $2058;
}
HEAP8[$2063>>0] = 8;
$2084 = ((($1)) + 10|0);
$2085 = HEAP8[$2084>>0]|0;
$2086 = $2085&255;
$2087 = $2086 << 3;
$2088 = $2087&255;
$2089 = ((($1)) + 11|0);
HEAP8[$2089>>0] = $2088;
$2090 = HEAP32[$1>>2]|0;
$2091 = Math_imul($2090, $2086)|0;
HEAP32[$2066>>2] = $2091;
$2093 = $$pre335;
} else {
$2093 = $2058;
}
}
$2092 = $2093 & 1024;
$2094 = ($2092|0)==(0);
if ($2094) {
$2117 = $2093;
} else {
$2095 = HEAP32[$3>>2]|0;
$2096 = ((($2095)) + 1|0);
$2097 = ((($1)) + 9|0);
$2098 = HEAP8[$2097>>0]|0;
$2099 = ($2098<<24>>24)==(16);
if ($2099) {
$2100 = ((($1)) + 4|0);
$2101 = HEAP32[$2100>>2]|0;
$2102 = (($2096) + ($2101)|0);
$2103 = ($2101|0)>(0);
if ($2103) {
$$02122$i = $2096;$$023$i = $2096;
while(1) {
$2104 = HEAP8[$$023$i>>0]|0;
$2105 = ((($$02122$i)) + 1|0);
HEAP8[$$02122$i>>0] = $2104;
$2106 = ((($$023$i)) + 2|0);
$2107 = ($2106>>>0)<($2102>>>0);
if ($2107) {
$$02122$i = $2105;$$023$i = $2106;
} else {
break;
}
}
$$pre336$pre = HEAP32[$10>>2]|0;
$$pre336 = $$pre336$pre;
} else {
$$pre336 = $2093;
}
HEAP8[$2097>>0] = 8;
$2108 = ((($1)) + 10|0);
$2109 = HEAP8[$2108>>0]|0;
$2110 = $2109&255;
$2111 = $2110 << 3;
$2112 = $2111&255;
$2113 = ((($1)) + 11|0);
HEAP8[$2113>>0] = $2112;
$2114 = HEAP32[$1>>2]|0;
$2115 = Math_imul($2114, $2110)|0;
HEAP32[$2100>>2] = $2115;
$2117 = $$pre336;
} else {
$2117 = $2093;
}
}
$2116 = $2117 & 64;
$2118 = ($2116|0)==(0);
do {
if ($2118) {
$2216 = $2117;
} else {
$2119 = HEAP32[$3>>2]|0;
$2120 = ((($2119)) + 1|0);
$2121 = ((($0)) + 612|0);
$2122 = HEAP32[$2121>>2]|0;
$2123 = ((($0)) + 616|0);
$2124 = HEAP32[$2123>>2]|0;
$2125 = HEAP32[$1>>2]|0;
$2126 = ((($1)) + 9|0);
$2127 = HEAP8[$2126>>0]|0;
$2128 = ($2127<<24>>24)==(8);
L474: do {
if ($2128) {
$2129 = ((($1)) + 8|0);
$2130 = HEAP16[$2129>>1]|0;
$2131 = $2130&255;
$2132 = ($2131<<24>>24)==(2);
$2133 = ($2122|0)!=(0|0);
$or$cond$i190 = $2133 & $2132;
$2134 = ($2130&65535) >>> 8;
$2135 = $2134&255;
if ($or$cond$i190) {
$2136 = ($2125|0)==(0);
if ($2136) {
$2159 = $2135;
} else {
$$08896$i = $2120;$$09095$i = 0;$$097$i = $2120;
while(1) {
$2137 = ((($$097$i)) + 1|0);
$2138 = HEAP8[$$097$i>>0]|0;
$2139 = $2138&255;
$2140 = ((($$097$i)) + 2|0);
$2141 = HEAP8[$2137>>0]|0;
$2142 = $2141&255;
$2143 = ((($$097$i)) + 3|0);
$2144 = HEAP8[$2140>>0]|0;
$2145 = $2144&255;
$2146 = $2139 >>> 3;
$2147 = $2146 << 10;
$2148 = $2142 >>> 3;
$2149 = $2148 << 5;
$2150 = $2149 | $2147;
$2151 = $2145 >>> 3;
$2152 = $2150 | $2151;
$2153 = (($2122) + ($2152)|0);
$2154 = HEAP8[$2153>>0]|0;
$2155 = ((($$08896$i)) + 1|0);
HEAP8[$$08896$i>>0] = $2154;
$2156 = (($$09095$i) + 1)|0;
$exitcond$i192 = ($2156|0)==($2125|0);
if ($exitcond$i192) {
break;
} else {
$$08896$i = $2155;$$09095$i = $2156;$$097$i = $2143;
}
}
$$pre109$i = HEAP8[$2126>>0]|0;
$2159 = $$pre109$i;
}
HEAP8[$2129>>0] = 3;
$2157 = ((($1)) + 10|0);
HEAP8[$2157>>0] = 1;
$2158 = ((($1)) + 11|0);
HEAP8[$2158>>0] = $2159;
$2160 = $2159&255;
$2161 = ($2159&255)>(7);
if ($2161) {
$2162 = $2160 >>> 3;
$2163 = Math_imul($2162, $2125)|0;
$2168 = $2163;
} else {
$2164 = Math_imul($2160, $2125)|0;
$2165 = (($2164) + 7)|0;
$2166 = $2165 >>> 3;
$2168 = $2166;
}
$2167 = ((($1)) + 4|0);
HEAP32[$2167>>2] = $2168;
break;
}
$2169 = ($2131<<24>>24)==(6);
$or$cond3$i196 = $2133 & $2169;
if (!($or$cond3$i196)) {
$2203 = ($2131<<24>>24)==(3);
$2204 = ($2124|0)!=(0|0);
$or$cond5$i198 = $2204 & $2203;
$2205 = ($2125|0)!=(0);
$or$cond106$i = $2205 & $or$cond5$i198;
if ($or$cond106$i) {
$$2104$i199 = $2120;$$292103$i = 0;
} else {
break;
}
while(1) {
$2206 = HEAP8[$$2104$i199>>0]|0;
$2207 = $2206&255;
$2208 = (($2124) + ($2207)|0);
$2209 = HEAP8[$2208>>0]|0;
HEAP8[$$2104$i199>>0] = $2209;
$2210 = (($$292103$i) + 1)|0;
$2211 = ((($$2104$i199)) + 1|0);
$exitcond108$i = ($2210|0)==($2125|0);
if ($exitcond108$i) {
break L474;
} else {
$$2104$i199 = $2211;$$292103$i = $2210;
}
}
}
$2170 = ($2125|0)==(0);
if ($2170) {
$2193 = $2135;
} else {
$$1100$i = $2120;$$18999$i = $2120;$$19198$i = 0;
while(1) {
$2171 = ((($$1100$i)) + 1|0);
$2172 = HEAP8[$$1100$i>>0]|0;
$2173 = $2172&255;
$2174 = ((($$1100$i)) + 2|0);
$2175 = HEAP8[$2171>>0]|0;
$2176 = $2175&255;
$2177 = HEAP8[$2174>>0]|0;
$2178 = $2177&255;
$2179 = ((($$1100$i)) + 4|0);
$2180 = $2173 >>> 3;
$2181 = $2180 << 10;
$2182 = $2176 >>> 3;
$2183 = $2182 << 5;
$2184 = $2183 | $2181;
$2185 = $2178 >>> 3;
$2186 = $2184 | $2185;
$2187 = (($2122) + ($2186)|0);
$2188 = HEAP8[$2187>>0]|0;
$2189 = ((($$18999$i)) + 1|0);
HEAP8[$$18999$i>>0] = $2188;
$2190 = (($$19198$i) + 1)|0;
$exitcond107$i = ($2190|0)==($2125|0);
if ($exitcond107$i) {
break;
} else {
$$1100$i = $2179;$$18999$i = $2189;$$19198$i = $2190;
}
}
$$pre$i197 = HEAP8[$2126>>0]|0;
$2193 = $$pre$i197;
}
HEAP8[$2129>>0] = 3;
$2191 = ((($1)) + 10|0);
HEAP8[$2191>>0] = 1;
$2192 = ((($1)) + 11|0);
HEAP8[$2192>>0] = $2193;
$2194 = $2193&255;
$2195 = ($2193&255)>(7);
if ($2195) {
$2196 = $2194 >>> 3;
$2197 = Math_imul($2196, $2125)|0;
$2202 = $2197;
} else {
$2198 = Math_imul($2194, $2125)|0;
$2199 = (($2198) + 7)|0;
$2200 = $2199 >>> 3;
$2202 = $2200;
}
$2201 = ((($1)) + 4|0);
HEAP32[$2201>>2] = $2202;
}
} while(0);
$2212 = ((($1)) + 4|0);
$2213 = HEAP32[$2212>>2]|0;
$2214 = ($2213|0)==(0);
if ($2214) {
_png_error($0,26104);
// unreachable;
} else {
$$pre337 = HEAP32[$10>>2]|0;
$2216 = $$pre337;
break;
}
}
} while(0);
$2215 = $2216 & 512;
$2217 = ($2215|0)==(0);
if ($2217) {
$2247 = $2216;
} else {
$2218 = HEAP32[$3>>2]|0;
$2219 = ((($2218)) + 1|0);
$2220 = ((($1)) + 9|0);
$2221 = HEAP8[$2220>>0]|0;
$2222 = ($2221<<24>>24)==(8);
if ($2222) {
$2223 = ((($1)) + 8|0);
$2224 = HEAP32[$2223>>2]|0;
$2225 = $2224&255;
$2226 = ($2225<<24>>24)==(3);
if ($2226) {
$2247 = $2216;
} else {
$2227 = $2224 >>> 16;
$2228 = $2227&255;
$2229 = ((($1)) + 4|0);
$2230 = HEAP32[$2229>>2]|0;
$2231 = (($2219) + ($2230)|0);
$2232 = ($2230|0)>(0);
if ($2232) {
$2233 = (($2231) + ($2230)|0);
$$01920$i = $2231;$$021$i = $2233;
while(1) {
$2234 = ((($$01920$i)) + -1|0);
$2235 = HEAP8[$2234>>0]|0;
$2236 = ((($$021$i)) + -1|0);
HEAP8[$2236>>0] = $2235;
$2237 = ((($$021$i)) + -2|0);
HEAP8[$2237>>0] = $2235;
$2238 = ($2237>>>0)>($2234>>>0);
if ($2238) {
$$01920$i = $2234;$$021$i = $2237;
} else {
break;
}
}
$$pre$i = HEAP32[$2229>>2]|0;
$$phi$trans$insert$i = ((($1)) + 10|0);
$$pre22$i = HEAP8[$$phi$trans$insert$i>>0]|0;
$$pre338$pre = HEAP32[$10>>2]|0;
$$pre338 = $$pre338$pre;$2240 = $$pre$i;$2242 = $$pre22$i;
} else {
$$pre338 = $2216;$2240 = $2230;$2242 = $2228;
}
$2239 = $2240 << 1;
HEAP32[$2229>>2] = $2239;
HEAP8[$2220>>0] = 16;
$2241 = $2242&255;
$2243 = $2241 << 4;
$2244 = $2243&255;
$2245 = ((($1)) + 11|0);
HEAP8[$2245>>0] = $2244;
$2247 = $$pre338;
}
} else {
$2247 = $2216;
}
}
$2246 = $2247 & 16384;
$2248 = ($2246|0)==(0);
if ($2248) {
$2256 = $2247;
} else {
$2249 = ((($0)) + 208|0);
$2250 = HEAP32[$2249>>2]|0;
$2251 = $2250 & 2048;
$2252 = ($2251|0)==(0);
if ($2252) {
$2256 = $2247;
} else {
$2253 = HEAP32[$3>>2]|0;
$2254 = ((($2253)) + 1|0);
_png_do_gray_to_rgb($1,$2254);
$$pre339 = HEAP32[$10>>2]|0;
$2256 = $$pre339;
}
}
$2255 = $2256 & 32;
$2257 = ($2255|0)==(0);
if ($2257) {
$2261 = $2256;
} else {
$2258 = HEAP32[$3>>2]|0;
$2259 = ((($2258)) + 1|0);
_png_do_invert($1,$2259);
$$pre340 = HEAP32[$10>>2]|0;
$2261 = $$pre340;
}
$2260 = $2261 & 524288;
$2262 = ($2260|0)==(0);
L525: do {
if (!($2262)) {
$2263 = HEAP32[$3>>2]|0;
$2264 = ((($2263)) + 1|0);
$2265 = HEAP32[$1>>2]|0;
$2266 = ((($1)) + 8|0);
$2267 = HEAP16[$2266>>1]|0;
$2268 = $2267&255;
$2269 = ($2267&65535) >>> 8;
$2270 = $2269&255;
switch ($2268<<24>>24) {
case 6: {
$2271 = ($2270<<24>>24)==(8);
$2272 = ((($1)) + 4|0);
$2273 = HEAP32[$2272>>2]|0;
$2274 = (($2264) + ($2273)|0);
$2275 = ($2265|0)!=(0);
if ($2271) {
if ($2275) {
$$08090$i = 0;$$08289$i = $2274;
} else {
break L525;
}
while(1) {
$2276 = ((($$08289$i)) + -1|0);
$2277 = HEAP8[$2276>>0]|0;
$2278 = $2277&255;
$2279 = $2278 ^ 255;
$2280 = $2279&255;
HEAP8[$2276>>0] = $2280;
$2281 = ((($$08289$i)) + -4|0);
$2282 = (($$08090$i) + 1)|0;
$exitcond$i171 = ($2282|0)==($2265|0);
if ($exitcond$i171) {
break;
} else {
$$08090$i = $2282;$$08289$i = $2281;
}
}
} else {
if ($2275) {
$$07792$i = 0;$$07991$i = $2274;
} else {
break L525;
}
while(1) {
$2283 = ((($$07991$i)) + -1|0);
$2284 = HEAP8[$2283>>0]|0;
$2285 = $2284&255;
$2286 = $2285 ^ 255;
$2287 = $2286&255;
HEAP8[$2283>>0] = $2287;
$2288 = ((($$07991$i)) + -2|0);
$2289 = HEAP8[$2288>>0]|0;
$2290 = $2289&255;
$2291 = $2290 ^ 255;
$2292 = $2291&255;
HEAP8[$2288>>0] = $2292;
$2293 = ((($$07991$i)) + -8|0);
$2294 = (($$07792$i) + 1)|0;
$exitcond104$i = ($2294|0)==($2265|0);
if ($exitcond104$i) {
break;
} else {
$$07792$i = $2294;$$07991$i = $2293;
}
}
}
break;
}
case 4: {
$2295 = ($2270<<24>>24)==(8);
$2296 = ((($1)) + 4|0);
$2297 = HEAP32[$2296>>2]|0;
$2298 = (($2264) + ($2297)|0);
$2299 = ($2265|0)!=(0);
if ($2295) {
if ($2299) {
$$07496$i = 0;$$07595$i = $2298;
} else {
break L525;
}
while(1) {
$2300 = ((($$07595$i)) + -1|0);
$2301 = HEAP8[$2300>>0]|0;
$2302 = $2301&255;
$2303 = $2302 ^ 255;
$2304 = $2303&255;
HEAP8[$2300>>0] = $2304;
$2305 = ((($$07595$i)) + -2|0);
$2306 = (($$07496$i) + 1)|0;
$exitcond105$i = ($2306|0)==($2265|0);
if ($exitcond105$i) {
break;
} else {
$$07496$i = $2306;$$07595$i = $2305;
}
}
} else {
if ($2299) {
$$07398$i = $2298;$$099$i = 0;
} else {
break L525;
}
while(1) {
$2307 = ((($$07398$i)) + -1|0);
$2308 = HEAP8[$2307>>0]|0;
$2309 = $2308&255;
$2310 = $2309 ^ 255;
$2311 = $2310&255;
HEAP8[$2307>>0] = $2311;
$2312 = ((($$07398$i)) + -2|0);
$2313 = HEAP8[$2312>>0]|0;
$2314 = $2313&255;
$2315 = $2314 ^ 255;
$2316 = $2315&255;
HEAP8[$2312>>0] = $2316;
$2317 = ((($$07398$i)) + -4|0);
$2318 = (($$099$i) + 1)|0;
$exitcond106$i = ($2318|0)==($2265|0);
if ($exitcond106$i) {
break;
} else {
$$07398$i = $2317;$$099$i = $2318;
}
}
}
break;
}
default: {
break L525;
}
}
}
} while(0);
$2319 = HEAP32[$10>>2]|0;
$2320 = $2319 & 8;
$2321 = ($2320|0)==(0);
if ($2321) {
$2427 = $2319;
} else {
$2322 = HEAP32[$3>>2]|0;
$2323 = ((($2322)) + 1|0);
$2324 = ((($1)) + 8|0);
$2325 = HEAP16[$2324>>1]|0;
$2326 = $2325&255;
$$mask$i165 = $2325 & 255;
$2327 = $$mask$i165&65535;
$2328 = ($2326<<24>>24)==(3);
$2329 = ($2325&65535) >>> 8;
$2330 = $2329&255;
if ($2328) {
$2427 = $2319;
} else {
$2331 = $2329&65535;
$2332 = $2327 & 2;
$2333 = ($2332|0)==(0);
if ($2333) {
$2347 = ((($0)) + 524|0);
$2348 = HEAP8[$2347>>0]|0;
$2349 = $2348&255;
$$0$i = 1;$$pn$i = $2349;
} else {
$2334 = ((($0)) + 521|0);
$2335 = HEAP8[$2334>>0]|0;
$2336 = $2335&255;
$2337 = ((($0)) + 522|0);
$2338 = HEAP8[$2337>>0]|0;
$2339 = $2338&255;
$2340 = (($2331) - ($2339))|0;
$2341 = ((($2)) + 4|0);
HEAP32[$2341>>2] = $2340;
$2342 = ((($0)) + 523|0);
$2343 = HEAP8[$2342>>0]|0;
$2344 = $2343&255;
$2345 = (($2331) - ($2344))|0;
$2346 = ((($2)) + 8|0);
HEAP32[$2346>>2] = $2345;
$$0$i = 3;$$pn$i = $2336;
}
$$sink$i = (($2331) - ($$pn$i))|0;
HEAP32[$2>>2] = $$sink$i;
$2350 = $2327 & 4;
$2351 = ($2350|0)==(0);
if ($2351) {
$$1$i166 = $$0$i;
} else {
$2352 = ((($0)) + 525|0);
$2353 = (($$0$i) + 1)|0;
$2354 = (($2) + ($$0$i<<2)|0);
$2355 = HEAP8[$2352>>0]|0;
$2356 = $2355&255;
$2357 = (($2331) - ($2356))|0;
HEAP32[$2354>>2] = $2357;
$$1$i166 = $2353;
}
$$0119143$i = 0;$$0121142$i = 0;
while(1) {
$2358 = (($2) + ($$0119143$i<<2)|0);
$2359 = HEAP32[$2358>>2]|0;
$2360 = ($2359|0)>(0);
$2361 = ($2359|0)<($2331|0);
$or$cond$i = $2360 & $2361;
if ($or$cond$i) {
$$1122$i = 1;
} else {
HEAP32[$2358>>2] = 0;
$$1122$i = $$0121142$i;
}
$2362 = (($$0119143$i) + 1)|0;
$2363 = ($2362|0)<($$1$i166|0);
if ($2363) {
$$0119143$i = $2362;$$0121142$i = $$1122$i;
} else {
break;
}
}
$2364 = ($$1122$i|0)==(0);
L561: do {
if (!($2364)) {
switch ($2330<<24>>24) {
case 2: {
$2365 = ((($1)) + 4|0);
$2366 = HEAP32[$2365>>2]|0;
$2367 = (($2323) + ($2366)|0);
$2368 = ($2366|0)>(0);
if ($2368) {
$$0127133$i = $2323;
} else {
break L561;
}
while(1) {
$2369 = HEAP8[$$0127133$i>>0]|0;
$2370 = $2369&255;
$2371 = $2370 >>> 1;
$2372 = $2371 & 85;
$2373 = $2372&255;
$2374 = ((($$0127133$i)) + 1|0);
HEAP8[$$0127133$i>>0] = $2373;
$2375 = ($2374>>>0)<($2367>>>0);
if ($2375) {
$$0127133$i = $2374;
} else {
break;
}
}
break;
}
case 4: {
$2376 = ((($1)) + 4|0);
$2377 = HEAP32[$2376>>2]|0;
$2378 = (($2323) + ($2377)|0);
$2379 = HEAP32[$2>>2]|0;
$2380 = 15 >>> $2379;
$2381 = $2380 << 4;
$2382 = $2381 | $2380;
$2383 = ($2377|0)>(0);
if ($2383) {
$$0128134$i = $2323;
} else {
break L561;
}
while(1) {
$2384 = HEAP8[$$0128134$i>>0]|0;
$2385 = $2384&255;
$2386 = $2385 >>> $2379;
$2387 = $2386 & $2382;
$2388 = $2387&255;
$2389 = ((($$0128134$i)) + 1|0);
HEAP8[$$0128134$i>>0] = $2388;
$2390 = ($2389>>>0)<($2378>>>0);
if ($2390) {
$$0128134$i = $2389;
} else {
break;
}
}
break;
}
case 8: {
$2391 = ((($1)) + 4|0);
$2392 = HEAP32[$2391>>2]|0;
$2393 = (($2323) + ($2392)|0);
$2394 = ($2392|0)>(0);
if ($2394) {
$$0123137$i = 0;$$0126136$i = $2323;
} else {
break L561;
}
while(1) {
$2395 = HEAP8[$$0126136$i>>0]|0;
$2396 = $2395&255;
$2397 = (($2) + ($$0123137$i<<2)|0);
$2398 = HEAP32[$2397>>2]|0;
$2399 = $2396 >>> $2398;
$2400 = (($$0123137$i) + 1)|0;
$2401 = ($2400|0)>=($$1$i166|0);
$$$i168 = $2401 ? 0 : $2400;
$2402 = $2399&255;
$2403 = ((($$0126136$i)) + 1|0);
HEAP8[$$0126136$i>>0] = $2402;
$2404 = ($2403>>>0)<($2393>>>0);
if ($2404) {
$$0123137$i = $$$i168;$$0126136$i = $2403;
} else {
break;
}
}
break;
}
case 16: {
$2405 = ((($1)) + 4|0);
$2406 = HEAP32[$2405>>2]|0;
$2407 = (($2323) + ($2406)|0);
$2408 = ($2406|0)>(0);
if ($2408) {
$$0118140$i = 0;$$0120139$i = $2323;
} else {
break L561;
}
while(1) {
$2409 = HEAP8[$$0120139$i>>0]|0;
$2410 = $2409&255;
$2411 = $2410 << 8;
$2412 = ((($$0120139$i)) + 1|0);
$2413 = HEAP8[$2412>>0]|0;
$2414 = $2413&255;
$2415 = $2411 | $2414;
$2416 = (($2) + ($$0118140$i<<2)|0);
$2417 = HEAP32[$2416>>2]|0;
$2418 = $2415 >>> $2417;
$2419 = (($$0118140$i) + 1)|0;
$2420 = ($2419|0)>=($$1$i166|0);
$$2$i = $2420 ? 0 : $2419;
$2421 = $2418 >>> 8;
$2422 = $2421&255;
HEAP8[$$0120139$i>>0] = $2422;
$2423 = $2418&255;
$2424 = ((($$0120139$i)) + 2|0);
HEAP8[$2412>>0] = $2423;
$2425 = ($2424>>>0)<($2407>>>0);
if ($2425) {
$$0118140$i = $$2$i;$$0120139$i = $2424;
} else {
break;
}
}
break;
}
default: {
break L561;
}
}
}
} while(0);
$$pre341 = HEAP32[$10>>2]|0;
$2427 = $$pre341;
}
}
$2426 = $2427 & 4;
$2428 = ($2426|0)==(0);
do {
if (!($2428)) {
$2429 = HEAP32[$3>>2]|0;
$2430 = ((($2429)) + 1|0);
$2431 = ((($1)) + 9|0);
$2432 = HEAP8[$2431>>0]|0;
$2433 = ($2432&255)<(8);
if (!($2433)) {
break;
}
$2434 = HEAP32[$1>>2]|0;
L581: do {
switch ($2432<<24>>24) {
case 1: {
$2435 = ($2434|0)==(0);
if ($2435) {
break L581;
}
$2436 = (($2434) + 7)|0;
$2437 = $2436 & 7;
$2438 = $2437 ^ 7;
$2439 = (($2430) + ($2434)|0);
$2440 = (($2434) + -1)|0;
$2441 = $2440 >>> 3;
$2442 = (($2430) + ($2441)|0);
$$08195$i = $2438;$$08396$pn$i = $2439;$$08494$i = $2442;$$08693$i = 0;
while(1) {
$$08396$i = ((($$08396$pn$i)) + -1|0);
$2443 = HEAP8[$$08494$i>>0]|0;
$2444 = $2443&255;
$2445 = $2444 >>> $$08195$i;
$2446 = $2445 & 1;
$2447 = $2446&255;
HEAP8[$$08396$i>>0] = $2447;
$2448 = ($$08195$i|0)==(7);
$2449 = ((($$08494$i)) + -1|0);
$2450 = (($$08195$i) + 1)|0;
$$185$i = $2448 ? $2449 : $$08494$i;
$$182$i = $2448 ? 0 : $2450;
$2451 = (($$08693$i) + 1)|0;
$exitcond$i161 = ($2451|0)==($2434|0);
if ($exitcond$i161) {
break;
} else {
$$08195$i = $$182$i;$$08396$pn$i = $$08396$i;$$08494$i = $$185$i;$$08693$i = $2451;
}
}
break;
}
case 2: {
$2452 = ($2434|0)==(0);
if ($2452) {
break L581;
}
$2453 = $2434 << 1;
$2454 = (($2453) + 6)|0;
$2455 = $2454 & 6;
$2456 = $2455 ^ 6;
$2457 = (($2430) + ($2434)|0);
$2458 = (($2434) + -1)|0;
$2459 = $2458 >>> 2;
$2460 = (($2430) + ($2459)|0);
$$076100$i = $2456;$$078101$pn$i = $2457;$$07999$i = $2460;$$18798$i = 0;
while(1) {
$$078101$i = ((($$078101$pn$i)) + -1|0);
$2461 = HEAP8[$$07999$i>>0]|0;
$2462 = $2461&255;
$2463 = $2462 >>> $$076100$i;
$2464 = $2463 & 3;
$2465 = $2464&255;
HEAP8[$$078101$i>>0] = $2465;
$2466 = ($$076100$i|0)==(6);
$2467 = ((($$07999$i)) + -1|0);
$2468 = (($$076100$i) + 2)|0;
$$180$i = $2466 ? $2467 : $$07999$i;
$$177$i = $2466 ? 0 : $2468;
$2469 = (($$18798$i) + 1)|0;
$exitcond111$i = ($2469|0)==($2434|0);
if ($exitcond111$i) {
break;
} else {
$$076100$i = $$177$i;$$078101$pn$i = $$078101$i;$$07999$i = $$180$i;$$18798$i = $2469;
}
}
break;
}
case 4: {
$2470 = ($2434|0)==(0);
if ($2470) {
break L581;
}
$2471 = $2434 << 2;
$2472 = $2471 & 4;
$2473 = (($2430) + ($2434)|0);
$2474 = (($2434) + -1)|0;
$2475 = $2474 >>> 1;
$2476 = (($2430) + ($2475)|0);
$$0106$i = $2472;$$073107$pn$i = $2473;$$074105$i = $2476;$$2104$i = 0;
while(1) {
$$073107$i = ((($$073107$pn$i)) + -1|0);
$2477 = HEAP8[$$074105$i>>0]|0;
$2478 = $2477&255;
$2479 = $2478 >>> $$0106$i;
$2480 = $2479 & 15;
$2481 = $2480&255;
HEAP8[$$073107$i>>0] = $2481;
$2482 = ($$0106$i|0)==(4);
$2483 = ((($$074105$i)) + -1|0);
$$175$i = $2482 ? $2483 : $$074105$i;
$$1$i163 = $2482 ? 0 : 4;
$2484 = (($$2104$i) + 1)|0;
$exitcond112$i = ($2484|0)==($2434|0);
if ($exitcond112$i) {
break;
} else {
$$0106$i = $$1$i163;$$073107$pn$i = $$073107$i;$$074105$i = $$175$i;$$2104$i = $2484;
}
}
break;
}
default: {
}
}
} while(0);
HEAP8[$2431>>0] = 8;
$2485 = ((($1)) + 10|0);
$2486 = HEAP8[$2485>>0]|0;
$2487 = $2486&255;
$2488 = $2487 << 3;
$2489 = $2488&255;
$2490 = ((($1)) + 11|0);
HEAP8[$2490>>0] = $2489;
$2491 = Math_imul($2487, $2434)|0;
$2492 = ((($1)) + 4|0);
HEAP32[$2492>>2] = $2491;
}
} while(0);
$2493 = ((($1)) + 8|0);
$2494 = HEAP32[$2493>>2]|0;
$2495 = $2494&255;
$2496 = ($2495<<24>>24)==(3);
do {
if ($2496) {
$2497 = ((($0)) + 424|0);
$2498 = HEAP32[$2497>>2]|0;
$2499 = ($2498|0)>(-1);
if (!($2499)) {
break;
}
_png_do_check_palette_indexes($0,$1);
}
} while(0);
$2500 = HEAP32[$10>>2]|0;
$2501 = $2500 & 1;
$2502 = ($2501|0)==(0);
if ($2502) {
$2506 = $2500;
} else {
$2503 = HEAP32[$3>>2]|0;
$2504 = ((($2503)) + 1|0);
_png_do_bgr($1,$2504);
$$pre342 = HEAP32[$10>>2]|0;
$2506 = $$pre342;
}
$2505 = $2506 & 65536;
$2507 = ($2505|0)==(0);
if ($2507) {
$2511 = $2506;
} else {
$2508 = HEAP32[$3>>2]|0;
$2509 = ((($2508)) + 1|0);
_png_do_packswap($1,$2509);
$$pre343 = HEAP32[$10>>2]|0;
$2511 = $$pre343;
}
$2510 = $2511 & 32768;
$2512 = ($2510|0)==(0);
L606: do {
if (!($2512)) {
$2513 = HEAP32[$3>>2]|0;
$2514 = ((($2513)) + 1|0);
$2515 = ((($0)) + 444|0);
$2516 = HEAP16[$2515>>1]|0;
$2517 = HEAP32[$6>>2]|0;
$2518 = HEAP32[$1>>2]|0;
$2519 = ($2516&65535) >>> 8;
$2520 = $2519&255;
$2521 = $2516&255;
$2522 = HEAP32[$2493>>2]|0;
$2523 = $2522&65535;
$2524 = $2522&255;
$2525 = ($2523&65535) >>> 8;
$2526 = $2525&255;
switch ($2524<<24>>24) {
case 0: {
switch ($2526<<24>>24) {
case 8: {
$2527 = $2517 & 128;
$2528 = ($2527|0)==(0);
$2529 = (($2514) + ($2518)|0);
$2530 = (($2529) + ($2518)|0);
if ($2528) {
$2533 = ($2518|0)==(0);
if (!($2533)) {
$$0217231$i = $2530;$$0218230$i = $2529;$$1229$i = 0;
while(1) {
$2543 = ((($$0218230$i)) + -1|0);
$2544 = HEAP8[$2543>>0]|0;
$2545 = ((($$0217231$i)) + -1|0);
HEAP8[$2545>>0] = $2544;
$2546 = ((($$0217231$i)) + -2|0);
HEAP8[$2546>>0] = $2521;
$2547 = (($$1229$i) + 1)|0;
$exitcond$i157 = ($2547|0)==($2518|0);
if ($exitcond$i157) {
break;
} else {
$$0217231$i = $2546;$$0218230$i = $2543;$$1229$i = $2547;
}
}
}
$2548 = ((($1)) + 10|0);
HEAP8[$2548>>0] = 2;
$2549 = ((($1)) + 11|0);
HEAP8[$2549>>0] = 16;
$2550 = $2518 << 1;
$2551 = ((($1)) + 4|0);
HEAP32[$2551>>2] = $2550;
break L606;
} else {
$2531 = ($2518>>>0)>(1);
$2532 = ((($2530)) + -1|0);
HEAP8[$2532>>0] = $2521;
if ($2531) {
$$0219234$i = $2530;$$0220233$i = $2529;$$0221232$i = 1;
while(1) {
$2534 = ((($$0220233$i)) + -1|0);
$2535 = HEAP8[$2534>>0]|0;
$2536 = ((($$0219234$i)) + -2|0);
HEAP8[$2536>>0] = $2535;
$2537 = (($$0221232$i) + 1)|0;
$2538 = ((($$0219234$i)) + -3|0);
HEAP8[$2538>>0] = $2521;
$exitcond267$i = ($2537|0)==($2518|0);
if ($exitcond267$i) {
break;
} else {
$$0219234$i = $2536;$$0220233$i = $2534;$$0221232$i = $2537;
}
}
}
$2539 = ((($1)) + 10|0);
HEAP8[$2539>>0] = 2;
$2540 = ((($1)) + 11|0);
HEAP8[$2540>>0] = 16;
$2541 = $2518 << 1;
$2542 = ((($1)) + 4|0);
HEAP32[$2542>>2] = $2541;
break L606;
}
break;
}
case 16: {
$2552 = $2517 & 128;
$2553 = ($2552|0)==(0);
$2554 = $2518 << 1;
$2555 = (($2514) + ($2554)|0);
$2556 = (($2555) + ($2554)|0);
if ($2553) {
$2560 = ($2518|0)==(0);
if (!($2560)) {
$$0213239$i = $2556;$$0214238$i = $2555;$$3237$i = 0;
while(1) {
$2574 = ((($$0214238$i)) + -1|0);
$2575 = HEAP8[$2574>>0]|0;
$2576 = ((($$0213239$i)) + -1|0);
HEAP8[$2576>>0] = $2575;
$2577 = ((($$0214238$i)) + -2|0);
$2578 = HEAP8[$2577>>0]|0;
$2579 = ((($$0213239$i)) + -2|0);
HEAP8[$2579>>0] = $2578;
$2580 = ((($$0213239$i)) + -3|0);
HEAP8[$2580>>0] = $2521;
$2581 = ((($$0213239$i)) + -4|0);
HEAP8[$2581>>0] = $2520;
$2582 = (($$3237$i) + 1)|0;
$exitcond268$i = ($2582|0)==($2518|0);
if ($exitcond268$i) {
break;
} else {
$$0213239$i = $2581;$$0214238$i = $2577;$$3237$i = $2582;
}
}
}
$2583 = ((($1)) + 10|0);
HEAP8[$2583>>0] = 2;
$2584 = ((($1)) + 11|0);
HEAP8[$2584>>0] = 32;
$2585 = $2518 << 2;
$2586 = ((($1)) + 4|0);
HEAP32[$2586>>2] = $2585;
break L606;
} else {
$2557 = ($2518>>>0)>(1);
$2558 = ((($2556)) + -1|0);
HEAP8[$2558>>0] = $2521;
$2559 = ((($2556)) + -2|0);
HEAP8[$2559>>0] = $2520;
if ($2557) {
$$0215244$i = $2556;$$0216243$i = $2555;$$2242$i = 1;
while(1) {
$2561 = ((($$0216243$i)) + -1|0);
$2562 = HEAP8[$2561>>0]|0;
$2563 = ((($$0215244$i)) + -3|0);
HEAP8[$2563>>0] = $2562;
$2564 = ((($$0216243$i)) + -2|0);
$2565 = HEAP8[$2564>>0]|0;
$2566 = ((($$0215244$i)) + -4|0);
HEAP8[$2566>>0] = $2565;
$2567 = (($$2242$i) + 1)|0;
$2568 = ((($$0215244$i)) + -5|0);
HEAP8[$2568>>0] = $2521;
$2569 = ((($$0215244$i)) + -6|0);
HEAP8[$2569>>0] = $2520;
$exitcond269$i = ($2567|0)==($2518|0);
if ($exitcond269$i) {
break;
} else {
$$0215244$i = $2566;$$0216243$i = $2564;$$2242$i = $2567;
}
}
}
$2570 = ((($1)) + 10|0);
HEAP8[$2570>>0] = 2;
$2571 = ((($1)) + 11|0);
HEAP8[$2571>>0] = 32;
$2572 = $2518 << 2;
$2573 = ((($1)) + 4|0);
HEAP32[$2573>>2] = $2572;
break L606;
}
break;
}
default: {
break L606;
}
}
break;
}
case 2: {
switch ($2526<<24>>24) {
case 8: {
$2587 = $2517 & 128;
$2588 = ($2587|0)==(0);
$2589 = ($2518*3)|0;
$2590 = (($2514) + ($2589)|0);
$2591 = (($2590) + ($2518)|0);
if ($2588) {
$2594 = ($2518|0)==(0);
if (!($2594)) {
$$0209249$i = $2591;$$0210248$i = $2590;$$5247$i = 0;
while(1) {
$2610 = ((($$0210248$i)) + -1|0);
$2611 = HEAP8[$2610>>0]|0;
$2612 = ((($$0209249$i)) + -1|0);
HEAP8[$2612>>0] = $2611;
$2613 = ((($$0210248$i)) + -2|0);
$2614 = HEAP8[$2613>>0]|0;
$2615 = ((($$0209249$i)) + -2|0);
HEAP8[$2615>>0] = $2614;
$2616 = ((($$0210248$i)) + -3|0);
$2617 = HEAP8[$2616>>0]|0;
$2618 = ((($$0209249$i)) + -3|0);
HEAP8[$2618>>0] = $2617;
$2619 = ((($$0209249$i)) + -4|0);
HEAP8[$2619>>0] = $2521;
$2620 = (($$5247$i) + 1)|0;
$exitcond270$i = ($2620|0)==($2518|0);
if ($exitcond270$i) {
break;
} else {
$$0209249$i = $2619;$$0210248$i = $2616;$$5247$i = $2620;
}
}
}
$2621 = ((($1)) + 10|0);
HEAP8[$2621>>0] = 4;
$2622 = ((($1)) + 11|0);
HEAP8[$2622>>0] = 32;
$2623 = $2518 << 2;
$2624 = ((($1)) + 4|0);
HEAP32[$2624>>2] = $2623;
break L606;
} else {
$2592 = ($2518>>>0)>(1);
$2593 = ((($2591)) + -1|0);
HEAP8[$2593>>0] = $2521;
if ($2592) {
$$0211254$i = $2591;$$0212253$i = $2590;$$4252$i = 1;
while(1) {
$2595 = ((($$0212253$i)) + -1|0);
$2596 = HEAP8[$2595>>0]|0;
$2597 = ((($$0211254$i)) + -2|0);
HEAP8[$2597>>0] = $2596;
$2598 = ((($$0212253$i)) + -2|0);
$2599 = HEAP8[$2598>>0]|0;
$2600 = ((($$0211254$i)) + -3|0);
HEAP8[$2600>>0] = $2599;
$2601 = ((($$0212253$i)) + -3|0);
$2602 = HEAP8[$2601>>0]|0;
$2603 = ((($$0211254$i)) + -4|0);
HEAP8[$2603>>0] = $2602;
$2604 = (($$4252$i) + 1)|0;
$2605 = ((($$0211254$i)) + -5|0);
HEAP8[$2605>>0] = $2521;
$exitcond271$i = ($2604|0)==($2518|0);
if ($exitcond271$i) {
break;
} else {
$$0211254$i = $2603;$$0212253$i = $2601;$$4252$i = $2604;
}
}
}
$2606 = ((($1)) + 10|0);
HEAP8[$2606>>0] = 4;
$2607 = ((($1)) + 11|0);
HEAP8[$2607>>0] = 32;
$2608 = $2518 << 2;
$2609 = ((($1)) + 4|0);
HEAP32[$2609>>2] = $2608;
break L606;
}
break;
}
case 16: {
$2625 = $2517 & 128;
$2626 = ($2625|0)==(0);
$2627 = ($2518*6)|0;
$2628 = (($2514) + ($2627)|0);
$2629 = $2518 << 1;
$2630 = (($2628) + ($2629)|0);
if ($2626) {
$2634 = ($2518|0)==(0);
if (!($2634)) {
$$0206258$i = $2628;$$0259$i = $2630;$$7257$i = 0;
while(1) {
$2660 = ((($$0206258$i)) + -1|0);
$2661 = HEAP8[$2660>>0]|0;
$2662 = ((($$0259$i)) + -1|0);
HEAP8[$2662>>0] = $2661;
$2663 = ((($$0206258$i)) + -2|0);
$2664 = HEAP8[$2663>>0]|0;
$2665 = ((($$0259$i)) + -2|0);
HEAP8[$2665>>0] = $2664;
$2666 = ((($$0206258$i)) + -3|0);
$2667 = HEAP8[$2666>>0]|0;
$2668 = ((($$0259$i)) + -3|0);
HEAP8[$2668>>0] = $2667;
$2669 = ((($$0206258$i)) + -4|0);
$2670 = HEAP8[$2669>>0]|0;
$2671 = ((($$0259$i)) + -4|0);
HEAP8[$2671>>0] = $2670;
$2672 = ((($$0206258$i)) + -5|0);
$2673 = HEAP8[$2672>>0]|0;
$2674 = ((($$0259$i)) + -5|0);
HEAP8[$2674>>0] = $2673;
$2675 = ((($$0206258$i)) + -6|0);
$2676 = HEAP8[$2675>>0]|0;
$2677 = ((($$0259$i)) + -6|0);
HEAP8[$2677>>0] = $2676;
$2678 = ((($$0259$i)) + -7|0);
HEAP8[$2678>>0] = $2521;
$2679 = ((($$0259$i)) + -8|0);
HEAP8[$2679>>0] = $2520;
$2680 = (($$7257$i) + 1)|0;
$exitcond272$i = ($2680|0)==($2518|0);
if ($exitcond272$i) {
break;
} else {
$$0206258$i = $2675;$$0259$i = $2679;$$7257$i = $2680;
}
}
}
$2681 = ((($1)) + 10|0);
HEAP8[$2681>>0] = 4;
$2682 = ((($1)) + 11|0);
HEAP8[$2682>>0] = 64;
$2683 = $2518 << 3;
$2684 = ((($1)) + 4|0);
HEAP32[$2684>>2] = $2683;
break L606;
} else {
$2631 = ($2518>>>0)>(1);
$2632 = ((($2630)) + -1|0);
HEAP8[$2632>>0] = $2521;
$2633 = ((($2630)) + -2|0);
HEAP8[$2633>>0] = $2520;
if ($2631) {
$$0207264$i = $2630;$$0208263$i = $2628;$$6262$i = 1;
while(1) {
$2635 = ((($$0208263$i)) + -1|0);
$2636 = HEAP8[$2635>>0]|0;
$2637 = ((($$0207264$i)) + -3|0);
HEAP8[$2637>>0] = $2636;
$2638 = ((($$0208263$i)) + -2|0);
$2639 = HEAP8[$2638>>0]|0;
$2640 = ((($$0207264$i)) + -4|0);
HEAP8[$2640>>0] = $2639;
$2641 = ((($$0208263$i)) + -3|0);
$2642 = HEAP8[$2641>>0]|0;
$2643 = ((($$0207264$i)) + -5|0);
HEAP8[$2643>>0] = $2642;
$2644 = ((($$0208263$i)) + -4|0);
$2645 = HEAP8[$2644>>0]|0;
$2646 = ((($$0207264$i)) + -6|0);
HEAP8[$2646>>0] = $2645;
$2647 = ((($$0208263$i)) + -5|0);
$2648 = HEAP8[$2647>>0]|0;
$2649 = ((($$0207264$i)) + -7|0);
HEAP8[$2649>>0] = $2648;
$2650 = ((($$0208263$i)) + -6|0);
$2651 = HEAP8[$2650>>0]|0;
$2652 = ((($$0207264$i)) + -8|0);
HEAP8[$2652>>0] = $2651;
$2653 = (($$6262$i) + 1)|0;
$2654 = ((($$0207264$i)) + -9|0);
HEAP8[$2654>>0] = $2521;
$2655 = ((($$0207264$i)) + -10|0);
HEAP8[$2655>>0] = $2520;
$exitcond273$i = ($2653|0)==($2518|0);
if ($exitcond273$i) {
break;
} else {
$$0207264$i = $2652;$$0208263$i = $2650;$$6262$i = $2653;
}
}
}
$2656 = ((($1)) + 10|0);
HEAP8[$2656>>0] = 4;
$2657 = ((($1)) + 11|0);
HEAP8[$2657>>0] = 64;
$2658 = $2518 << 3;
$2659 = ((($1)) + 4|0);
HEAP32[$2659>>2] = $2658;
break L606;
}
break;
}
default: {
break L606;
}
}
break;
}
default: {
break L606;
}
}
}
} while(0);
$2685 = HEAP32[$10>>2]|0;
$2686 = $2685 & 131072;
$2687 = ($2686|0)==(0);
L662: do {
if (!($2687)) {
$2688 = HEAP32[$3>>2]|0;
$2689 = ((($2688)) + 1|0);
$2690 = HEAP32[$1>>2]|0;
$2691 = HEAP32[$2493>>2]|0;
$2692 = $2691&65535;
$2693 = $2691&255;
$2694 = ($2692&65535) >>> 8;
$2695 = $2694&255;
switch ($2693<<24>>24) {
case 6: {
$2696 = ($2695<<24>>24)==(8);
$2697 = ((($1)) + 4|0);
$2698 = HEAP32[$2697>>2]|0;
$2699 = (($2689) + ($2698)|0);
$2700 = ($2690|0)!=(0);
if ($2696) {
if ($2700) {
$$092111$i = $2699;$$097109$i = 0;
} else {
break L662;
}
while(1) {
$2701 = ((($$092111$i)) + -1|0);
$2702 = HEAP8[$2701>>0]|0;
$2703 = ((($$092111$i)) + -2|0);
$2704 = HEAP8[$2703>>0]|0;
HEAP8[$2701>>0] = $2704;
$2705 = ((($$092111$i)) + -3|0);
$2706 = HEAP8[$2705>>0]|0;
HEAP8[$2703>>0] = $2706;
$2707 = ((($$092111$i)) + -4|0);
$2708 = HEAP8[$2707>>0]|0;
HEAP8[$2705>>0] = $2708;
HEAP8[$2707>>0] = $2702;
$2709 = (($$097109$i) + 1)|0;
$exitcond$i153 = ($2709|0)==($2690|0);
if ($exitcond$i153) {
break;
} else {
$$092111$i = $2707;$$097109$i = $2709;
}
}
} else {
if ($2700) {
$$0100114$i = 0;$$0101113$i = $2699;
} else {
break L662;
}
while(1) {
$2710 = ((($$0101113$i)) + -1|0);
$2711 = HEAP8[$2710>>0]|0;
$2712 = ((($$0101113$i)) + -2|0);
$2713 = HEAP8[$2712>>0]|0;
$2714 = ((($$0101113$i)) + -3|0);
$2715 = HEAP8[$2714>>0]|0;
HEAP8[$2710>>0] = $2715;
$2716 = ((($$0101113$i)) + -4|0);
$2717 = HEAP8[$2716>>0]|0;
HEAP8[$2712>>0] = $2717;
$2718 = ((($$0101113$i)) + -5|0);
$2719 = HEAP8[$2718>>0]|0;
HEAP8[$2714>>0] = $2719;
$2720 = ((($$0101113$i)) + -6|0);
$2721 = HEAP8[$2720>>0]|0;
HEAP8[$2716>>0] = $2721;
$2722 = ((($$0101113$i)) + -7|0);
$2723 = HEAP8[$2722>>0]|0;
HEAP8[$2718>>0] = $2723;
$2724 = ((($$0101113$i)) + -8|0);
$2725 = HEAP8[$2724>>0]|0;
HEAP8[$2720>>0] = $2725;
HEAP8[$2722>>0] = $2711;
HEAP8[$2724>>0] = $2713;
$2726 = (($$0100114$i) + 1)|0;
$exitcond127$i = ($2726|0)==($2690|0);
if ($exitcond127$i) {
break;
} else {
$$0100114$i = $2726;$$0101113$i = $2724;
}
}
}
break;
}
case 4: {
$2727 = ($2695<<24>>24)==(8);
$2728 = ((($1)) + 4|0);
$2729 = HEAP32[$2728>>2]|0;
$2730 = (($2689) + ($2729)|0);
$2731 = ($2690|0)!=(0);
if ($2727) {
if ($2731) {
$$096118$i = 0;$$098117$i = $2730;
} else {
break L662;
}
while(1) {
$2732 = ((($$098117$i)) + -1|0);
$2733 = HEAP8[$2732>>0]|0;
$2734 = ((($$098117$i)) + -2|0);
$2735 = HEAP8[$2734>>0]|0;
HEAP8[$2732>>0] = $2735;
HEAP8[$2734>>0] = $2733;
$2736 = (($$096118$i) + 1)|0;
$exitcond128$i = ($2736|0)==($2690|0);
if ($exitcond128$i) {
break;
} else {
$$096118$i = $2736;$$098117$i = $2734;
}
}
} else {
if ($2731) {
$$0122$i = 0;$$094121$i = $2730;
} else {
break L662;
}
while(1) {
$2737 = ((($$094121$i)) + -1|0);
$2738 = HEAP8[$2737>>0]|0;
$2739 = ((($$094121$i)) + -2|0);
$2740 = HEAP8[$2739>>0]|0;
$2741 = ((($$094121$i)) + -3|0);
$2742 = HEAP8[$2741>>0]|0;
HEAP8[$2737>>0] = $2742;
$2743 = ((($$094121$i)) + -4|0);
$2744 = HEAP8[$2743>>0]|0;
HEAP8[$2739>>0] = $2744;
HEAP8[$2741>>0] = $2738;
HEAP8[$2743>>0] = $2740;
$2745 = (($$0122$i) + 1)|0;
$exitcond129$i = ($2745|0)==($2690|0);
if ($exitcond129$i) {
break;
} else {
$$0122$i = $2745;$$094121$i = $2743;
}
}
}
break;
}
default: {
break L662;
}
}
}
} while(0);
$2746 = HEAP32[$10>>2]|0;
$2747 = $2746 & 16;
$2748 = ($2747|0)==(0);
if ($2748) {
$2752 = $2746;
} else {
$2749 = HEAP32[$3>>2]|0;
$2750 = ((($2749)) + 1|0);
_png_do_swap($1,$2750);
$$pre344 = HEAP32[$10>>2]|0;
$2752 = $$pre344;
}
$2751 = $2752 & 1048576;
$2753 = ($2751|0)==(0);
if ($2753) {
STACKTOP = sp;return;
}
$2754 = ((($0)) + 192|0);
$2755 = HEAP32[$2754>>2]|0;
$2756 = ($2755|0)==(0|0);
if (!($2756)) {
$2757 = HEAP32[$3>>2]|0;
$2758 = ((($2757)) + 1|0);
FUNCTION_TABLE_viii[$2755 & 127]($0,$1,$2758);
}
$2759 = ((($0)) + 204|0);
$2760 = HEAP16[$2759>>1]|0;
$2761 = $2760&255;
$2762 = ($2761<<24>>24)==(0);
$2763 = ($2760&65535) >>> 8;
$2764 = $2763&255;
if (!($2762)) {
$2765 = ((($1)) + 9|0);
HEAP8[$2765>>0] = $2761;
}
$2766 = ($2764<<24>>24)==(0);
$$phi$trans$insert346 = ((($1)) + 10|0);
if ($2766) {
$$pre347 = HEAP8[$$phi$trans$insert346>>0]|0;
$2771 = $$pre347;
} else {
HEAP8[$$phi$trans$insert346>>0] = $2764;
$2771 = $2764;
}
$2767 = ((($1)) + 9|0);
$2768 = HEAP8[$2767>>0]|0;
$2769 = $2768&255;
$2770 = $2771&255;
$2772 = Math_imul($2770, $2769)|0;
$2773 = $2772&255;
$2774 = ((($1)) + 11|0);
HEAP8[$2774>>0] = $2773;
$2775 = $2772 & 255;
$2776 = ($2775>>>0)>(7);
$2777 = HEAP32[$1>>2]|0;
if ($2776) {
$2778 = $2775 >>> 3;
$2779 = Math_imul($2778, $2777)|0;
$2784 = $2779;
} else {
$2780 = Math_imul($2775, $2777)|0;
$2781 = (($2780) + 7)|0;
$2782 = $2781 >>> 3;
$2784 = $2782;
}
$2783 = ((($1)) + 4|0);
HEAP32[$2783>>2] = $2784;
STACKTOP = sp;return;
}
function _png_do_read_interlace($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0223287$us = 0, $$0224302$us = 0, $$0225286$us = 0, $$0227285$us = 0, $$0228301$us = 0, $$0230 = 0, $$0233322$us = 0, $$0234 = 0, $$0237 = 0, $$0238332$us = 0, $$0239 = 0, $$0240 = 0, $$0241 = 0, $$0242 = 0, $$0242$in = 0, $$0246 = 0, $$0246$in = 0, $$0249329$us = 0, $$0252328$us = 0, $$0254 = 0;
var $$0255307$us = 0, $$0256 = 0, $$0257317$us = 0, $$0258298$us = 0, $$0259 = 0, $$0260 = 0, $$0261 = 0, $$0262 = 0, $$0266 = 0, $$0269314$us = 0, $$0272313$us = 0, $$0274290$us = 0, $$0284$us = 0, $$1$us = 0, $$1226283$us = 0, $$1229292$us = 0, $$1231300$us = 0, $$1235299$us = 0, $$1243331$us = 0, $$1247330$us = 0;
var $$1250320$us = 0, $$1253$us = 0, $$1263316$us = 0, $$1267315$us = 0, $$1270305$us = 0, $$1273$us = 0, $$2$us = 0, $$2232$us = 0, $$2236291$us = 0, $$2244321$us = 0, $$2248$us = 0, $$2251$us = 0, $$2264306$us = 0, $$2268$us = 0, $$2271$us = 0, $$3$us = 0, $$3245$us = 0, $$3265$us = 0, $10 = 0, $100 = 0;
var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$4 = sp;
$5 = ($1|0)!=(0|0);
$6 = ($0|0)!=(0|0);
$or$cond = $6 & $5;
if (!($or$cond)) {
STACKTOP = sp;return;
}
$7 = HEAP32[$0>>2]|0;
$8 = (772 + ($2<<2)|0);
$9 = HEAP32[$8>>2]|0;
$10 = Math_imul($9, $7)|0;
$11 = ((($0)) + 11|0);
$12 = HEAP8[$11>>0]|0;
switch ($12<<24>>24) {
case 1: {
$13 = (($7) + -1)|0;
$14 = $13 >>> 3;
$15 = (($1) + ($14)|0);
$16 = (($10) + -1)|0;
$17 = $16 >>> 3;
$18 = (($1) + ($17)|0);
$19 = $3 & 65536;
$20 = ($19|0)==(0);
$21 = (($7) + 7)|0;
$22 = $21 & 7;
if ($20) {
$25 = $22 ^ 7;
$26 = (($10) + 7)|0;
$27 = $26 & 7;
$28 = $27 ^ 7;
$$0230 = $25;$$0234 = $28;$$0237 = 0;$$0254 = 7;$$0256 = 1;
} else {
$23 = (($10) + 7)|0;
$24 = $23 & 7;
$$0230 = $22;$$0234 = $24;$$0237 = 7;$$0254 = 0;$$0256 = -1;
}
$29 = ($7|0)==(0);
if (!($29)) {
$$0224302$us = $15;$$0228301$us = $18;$$0258298$us = 0;$$1231300$us = $$0230;$$1235299$us = $$0234;
while(1) {
$30 = HEAP8[$$0224302$us>>0]|0;
$31 = $30&255;
$32 = $31 >>> $$1231300$us;
$33 = $32 & 1;
$$0274290$us = 0;$$1229292$us = $$0228301$us;$$2236291$us = $$1235299$us;
while(1) {
$34 = HEAP8[$$1229292$us>>0]|0;
$35 = $34&255;
$36 = (7 - ($$2236291$us))|0;
$37 = 32639 >>> $36;
$38 = $35 & $37;
$39 = $33 << $$2236291$us;
$40 = $38 | $39;
$41 = $40&255;
HEAP8[$$1229292$us>>0] = $41;
$42 = ($$2236291$us|0)==($$0254|0);
$43 = ((($$1229292$us)) + -1|0);
$44 = (($$2236291$us) + ($$0256))|0;
$$3$us = $42 ? $$0237 : $44;
$$2$us = $42 ? $43 : $$1229292$us;
$45 = (($$0274290$us) + 1)|0;
$46 = ($45|0)<($9|0);
if ($46) {
$$0274290$us = $45;$$1229292$us = $$2$us;$$2236291$us = $$3$us;
} else {
break;
}
}
$47 = ($$1231300$us|0)==($$0254|0);
$48 = ((($$0224302$us)) + -1|0);
$49 = (($$1231300$us) + ($$0256))|0;
$$2232$us = $47 ? $$0237 : $49;
$$1$us = $47 ? $48 : $$0224302$us;
$50 = (($$0258298$us) + 1)|0;
$51 = HEAP32[$0>>2]|0;
$52 = ($50>>>0)<($51>>>0);
if ($52) {
$$0224302$us = $$1$us;$$0228301$us = $$2$us;$$0258298$us = $50;$$1231300$us = $$2232$us;$$1235299$us = $$3$us;
} else {
break;
}
}
}
break;
}
case 2: {
$53 = (($7) + -1)|0;
$54 = $53 >>> 2;
$55 = (($1) + ($54)|0);
$56 = (($10) + -1)|0;
$57 = $56 >>> 2;
$58 = (($1) + ($57)|0);
$59 = $3 & 65536;
$60 = ($59|0)==(0);
$61 = $7 << 1;
$62 = (($61) + 6)|0;
$63 = $62 & 6;
if ($60) {
$67 = $63 ^ 6;
$68 = $10 << 1;
$69 = (($68) + 6)|0;
$70 = $69 & 6;
$71 = $70 ^ 6;
$$0259 = 2;$$0260 = 6;$$0261 = 0;$$0262 = $71;$$0266 = $67;
} else {
$64 = $10 << 1;
$65 = (($64) + 6)|0;
$66 = $65 & 6;
$$0259 = -2;$$0260 = 0;$$0261 = 6;$$0262 = $66;$$0266 = $63;
}
$72 = ($7|0)==(0);
if (!($72)) {
$$0257317$us = 0;$$0269314$us = $58;$$0272313$us = $55;$$1263316$us = $$0262;$$1267315$us = $$0266;
while(1) {
$73 = HEAP8[$$0272313$us>>0]|0;
$74 = $73&255;
$75 = $74 >>> $$1267315$us;
$76 = $75 & 3;
$$0255307$us = 0;$$1270305$us = $$0269314$us;$$2264306$us = $$1263316$us;
while(1) {
$77 = HEAP8[$$1270305$us>>0]|0;
$78 = $77&255;
$79 = (6 - ($$2264306$us))|0;
$80 = 16191 >>> $79;
$81 = $78 & $80;
$82 = $76 << $$2264306$us;
$83 = $81 | $82;
$84 = $83&255;
HEAP8[$$1270305$us>>0] = $84;
$85 = ($$2264306$us|0)==($$0260|0);
$86 = ((($$1270305$us)) + -1|0);
$87 = (($$2264306$us) + ($$0259))|0;
$$2271$us = $85 ? $86 : $$1270305$us;
$$3265$us = $85 ? $$0261 : $87;
$88 = (($$0255307$us) + 1)|0;
$89 = ($88|0)<($9|0);
if ($89) {
$$0255307$us = $88;$$1270305$us = $$2271$us;$$2264306$us = $$3265$us;
} else {
break;
}
}
$90 = ($$1267315$us|0)==($$0260|0);
$91 = ((($$0272313$us)) + -1|0);
$92 = (($$1267315$us) + ($$0259))|0;
$$1273$us = $90 ? $91 : $$0272313$us;
$$2268$us = $90 ? $$0261 : $92;
$93 = (($$0257317$us) + 1)|0;
$94 = HEAP32[$0>>2]|0;
$95 = ($93>>>0)<($94>>>0);
if ($95) {
$$0257317$us = $93;$$0269314$us = $$2271$us;$$0272313$us = $$1273$us;$$1263316$us = $$3265$us;$$1267315$us = $$2268$us;
} else {
break;
}
}
}
break;
}
case 4: {
$96 = (($7) + -1)|0;
$97 = $96 >>> 1;
$98 = (($1) + ($97)|0);
$99 = (($10) + -1)|0;
$100 = $99 >>> 1;
$101 = (($1) + ($100)|0);
$102 = $3 & 65536;
$103 = ($102|0)==(0);
$104 = $7 & 1;
if ($103) {
$108 = $10 & 1;
$$0239 = 4;$$0240 = 4;$$0241 = 0;$$0242$in = $108;$$0246$in = $104;
} else {
$105 = $104 ^ 1;
$106 = $10 & 1;
$107 = $106 ^ 1;
$$0239 = -4;$$0240 = 0;$$0241 = 4;$$0242$in = $107;$$0246$in = $105;
}
$109 = ($7|0)==(0);
if (!($109)) {
$$0242 = $$0242$in << 2;
$$0246 = $$0246$in << 2;
$$0238332$us = 0;$$0249329$us = $101;$$0252328$us = $98;$$1243331$us = $$0242;$$1247330$us = $$0246;
while(1) {
$110 = HEAP8[$$0252328$us>>0]|0;
$111 = $110&255;
$112 = $111 >>> $$1247330$us;
$113 = $112 & 15;
$$0233322$us = 0;$$1250320$us = $$0249329$us;$$2244321$us = $$1243331$us;
while(1) {
$114 = HEAP8[$$1250320$us>>0]|0;
$115 = $114&255;
$116 = (4 - ($$2244321$us))|0;
$117 = 3855 >>> $116;
$118 = $115 & $117;
$119 = $113 << $$2244321$us;
$120 = $118 | $119;
$121 = $120&255;
HEAP8[$$1250320$us>>0] = $121;
$122 = ($$2244321$us|0)==($$0240|0);
$123 = ((($$1250320$us)) + -1|0);
$124 = (($$2244321$us) + ($$0239))|0;
$$2251$us = $122 ? $123 : $$1250320$us;
$$3245$us = $122 ? $$0241 : $124;
$125 = (($$0233322$us) + 1)|0;
$126 = ($125|0)<($9|0);
if ($126) {
$$0233322$us = $125;$$1250320$us = $$2251$us;$$2244321$us = $$3245$us;
} else {
break;
}
}
$127 = ($$1247330$us|0)==($$0240|0);
$128 = ((($$0252328$us)) + -1|0);
$129 = (($$1247330$us) + ($$0239))|0;
$$1253$us = $127 ? $128 : $$0252328$us;
$$2248$us = $127 ? $$0241 : $129;
$130 = (($$0238332$us) + 1)|0;
$131 = HEAP32[$0>>2]|0;
$132 = ($130>>>0)<($131>>>0);
if ($132) {
$$0238332$us = $130;$$0249329$us = $$2251$us;$$0252328$us = $$1253$us;$$1243331$us = $$3245$us;$$1247330$us = $$2248$us;
} else {
break;
}
}
}
break;
}
default: {
$133 = $12&255;
$134 = $133 >>> 3;
$135 = ($7|0)==(0);
if (!($135)) {
$136 = (0 - ($134))|0;
$137 = (($10) + -1)|0;
$138 = Math_imul($134, $137)|0;
$139 = (($1) + ($138)|0);
$140 = (($7) + -1)|0;
$141 = Math_imul($134, $140)|0;
$142 = (($1) + ($141)|0);
$$0223287$us = 0;$$0225286$us = $139;$$0227285$us = $142;
while(1) {
_memcpy(($4|0),($$0227285$us|0),($134|0))|0;
$$0284$us = 0;$$1226283$us = $$0225286$us;
while(1) {
_memcpy(($$1226283$us|0),($4|0),($134|0))|0;
$143 = (($$1226283$us) + ($136)|0);
$144 = (($$0284$us) + 1)|0;
$145 = ($144|0)<($9|0);
if ($145) {
$$0284$us = $144;$$1226283$us = $143;
} else {
break;
}
}
$146 = (($$0227285$us) + ($136)|0);
$147 = (($$0223287$us) + 1)|0;
$148 = HEAP32[$0>>2]|0;
$149 = ($147>>>0)<($148>>>0);
if ($149) {
$$0223287$us = $147;$$0225286$us = $143;$$0227285$us = $146;
} else {
break;
}
}
}
}
}
HEAP32[$0>>2] = $10;
$150 = HEAP8[$11>>0]|0;
$151 = $150&255;
$152 = ($150&255)>(7);
if ($152) {
$153 = $151 >>> 3;
$154 = Math_imul($153, $10)|0;
$159 = $154;
} else {
$155 = Math_imul($151, $10)|0;
$156 = (($155) + 7)|0;
$157 = $156 >>> 3;
$159 = $157;
}
$158 = ((($0)) + 4|0);
HEAP32[$158>>2] = $159;
STACKTOP = sp;return;
}
function _png_do_expand($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0202261 = 0, $$0208263 = 0, $$0208263$pn = 0, $$0218260 = 0, $$0225 = 0, $$0262 = 0, $$1 = 0, $$1203 = 0, $$1209269 = 0, $$1209269$pn = 0, $$1219266 = 0, $$1226 = 0, $$2204267 = 0, $$2210275 = 0, $$2210275$pn = 0, $$2220272 = 0, $$2268 = 0, $$239 = 0, $$3 = 0;
var $$3205 = 0, $$3211 = 0, $$3221248 = 0, $$4206273 = 0, $$4212257 = 0, $$4222253 = 0, $$4274 = 0, $$5 = 0, $$5207 = 0, $$5213 = 0, $$5223279 = 0, $$6214283 = 0, $$6224287 = 0, $$6250 = 0, $$7215 = 0, $$7256 = 0, $$8216291 = 0, $$8282 = 0, $$9217 = 0, $$9290 = 0;
var $$pn227289 = 0, $$pn228280 = 0, $$pn229281 = 0, $$pn230254 = 0, $$pn231255 = 0, $$pn232249 = 0, $$pn288 = 0, $$pn298 = 0, $$pre$phi310Z2D = 0, $$pre$phi312Z2D = 0, $$pre$phi314Z2D = 0, $$pre309 = 0, $$pre311 = 0, $$pre313 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0;
var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, $exitcond = 0, $exitcond303 = 0, $exitcond304 = 0, $exitcond305 = 0, $exitcond306 = 0, $exitcond307 = 0, $exitcond308 = 0, $not$ = 0, $not$240 = 0, $or$cond = 0, $storemerge = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = HEAP32[$0>>2]|0;
$4 = ((($0)) + 8|0);
$5 = HEAP16[$4>>1]|0;
$6 = $5&255;
$7 = ($6<<24>>24)==(0);
$8 = ($5&65535) >>> 8;
$9 = $8&255;
if (!($7)) {
$128 = ($6<<24>>24)==(2);
$129 = ($2|0)!=(0|0);
$or$cond = $129 & $128;
if (!($or$cond)) {
return;
}
$130 = ((($0)) + 9|0);
switch ($9<<24>>24) {
case 8: {
$131 = ($3|0)==(0);
if (!($131)) {
$132 = $3 << 2;
$133 = (($1) + ($132)|0);
$134 = ((($0)) + 4|0);
$135 = HEAP32[$134>>2]|0;
$136 = (($1) + ($135)|0);
$137 = ((($2)) + 6|0);
$138 = HEAP16[$137>>1]|0;
$139 = ((($2)) + 4|0);
$140 = HEAP16[$139>>1]|0;
$141 = ((($2)) + 2|0);
$142 = HEAP16[$141>>1]|0;
$143 = $142&255;
$144 = $140&255;
$145 = $138&255;
$$5223279 = 0;$$pn228280 = $133;$$pn229281 = $136;
while(1) {
$$8282 = ((($$pn229281)) + -1|0);
$$6214283 = ((($$pn228280)) + -1|0);
$146 = ((($$pn229281)) + -3|0);
$147 = HEAP8[$146>>0]|0;
$148 = ($147<<24>>24)==($143<<24>>24);
$149 = ((($$pn229281)) + -2|0);
if ($148) {
$150 = HEAP8[$149>>0]|0;
$151 = ($150<<24>>24)==($144<<24>>24);
if ($151) {
$152 = HEAP8[$$8282>>0]|0;
$153 = ($152<<24>>24)==($145<<24>>24);
if ($153) {
$storemerge = 0;
} else {
label = 39;
}
} else {
label = 39;
}
} else {
label = 39;
}
if ((label|0) == 39) {
label = 0;
$storemerge = -1;
}
$$7215 = ((($$pn228280)) + -2|0);
HEAP8[$$6214283>>0] = $storemerge;
$154 = HEAP8[$$8282>>0]|0;
$155 = ((($$pn228280)) + -3|0);
HEAP8[$$7215>>0] = $154;
$156 = HEAP8[$149>>0]|0;
$157 = ((($$pn228280)) + -4|0);
HEAP8[$155>>0] = $156;
$158 = HEAP8[$146>>0]|0;
HEAP8[$157>>0] = $158;
$159 = (($$5223279) + 1)|0;
$exitcond307 = ($159|0)==($3|0);
if ($exitcond307) {
break;
} else {
$$5223279 = $159;$$pn228280 = $157;$$pn229281 = $146;
}
}
}
break;
}
case 16: {
$160 = ((($2)) + 2|0);
$161 = HEAP16[$160>>1]|0;
$162 = ($161&65535) >>> 8;
$163 = $162&65535;
$164 = ((($2)) + 4|0);
$165 = HEAP16[$164>>1]|0;
$166 = ($165&65535) >>> 8;
$167 = $166&65535;
$168 = ((($2)) + 6|0);
$169 = HEAP16[$168>>1]|0;
$170 = ($169&65535) >>> 8;
$171 = $170&65535;
$172 = ($3|0)==(0);
if (!($172)) {
$173 = $3 << 3;
$174 = (($1) + ($173)|0);
$175 = ((($0)) + 4|0);
$176 = HEAP32[$175>>2]|0;
$177 = (($1) + ($176)|0);
$178 = $161&255;
$179 = $165&255;
$180 = $169&255;
$$6224287 = 0;$$pn227289 = $177;$$pn288 = $174;
while(1) {
$$9290 = ((($$pn227289)) + -1|0);
$$8216291 = ((($$pn288)) + -1|0);
$181 = ((($$pn227289)) + -6|0);
$182 = HEAP8[$181>>0]|0;
$183 = $182&255;
$184 = ($183|0)==($163|0);
$185 = ((($$pn227289)) + -5|0);
if ($184) {
$186 = HEAP8[$185>>0]|0;
$187 = ($186<<24>>24)==($178<<24>>24);
if ($187) {
$188 = ((($$pn227289)) + -4|0);
$189 = HEAP8[$188>>0]|0;
$190 = $189&255;
$191 = ($190|0)==($167|0);
if ($191) {
$192 = ((($$pn227289)) + -3|0);
$193 = HEAP8[$192>>0]|0;
$194 = ($193<<24>>24)==($179<<24>>24);
if ($194) {
$195 = ((($$pn227289)) + -2|0);
$196 = HEAP8[$195>>0]|0;
$197 = $196&255;
$198 = ($197|0)==($171|0);
if ($198) {
$199 = HEAP8[$$9290>>0]|0;
$200 = ($199<<24>>24)==($180<<24>>24);
if ($200) {
$201 = ((($$pn288)) + -2|0);
HEAP8[$$8216291>>0] = 0;
HEAP8[$201>>0] = 0;
$$pre$phi310Z2D = $195;$$pre$phi312Z2D = $192;$$pre$phi314Z2D = $188;
} else {
label = 50;
}
} else {
label = 50;
}
} else {
label = 50;
}
} else {
label = 50;
}
} else {
label = 50;
}
} else {
label = 50;
}
if ((label|0) == 50) {
label = 0;
$202 = ((($$pn288)) + -2|0);
HEAP8[$$8216291>>0] = -1;
HEAP8[$202>>0] = -1;
$$pre309 = ((($$pn227289)) + -2|0);
$$pre311 = ((($$pn227289)) + -3|0);
$$pre313 = ((($$pn227289)) + -4|0);
$$pre$phi310Z2D = $$pre309;$$pre$phi312Z2D = $$pre311;$$pre$phi314Z2D = $$pre313;
}
$$9217 = ((($$pn288)) + -3|0);
$203 = HEAP8[$$9290>>0]|0;
$204 = ((($$pn288)) + -4|0);
HEAP8[$$9217>>0] = $203;
$205 = HEAP8[$$pre$phi310Z2D>>0]|0;
$206 = ((($$pn288)) + -5|0);
HEAP8[$204>>0] = $205;
$207 = HEAP8[$$pre$phi312Z2D>>0]|0;
$208 = ((($$pn288)) + -6|0);
HEAP8[$206>>0] = $207;
$209 = HEAP8[$$pre$phi314Z2D>>0]|0;
$210 = ((($$pn288)) + -7|0);
HEAP8[$208>>0] = $209;
$211 = HEAP8[$185>>0]|0;
$212 = ((($$pn288)) + -8|0);
HEAP8[$210>>0] = $211;
$213 = HEAP8[$181>>0]|0;
HEAP8[$212>>0] = $213;
$214 = (($$6224287) + 1)|0;
$exitcond308 = ($214|0)==($3|0);
if ($exitcond308) {
break;
} else {
$$6224287 = $214;$$pn227289 = $181;$$pn288 = $212;
}
}
}
break;
}
default: {
}
}
HEAP8[$4>>0] = 6;
$215 = ((($0)) + 10|0);
HEAP8[$215>>0] = 4;
$216 = HEAP8[$130>>0]|0;
$217 = $216&255;
$218 = $217 << 2;
$219 = $218&255;
$220 = ((($0)) + 11|0);
HEAP8[$220>>0] = $219;
$221 = $218 & 252;
$222 = ($221>>>0)>(7);
if ($222) {
$223 = $221 >>> 3;
$224 = Math_imul($223, $3)|0;
$229 = $224;
} else {
$225 = Math_imul($221, $3)|0;
$226 = (($225) + 7)|0;
$227 = $226 >>> 3;
$229 = $227;
}
$228 = ((($0)) + 4|0);
HEAP32[$228>>2] = $229;
return;
}
$10 = ($2|0)!=(0|0);
if ($10) {
$11 = ((($2)) + 8|0);
$12 = HEAP16[$11>>1]|0;
$13 = $12&65535;
$17 = $13;
} else {
$17 = 0;
}
$14 = ((($0)) + 9|0);
$15 = ($9&255)<(8);
if ($15) {
switch ($9<<24>>24) {
case 1: {
$16 = $17 & 1;
$18 = (0 - ($16))|0;
$19 = $18 & 255;
$20 = ($3|0)==(0);
if ($20) {
$$0225 = $19;
} else {
$21 = (($3) + 7)|0;
$22 = $21 & 7;
$23 = $22 ^ 7;
$24 = (($1) + ($3)|0);
$25 = (($3) + -1)|0;
$26 = $25 >>> 3;
$27 = (($1) + ($26)|0);
$$0202261 = $27;$$0208263$pn = $24;$$0218260 = 0;$$0262 = $23;
while(1) {
$$0208263 = ((($$0208263$pn)) + -1|0);
$28 = HEAP8[$$0202261>>0]|0;
$29 = $28&255;
$30 = 1 << $$0262;
$31 = $29 & $30;
$not$240 = ($31|0)!=(0);
$$ = $not$240 << 31 >> 31;
HEAP8[$$0208263>>0] = $$;
$32 = ($$0262|0)==(7);
$33 = ((($$0202261)) + -1|0);
$34 = (($$0262) + 1)|0;
$$1203 = $32 ? $33 : $$0202261;
$$1 = $32 ? 0 : $34;
$35 = (($$0218260) + 1)|0;
$exitcond304 = ($35|0)==($3|0);
if ($exitcond304) {
$$0225 = $19;
break;
} else {
$$0202261 = $$1203;$$0208263$pn = $$0208263;$$0218260 = $35;$$0262 = $$1;
}
}
}
break;
}
case 2: {
$36 = $17 & 3;
$37 = ($36*85)|0;
$38 = ($3|0)==(0);
if ($38) {
$$0225 = $37;
} else {
$39 = $3 << 1;
$40 = (($39) + 6)|0;
$41 = $40 & 6;
$42 = $41 ^ 6;
$43 = (($1) + ($3)|0);
$44 = (($3) + -1)|0;
$45 = $44 >>> 2;
$46 = (($1) + ($45)|0);
$$1209269$pn = $43;$$1219266 = 0;$$2204267 = $46;$$2268 = $42;
while(1) {
$$1209269 = ((($$1209269$pn)) + -1|0);
$47 = HEAP8[$$2204267>>0]|0;
$48 = $47&255;
$49 = $48 >>> $$2268;
$50 = $49 & 3;
$51 = $50 << 2;
$52 = $51 | $50;
$53 = $50 << 4;
$54 = $52 | $53;
$55 = $50 << 6;
$56 = $54 | $55;
$57 = $56&255;
HEAP8[$$1209269>>0] = $57;
$58 = ($$2268|0)==(6);
$59 = ((($$2204267)) + -1|0);
$60 = (($$2268) + 2)|0;
$$3205 = $58 ? $59 : $$2204267;
$$3 = $58 ? 0 : $60;
$61 = (($$1219266) + 1)|0;
$exitcond305 = ($61|0)==($3|0);
if ($exitcond305) {
$$0225 = $37;
break;
} else {
$$1209269$pn = $$1209269;$$1219266 = $61;$$2204267 = $$3205;$$2268 = $$3;
}
}
}
break;
}
case 4: {
$62 = $17 & 15;
$63 = ($62*17)|0;
$64 = ($3|0)==(0);
if ($64) {
$$0225 = $63;
} else {
$65 = $3 << 2;
$66 = $65 & 4;
$67 = (($1) + ($3)|0);
$68 = (($3) + -1)|0;
$69 = $68 >>> 1;
$70 = (($1) + ($69)|0);
$$2210275$pn = $67;$$2220272 = 0;$$4206273 = $70;$$4274 = $66;
while(1) {
$$2210275 = ((($$2210275$pn)) + -1|0);
$71 = HEAP8[$$4206273>>0]|0;
$72 = $71&255;
$73 = $72 >>> $$4274;
$74 = $73 & 15;
$75 = $74 << 4;
$76 = $75 | $74;
$77 = $76&255;
HEAP8[$$2210275>>0] = $77;
$78 = ($$4274|0)==(4);
$79 = ((($$4206273)) + -1|0);
$$5207 = $78 ? $79 : $$4206273;
$$5 = $78 ? 0 : 4;
$80 = (($$2220272) + 1)|0;
$exitcond306 = ($80|0)==($3|0);
if ($exitcond306) {
$$0225 = $63;
break;
} else {
$$2210275$pn = $$2210275;$$2220272 = $80;$$4206273 = $$5207;$$4274 = $$5;
}
}
}
break;
}
default: {
$$0225 = $17;
}
}
HEAP8[$14>>0] = 8;
$81 = ((($0)) + 11|0);
HEAP8[$81>>0] = 8;
$82 = ((($0)) + 4|0);
HEAP32[$82>>2] = $3;
$$1226 = $$0225;$83 = 8;
} else {
$$1226 = $17;$83 = $9;
}
if (!($10)) {
return;
}
switch ($83<<24>>24) {
case 8: {
$84 = ($3|0)==(0);
if (!($84)) {
$85 = (($1) + ($3)|0);
$86 = $3 << 1;
$87 = (($1) + ($86)|0);
$88 = $$1226&255;
$$3221248 = 0;$$pn232249 = $87;$$pn298 = $85;
while(1) {
$$6250 = ((($$pn298)) + -1|0);
$$3211 = ((($$pn232249)) + -1|0);
$89 = HEAP8[$$6250>>0]|0;
$90 = ((($$pn232249)) + -2|0);
$not$ = ($89<<24>>24)!=($88<<24>>24);
$$239 = $not$ << 31 >> 31;
HEAP8[$$3211>>0] = $$239;
$91 = HEAP8[$$6250>>0]|0;
HEAP8[$90>>0] = $91;
$92 = (($$3221248) + 1)|0;
$exitcond = ($92|0)==($3|0);
if ($exitcond) {
break;
} else {
$$3221248 = $92;$$pn232249 = $90;$$pn298 = $$6250;
}
}
}
break;
}
case 16: {
$93 = ((($0)) + 4|0);
$94 = HEAP32[$93>>2]|0;
$95 = ($3|0)==(0);
if (!($95)) {
$96 = $94 << 1;
$97 = (($1) + ($96)|0);
$98 = (($1) + ($94)|0);
$99 = $$1226 >>> 8;
$100 = $99&255;
$101 = $$1226&255;
$$4222253 = 0;$$pn230254 = $97;$$pn231255 = $98;
while(1) {
$$7256 = ((($$pn231255)) + -1|0);
$$4212257 = ((($$pn230254)) + -1|0);
$102 = ((($$pn231255)) + -2|0);
$103 = HEAP8[$102>>0]|0;
$104 = ($103<<24>>24)==($100<<24>>24);
if ($104) {
$105 = HEAP8[$$7256>>0]|0;
$106 = ($105<<24>>24)==($101<<24>>24);
if ($106) {
$107 = ((($$pn230254)) + -2|0);
HEAP8[$$4212257>>0] = 0;
HEAP8[$107>>0] = 0;
} else {
label = 26;
}
} else {
label = 26;
}
if ((label|0) == 26) {
label = 0;
$108 = ((($$pn230254)) + -2|0);
HEAP8[$$4212257>>0] = -1;
HEAP8[$108>>0] = -1;
}
$$5213 = ((($$pn230254)) + -3|0);
$109 = HEAP8[$$7256>>0]|0;
$110 = ((($$pn230254)) + -4|0);
HEAP8[$$5213>>0] = $109;
$111 = HEAP8[$102>>0]|0;
HEAP8[$110>>0] = $111;
$112 = (($$4222253) + 1)|0;
$exitcond303 = ($112|0)==($3|0);
if ($exitcond303) {
break;
} else {
$$4222253 = $112;$$pn230254 = $110;$$pn231255 = $102;
}
}
}
break;
}
default: {
}
}
HEAP8[$4>>0] = 4;
$113 = ((($0)) + 10|0);
HEAP8[$113>>0] = 2;
$114 = HEAP8[$14>>0]|0;
$115 = $114&255;
$116 = $115 << 1;
$117 = $116&255;
$118 = ((($0)) + 11|0);
HEAP8[$118>>0] = $117;
$119 = $116 & 254;
$120 = ($119>>>0)>(7);
if ($120) {
$121 = $119 >>> 3;
$122 = Math_imul($121, $3)|0;
$127 = $122;
} else {
$123 = Math_imul($119, $3)|0;
$124 = (($123) + 7)|0;
$125 = $124 >>> 3;
$127 = $125;
}
$126 = ((($0)) + 4|0);
HEAP32[$126>>2] = $127;
return;
}
function _png_do_gray_to_rgb($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0104127 = 0, $$0105124 = 0, $$0106123 = 0, $$0107120 = 0, $$0108119 = 0, $$0109117 = 0, $$0110116 = 0, $$0111115 = 0, $$0128 = 0, $$1118 = 0, $$2122 = 0, $$3126 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $exitcond = 0, $exitcond133 = 0, $exitcond134 = 0, $exitcond135 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = HEAP32[$0>>2]|0;
$3 = ((($0)) + 9|0);
$4 = HEAP8[$3>>0]|0;
$5 = ($4&255)>(7);
if (!($5)) {
return;
}
$6 = ((($0)) + 8|0);
$7 = HEAP8[$6>>0]|0;
$8 = $7 & 2;
$9 = ($8<<24>>24)==(0);
if (!($9)) {
return;
}
L7: do {
switch ($7<<24>>24) {
case 0: {
$10 = ($4<<24>>24)==(8);
if ($10) {
$11 = (($1) + ($2)|0);
$12 = ((($11)) + -1|0);
$13 = ($2|0)==(0);
if ($13) {
break L7;
}
$14 = $2 << 1;
$15 = (($12) + ($14)|0);
$$0109117 = $15;$$0110116 = $12;$$0111115 = 0;
while(1) {
$16 = HEAP8[$$0110116>>0]|0;
$17 = ((($$0109117)) + -1|0);
HEAP8[$$0109117>>0] = $16;
$18 = HEAP8[$$0110116>>0]|0;
$19 = ((($$0109117)) + -2|0);
HEAP8[$17>>0] = $18;
$20 = ((($$0110116)) + -1|0);
$21 = HEAP8[$$0110116>>0]|0;
$22 = ((($$0109117)) + -3|0);
HEAP8[$19>>0] = $21;
$23 = (($$0111115) + 1)|0;
$exitcond = ($23|0)==($2|0);
if ($exitcond) {
break;
} else {
$$0109117 = $22;$$0110116 = $20;$$0111115 = $23;
}
}
} else {
$24 = $2 << 1;
$25 = (($1) + ($24)|0);
$26 = ((($25)) + -1|0);
$27 = ($2|0)==(0);
if ($27) {
break L7;
}
$28 = $2 << 2;
$29 = (($26) + ($28)|0);
$$0107120 = $29;$$0108119 = $26;$$1118 = 0;
while(1) {
$30 = HEAP8[$$0108119>>0]|0;
$31 = ((($$0107120)) + -1|0);
HEAP8[$$0107120>>0] = $30;
$32 = ((($$0108119)) + -1|0);
$33 = HEAP8[$32>>0]|0;
$34 = ((($$0107120)) + -2|0);
HEAP8[$31>>0] = $33;
$35 = HEAP8[$$0108119>>0]|0;
$36 = ((($$0107120)) + -3|0);
HEAP8[$34>>0] = $35;
$37 = HEAP8[$32>>0]|0;
$38 = ((($$0107120)) + -4|0);
HEAP8[$36>>0] = $37;
$39 = HEAP8[$$0108119>>0]|0;
$40 = ((($$0107120)) + -5|0);
HEAP8[$38>>0] = $39;
$41 = ((($$0108119)) + -2|0);
$42 = HEAP8[$32>>0]|0;
$43 = ((($$0107120)) + -6|0);
HEAP8[$40>>0] = $42;
$44 = (($$1118) + 1)|0;
$exitcond133 = ($44|0)==($2|0);
if ($exitcond133) {
break;
} else {
$$0107120 = $43;$$0108119 = $41;$$1118 = $44;
}
}
}
break;
}
case 4: {
$45 = ($4<<24>>24)==(8);
if ($45) {
$46 = $2 << 1;
$47 = (($1) + ($46)|0);
$48 = ((($47)) + -1|0);
$49 = ($2|0)==(0);
if ($49) {
break L7;
}
$50 = (($48) + ($46)|0);
$$0105124 = $50;$$0106123 = $48;$$2122 = 0;
while(1) {
$51 = ((($$0106123)) + -1|0);
$52 = HEAP8[$$0106123>>0]|0;
$53 = ((($$0105124)) + -1|0);
HEAP8[$$0105124>>0] = $52;
$54 = HEAP8[$51>>0]|0;
$55 = ((($$0105124)) + -2|0);
HEAP8[$53>>0] = $54;
$56 = HEAP8[$51>>0]|0;
$57 = ((($$0105124)) + -3|0);
HEAP8[$55>>0] = $56;
$58 = ((($$0106123)) + -2|0);
$59 = HEAP8[$51>>0]|0;
$60 = ((($$0105124)) + -4|0);
HEAP8[$57>>0] = $59;
$61 = (($$2122) + 1)|0;
$exitcond134 = ($61|0)==($2|0);
if ($exitcond134) {
break;
} else {
$$0105124 = $60;$$0106123 = $58;$$2122 = $61;
}
}
} else {
$62 = $2 << 2;
$63 = (($1) + ($62)|0);
$64 = ((($63)) + -1|0);
$65 = ($2|0)==(0);
if ($65) {
break L7;
}
$66 = (($64) + ($62)|0);
$$0104127 = $64;$$0128 = $66;$$3126 = 0;
while(1) {
$67 = ((($$0104127)) + -1|0);
$68 = HEAP8[$$0104127>>0]|0;
$69 = ((($$0128)) + -1|0);
HEAP8[$$0128>>0] = $68;
$70 = ((($$0104127)) + -2|0);
$71 = HEAP8[$67>>0]|0;
$72 = ((($$0128)) + -2|0);
HEAP8[$69>>0] = $71;
$73 = HEAP8[$70>>0]|0;
$74 = ((($$0128)) + -3|0);
HEAP8[$72>>0] = $73;
$75 = ((($$0104127)) + -3|0);
$76 = HEAP8[$75>>0]|0;
$77 = ((($$0128)) + -4|0);
HEAP8[$74>>0] = $76;
$78 = HEAP8[$70>>0]|0;
$79 = ((($$0128)) + -5|0);
HEAP8[$77>>0] = $78;
$80 = HEAP8[$75>>0]|0;
$81 = ((($$0128)) + -6|0);
HEAP8[$79>>0] = $80;
$82 = HEAP8[$70>>0]|0;
$83 = ((($$0128)) + -7|0);
HEAP8[$81>>0] = $82;
$84 = ((($$0104127)) + -4|0);
$85 = HEAP8[$75>>0]|0;
$86 = ((($$0128)) + -8|0);
HEAP8[$83>>0] = $85;
$87 = (($$3126) + 1)|0;
$exitcond135 = ($87|0)==($2|0);
if ($exitcond135) {
break;
} else {
$$0104127 = $84;$$0128 = $86;$$3126 = $87;
}
}
}
break;
}
default: {
}
}
} while(0);
$88 = ((($0)) + 10|0);
$89 = HEAP8[$88>>0]|0;
$90 = $89&255;
$91 = (($90) + 2)|0;
$92 = $91&255;
HEAP8[$88>>0] = $92;
$93 = HEAP16[$6>>1]|0;
$94 = $93&65535;
$95 = $94 | 2;
$96 = $95&255;
HEAP8[$6>>0] = $96;
$97 = $91 & 255;
$98 = ($93&65535) >>> 8;
$99 = $98&65535;
$100 = Math_imul($99, $97)|0;
$101 = $100&255;
$102 = ((($0)) + 11|0);
HEAP8[$102>>0] = $101;
$103 = $100 & 255;
$104 = ($103>>>0)>(7);
if ($104) {
$105 = $103 >>> 3;
$106 = Math_imul($105, $2)|0;
$111 = $106;
} else {
$107 = Math_imul($103, $2)|0;
$108 = (($107) + 7)|0;
$109 = $108 >>> 3;
$111 = $109;
}
$110 = ((($0)) + 4|0);
HEAP32[$110>>2] = $111;
return;
}
function _png_do_check_palette_indexes($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$06978 = 0, $$079 = 0, $$17080 = 0, $$181 = 0, $$27183 = 0, $$284 = 0, $$386 = 0, $$pre = 0, $$pre91 = 0, $$pre92 = 0, $$pre93 = 0, $$pre94 = 0, $$pre95 = 0, $$pre96 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
var $89 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 420|0);
$3 = HEAP16[$2>>1]|0;
$4 = $3&65535;
$5 = ((($1)) + 9|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6&255;
$8 = 1 << $7;
$9 = ($4|0)>=($8|0);
$10 = ($3<<16>>16)==(0);
$or$cond = $10 | $9;
if ($or$cond) {
return;
}
$11 = ((($1)) + 11|0);
$12 = HEAP8[$11>>0]|0;
$13 = $12&255;
$14 = (0 - ($13))|0;
$15 = HEAP32[$1>>2]|0;
$16 = Math_imul($15, $14)|0;
$17 = $16 & 7;
$18 = ((($0)) + 384|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($1)) + 4|0);
$21 = HEAP32[$20>>2]|0;
$22 = (($19) + ($21)|0);
switch ($6<<24>>24) {
case 1: {
$29 = ($21|0)>(0);
if (!($29)) {
return;
}
$30 = ((($0)) + 424|0);
$$06978 = $17;$$079 = $22;
while(1) {
$31 = HEAP8[$$079>>0]|0;
$32 = $31&255;
$33 = $32 >>> $$06978;
$34 = ($33|0)==(0);
if (!($34)) {
HEAP32[$30>>2] = 1;
}
$35 = ((($$079)) + -1|0);
$36 = ($35>>>0)>($19>>>0);
if ($36) {
$$06978 = 0;$$079 = $35;
} else {
break;
}
}
return;
break;
}
case 2: {
$27 = ($21|0)>(0);
if (!($27)) {
return;
}
$28 = ((($0)) + 424|0);
$$pre93 = HEAP32[$28>>2]|0;
$$17080 = $17;$$181 = $22;$42 = $$pre93;
while(1) {
$37 = HEAP8[$$181>>0]|0;
$38 = $37&255;
$39 = $38 >>> $$17080;
$40 = $39 & 3;
$41 = ($40|0)>($42|0);
if ($41) {
HEAP32[$28>>2] = $40;
$$pre94 = HEAP8[$$181>>0]|0;
$44 = $$pre94;$49 = $40;
} else {
$44 = $37;$49 = $42;
}
$43 = $44&255;
$45 = $43 >>> $$17080;
$46 = $45 >>> 2;
$47 = $46 & 3;
$48 = ($47|0)>($49|0);
if ($48) {
HEAP32[$28>>2] = $47;
$$pre95 = HEAP8[$$181>>0]|0;
$51 = $$pre95;$56 = $47;
} else {
$51 = $44;$56 = $49;
}
$50 = $51&255;
$52 = $50 >>> $$17080;
$53 = $52 >>> 4;
$54 = $53 & 3;
$55 = ($54|0)>($56|0);
if ($55) {
HEAP32[$28>>2] = $54;
$$pre96 = HEAP8[$$181>>0]|0;
$58 = $$pre96;$63 = $54;
} else {
$58 = $51;$63 = $56;
}
$57 = $58&255;
$59 = $57 >>> $$17080;
$60 = $59 >>> 6;
$61 = $60 & 3;
$62 = ($61|0)>($63|0);
if ($62) {
HEAP32[$28>>2] = $61;
$87 = $61;
} else {
$87 = $63;
}
$64 = ((($$181)) + -1|0);
$65 = ($64>>>0)>($19>>>0);
if ($65) {
$$17080 = 0;$$181 = $64;$42 = $87;
} else {
break;
}
}
return;
break;
}
case 4: {
$25 = ($21|0)>(0);
if (!($25)) {
return;
}
$26 = ((($0)) + 424|0);
$$pre91 = HEAP32[$26>>2]|0;
$$27183 = $17;$$284 = $22;$71 = $$pre91;
while(1) {
$66 = HEAP8[$$284>>0]|0;
$67 = $66&255;
$68 = $67 >>> $$27183;
$69 = $68 & 15;
$70 = ($69|0)>($71|0);
if ($70) {
HEAP32[$26>>2] = $69;
$$pre92 = HEAP8[$$284>>0]|0;
$73 = $$pre92;$78 = $69;
} else {
$73 = $66;$78 = $71;
}
$72 = $73&255;
$74 = $72 >>> $$27183;
$75 = $74 >>> 4;
$76 = $75 & 15;
$77 = ($76|0)>($78|0);
if ($77) {
HEAP32[$26>>2] = $76;
$88 = $76;
} else {
$88 = $78;
}
$79 = ((($$284)) + -1|0);
$80 = ($79>>>0)>($19>>>0);
if ($80) {
$$27183 = 0;$$284 = $79;$71 = $88;
} else {
break;
}
}
return;
break;
}
case 8: {
$23 = ($21|0)>(0);
if (!($23)) {
return;
}
$24 = ((($0)) + 424|0);
$$pre = HEAP32[$24>>2]|0;
$$386 = $22;$84 = $$pre;
while(1) {
$81 = HEAP8[$$386>>0]|0;
$82 = $81&255;
$83 = ($82|0)>($84|0);
if ($83) {
HEAP32[$24>>2] = $82;
$89 = $82;
} else {
$89 = $84;
}
$85 = ((($$386)) + -1|0);
$86 = ($85>>>0)>($19>>>0);
if ($86) {
$$386 = $85;$84 = $89;
} else {
break;
}
}
return;
break;
}
default: {
return;
}
}
}
function _png_read_filter_row_sub($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$02021 = 0, $$022 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($0)) + 11|0);
$6 = HEAP8[$5>>0]|0;
$7 = $6&255;
$8 = (($7) + 7)|0;
$9 = $8 >>> 3;
$10 = ($9>>>0)<($4>>>0);
if (!($10)) {
return;
}
$11 = (($1) + ($9)|0);
$12 = (0 - ($9))|0;
$$02021 = $9;$$022 = $11;
while(1) {
$13 = HEAP8[$$022>>0]|0;
$14 = $13&255;
$15 = (($$022) + ($12)|0);
$16 = HEAP8[$15>>0]|0;
$17 = $16&255;
$18 = (($17) + ($14))|0;
$19 = $18&255;
HEAP8[$$022>>0] = $19;
$20 = ((($$022)) + 1|0);
$21 = (($$02021) + 1)|0;
$exitcond = ($21|0)==($4|0);
if ($exitcond) {
break;
} else {
$$02021 = $21;$$022 = $20;
}
}
return;
}
function _png_read_filter_row_up($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$01619 = 0, $$01718 = 0, $$020 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0);
if ($5) {
return;
} else {
$$01619 = $1;$$01718 = 0;$$020 = $2;
}
while(1) {
$6 = HEAP8[$$01619>>0]|0;
$7 = $6&255;
$8 = ((($$020)) + 1|0);
$9 = HEAP8[$$020>>0]|0;
$10 = $9&255;
$11 = (($10) + ($7))|0;
$12 = $11&255;
HEAP8[$$01619>>0] = $12;
$13 = ((($$01619)) + 1|0);
$14 = (($$01718) + 1)|0;
$exitcond = ($14|0)==($4|0);
if ($exitcond) {
break;
} else {
$$01619 = $13;$$01718 = $14;$$020 = $8;
}
}
return;
}
function _png_read_filter_row_avg($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$029$lcssa = 0, $$02937 = 0, $$031$lcssa = 0, $$03136 = 0, $$038 = 0, $$13034 = 0, $$13233 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $div = 0, $exitcond = 0, $exitcond44 = 0, $scevgep = 0, $scevgep43 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 11|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4&255;
$6 = (($5) + 7)|0;
$7 = $6 >>> 3;
$8 = ((($0)) + 4|0);
$9 = HEAP32[$8>>2]|0;
$10 = (($9) - ($7))|0;
$11 = ($7|0)==(0);
if ($11) {
$$029$lcssa = $1;$$031$lcssa = $2;
} else {
$scevgep = (($2) + ($7)|0);
$$02937 = $1;$$03136 = $2;$$038 = 0;
while(1) {
$14 = HEAP8[$$02937>>0]|0;
$15 = $14&255;
$16 = ((($$03136)) + 1|0);
$17 = HEAP8[$$03136>>0]|0;
$div = ($17&255) >>> 1;
$18 = $div&255;
$19 = (($18) + ($15))|0;
$20 = $19&255;
HEAP8[$$02937>>0] = $20;
$21 = ((($$02937)) + 1|0);
$22 = (($$038) + 1)|0;
$exitcond44 = ($22|0)==($7|0);
if ($exitcond44) {
break;
} else {
$$02937 = $21;$$03136 = $16;$$038 = $22;
}
}
$scevgep43 = (($1) + ($7)|0);
$$029$lcssa = $scevgep43;$$031$lcssa = $scevgep;
}
$12 = ($10|0)==(0);
if ($12) {
return;
}
$13 = (0 - ($7))|0;
$$13034 = $$029$lcssa;$$13233 = $$031$lcssa;$$135 = 0;
while(1) {
$23 = HEAP8[$$13034>>0]|0;
$24 = $23&255;
$25 = ((($$13233)) + 1|0);
$26 = HEAP8[$$13233>>0]|0;
$27 = $26&255;
$28 = (($$13034) + ($13)|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29&255;
$31 = (($30) + ($27))|0;
$32 = $31 >>> 1;
$33 = (($32) + ($24))|0;
$34 = $33&255;
HEAP8[$$13034>>0] = $34;
$35 = ((($$13034)) + 1|0);
$36 = (($$135) + 1)|0;
$exitcond = ($36|0)==($10|0);
if ($exitcond) {
break;
} else {
$$13034 = $35;$$13233 = $25;$$135 = $36;
}
}
return;
}
function _png_read_filter_row_paeth_1byte_pixel($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0 = 0, $$04960 = 0, $$04960$pn = 0, $$05158 = 0, $$05257 = 0, $$055 = 0, $$059 = 0, $$2 = 0, $$54 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = (($1) + ($4)|0);
$6 = HEAP8[$2>>0]|0;
$7 = $6&255;
$8 = HEAP8[$1>>0]|0;
$9 = $8&255;
$10 = (($9) + ($7))|0;
$11 = $10&255;
HEAP8[$1>>0] = $11;
$12 = ($4|0)>(1);
if (!($12)) {
return;
}
$$055 = ((($1)) + 1|0);
$$04960$pn = $2;$$05158 = $10;$$05257 = $7;$$059 = $$055;
while(1) {
$$04960 = ((($$04960$pn)) + 1|0);
$13 = $$05158 & 255;
$14 = HEAP8[$$04960>>0]|0;
$15 = $14&255;
$16 = (($15) - ($$05257))|0;
$17 = (($13) - ($$05257))|0;
$18 = ($16|0)<(0);
$19 = (0 - ($16))|0;
$20 = $18 ? $19 : $16;
$21 = ($17|0)<(0);
$22 = (0 - ($17))|0;
$23 = $21 ? $22 : $17;
$24 = (($16) + ($17))|0;
$25 = ($24|0)<(0);
$26 = (0 - ($24))|0;
$27 = $25 ? $26 : $24;
$28 = ($23|0)<($20|0);
$$ = $28 ? $15 : $13;
$$54 = $28 ? $23 : $20;
$29 = ($27|0)<($$54|0);
$$2 = $29 ? $$05257 : $$;
$30 = HEAP8[$$059>>0]|0;
$31 = $30&255;
$32 = (($$2) + ($31))|0;
$33 = $32&255;
HEAP8[$$059>>0] = $33;
$$0 = ((($$059)) + 1|0);
$34 = ($$0>>>0)<($5>>>0);
if ($34) {
$$04960$pn = $$04960;$$05158 = $32;$$05257 = $15;$$059 = $$0;
} else {
break;
}
}
return;
}
function _png_read_filter_row_paeth_multibyte_pixel($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0$lcssa = 0, $$060$lcssa = 0, $$06068 = 0, $$069 = 0, $$16166 = 0, $$164 = 0, $$167 = 0, $$65 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 11|0);
$4 = HEAP8[$3>>0]|0;
$5 = $4&255;
$6 = (($5) + 7)|0;
$7 = $6 >>> 3;
$8 = (($1) + ($7)|0);
$9 = ($7|0)==(0);
if ($9) {
$$0$lcssa = $1;$$060$lcssa = $2;
} else {
$$06068 = $2;$$069 = $1;
while(1) {
$10 = HEAP8[$$069>>0]|0;
$11 = $10&255;
$12 = ((($$06068)) + 1|0);
$13 = HEAP8[$$06068>>0]|0;
$14 = $13&255;
$15 = (($14) + ($11))|0;
$16 = $15&255;
$17 = ((($$069)) + 1|0);
HEAP8[$$069>>0] = $16;
$18 = ($17>>>0)<($8>>>0);
if ($18) {
$$06068 = $12;$$069 = $17;
} else {
$$0$lcssa = $17;$$060$lcssa = $12;
break;
}
}
}
$19 = ((($0)) + 4|0);
$20 = HEAP32[$19>>2]|0;
$21 = (($20) - ($7))|0;
$22 = (($8) + ($21)|0);
$23 = ($$0$lcssa>>>0)<($22>>>0);
if (!($23)) {
return;
}
$24 = (0 - ($7))|0;
$$16166 = $$060$lcssa;$$167 = $$0$lcssa;
while(1) {
$25 = (($$16166) + ($24)|0);
$26 = HEAP8[$25>>0]|0;
$27 = $26&255;
$28 = (($$167) + ($24)|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29&255;
$31 = ((($$16166)) + 1|0);
$32 = HEAP8[$$16166>>0]|0;
$33 = $32&255;
$34 = (($33) - ($27))|0;
$35 = (($30) - ($27))|0;
$36 = ($34|0)<(0);
$37 = (0 - ($34))|0;
$38 = $36 ? $37 : $34;
$39 = ($35|0)<(0);
$40 = (0 - ($35))|0;
$41 = $39 ? $40 : $35;
$42 = (($34) + ($35))|0;
$43 = ($42|0)<(0);
$44 = (0 - ($42))|0;
$45 = $43 ? $44 : $42;
$46 = ($41|0)<($38|0);
$$ = $46 ? $33 : $30;
$$65 = $46 ? $41 : $38;
$47 = ($45|0)<($$65|0);
$$164 = $47 ? $27 : $$;
$48 = HEAP8[$$167>>0]|0;
$49 = $48&255;
$50 = (($$164) + ($49))|0;
$51 = $50&255;
$52 = ((($$167)) + 1|0);
HEAP8[$$167>>0] = $51;
$exitcond = ($52|0)==($22|0);
if ($exitcond) {
break;
} else {
$$16166 = $31;$$167 = $52;
}
}
return;
}
function _png_read_image($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$02833$us = 0, $$029 = 0, $$03031$us = 0, $$032$us = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond35 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = ((($0)) + 212|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 64;
$6 = ($5|0)==(0);
do {
if ($6) {
$7 = (_png_set_interlace_handling($0)|0);
$8 = HEAP32[$3>>2]|0;
$9 = $8 & 64;
$10 = ($9|0)==(0);
if ($10) {
_png_read_start_row($0);
$$029 = $7;
break;
} else {
_png_app_error($0,25806);
$$029 = $7;
break;
}
} else {
$11 = ((($0)) + 432|0);
$12 = HEAP8[$11>>0]|0;
$13 = ($12<<24>>24)==(0);
if (!($13)) {
$14 = ((($0)) + 216|0);
$15 = HEAP32[$14>>2]|0;
$16 = $15 & 2;
$17 = ($16|0)==(0);
if ($17) {
_png_warning($0,26339);
$18 = ((($0)) + 352|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($0)) + 356|0);
HEAP32[$20>>2] = $19;
}
}
$21 = (_png_set_interlace_handling($0)|0);
$$029 = $21;
}
} while(0);
$22 = ((($0)) + 352|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($$029|0)<(1);
$25 = ($23|0)==(0);
$or$cond = $24 | $25;
if ($or$cond) {
return;
} else {
$$02833$us = 0;
}
while(1) {
$$03031$us = 0;$$032$us = $1;
while(1) {
$26 = HEAP32[$$032$us>>2]|0;
_png_read_row($0,$26,0);
$27 = ((($$032$us)) + 4|0);
$28 = (($$03031$us) + 1)|0;
$exitcond = ($28|0)==($23|0);
if ($exitcond) {
break;
} else {
$$03031$us = $28;$$032$us = $27;
}
}
$29 = (($$02833$us) + 1)|0;
$exitcond35 = ($29|0)==($$029|0);
if ($exitcond35) {
break;
} else {
$$02833$us = $29;
}
}
return;
}
function _png_set_interlace_handling($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 1;
return ($$0|0);
}
$2 = ((($0)) + 432|0);
$3 = HEAP8[$2>>0]|0;
$4 = ($3<<24>>24)==(0);
if ($4) {
$$0 = 1;
return ($$0|0);
}
$5 = ((($0)) + 216|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 | 2;
HEAP32[$5>>2] = $7;
$$0 = 7;
return ($$0|0);
}
function _png_read_end($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch$split102D = 0, $switch$split12D = 0, $switch$split132D = 0, $switch$split162D = 0, $switch$split192D = 0, $switch$split222D = 0;
var $switch$split252D = 0, $switch$split282D = 0, $switch$split2D = 0, $switch$split312D = 0, $switch$split342D = 0, $switch$split372D = 0, $switch$split402D = 0, $switch$split42D = 0, $switch$split432D = 0, $switch$split462D = 0, $switch$split492D = 0, $switch$split72D = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = (_png_chunk_unknown_handling($0,1229209940)|0);
$4 = ($3|0)==(0);
if ($4) {
_png_read_finish_IDAT($0);
}
$5 = ((($0)) + 435|0);
$6 = HEAP8[$5>>0]|0;
$7 = ($6<<24>>24)==(3);
if ($7) {
$8 = ((($0)) + 424|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($0)) + 420|0);
$11 = HEAP16[$10>>1]|0;
$12 = $11&65535;
$13 = ($9|0)>($12|0);
if ($13) {
_png_benign_error($0,26404);
}
}
$14 = ((($0)) + 376|0);
$15 = ($1|0)==(0|0);
$16 = ((($0)) + 208|0);
while(1) {
$17 = (_png_read_chunk_header($0)|0);
$18 = HEAP32[$14>>2]|0;
$switch$split2D = ($18|0)<(1229472850);
L13: do {
if ($switch$split2D) {
switch ($18|0) {
case 1229278788: {
break;
}
default: {
label = 11;
break L13;
}
}
_png_handle_IEND($0,$1,$17);
} else {
switch ($18|0) {
case 1229472850: {
break;
}
default: {
label = 11;
break L13;
}
}
_png_handle_IHDR($0,$1,$17);
}
} while(0);
L18: do {
if ((label|0) == 11) {
label = 0;
if ($15) {
(_png_crc_finish($0,$17)|0);
break;
}
$19 = (_png_chunk_unknown_handling($0,$18)|0);
$20 = ($19|0)==(0);
$21 = ($18|0)==(1229209940);
if (!($20)) {
if (!($21)) {
_png_handle_unknown($0,$1,$17,$19);
$26 = ($18|0)==(1347179589);
if (!($26)) {
break;
}
$27 = HEAP32[$16>>2]|0;
$28 = $27 | 2;
HEAP32[$16>>2] = $28;
break;
}
$22 = ($17|0)==(0);
if ($22) {
$23 = HEAP32[$16>>2]|0;
$24 = $23 & 8192;
$25 = ($24|0)==(0);
if (!($25)) {
label = 17;
}
} else {
label = 17;
}
if ((label|0) == 17) {
label = 0;
_png_benign_error($0,24356);
}
_png_handle_unknown($0,$1,$17,$19);
break;
}
if ($21) {
$29 = ($17|0)==(0);
if ($29) {
$30 = HEAP32[$16>>2]|0;
$31 = $30 & 8192;
$32 = ($31|0)==(0);
if (!($32)) {
label = 24;
}
} else {
label = 24;
}
if ((label|0) == 24) {
label = 0;
_png_benign_error($0,24356);
}
(_png_crc_finish($0,$17)|0);
break;
}
$switch$split12D = ($18|0)<(1883789683);
L43: do {
if ($switch$split12D) {
$switch$split42D = ($18|0)<(1749635924);
if ($switch$split42D) {
$switch$split102D = ($18|0)<(1665684045);
if ($switch$split102D) {
$switch$split222D = ($18|0)<(1649100612);
if ($switch$split222D) {
switch ($18|0) {
case 1347179589: {
break;
}
default: {
break L43;
}
}
_png_handle_PLTE($0,$1,$17);
break L18;
} else {
switch ($18|0) {
case 1649100612: {
break;
}
default: {
break L43;
}
}
_png_handle_bKGD($0,$1,$17);
break L18;
}
} else {
$switch$split252D = ($18|0)<(1732332865);
if ($switch$split252D) {
switch ($18|0) {
case 1665684045: {
break;
}
default: {
break L43;
}
}
_png_handle_cHRM($0,$1,$17);
break L18;
} else {
switch ($18|0) {
case 1732332865: {
break;
}
default: {
break L43;
}
}
_png_handle_gAMA($0,$1,$17);
break L18;
}
}
}
$switch$split132D = ($18|0)<(1767135348);
if ($switch$split132D) {
$switch$split282D = ($18|0)<(1766015824);
if ($switch$split282D) {
switch ($18|0) {
case 1749635924: {
break;
}
default: {
break L43;
}
}
_png_handle_hIST($0,$1,$17);
break L18;
} else {
switch ($18|0) {
case 1766015824: {
break;
}
default: {
break L43;
}
}
_png_handle_iCCP($0,$1,$17);
break L18;
}
}
$switch$split312D = ($18|0)<(1866876531);
if ($switch$split312D) {
switch ($18|0) {
case 1767135348: {
break;
}
default: {
break L43;
}
}
_png_handle_iTXt($0,$1,$17);
break L18;
}
$switch$split462D = ($18|0)<(1883455820);
if ($switch$split462D) {
switch ($18|0) {
case 1866876531: {
break;
}
default: {
break L43;
}
}
_png_handle_oFFs($0,$1,$17);
break L18;
} else {
switch ($18|0) {
case 1883455820: {
break;
}
default: {
break L43;
}
}
_png_handle_pCAL($0,$1,$17);
break L18;
}
} else {
$switch$split72D = ($18|0)<(1934772034);
if ($switch$split72D) {
$switch$split162D = ($18|0)<(1933787468);
if ($switch$split162D) {
$switch$split342D = ($18|0)<(1933723988);
if ($switch$split342D) {
switch ($18|0) {
case 1883789683: {
break;
}
default: {
break L43;
}
}
_png_handle_pHYs($0,$1,$17);
break L18;
} else {
switch ($18|0) {
case 1933723988: {
break;
}
default: {
break L43;
}
}
_png_handle_sBIT($0,$1,$17);
break L18;
}
} else {
$switch$split372D = ($18|0)<(1934642260);
if ($switch$split372D) {
switch ($18|0) {
case 1933787468: {
break;
}
default: {
break L43;
}
}
_png_handle_sCAL($0,$1,$17);
break L18;
} else {
switch ($18|0) {
case 1934642260: {
break;
}
default: {
break L43;
}
}
_png_handle_sPLT($0,$1,$17);
break L18;
}
}
}
$switch$split192D = ($18|0)<(1950960965);
if ($switch$split192D) {
$switch$split402D = ($18|0)<(1950701684);
if ($switch$split402D) {
switch ($18|0) {
case 1934772034: {
break;
}
default: {
break L43;
}
}
_png_handle_sRGB($0,$1,$17);
break L18;
} else {
switch ($18|0) {
case 1950701684: {
break;
}
default: {
break L43;
}
}
_png_handle_tEXt($0,$1,$17);
break L18;
}
}
$switch$split432D = ($18|0)<(1951551059);
if ($switch$split432D) {
switch ($18|0) {
case 1950960965: {
break;
}
default: {
break L43;
}
}
_png_handle_tIME($0,$1,$17);
break L18;
}
$switch$split492D = ($18|0)<(2052348020);
if ($switch$split492D) {
switch ($18|0) {
case 1951551059: {
break;
}
default: {
break L43;
}
}
_png_handle_tRNS($0,$1,$17);
break L18;
} else {
switch ($18|0) {
case 2052348020: {
break;
}
default: {
break L43;
}
}
_png_handle_zTXt($0,$1,$17);
break L18;
}
}
} while(0);
_png_handle_unknown($0,$1,$17,0);
}
} while(0);
$33 = HEAP32[$16>>2]|0;
$34 = $33 & 16;
$35 = ($34|0)==(0);
if (!($35)) {
break;
}
}
return;
}
function _png_read_finish_IDAT($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 212|0);
$2 = HEAP32[$1>>2]|0;
$3 = $2 & 8;
$4 = ($3|0)==(0);
if ($4) {
_png_read_IDAT_data($0,0,0);
$5 = ((($0)) + 236|0);
HEAP32[$5>>2] = 0;
$6 = HEAP32[$1>>2]|0;
$7 = $6 & 8;
$8 = ($7|0)==(0);
if ($8) {
$9 = ((($0)) + 208|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 | 8;
HEAP32[$9>>2] = $11;
$12 = $6 | 8;
HEAP32[$1>>2] = $12;
}
}
$13 = ((($0)) + 220|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(1229209940);
if (!($15)) {
return;
}
$16 = ((($0)) + 224|0);
HEAP32[$16>>2] = 0;
$17 = ((($0)) + 228|0);
HEAP32[$17>>2] = 0;
HEAP32[$13>>2] = 0;
$18 = ((($0)) + 408|0);
$19 = HEAP32[$18>>2]|0;
(_png_crc_finish($0,$19)|0);
return;
}
function _png_destroy_read_struct($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre$i = 0, $$pre36$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
return;
}
$4 = HEAP32[$0>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
return;
}
_png_destroy_info_struct($4,$2);
_png_destroy_info_struct($4,$1);
HEAP32[$0>>2] = 0;
_png_destroy_gamma_table($4);
$6 = ((($4)) + 728|0);
$7 = HEAP32[$6>>2]|0;
_png_free($4,$7);
HEAP32[$6>>2] = 0;
$8 = ((($4)) + 804|0);
$9 = HEAP32[$8>>2]|0;
_png_free($4,$9);
HEAP32[$8>>2] = 0;
$10 = ((($4)) + 788|0);
$11 = HEAP32[$10>>2]|0;
_png_free($4,$11);
HEAP32[$10>>2] = 0;
$12 = ((($4)) + 612|0);
$13 = HEAP32[$12>>2]|0;
_png_free($4,$13);
HEAP32[$12>>2] = 0;
$14 = ((($4)) + 616|0);
$15 = HEAP32[$14>>2]|0;
_png_free($4,$15);
HEAP32[$14>>2] = 0;
$16 = ((($4)) + 676|0);
$17 = HEAP32[$16>>2]|0;
$18 = $17 & 4096;
$19 = ($18|0)==(0);
if ($19) {
$23 = $17;
} else {
$20 = ((($4)) + 416|0);
$21 = HEAP32[$20>>2]|0;
_png_zfree($4,$21);
HEAP32[$20>>2] = 0;
$$pre$i = HEAP32[$16>>2]|0;
$23 = $$pre$i;
}
$22 = $23 & -4097;
HEAP32[$16>>2] = $22;
$24 = $23 & 8192;
$25 = ($24|0)==(0);
if ($25) {
$29 = $22;
} else {
$26 = ((($4)) + 528|0);
$27 = HEAP32[$26>>2]|0;
_png_free($4,$27);
HEAP32[$26>>2] = 0;
$$pre36$i = HEAP32[$16>>2]|0;
$29 = $$pre36$i;
}
$28 = $29 & -8193;
HEAP32[$16>>2] = $28;
$30 = ((($4)) + 224|0);
(_inflateEnd($30)|0);
$31 = ((($4)) + 568|0);
$32 = HEAP32[$31>>2]|0;
_png_free($4,$32);
HEAP32[$31>>2] = 0;
$33 = ((($4)) + 772|0);
$34 = HEAP32[$33>>2]|0;
_png_free($4,$34);
HEAP32[$33>>2] = 0;
$35 = ((($4)) + 696|0);
$36 = HEAP32[$35>>2]|0;
_png_free($4,$36);
HEAP32[$35>>2] = 0;
_png_destroy_png_struct($4);
return;
}
function _png_destroy_info_struct($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
$3 = ($1|0)==(0|0);
$or$cond = $2 | $3;
if ($or$cond) {
return;
}
$4 = HEAP32[$1>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
return;
}
HEAP32[$1>>2] = 0;
_png_free_data($0,$4,32767,-1);
_memset(($4|0),0,268)|0;
_png_free($0,$4);
return;
}
function _png_set_strip_16($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 212|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 64;
$5 = ($4|0)==(0);
if ($5) {
$6 = $3 | 16384;
HEAP32[$2>>2] = $6;
$7 = ((($0)) + 216|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 | 1024;
HEAP32[$7>>2] = $9;
return;
} else {
_png_app_error($0,26445);
return;
}
}
function _png_set_packing($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 436|0);
$3 = HEAP8[$2>>0]|0;
$4 = ($3&255)<(8);
if (!($4)) {
return;
}
$5 = ((($0)) + 216|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 | 4;
HEAP32[$5>>2] = $7;
$8 = ((($0)) + 437|0);
HEAP8[$8>>0] = 8;
return;
}
function _png_set_expand($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 212|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 64;
$5 = ($4|0)==(0);
if ($5) {
$6 = $3 | 16384;
HEAP32[$2>>2] = $6;
$7 = ((($0)) + 216|0);
$8 = HEAP32[$7>>2]|0;
$9 = $8 | 33558528;
HEAP32[$7>>2] = $9;
return;
} else {
_png_app_error($0,26445);
return;
}
}
function _png_set_gray_to_rgb($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 212|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & 64;
$5 = ($4|0)==(0);
if ($5) {
$6 = $3 | 16384;
HEAP32[$2>>2] = $6;
$7 = ((($0)) + 216|0);
$8 = HEAP32[$7>>2]|0;
$phitmp = $8 | 20480;
HEAP32[$7>>2] = $phitmp;
return;
} else {
_png_app_error($0,26445);
return;
}
}
function _png_destroy_write_struct($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = HEAP32[$0>>2]|0;
$4 = ($3|0)==(0|0);
if ($4) {
return;
}
_png_destroy_info_struct($3,$1);
HEAP32[$0>>2] = 0;
$5 = ((($3)) + 212|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 2;
$8 = ($7|0)==(0);
if (!($8)) {
$9 = ((($3)) + 224|0);
(_deflateEnd($9)|0);
}
$10 = ((($3)) + 280|0);
_png_free_buffer_list($3,$10);
$11 = ((($3)) + 384|0);
$12 = HEAP32[$11>>2]|0;
_png_free($3,$12);
HEAP32[$11>>2] = 0;
$13 = ((($3)) + 380|0);
$14 = HEAP32[$13>>2]|0;
_png_free($3,$14);
$15 = ((($3)) + 388|0);
$16 = HEAP32[$15>>2]|0;
_png_free($3,$16);
$17 = ((($3)) + 392|0);
$18 = HEAP32[$17>>2]|0;
_png_free($3,$18);
$19 = ((($3)) + 396|0);
$20 = HEAP32[$19>>2]|0;
_png_free($3,$20);
$21 = ((($3)) + 400|0);
$22 = HEAP32[$21>>2]|0;
_png_free($3,$22);
HEAP32[$13>>2] = 0;
$23 = ((($3)) + 621|0);
HEAP8[$23>>0] = 0;
$24 = ((($3)) + 620|0);
;HEAP32[$15>>2]=0|0;HEAP32[$15+4>>2]=0|0;HEAP32[$15+8>>2]=0|0;HEAP32[$15+12>>2]=0|0;
HEAP8[$24>>0] = 1;
$25 = ((($3)) + 624|0);
$26 = HEAP32[$25>>2]|0;
$27 = ($26|0)==(0|0);
if (!($27)) {
HEAP32[$25>>2] = 0;
_png_free($3,$26);
}
$28 = ((($3)) + 628|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($29|0)==(0|0);
if (!($30)) {
HEAP32[$28>>2] = 0;
_png_free($3,$29);
}
$31 = ((($3)) + 632|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==(0|0);
if (!($33)) {
HEAP32[$31>>2] = 0;
_png_free($3,$32);
}
$34 = ((($3)) + 636|0);
$35 = HEAP32[$34>>2]|0;
_png_free($3,$35);
$36 = ((($3)) + 640|0);
$37 = HEAP32[$36>>2]|0;
_png_free($3,$37);
HEAP32[$34>>2] = 0;
HEAP32[$36>>2] = 0;
$38 = ((($3)) + 696|0);
$39 = HEAP32[$38>>2]|0;
_png_free($3,$39);
HEAP32[$38>>2] = 0;
_png_destroy_png_struct($3);
return;
}
function _png_create_info_struct($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 0;
} else {
$2 = (_png_malloc_base($0,268)|0);
$3 = ($2|0)==(0|0);
if ($3) {
$$0 = $2;
} else {
_memset(($2|0),0,268)|0;
$$0 = $2;
}
}
return ($$0|0);
}
function _png_get_rowbytes($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)!=(0|0);
$3 = ($1|0)!=(0|0);
$or$cond = $2 & $3;
if (!($or$cond)) {
$$0 = 0;
return ($$0|0);
}
$4 = ((($1)) + 12|0);
$5 = HEAP32[$4>>2]|0;
$$0 = $5;
return ($$0|0);
}
function _png_get_error_ptr($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 0;
return ($$0|0);
}
$2 = ((($0)) + 176|0);
$3 = HEAP32[$2>>2]|0;
$$0 = $3;
return ($$0|0);
}
function _png_default_write_data($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
return;
}
$4 = ((($0)) + 188|0);
$5 = HEAP32[$4>>2]|0;
$6 = (_fwrite($1,1,$2,$5)|0);
$7 = ($6|0)==($2|0);
if ($7) {
return;
} else {
_png_error($0,26601);
// unreachable;
}
}
function _png_default_flush($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + 188|0);
$3 = HEAP32[$2>>2]|0;
(_fflush($3)|0);
return;
}
function _png_set_write_fn($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $png_default_write_data$ = 0, $storemerge14 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ($0|0)==(0|0);
if ($4) {
return;
}
$5 = ((($0)) + 188|0);
HEAP32[$5>>2] = $1;
$6 = ($2|0)==(0|0);
$7 = ((($0)) + 180|0);
$png_default_write_data$ = $6 ? 66 : $2;
HEAP32[$7>>2] = $png_default_write_data$;
$8 = ($3|0)==(0|0);
$9 = ((($0)) + 472|0);
$storemerge14 = $8 ? 67 : $3;
HEAP32[$9>>2] = $storemerge14;
$10 = ((($0)) + 184|0);
$11 = HEAP32[$10>>2]|0;
$12 = ($11|0)==(0|0);
if ($12) {
return;
}
HEAP32[$10>>2] = 0;
_png_warning($0,26613);
return;
}
function _png_write_info_before_PLTE($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$024$i = 0, $$pr = 0, $$pre = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $or$cond = 0;
var $or$cond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
$3 = ($1|0)==(0|0);
$or$cond = $2 | $3;
if ($or$cond) {
return;
}
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 1024;
$7 = ($6|0)==(0);
if (!($7)) {
return;
}
_png_write_sig($0);
$8 = HEAP32[$4>>2]|0;
$9 = $8 & 4096;
$10 = ($9|0)==(0);
if (!($10)) {
$11 = ((($0)) + 708|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0);
if (!($13)) {
_png_warning($0,26681);
HEAP32[$11>>2] = 0;
}
}
$14 = HEAP32[$1>>2]|0;
$15 = ((($1)) + 4|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($1)) + 24|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 & 255;
$20 = ((($1)) + 25|0);
$21 = $18 >>> 8;
$22 = $21 & 255;
$23 = $18 >>> 16;
$24 = $23 & 255;
$25 = $18 >>> 24;
$26 = ((($1)) + 28|0);
$27 = HEAP8[$26>>0]|0;
$28 = $27&255;
_png_write_IHDR($0,$14,$16,$19,$22,$24,$25,$28);
$29 = ((($1)) + 114|0);
$30 = HEAP16[$29>>1]|0;
$31 = $30 & -32760;
$32 = ($31<<16>>16)==(8);
if ($32) {
$33 = ((($1)) + 8|0);
$34 = HEAP32[$33>>2]|0;
$35 = $34 & 1;
$36 = ($35|0)==(0);
if ($36) {
$$pr = $30;
} else {
$37 = ((($1)) + 40|0);
$38 = HEAP32[$37>>2]|0;
_png_write_gAMA_fixed($0,$38);
$$pre = HEAP16[$29>>1]|0;
$$pr = $$pre;
}
} else {
$$pr = $30;
}
$39 = ($$pr<<16>>16)>(-1);
$40 = ((($1)) + 8|0);
do {
if ($39) {
$41 = HEAP32[$40>>2]|0;
$42 = $41 & 4096;
$43 = ($42|0)==(0);
$44 = $41 & 2048;
$45 = ($44|0)==(0);
if ($43) {
if ($45) {
break;
}
$50 = ((($1)) + 112|0);
$51 = HEAP16[$50>>1]|0;
$52 = $51&65535;
_png_write_sRGB($0,$52);
break;
}
if (!($45)) {
_png_app_warning($0,26730);
}
$46 = ((($1)) + 116|0);
$47 = HEAP32[$46>>2]|0;
$48 = ((($1)) + 120|0);
$49 = HEAP32[$48>>2]|0;
_png_write_iCCP($0,$47,$49);
}
} while(0);
$53 = HEAP32[$40>>2]|0;
$54 = $53 & 2;
$55 = ($54|0)==(0);
if (!($55)) {
$56 = ((($1)) + 148|0);
$57 = HEAP8[$20>>0]|0;
$58 = $57&255;
_png_write_sBIT($0,$56,$58);
}
$59 = HEAP16[$29>>1]|0;
$60 = $59 & -32752;
$61 = ($60<<16>>16)==(16);
if ($61) {
$62 = HEAP32[$40>>2]|0;
$63 = $62 & 4;
$64 = ($63|0)==(0);
if (!($64)) {
$65 = ((($1)) + 44|0);
_png_write_cHRM_fixed($0,$65);
}
}
$66 = ((($1)) + 240|0);
$67 = HEAP32[$66>>2]|0;
$68 = ($67|0)>(0);
if ($68) {
$69 = ((($1)) + 236|0);
$70 = HEAP32[$69>>2]|0;
$71 = ((($0)) + 688|0);
$72 = (($70) + (($67*20)|0)|0);
$$024$i = $70;
while(1) {
$73 = ((($$024$i)) + 16|0);
$74 = HEAP8[$73>>0]|0;
$75 = $74 & 1;
$76 = ($75<<24>>24)==(0);
do {
if (!($76)) {
$77 = (_png_handle_as_unknown($0,$$024$i)|0);
$78 = ($77|0)==(1);
if (!($78)) {
$79 = ((($$024$i)) + 3|0);
$80 = HEAP8[$79>>0]|0;
$81 = $80 & 32;
$82 = ($81<<24>>24)!=(0);
$83 = ($77|0)==(3);
$or$cond$i = $83 | $82;
if (!($or$cond$i)) {
$84 = ($77|0)==(0);
if (!($84)) {
break;
}
$85 = HEAP32[$71>>2]|0;
$86 = ($85|0)==(3);
if (!($86)) {
break;
}
}
$87 = ((($$024$i)) + 12|0);
$88 = HEAP32[$87>>2]|0;
$89 = ($88|0)==(0);
if ($89) {
_png_warning($0,26776);
$$pre$i = HEAP32[$87>>2]|0;
$92 = $$pre$i;
} else {
$92 = $88;
}
$90 = ((($$024$i)) + 8|0);
$91 = HEAP32[$90>>2]|0;
_png_write_chunk($0,$$024$i,$91,$92);
}
}
} while(0);
$93 = ((($$024$i)) + 20|0);
$94 = ($93>>>0)<($72>>>0);
if ($94) {
$$024$i = $93;
} else {
break;
}
}
}
$95 = HEAP32[$4>>2]|0;
$96 = $95 | 1024;
HEAP32[$4>>2] = $96;
return;
}
function _png_handle_as_unknown($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
$3 = ($1|0)==(0|0);
$or$cond = $2 | $3;
if ($or$cond) {
$$0 = 0;
return ($$0|0);
}
$4 = ((($0)) + 692|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0);
if ($6) {
$$0 = 0;
return ($$0|0);
}
$7 = ((($0)) + 696|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($5*5)|0;
$10 = (($8) + ($9)|0);
$$015 = $10;
while(1) {
$11 = ((($$015)) + -5|0);
$12 = (_memcmp($1,$11,4)|0);
$13 = ($12|0)==(0);
if ($13) {
break;
}
$17 = ($11>>>0)>($8>>>0);
if ($17) {
$$015 = $11;
} else {
$$0 = 0;
label = 7;
break;
}
}
if ((label|0) == 7) {
return ($$0|0);
}
$14 = ((($$015)) + -1|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15&255;
$$0 = $16;
return ($$0|0);
}
function _png_write_info($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0113117 = 0, $$0119 = 0, $$024$i = 0, $$1116 = 0, $$pre = 0, $$pre$i = 0, $$pre121 = 0, $$pre122 = 0, $$pre123 = 0, $$pre124 = 0, $$pre125 = 0, $$pre126 = 0, $$pre127 = 0, $$pre128 = 0, $$pre129 = 0, $$pre130 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
var $194 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
$3 = ($1|0)==(0|0);
$or$cond = $2 | $3;
if ($or$cond) {
return;
}
_png_write_info_before_PLTE($0,$1);
$4 = ((($1)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 8;
$7 = ($6|0)==(0);
if ($7) {
$13 = ((($1)) + 25|0);
$14 = HEAP8[$13>>0]|0;
$15 = ($14<<24>>24)==(3);
if ($15) {
_png_error($0,26810);
// unreachable;
} else {
$17 = $5;
}
} else {
$8 = ((($1)) + 16|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($1)) + 20|0);
$11 = HEAP16[$10>>1]|0;
$12 = $11&65535;
_png_write_PLTE($0,$9,$12);
$$pre = HEAP32[$4>>2]|0;
$17 = $$pre;
}
$16 = $17 & 16;
$18 = ($16|0)==(0);
if ($18) {
$48 = $17;
} else {
$19 = ((($0)) + 216|0);
$20 = HEAP32[$19>>2]|0;
$21 = $20 & 524288;
$22 = ($21|0)==(0);
$$pre130 = ((($1)) + 25|0);
if (!($22)) {
$23 = HEAP8[$$pre130>>0]|0;
$24 = ($23<<24>>24)==(3);
if ($24) {
$25 = ((($1)) + 22|0);
$26 = HEAP16[$25>>1]|0;
$27 = ($26<<16>>16)==(0);
if (!($27)) {
$28 = ((($1)) + 156|0);
$$0119 = 0;
while(1) {
$29 = HEAP32[$28>>2]|0;
$30 = (($29) + ($$0119)|0);
$31 = HEAP8[$30>>0]|0;
$32 = $31&255;
$33 = $32 ^ 255;
$34 = $33&255;
HEAP8[$30>>0] = $34;
$35 = (($$0119) + 1)|0;
$36 = HEAP16[$25>>1]|0;
$37 = $36&65535;
$38 = ($35|0)<($37|0);
if ($38) {
$$0119 = $35;
} else {
break;
}
}
}
}
}
$39 = ((($1)) + 156|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($1)) + 160|0);
$42 = ((($1)) + 22|0);
$43 = HEAP16[$42>>1]|0;
$44 = $43&65535;
$45 = HEAP8[$$pre130>>0]|0;
$46 = $45&255;
_png_write_tRNS($0,$40,$41,$44,$46);
$$pre121 = HEAP32[$4>>2]|0;
$48 = $$pre121;
}
$47 = $48 & 32;
$49 = ($47|0)==(0);
if ($49) {
$55 = $48;
} else {
$50 = ((($1)) + 170|0);
$51 = ((($1)) + 25|0);
$52 = HEAP8[$51>>0]|0;
$53 = $52&255;
_png_write_bKGD($0,$50,$53);
$$pre122 = HEAP32[$4>>2]|0;
$55 = $$pre122;
}
$54 = $55 & 64;
$56 = ($54|0)==(0);
if ($56) {
$63 = $55;
} else {
$57 = ((($1)) + 204|0);
$58 = HEAP32[$57>>2]|0;
$59 = ((($1)) + 20|0);
$60 = HEAP16[$59>>1]|0;
$61 = $60&65535;
_png_write_hIST($0,$58,$61);
$$pre123 = HEAP32[$4>>2]|0;
$63 = $$pre123;
}
$62 = $63 & 256;
$64 = ($62|0)==(0);
if ($64) {
$73 = $63;
} else {
$65 = ((($1)) + 180|0);
$66 = HEAP32[$65>>2]|0;
$67 = ((($1)) + 184|0);
$68 = HEAP32[$67>>2]|0;
$69 = ((($1)) + 188|0);
$70 = HEAP8[$69>>0]|0;
$71 = $70&255;
_png_write_oFFs($0,$66,$68,$71);
$$pre124 = HEAP32[$4>>2]|0;
$73 = $$pre124;
}
$72 = $73 & 1024;
$74 = ($72|0)==(0);
if ($74) {
$92 = $73;
} else {
$75 = ((($1)) + 208|0);
$76 = HEAP32[$75>>2]|0;
$77 = ((($1)) + 212|0);
$78 = HEAP32[$77>>2]|0;
$79 = ((($1)) + 216|0);
$80 = HEAP32[$79>>2]|0;
$81 = ((($1)) + 228|0);
$82 = HEAP16[$81>>1]|0;
$83 = $82&65535;
$84 = $83 & 255;
$85 = ($82&65535) >>> 8;
$86 = $85&65535;
$87 = ((($1)) + 220|0);
$88 = HEAP32[$87>>2]|0;
$89 = ((($1)) + 224|0);
$90 = HEAP32[$89>>2]|0;
_png_write_pCAL($0,$76,$78,$80,$84,$86,$88,$90);
$$pre125 = HEAP32[$4>>2]|0;
$92 = $$pre125;
}
$91 = $92 & 16384;
$93 = ($91|0)==(0);
if ($93) {
$102 = $92;
} else {
$94 = ((($1)) + 252|0);
$95 = HEAP8[$94>>0]|0;
$96 = $95&255;
$97 = ((($1)) + 256|0);
$98 = HEAP32[$97>>2]|0;
$99 = ((($1)) + 260|0);
$100 = HEAP32[$99>>2]|0;
_png_write_sCAL_s($0,$96,$98,$100);
$$pre126 = HEAP32[$4>>2]|0;
$102 = $$pre126;
}
$101 = $102 & 128;
$103 = ($101|0)==(0);
if ($103) {
$112 = $102;
} else {
$104 = ((($1)) + 192|0);
$105 = HEAP32[$104>>2]|0;
$106 = ((($1)) + 196|0);
$107 = HEAP32[$106>>2]|0;
$108 = ((($1)) + 200|0);
$109 = HEAP8[$108>>0]|0;
$110 = $109&255;
_png_write_pHYs($0,$105,$107,$110);
$$pre127 = HEAP32[$4>>2]|0;
$112 = $$pre127;
}
$111 = $112 & 512;
$113 = ($111|0)==(0);
if ($113) {
$119 = $112;
} else {
$114 = ((($1)) + 140|0);
_png_write_tIME($0,$114);
$115 = ((($0)) + 208|0);
$116 = HEAP32[$115>>2]|0;
$117 = $116 | 512;
HEAP32[$115>>2] = $117;
$$pre128 = HEAP32[$4>>2]|0;
$119 = $$pre128;
}
$118 = $119 & 8192;
$120 = ($118|0)==(0);
if (!($120)) {
$121 = ((($1)) + 248|0);
$122 = HEAP32[$121>>2]|0;
$123 = ($122|0)>(0);
if ($123) {
$124 = ((($1)) + 244|0);
$$0113117 = 0;
while(1) {
$129 = HEAP32[$124>>2]|0;
$130 = (($129) + ($$0113117<<4)|0);
_png_write_sPLT($0,$130);
$131 = (($$0113117) + 1)|0;
$132 = HEAP32[$121>>2]|0;
$133 = ($131|0)<($132|0);
if ($133) {
$$0113117 = $131;
} else {
break;
}
}
}
}
$125 = ((($1)) + 128|0);
$126 = HEAP32[$125>>2]|0;
$127 = ($126|0)>(0);
if ($127) {
$128 = ((($1)) + 136|0);
$$pre129 = HEAP32[$128>>2]|0;
$$1116 = 0;$135 = $$pre129;
while(1) {
$134 = (($135) + (($$1116*28)|0)|0);
$136 = HEAP32[$134>>2]|0;
$137 = ($136|0)>(0);
L50: do {
if ($137) {
$138 = (((($135) + (($$1116*28)|0)|0)) + 4|0);
$139 = HEAP32[$138>>2]|0;
$140 = (((($135) + (($$1116*28)|0)|0)) + 20|0);
$141 = HEAP32[$140>>2]|0;
$142 = (((($135) + (($$1116*28)|0)|0)) + 24|0);
$143 = HEAP32[$142>>2]|0;
$144 = (((($135) + (($$1116*28)|0)|0)) + 8|0);
$145 = HEAP32[$144>>2]|0;
_png_write_iTXt($0,$136,$139,$141,$143,$145);
$146 = HEAP32[$128>>2]|0;
$147 = (($146) + (($$1116*28)|0)|0);
$148 = HEAP32[$147>>2]|0;
$149 = ($148|0)==(-1);
if ($149) {
HEAP32[$147>>2] = -3;
$194 = $146;
break;
} else {
HEAP32[$147>>2] = -2;
$194 = $146;
break;
}
} else {
switch ($136|0) {
case 0: {
$150 = (((($135) + (($$1116*28)|0)|0)) + 4|0);
$151 = HEAP32[$150>>2]|0;
$152 = (((($135) + (($$1116*28)|0)|0)) + 8|0);
$153 = HEAP32[$152>>2]|0;
_png_write_zTXt($0,$151,$153,0);
$154 = HEAP32[$128>>2]|0;
$155 = (($154) + (($$1116*28)|0)|0);
HEAP32[$155>>2] = -2;
$194 = $154;
break L50;
break;
}
case -1: {
$156 = (((($135) + (($$1116*28)|0)|0)) + 4|0);
$157 = HEAP32[$156>>2]|0;
$158 = (((($135) + (($$1116*28)|0)|0)) + 8|0);
$159 = HEAP32[$158>>2]|0;
_png_write_tEXt($0,$157,$159,0);
$160 = HEAP32[$128>>2]|0;
$161 = (($160) + (($$1116*28)|0)|0);
HEAP32[$161>>2] = -3;
$194 = $160;
break L50;
break;
}
default: {
$194 = $135;
break L50;
}
}
}
} while(0);
$162 = (($$1116) + 1)|0;
$163 = HEAP32[$125>>2]|0;
$164 = ($162|0)<($163|0);
if ($164) {
$$1116 = $162;$135 = $194;
} else {
break;
}
}
}
$165 = ((($1)) + 240|0);
$166 = HEAP32[$165>>2]|0;
$167 = ($166|0)>(0);
if (!($167)) {
return;
}
$168 = ((($1)) + 236|0);
$169 = HEAP32[$168>>2]|0;
$170 = ((($0)) + 688|0);
$171 = (($169) + (($166*20)|0)|0);
$$024$i = $169;
while(1) {
$172 = ((($$024$i)) + 16|0);
$173 = HEAP8[$172>>0]|0;
$174 = $173 & 2;
$175 = ($174<<24>>24)==(0);
do {
if (!($175)) {
$176 = (_png_handle_as_unknown($0,$$024$i)|0);
$177 = ($176|0)==(1);
if (!($177)) {
$178 = ((($$024$i)) + 3|0);
$179 = HEAP8[$178>>0]|0;
$180 = $179 & 32;
$181 = ($180<<24>>24)!=(0);
$182 = ($176|0)==(3);
$or$cond$i = $182 | $181;
if (!($or$cond$i)) {
$183 = ($176|0)==(0);
if (!($183)) {
break;
}
$184 = HEAP32[$170>>2]|0;
$185 = ($184|0)==(3);
if (!($185)) {
break;
}
}
$186 = ((($$024$i)) + 12|0);
$187 = HEAP32[$186>>2]|0;
$188 = ($187|0)==(0);
if ($188) {
_png_warning($0,26776);
$$pre$i = HEAP32[$186>>2]|0;
$191 = $$pre$i;
} else {
$191 = $187;
}
$189 = ((($$024$i)) + 8|0);
$190 = HEAP32[$189>>2]|0;
_png_write_chunk($0,$$024$i,$190,$191);
}
}
} while(0);
$192 = ((($$024$i)) + 20|0);
$193 = ($192>>>0)<($171>>>0);
if ($193) {
$$024$i = $192;
} else {
break;
}
}
return;
}
function _png_write_end($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$024$i = 0, $$054 = 0, $$pre = 0, $$pre$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $or$cond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = ((($0)) + 208|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 4;
$6 = ($5|0)==(0);
if ($6) {
_png_error($0,26853);
// unreachable;
}
$7 = ((($0)) + 424|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 420|0);
$10 = HEAP16[$9>>1]|0;
$11 = $10&65535;
$12 = ($8|0)>($11|0);
if ($12) {
_png_benign_error($0,26880);
}
$13 = ($1|0)==(0|0);
if (!($13)) {
$14 = ((($1)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = $15 & 512;
$17 = ($16|0)==(0);
if (!($17)) {
$18 = HEAP32[$3>>2]|0;
$19 = $18 & 512;
$20 = ($19|0)==(0);
if ($20) {
$21 = ((($1)) + 140|0);
_png_write_tIME($0,$21);
}
}
$22 = ((($1)) + 128|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($23|0)>(0);
if ($24) {
$25 = ((($1)) + 136|0);
$$pre = HEAP32[$25>>2]|0;
$$054 = 0;$27 = $$pre;
while(1) {
$26 = (($27) + (($$054*28)|0)|0);
$28 = HEAP32[$26>>2]|0;
$29 = ($28|0)>(0);
do {
if ($29) {
$30 = (((($27) + (($$054*28)|0)|0)) + 4|0);
$31 = HEAP32[$30>>2]|0;
$32 = (((($27) + (($$054*28)|0)|0)) + 20|0);
$33 = HEAP32[$32>>2]|0;
$34 = (((($27) + (($$054*28)|0)|0)) + 24|0);
$35 = HEAP32[$34>>2]|0;
$36 = (((($27) + (($$054*28)|0)|0)) + 8|0);
$37 = HEAP32[$36>>2]|0;
_png_write_iTXt($0,$28,$31,$33,$35,$37);
$38 = HEAP32[$25>>2]|0;
$39 = (($38) + (($$054*28)|0)|0);
$40 = HEAP32[$39>>2]|0;
$41 = ($40|0)==(-1);
if ($41) {
HEAP32[$39>>2] = -3;
$90 = $38;
break;
} else {
HEAP32[$39>>2] = -2;
$90 = $38;
break;
}
} else {
$42 = ($28|0)>(-1);
if ($42) {
$43 = (((($27) + (($$054*28)|0)|0)) + 4|0);
$44 = HEAP32[$43>>2]|0;
$45 = (((($27) + (($$054*28)|0)|0)) + 8|0);
$46 = HEAP32[$45>>2]|0;
_png_write_zTXt($0,$44,$46,$28);
$47 = HEAP32[$25>>2]|0;
$48 = (($47) + (($$054*28)|0)|0);
HEAP32[$48>>2] = -2;
$90 = $47;
break;
}
$49 = ($28|0)==(-1);
if ($49) {
$50 = (((($27) + (($$054*28)|0)|0)) + 4|0);
$51 = HEAP32[$50>>2]|0;
$52 = (((($27) + (($$054*28)|0)|0)) + 8|0);
$53 = HEAP32[$52>>2]|0;
_png_write_tEXt($0,$51,$53,0);
$54 = HEAP32[$25>>2]|0;
$55 = (($54) + (($$054*28)|0)|0);
HEAP32[$55>>2] = -3;
$90 = $54;
} else {
$90 = $27;
}
}
} while(0);
$56 = (($$054) + 1)|0;
$57 = HEAP32[$22>>2]|0;
$58 = ($56|0)<($57|0);
if ($58) {
$$054 = $56;$27 = $90;
} else {
break;
}
}
}
$59 = ((($1)) + 240|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)>(0);
if ($61) {
$62 = ((($1)) + 236|0);
$63 = HEAP32[$62>>2]|0;
$64 = ((($0)) + 688|0);
$65 = (($63) + (($60*20)|0)|0);
$$024$i = $63;
while(1) {
$66 = ((($$024$i)) + 16|0);
$67 = HEAP8[$66>>0]|0;
$68 = $67 & 8;
$69 = ($68<<24>>24)==(0);
do {
if (!($69)) {
$70 = (_png_handle_as_unknown($0,$$024$i)|0);
$71 = ($70|0)==(1);
if (!($71)) {
$72 = ((($$024$i)) + 3|0);
$73 = HEAP8[$72>>0]|0;
$74 = $73 & 32;
$75 = ($74<<24>>24)!=(0);
$76 = ($70|0)==(3);
$or$cond$i = $76 | $75;
if (!($or$cond$i)) {
$77 = ($70|0)==(0);
if (!($77)) {
break;
}
$78 = HEAP32[$64>>2]|0;
$79 = ($78|0)==(3);
if (!($79)) {
break;
}
}
$80 = ((($$024$i)) + 12|0);
$81 = HEAP32[$80>>2]|0;
$82 = ($81|0)==(0);
if ($82) {
_png_warning($0,26776);
$$pre$i = HEAP32[$80>>2]|0;
$85 = $$pre$i;
} else {
$85 = $81;
}
$83 = ((($$024$i)) + 8|0);
$84 = HEAP32[$83>>2]|0;
_png_write_chunk($0,$$024$i,$84,$85);
}
}
} while(0);
$86 = ((($$024$i)) + 20|0);
$87 = ($86>>>0)<($65>>>0);
if ($87) {
$$024$i = $86;
} else {
break;
}
}
}
}
$88 = HEAP32[$3>>2]|0;
$89 = $88 | 8;
HEAP32[$3>>2] = $89;
_png_write_IEND($0);
return;
}
function _png_create_write_struct($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = (_png_create_png_struct($0,$1,$2,$3,0,0,0)|0);
$5 = ($4|0)==(0|0);
if ($5) {
return ($4|0);
}
$6 = ((($4)) + 284|0);
HEAP32[$6>>2] = 8192;
$7 = ((($4)) + 304|0);
HEAP32[$7>>2] = 1;
$8 = ((($4)) + 288|0);
HEAP32[$8>>2] = -1;
$9 = ((($4)) + 300|0);
HEAP32[$9>>2] = 8;
$10 = ((($4)) + 296|0);
HEAP32[$10>>2] = 15;
$11 = ((($4)) + 292|0);
HEAP32[$11>>2] = 8;
$12 = ((($4)) + 324|0);
HEAP32[$12>>2] = 0;
$13 = ((($4)) + 308|0);
HEAP32[$13>>2] = -1;
$14 = ((($4)) + 320|0);
HEAP32[$14>>2] = 8;
$15 = ((($4)) + 316|0);
HEAP32[$15>>2] = 15;
$16 = ((($4)) + 312|0);
HEAP32[$16>>2] = 8;
$17 = ((($4)) + 212|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 | 2097152;
HEAP32[$17>>2] = $19;
_png_set_write_fn($4,0,0,0);
return ($4|0);
}
function _png_write_row($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$i = 0, $$0673$i$lver$orig = 0, $$0682$i$lver$orig = 0, $$0715$i$lver$orig = 0, $$0724$i$lver$orig = 0, $$1$i = 0, $$idx$val = 0, $$idx53$val = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0;
var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0;
var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0;
var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0;
var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0;
var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i$lver$orig = 0, $exitcond8$i$lver$orig = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = ($0|0)==(0|0);
if ($3) {
STACKTOP = sp;return;
}
$4 = ((($0)) + 372|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0);
do {
if ($6) {
$7 = ((($0)) + 433|0);
$8 = HEAP8[$7>>0]|0;
$9 = ($8<<24>>24)==(0);
if ($9) {
$10 = ((($0)) + 208|0);
$11 = HEAP32[$10>>2]|0;
$12 = $11 & 1024;
$13 = ($12|0)==(0);
if ($13) {
_png_error($0,26922);
// unreachable;
} else {
_png_write_start_row($0);
break;
}
}
}
} while(0);
$14 = ((($0)) + 432|0);
$15 = HEAP32[$14>>2]|0;
$16 = $15&65535;
$17 = $15&255;
$18 = ($17<<24>>24)==(0);
$19 = ($16&65535) >>> 8;
$20 = $19&255;
$21 = $15 >>> 24;
$22 = $21&255;
L11: do {
if (!($18)) {
$23 = ((($0)) + 216|0);
$24 = HEAP32[$23>>2]|0;
$25 = $24 & 2;
$26 = ($25|0)==(0);
if (!($26)) {
switch ($20<<24>>24) {
case 0: {
$27 = HEAP32[$4>>2]|0;
$28 = $27 & 7;
$29 = ($28|0)==(0);
if ($29) {
break L11;
}
_png_write_finish_row($0);
STACKTOP = sp;return;
break;
}
case 1: {
$30 = HEAP32[$4>>2]|0;
$31 = $30 & 7;
$32 = ($31|0)==(0);
if ($32) {
$33 = ((($0)) + 348|0);
$34 = HEAP32[$33>>2]|0;
$35 = ($34>>>0)<(5);
if (!($35)) {
break L11;
}
}
_png_write_finish_row($0);
STACKTOP = sp;return;
break;
}
case 2: {
$36 = HEAP32[$4>>2]|0;
$37 = $36 & 7;
$38 = ($37|0)==(4);
if ($38) {
break L11;
}
_png_write_finish_row($0);
STACKTOP = sp;return;
break;
}
case 3: {
$39 = HEAP32[$4>>2]|0;
$40 = $39 & 3;
$41 = ($40|0)==(0);
if ($41) {
$42 = ((($0)) + 348|0);
$43 = HEAP32[$42>>2]|0;
$44 = ($43>>>0)<(3);
if (!($44)) {
break L11;
}
}
_png_write_finish_row($0);
STACKTOP = sp;return;
break;
}
case 4: {
$45 = HEAP32[$4>>2]|0;
$46 = $45 & 3;
$47 = ($46|0)==(2);
if ($47) {
break L11;
}
_png_write_finish_row($0);
STACKTOP = sp;return;
break;
}
case 5: {
$48 = HEAP32[$4>>2]|0;
$49 = $48 & 1;
$50 = ($49|0)==(0);
if ($50) {
$51 = ((($0)) + 348|0);
$52 = HEAP32[$51>>2]|0;
$53 = ($52>>>0)<(2);
if (!($53)) {
break L11;
}
}
_png_write_finish_row($0);
STACKTOP = sp;return;
break;
}
case 6: {
$54 = HEAP32[$4>>2]|0;
$55 = $54 & 1;
$56 = ($55|0)==(0);
if (!($56)) {
break L11;
}
_png_write_finish_row($0);
STACKTOP = sp;return;
break;
}
default: {
break L11;
}
}
}
}
} while(0);
$57 = ((($2)) + 8|0);
HEAP8[$57>>0] = $22;
$58 = ((($0)) + 360|0);
$59 = HEAP32[$58>>2]|0;
HEAP32[$2>>2] = $59;
$60 = ((($0)) + 440|0);
$61 = HEAP8[$60>>0]|0;
$62 = ((($2)) + 10|0);
HEAP8[$62>>0] = $61;
$63 = ((($0)) + 437|0);
$64 = HEAP8[$63>>0]|0;
$65 = ((($2)) + 9|0);
HEAP8[$65>>0] = $64;
$66 = $64&255;
$67 = $61&255;
$68 = Math_imul($66, $67)|0;
$69 = $68&255;
$70 = ((($2)) + 11|0);
HEAP8[$70>>0] = $69;
$71 = $68 & 255;
$72 = ($71>>>0)>(7);
if ($72) {
$73 = $71 >>> 3;
$74 = Math_imul($73, $59)|0;
$79 = $74;
} else {
$75 = Math_imul($59, $71)|0;
$76 = (($75) + 7)|0;
$77 = $76 >>> 3;
$79 = $77;
}
$78 = ((($2)) + 4|0);
HEAP32[$78>>2] = $79;
$80 = ((($0)) + 384|0);
$81 = HEAP32[$80>>2]|0;
$82 = ((($81)) + 1|0);
_memcpy(($82|0),($1|0),($79|0))|0;
$83 = HEAP16[$14>>1]|0;
$84 = $83&255;
$85 = ($84<<24>>24)==(0);
$86 = ($83&65535) >>> 8;
if (!($85)) {
$87 = $86&255;
$88 = $86&65535;
$89 = ($87&255)<(6);
if ($89) {
$90 = ((($0)) + 216|0);
$91 = HEAP32[$90>>2]|0;
$92 = $91 & 2;
$93 = ($92|0)==(0);
if (!($93)) {
$94 = HEAP32[$80>>2]|0;
$95 = ((($94)) + 1|0);
_png_do_write_interlace($2,$95,$88);
$96 = HEAP32[$2>>2]|0;
$97 = ($96|0)==(0);
if ($97) {
_png_write_finish_row($0);
STACKTOP = sp;return;
}
}
}
}
$98 = ((($0)) + 216|0);
$99 = HEAP32[$98>>2]|0;
$100 = ($99|0)==(0);
if (!($100)) {
_png_do_write_transformations($0,$2);
}
$101 = HEAP8[$70>>0]|0;
$102 = ((($0)) + 438|0);
$103 = HEAP8[$102>>0]|0;
$104 = ($101<<24>>24)==($103<<24>>24);
if (!($104)) {
_png_error($0,26975);
// unreachable;
}
$105 = ((($0)) + 443|0);
$106 = HEAP8[$105>>0]|0;
$107 = ($101<<24>>24)==($106<<24>>24);
if (!($107)) {
_png_error($0,26975);
// unreachable;
}
$108 = ((($0)) + 708|0);
$109 = HEAP32[$108>>2]|0;
$110 = $109 & 4;
$111 = ($110|0)==(0);
L63: do {
if (!($111)) {
$112 = ((($0)) + 712|0);
$113 = HEAP8[$112>>0]|0;
$114 = ($113<<24>>24)==(64);
if ($114) {
$115 = HEAP32[$80>>2]|0;
$116 = ((($115)) + 1|0);
$$idx$val = HEAP32[$2>>2]|0;
$$idx53$val = HEAP16[$57>>1]|0;
$117 = $$idx53$val&255;
$118 = $117 & 2;
$119 = ($118<<24>>24)==(0);
if (!($119)) {
$120 = ($$idx53$val&65535) >>> 8;
$121 = $120&255;
switch ($121<<24>>24) {
case 8: {
switch ($117<<24>>24) {
case 2: {
$$0$i = 3;
break;
}
case 6: {
$$0$i = 4;
break;
}
default: {
break L63;
}
}
$122 = ($$idx$val|0)==(0);
if ($122) {
break L63;
} else {
$$0673$i$lver$orig = $116;$$0682$i$lver$orig = 0;
}
while(1) {
$123 = HEAP8[$$0673$i$lver$orig>>0]|0;
$124 = $123&255;
$125 = ((($$0673$i$lver$orig)) + 1|0);
$126 = HEAP8[$125>>0]|0;
$127 = $126&255;
$128 = (($124) - ($127))|0;
$129 = $128&255;
HEAP8[$$0673$i$lver$orig>>0] = $129;
$130 = ((($$0673$i$lver$orig)) + 2|0);
$131 = HEAP8[$130>>0]|0;
$132 = $131&255;
$133 = (($132) - ($127))|0;
$134 = $133&255;
HEAP8[$130>>0] = $134;
$135 = (($$0682$i$lver$orig) + 1)|0;
$136 = (($$0673$i$lver$orig) + ($$0$i)|0);
$exitcond$i$lver$orig = ($135|0)==($$idx$val|0);
if ($exitcond$i$lver$orig) {
break;
} else {
$$0673$i$lver$orig = $136;$$0682$i$lver$orig = $135;
}
}
break;
}
case 16: {
switch ($117<<24>>24) {
case 2: {
$$1$i = 6;
break;
}
case 6: {
$$1$i = 8;
break;
}
default: {
break L63;
}
}
$137 = ($$idx$val|0)==(0);
if ($137) {
break L63;
} else {
$$0715$i$lver$orig = $116;$$0724$i$lver$orig = 0;
}
while(1) {
$138 = HEAP8[$$0715$i$lver$orig>>0]|0;
$139 = $138&255;
$140 = $139 << 8;
$141 = ((($$0715$i$lver$orig)) + 1|0);
$142 = HEAP8[$141>>0]|0;
$143 = $142&255;
$144 = $140 | $143;
$145 = ((($$0715$i$lver$orig)) + 2|0);
$146 = HEAP8[$145>>0]|0;
$147 = $146&255;
$148 = $147 << 8;
$149 = ((($$0715$i$lver$orig)) + 3|0);
$150 = HEAP8[$149>>0]|0;
$151 = $150&255;
$152 = $148 | $151;
$153 = ((($$0715$i$lver$orig)) + 4|0);
$154 = HEAP8[$153>>0]|0;
$155 = $154&255;
$156 = $155 << 8;
$157 = ((($$0715$i$lver$orig)) + 5|0);
$158 = HEAP8[$157>>0]|0;
$159 = $158&255;
$160 = $156 | $159;
$161 = (($144) - ($152))|0;
$162 = (($160) - ($152))|0;
$163 = $161 >>> 8;
$164 = $163&255;
HEAP8[$$0715$i$lver$orig>>0] = $164;
$165 = $161&255;
HEAP8[$141>>0] = $165;
$166 = $162 >>> 8;
$167 = $166&255;
HEAP8[$153>>0] = $167;
$168 = $162&255;
HEAP8[$157>>0] = $168;
$169 = (($$0724$i$lver$orig) + 1)|0;
$170 = (($$0715$i$lver$orig) + ($$1$i)|0);
$exitcond8$i$lver$orig = ($169|0)==($$idx$val|0);
if ($exitcond8$i$lver$orig) {
break;
} else {
$$0715$i$lver$orig = $170;$$0724$i$lver$orig = $169;
}
}
break;
}
default: {
break L63;
}
}
}
}
}
} while(0);
$171 = HEAP8[$57>>0]|0;
$172 = ($171<<24>>24)==(3);
if ($172) {
$173 = ((($0)) + 424|0);
$174 = HEAP32[$173>>2]|0;
$175 = ($174|0)>(-1);
if ($175) {
_png_do_check_palette_indexes($0,$2);
}
}
_png_write_find_filter($0,$2);
$176 = ((($0)) + 548|0);
$177 = HEAP32[$176>>2]|0;
$178 = ($177|0)==(0|0);
if ($178) {
STACKTOP = sp;return;
}
$179 = HEAP32[$4>>2]|0;
$180 = ((($0)) + 433|0);
$181 = HEAP8[$180>>0]|0;
$182 = $181&255;
FUNCTION_TABLE_viii[$177 & 127]($0,$179,$182);
STACKTOP = sp;return;
}
function _png_write_image($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$01820 = 0, $$01922 = 0, $$021 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = (_png_set_interlace_handling($0)|0);
$4 = ($3|0)>(0);
if (!($4)) {
return;
}
$5 = ((($0)) + 352|0);
$$pre = HEAP32[$5>>2]|0;
$$01922 = 0;$6 = $$pre;
while(1) {
$7 = ($6|0)==(0);
if ($7) {
$14 = 0;
} else {
$$01820 = 0;$$021 = $1;
while(1) {
$8 = HEAP32[$$021>>2]|0;
_png_write_row($0,$8);
$9 = (($$01820) + 1)|0;
$10 = ((($$021)) + 4|0);
$11 = HEAP32[$5>>2]|0;
$12 = ($9>>>0)<($11>>>0);
if ($12) {
$$01820 = $9;$$021 = $10;
} else {
$14 = $11;
break;
}
}
}
$13 = (($$01922) + 1)|0;
$exitcond = ($13|0)==($3|0);
if ($exitcond) {
break;
} else {
$$01922 = $13;$6 = $14;
}
}
return;
}
function _png_set_filter($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pr$pre = 0, $$pr50$pre = 0, $$pre = 0, $$pre51 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, $trunc = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
return;
}
$4 = ((($0)) + 708|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 4;
$7 = ($6|0)!=(0);
$8 = ($1|0)==(64);
$or$cond = $8 & $7;
$9 = ($1|0)==(0);
$10 = $9 | $or$cond;
if (!($10)) {
_png_error($0,27157);
// unreachable;
}
$trunc = $2&255;
switch ($trunc<<24>>24) {
case 7: case 6: case 5: {
_png_app_error($0,27012);
label = 5;
break;
}
case 0: {
label = 5;
break;
}
case 1: {
$12 = ((($0)) + 434|0);
HEAP8[$12>>0] = 16;
$22 = 16;
break;
}
case 2: {
$13 = ((($0)) + 434|0);
HEAP8[$13>>0] = 32;
$22 = 32;
break;
}
case 3: {
$14 = ((($0)) + 434|0);
HEAP8[$14>>0] = 64;
$22 = 64;
break;
}
case 4: {
$15 = ((($0)) + 434|0);
HEAP8[$15>>0] = -128;
$22 = -128;
break;
}
default: {
$16 = ((($0)) + 434|0);
HEAP8[$16>>0] = $trunc;
$22 = $trunc;
}
}
if ((label|0) == 5) {
$11 = ((($0)) + 434|0);
HEAP8[$11>>0] = 8;
$22 = 8;
}
$17 = ((($0)) + 384|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0|0);
if ($19) {
return;
}
$20 = ((($0)) + 434|0);
$21 = $22 & 16;
$23 = ($21<<24>>24)==(0);
if ($23) {
$32 = $22;
} else {
$24 = ((($0)) + 388|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($25|0)==(0|0);
if ($26) {
$27 = ((($0)) + 364|0);
$28 = HEAP32[$27>>2]|0;
$29 = (($28) + 1)|0;
$30 = (_png_malloc($0,$29)|0);
HEAP32[$24>>2] = $30;
HEAP8[$30>>0] = 1;
$$pre = HEAP8[$20>>0]|0;
$32 = $$pre;
} else {
$32 = $22;
}
}
$31 = $32 & 32;
$33 = ($31<<24>>24)==(0);
do {
if ($33) {
$49 = $32;
} else {
$34 = ((($0)) + 392|0);
$35 = HEAP32[$34>>2]|0;
$36 = ($35|0)==(0|0);
if ($36) {
$37 = ((($0)) + 380|0);
$38 = HEAP32[$37>>2]|0;
$39 = ($38|0)==(0|0);
if ($39) {
_png_warning($0,27044);
$40 = HEAP8[$20>>0]|0;
$41 = $40&255;
$42 = $41 & 223;
$43 = $42&255;
HEAP8[$20>>0] = $43;
$49 = $43;
break;
} else {
$44 = ((($0)) + 364|0);
$45 = HEAP32[$44>>2]|0;
$46 = (($45) + 1)|0;
$47 = (_png_malloc($0,$46)|0);
HEAP32[$34>>2] = $47;
HEAP8[$47>>0] = 2;
$$pre51 = HEAP8[$20>>0]|0;
$49 = $$pre51;
break;
}
} else {
$49 = $32;
}
}
} while(0);
$48 = $49 & 64;
$50 = ($48<<24>>24)==(0);
do {
if ($50) {
$65 = $49;
} else {
$51 = ((($0)) + 396|0);
$52 = HEAP32[$51>>2]|0;
$53 = ($52|0)==(0|0);
if ($53) {
$54 = ((($0)) + 380|0);
$55 = HEAP32[$54>>2]|0;
$56 = ($55|0)==(0|0);
if ($56) {
_png_warning($0,27079);
$57 = HEAP8[$20>>0]|0;
$58 = $57&255;
$59 = $58 & 191;
$60 = $59&255;
HEAP8[$20>>0] = $60;
$65 = $60;
break;
} else {
$61 = ((($0)) + 364|0);
$62 = HEAP32[$61>>2]|0;
$63 = (($62) + 1)|0;
$64 = (_png_malloc($0,$63)|0);
HEAP32[$51>>2] = $64;
HEAP8[$64>>0] = 3;
$$pr$pre = HEAP8[$20>>0]|0;
$65 = $$pr$pre;
break;
}
} else {
$65 = $49;
}
}
} while(0);
$66 = ($65<<24>>24)<(0);
do {
if ($66) {
$67 = ((($0)) + 400|0);
$68 = HEAP32[$67>>2]|0;
$69 = ($68|0)==(0|0);
if (!($69)) {
return;
}
$70 = ((($0)) + 380|0);
$71 = HEAP32[$70>>2]|0;
$72 = ($71|0)==(0|0);
if ($72) {
_png_warning($0,27119);
$73 = HEAP8[$20>>0]|0;
$74 = $73&255;
$75 = $74 & 127;
$76 = $75&255;
HEAP8[$20>>0] = $76;
$81 = $76;
break;
} else {
$77 = ((($0)) + 364|0);
$78 = HEAP32[$77>>2]|0;
$79 = (($78) + 1)|0;
$80 = (_png_malloc($0,$79)|0);
HEAP32[$67>>2] = $80;
HEAP8[$80>>0] = 4;
$$pr50$pre = HEAP8[$20>>0]|0;
$81 = $$pr50$pre;
break;
}
} else {
$81 = $65;
}
} while(0);
$82 = ($81<<24>>24)==(0);
if (!($82)) {
return;
}
HEAP8[$20>>0] = 8;
return;
}
function _png_set_compression_level($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = ((($0)) + 288|0);
HEAP32[$3>>2] = $1;
return;
}
function _png_set_compression_mem_level($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = ((($0)) + 300|0);
HEAP32[$3>>2] = $1;
return;
}
function _png_set_filler($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
if ($3) {
return;
}
$4 = ((($0)) + 208|0);
$5 = HEAP32[$4>>2]|0;
$6 = $5 & 32768;
$7 = ($6|0)==(0);
L4: do {
if ($7) {
$10 = ((($0)) + 435|0);
$11 = HEAP8[$10>>0]|0;
switch ($11<<24>>24) {
case 2: {
$12 = ((($0)) + 440|0);
HEAP8[$12>>0] = 4;
break L4;
break;
}
case 0: {
$13 = ((($0)) + 436|0);
$14 = HEAP8[$13>>0]|0;
$15 = ($14&255)>(7);
if ($15) {
$16 = ((($0)) + 440|0);
HEAP8[$16>>0] = 2;
break L4;
}
_png_app_error($0,26504);
return;
break;
}
default: {
_png_app_error($0,26560);
return;
}
}
} else {
$8 = $1&65535;
$9 = ((($0)) + 444|0);
HEAP16[$9>>1] = $8;
}
} while(0);
$17 = ((($0)) + 216|0);
$18 = HEAP32[$17>>2]|0;
$19 = $18 | 32768;
HEAP32[$17>>2] = $19;
$20 = ($2|0)==(1);
$21 = ((($0)) + 212|0);
$22 = HEAP32[$21>>2]|0;
if ($20) {
$23 = $22 | 128;
HEAP32[$21>>2] = $23;
return;
} else {
$24 = $22 & -129;
HEAP32[$21>>2] = $24;
return;
}
}
function _png_get_valid($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)!=(0|0);
$4 = ($1|0)!=(0|0);
$or$cond = $3 & $4;
if (!($or$cond)) {
$$0 = 0;
return ($$0|0);
}
$5 = ((($1)) + 8|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & $2;
$$0 = $7;
return ($$0|0);
}
function _png_get_gAMA($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)!=(0|0);
$4 = ($1|0)!=(0|0);
$or$cond = $3 & $4;
if (!($or$cond)) {
$$0 = 0;
return ($$0|0);
}
$5 = ((($1)) + 114|0);
$6 = HEAP16[$5>>1]|0;
$7 = $6 & 1;
$8 = ($7<<16>>16)!=(0);
$9 = ($2|0)!=(0|0);
$or$cond3 = $9 & $8;
if (!($or$cond3)) {
$$0 = 0;
return ($$0|0);
}
$10 = ((($1)) + 40|0);
$11 = HEAP32[$10>>2]|0;
$12 = (+($11|0));
$13 = $12 * 1.0000000000000001E-5;
HEAPF64[$2>>3] = $13;
$$0 = 1;
return ($$0|0);
}
function _png_get_IHDR($0,$1,$2,$3,$4,$5,$6,$7,$8) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
$8 = $8|0;
var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $9 = 0;
var $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$9 = ($0|0)==(0|0);
$10 = ($1|0)==(0|0);
$or$cond = $9 | $10;
if ($or$cond) {
$$0 = 0;
return ($$0|0);
}
$11 = ($2|0)==(0|0);
if (!($11)) {
$12 = HEAP32[$1>>2]|0;
HEAP32[$2>>2] = $12;
}
$13 = ($3|0)==(0|0);
if (!($13)) {
$14 = ((($1)) + 4|0);
$15 = HEAP32[$14>>2]|0;
HEAP32[$3>>2] = $15;
}
$16 = ($4|0)==(0|0);
if (!($16)) {
$17 = ((($1)) + 24|0);
$18 = HEAP8[$17>>0]|0;
$19 = $18&255;
HEAP32[$4>>2] = $19;
}
$20 = ($5|0)==(0|0);
if (!($20)) {
$21 = ((($1)) + 25|0);
$22 = HEAP8[$21>>0]|0;
$23 = $22&255;
HEAP32[$5>>2] = $23;
}
$24 = ($7|0)==(0|0);
if (!($24)) {
$25 = ((($1)) + 26|0);
$26 = HEAP8[$25>>0]|0;
$27 = $26&255;
HEAP32[$7>>2] = $27;
}
$28 = ($8|0)==(0|0);
if (!($28)) {
$29 = ((($1)) + 27|0);
$30 = HEAP8[$29>>0]|0;
$31 = $30&255;
HEAP32[$8>>2] = $31;
}
$32 = ($6|0)==(0|0);
$$phi$trans$insert = ((($1)) + 28|0);
$$pre = HEAP8[$$phi$trans$insert>>0]|0;
if (!($32)) {
$33 = $$pre&255;
HEAP32[$6>>2] = $33;
}
$34 = HEAP32[$1>>2]|0;
$35 = ((($1)) + 4|0);
$36 = HEAP32[$35>>2]|0;
$37 = ((($1)) + 24|0);
$38 = HEAP32[$37>>2]|0;
$39 = $38 & 255;
$40 = $38 >>> 8;
$41 = $40 & 255;
$42 = $$pre&255;
$43 = $38 >>> 16;
$44 = $43 & 255;
$45 = $38 >>> 24;
_png_check_IHDR($0,$34,$36,$39,$41,$42,$44,$45);
$$0 = 1;
return ($$0|0);
}
function _png_get_user_chunk_ptr($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$4 = 0;
return ($4|0);
}
$2 = ((($0)) + 680|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3;
return ($4|0);
}
function _png_get_io_ptr($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 0;
return ($$0|0);
}
$2 = ((($0)) + 188|0);
$3 = HEAP32[$2>>2]|0;
$$0 = $3;
return ($$0|0);
}
function _png_init_io($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
return;
}
$3 = ((($0)) + 188|0);
HEAP32[$3>>2] = $1;
return;
}
function _png_get_header_ver($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return (24249|0);
}
function _png_set_option($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)!=(0|0);
$4 = ($1>>>0)<(6);
$5 = $3 & $4;
$6 = $1 & 1;
$7 = ($6|0)==(0);
$or$cond = $5 & $7;
if (!($or$cond)) {
$$0 = 1;
return ($$0|0);
}
$8 = 3 << $1;
$9 = ($2|0)!=(0);
$10 = $9 ? 3 : 2;
$11 = $10 << $1;
$12 = ((($0)) + 644|0);
$13 = HEAP8[$12>>0]|0;
$14 = $13&255;
$15 = $8 ^ 255;
$16 = $14 & $15;
$17 = $16 | $11;
$18 = $17&255;
HEAP8[$12>>0] = $18;
$19 = $14 & $8;
$20 = $19 >>> $1;
$$0 = $20;
return ($$0|0);
}
function _adler32($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$$1184 = 0, $$0 = 0, $$0173 = 0, $$0174198 = 0, $$0178197 = 0, $$0190 = 0, $$1$lcssa = 0, $$1175$lcssa245248 = 0, $$1175220 = 0, $$1179$lcssa244249 = 0, $$1179219 = 0, $$1184$lcssa = 0, $$1184196 = 0, $$1199 = 0, $$2$lcssa246247 = 0, $$2176211 = 0, $$2180 = 0, $$2221 = 0, $$3 = 0;
var $$3177203 = 0, $$3181210 = 0, $$3186$lcssa243250 = 0, $$3186218 = 0, $$4182202 = 0, $$4187 = 0, $$4212 = 0, $$5$lcssa = 0, $$5188209 = 0, $$5204 = 0, $$6 = 0, $$6189$lcssa = 0, $$6189201 = 0, $$7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0;
var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $scevgep = 0, $scevgep241 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $0 >>> 16;
$4 = $0 & 65535;
$5 = ($2|0)==(1);
if ($5) {
$6 = HEAP8[$1>>0]|0;
$7 = $6&255;
$8 = (($7) + ($4))|0;
$9 = ($8>>>0)>(65520);
$10 = (($8) + -65521)|0;
$$ = $9 ? $10 : $8;
$11 = (($$) + ($3))|0;
$12 = ($11>>>0)>(65520);
$13 = (($11) + 15)|0;
$$0173 = $12 ? $13 : $11;
$14 = $$0173 << 16;
$15 = $14 | $$;
$$0190 = $15;
return ($$0190|0);
}
$16 = ($1|0)==(0|0);
if ($16) {
$$0190 = 1;
return ($$0190|0);
}
$17 = ($2>>>0)<(16);
if ($17) {
$19 = ($2|0)==(0);
if ($19) {
$$1$lcssa = $3;$$1184$lcssa = $4;
} else {
$$0174198 = $2;$$0178197 = $1;$$1184196 = $4;$$1199 = $3;
while(1) {
$20 = (($$0174198) + -1)|0;
$21 = ((($$0178197)) + 1|0);
$22 = HEAP8[$$0178197>>0]|0;
$23 = $22&255;
$24 = (($23) + ($$1184196))|0;
$25 = (($24) + ($$1199))|0;
$26 = ($20|0)==(0);
if ($26) {
$$1$lcssa = $25;$$1184$lcssa = $24;
break;
} else {
$$0174198 = $20;$$0178197 = $21;$$1184196 = $24;$$1199 = $25;
}
}
}
$27 = ($$1184$lcssa>>>0)>(65520);
$28 = (($$1184$lcssa) + -65521)|0;
$$$1184 = $27 ? $28 : $$1184$lcssa;
$29 = (($$1$lcssa>>>0) % 65521)&-1;
$30 = $29 << 16;
$31 = $30 | $$$1184;
$$0190 = $31;
return ($$0190|0);
}
$18 = ($2>>>0)>(5551);
if ($18) {
$$1175220 = $2;$$1179219 = $1;$$2221 = $3;$$3186218 = $4;
while(1) {
$32 = (($$1175220) + -5552)|0;
$$0 = 347;$$2180 = $$1179219;$$3 = $$2221;$$4187 = $$3186218;
while(1) {
$33 = HEAP8[$$2180>>0]|0;
$34 = $33&255;
$35 = (($34) + ($$4187))|0;
$36 = (($35) + ($$3))|0;
$37 = ((($$2180)) + 1|0);
$38 = HEAP8[$37>>0]|0;
$39 = $38&255;
$40 = (($35) + ($39))|0;
$41 = (($36) + ($40))|0;
$42 = ((($$2180)) + 2|0);
$43 = HEAP8[$42>>0]|0;
$44 = $43&255;
$45 = (($40) + ($44))|0;
$46 = (($41) + ($45))|0;
$47 = ((($$2180)) + 3|0);
$48 = HEAP8[$47>>0]|0;
$49 = $48&255;
$50 = (($45) + ($49))|0;
$51 = (($46) + ($50))|0;
$52 = ((($$2180)) + 4|0);
$53 = HEAP8[$52>>0]|0;
$54 = $53&255;
$55 = (($50) + ($54))|0;
$56 = (($51) + ($55))|0;
$57 = ((($$2180)) + 5|0);
$58 = HEAP8[$57>>0]|0;
$59 = $58&255;
$60 = (($55) + ($59))|0;
$61 = (($56) + ($60))|0;
$62 = ((($$2180)) + 6|0);
$63 = HEAP8[$62>>0]|0;
$64 = $63&255;
$65 = (($60) + ($64))|0;
$66 = (($61) + ($65))|0;
$67 = ((($$2180)) + 7|0);
$68 = HEAP8[$67>>0]|0;
$69 = $68&255;
$70 = (($65) + ($69))|0;
$71 = (($66) + ($70))|0;
$72 = ((($$2180)) + 8|0);
$73 = HEAP8[$72>>0]|0;
$74 = $73&255;
$75 = (($70) + ($74))|0;
$76 = (($71) + ($75))|0;
$77 = ((($$2180)) + 9|0);
$78 = HEAP8[$77>>0]|0;
$79 = $78&255;
$80 = (($75) + ($79))|0;
$81 = (($76) + ($80))|0;
$82 = ((($$2180)) + 10|0);
$83 = HEAP8[$82>>0]|0;
$84 = $83&255;
$85 = (($80) + ($84))|0;
$86 = (($81) + ($85))|0;
$87 = ((($$2180)) + 11|0);
$88 = HEAP8[$87>>0]|0;
$89 = $88&255;
$90 = (($85) + ($89))|0;
$91 = (($86) + ($90))|0;
$92 = ((($$2180)) + 12|0);
$93 = HEAP8[$92>>0]|0;
$94 = $93&255;
$95 = (($90) + ($94))|0;
$96 = (($91) + ($95))|0;
$97 = ((($$2180)) + 13|0);
$98 = HEAP8[$97>>0]|0;
$99 = $98&255;
$100 = (($95) + ($99))|0;
$101 = (($96) + ($100))|0;
$102 = ((($$2180)) + 14|0);
$103 = HEAP8[$102>>0]|0;
$104 = $103&255;
$105 = (($100) + ($104))|0;
$106 = (($101) + ($105))|0;
$107 = ((($$2180)) + 15|0);
$108 = HEAP8[$107>>0]|0;
$109 = $108&255;
$110 = (($105) + ($109))|0;
$111 = (($106) + ($110))|0;
$112 = ((($$2180)) + 16|0);
$113 = (($$0) + -1)|0;
$114 = ($113|0)==(0);
if ($114) {
break;
} else {
$$0 = $113;$$2180 = $112;$$3 = $111;$$4187 = $110;
}
}
$scevgep241 = ((($$1179219)) + 5552|0);
$115 = (($110>>>0) % 65521)&-1;
$116 = (($111>>>0) % 65521)&-1;
$117 = ($32>>>0)>(5551);
if ($117) {
$$1175220 = $32;$$1179219 = $scevgep241;$$2221 = $116;$$3186218 = $115;
} else {
break;
}
}
$118 = ($32|0)==(0);
if ($118) {
$$6 = $116;$$7 = $115;
} else {
$119 = ($32>>>0)>(15);
if ($119) {
$$1175$lcssa245248 = $32;$$1179$lcssa244249 = $scevgep241;$$2$lcssa246247 = $116;$$3186$lcssa243250 = $115;
label = 14;
} else {
$$3177203 = $32;$$4182202 = $scevgep241;$$5204 = $116;$$6189201 = $115;
label = 17;
}
}
} else {
$$1175$lcssa245248 = $2;$$1179$lcssa244249 = $1;$$2$lcssa246247 = $3;$$3186$lcssa243250 = $4;
label = 14;
}
if ((label|0) == 14) {
$120 = (($$1175$lcssa245248) + -16)|0;
$121 = $120 & -16;
$122 = (($121) + 16)|0;
$$2176211 = $$1175$lcssa245248;$$3181210 = $$1179$lcssa244249;$$4212 = $$2$lcssa246247;$$5188209 = $$3186$lcssa243250;
while(1) {
$125 = (($$2176211) + -16)|0;
$126 = HEAP8[$$3181210>>0]|0;
$127 = $126&255;
$128 = (($127) + ($$5188209))|0;
$129 = (($128) + ($$4212))|0;
$130 = ((($$3181210)) + 1|0);
$131 = HEAP8[$130>>0]|0;
$132 = $131&255;
$133 = (($128) + ($132))|0;
$134 = (($129) + ($133))|0;
$135 = ((($$3181210)) + 2|0);
$136 = HEAP8[$135>>0]|0;
$137 = $136&255;
$138 = (($133) + ($137))|0;
$139 = (($134) + ($138))|0;
$140 = ((($$3181210)) + 3|0);
$141 = HEAP8[$140>>0]|0;
$142 = $141&255;
$143 = (($138) + ($142))|0;
$144 = (($139) + ($143))|0;
$145 = ((($$3181210)) + 4|0);
$146 = HEAP8[$145>>0]|0;
$147 = $146&255;
$148 = (($143) + ($147))|0;
$149 = (($144) + ($148))|0;
$150 = ((($$3181210)) + 5|0);
$151 = HEAP8[$150>>0]|0;
$152 = $151&255;
$153 = (($148) + ($152))|0;
$154 = (($149) + ($153))|0;
$155 = ((($$3181210)) + 6|0);
$156 = HEAP8[$155>>0]|0;
$157 = $156&255;
$158 = (($153) + ($157))|0;
$159 = (($154) + ($158))|0;
$160 = ((($$3181210)) + 7|0);
$161 = HEAP8[$160>>0]|0;
$162 = $161&255;
$163 = (($158) + ($162))|0;
$164 = (($159) + ($163))|0;
$165 = ((($$3181210)) + 8|0);
$166 = HEAP8[$165>>0]|0;
$167 = $166&255;
$168 = (($163) + ($167))|0;
$169 = (($164) + ($168))|0;
$170 = ((($$3181210)) + 9|0);
$171 = HEAP8[$170>>0]|0;
$172 = $171&255;
$173 = (($168) + ($172))|0;
$174 = (($169) + ($173))|0;
$175 = ((($$3181210)) + 10|0);
$176 = HEAP8[$175>>0]|0;
$177 = $176&255;
$178 = (($173) + ($177))|0;
$179 = (($174) + ($178))|0;
$180 = ((($$3181210)) + 11|0);
$181 = HEAP8[$180>>0]|0;
$182 = $181&255;
$183 = (($178) + ($182))|0;
$184 = (($179) + ($183))|0;
$185 = ((($$3181210)) + 12|0);
$186 = HEAP8[$185>>0]|0;
$187 = $186&255;
$188 = (($183) + ($187))|0;
$189 = (($184) + ($188))|0;
$190 = ((($$3181210)) + 13|0);
$191 = HEAP8[$190>>0]|0;
$192 = $191&255;
$193 = (($188) + ($192))|0;
$194 = (($189) + ($193))|0;
$195 = ((($$3181210)) + 14|0);
$196 = HEAP8[$195>>0]|0;
$197 = $196&255;
$198 = (($193) + ($197))|0;
$199 = (($194) + ($198))|0;
$200 = ((($$3181210)) + 15|0);
$201 = HEAP8[$200>>0]|0;
$202 = $201&255;
$203 = (($198) + ($202))|0;
$204 = (($199) + ($203))|0;
$205 = ((($$3181210)) + 16|0);
$206 = ($125>>>0)>(15);
if ($206) {
$$2176211 = $125;$$3181210 = $205;$$4212 = $204;$$5188209 = $203;
} else {
break;
}
}
$123 = (($120) - ($121))|0;
$scevgep = (($$1179$lcssa244249) + ($122)|0);
$124 = ($123|0)==(0);
if ($124) {
$$5$lcssa = $204;$$6189$lcssa = $203;
label = 18;
} else {
$$3177203 = $123;$$4182202 = $scevgep;$$5204 = $204;$$6189201 = $203;
label = 17;
}
}
if ((label|0) == 17) {
while(1) {
label = 0;
$207 = (($$3177203) + -1)|0;
$208 = ((($$4182202)) + 1|0);
$209 = HEAP8[$$4182202>>0]|0;
$210 = $209&255;
$211 = (($210) + ($$6189201))|0;
$212 = (($211) + ($$5204))|0;
$213 = ($207|0)==(0);
if ($213) {
$$5$lcssa = $212;$$6189$lcssa = $211;
label = 18;
break;
} else {
$$3177203 = $207;$$4182202 = $208;$$5204 = $212;$$6189201 = $211;
label = 17;
}
}
}
if ((label|0) == 18) {
$214 = (($$6189$lcssa>>>0) % 65521)&-1;
$215 = (($$5$lcssa>>>0) % 65521)&-1;
$$6 = $215;$$7 = $214;
}
$216 = $$6 << 16;
$217 = $216 | $$7;
$$0190 = $217;
return ($$0190|0);
}
function _crc32($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa$i = 0, $$076$masked$i = 0, $$07699$i = 0, $$07898$i = 0, $$08297$i = 0, $$092$i = 0, $$1 = 0, $$1$lcssa$i = 0, $$177$lcssa$i = 0, $$17791$i = 0, $$179$lcssa$i = 0, $$17990$i = 0, $$183$i = 0, $$187$i = 0, $$2$lcssa$i = 0, $$280$lcssa$i = 0, $$28085$i = 0, $$286$i = 0, $$3$i = 0, $$3$masked$i = 0;
var $$381$i = 0, $$4$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
var $225 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $scevgep$i = 0, $scevgep115$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($1|0)==(0|0);
if ($3) {
$$1 = 0;
return ($$1|0);
}
$4 = $0 ^ -1;
$5 = ($2|0)==(0);
L4: do {
if ($5) {
$$4$i = $4;
} else {
$$07699$i = $4;$$07898$i = $2;$$08297$i = $1;
while(1) {
$6 = $$08297$i;
$7 = $6 & 3;
$8 = ($7|0)==(0);
if ($8) {
break;
}
$9 = ((($$08297$i)) + 1|0);
$10 = HEAP8[$$08297$i>>0]|0;
$11 = $10&255;
$$076$masked$i = $$07699$i & 255;
$12 = $11 ^ $$076$masked$i;
$13 = (1016 + ($12<<2)|0);
$14 = HEAP32[$13>>2]|0;
$15 = $$07699$i >>> 8;
$16 = $14 ^ $15;
$17 = (($$07898$i) + -1)|0;
$18 = ($17|0)==(0);
if ($18) {
$$4$i = $16;
break L4;
} else {
$$07699$i = $16;$$07898$i = $17;$$08297$i = $9;
}
}
$19 = ($$07898$i>>>0)>(31);
if ($19) {
$20 = (($$07898$i) + -32)|0;
$21 = $20 & -32;
$22 = (($21) + 32)|0;
$scevgep115$i = (($$08297$i) + ($22)|0);
$$092$i = $$08297$i;$$17791$i = $$07699$i;$$17990$i = $$07898$i;
while(1) {
$28 = ((($$092$i)) + 4|0);
$29 = HEAP32[$$092$i>>2]|0;
$30 = $29 ^ $$17791$i;
$31 = $30 & 255;
$32 = (4088 + ($31<<2)|0);
$33 = HEAP32[$32>>2]|0;
$34 = $30 >>> 8;
$35 = $34 & 255;
$36 = (3064 + ($35<<2)|0);
$37 = HEAP32[$36>>2]|0;
$38 = $37 ^ $33;
$39 = $30 >>> 16;
$40 = $39 & 255;
$41 = (2040 + ($40<<2)|0);
$42 = HEAP32[$41>>2]|0;
$43 = $38 ^ $42;
$44 = $30 >>> 24;
$45 = (1016 + ($44<<2)|0);
$46 = HEAP32[$45>>2]|0;
$47 = $43 ^ $46;
$48 = ((($$092$i)) + 8|0);
$49 = HEAP32[$28>>2]|0;
$50 = $47 ^ $49;
$51 = $50 & 255;
$52 = (4088 + ($51<<2)|0);
$53 = HEAP32[$52>>2]|0;
$54 = $50 >>> 8;
$55 = $54 & 255;
$56 = (3064 + ($55<<2)|0);
$57 = HEAP32[$56>>2]|0;
$58 = $57 ^ $53;
$59 = $50 >>> 16;
$60 = $59 & 255;
$61 = (2040 + ($60<<2)|0);
$62 = HEAP32[$61>>2]|0;
$63 = $58 ^ $62;
$64 = $50 >>> 24;
$65 = (1016 + ($64<<2)|0);
$66 = HEAP32[$65>>2]|0;
$67 = $63 ^ $66;
$68 = ((($$092$i)) + 12|0);
$69 = HEAP32[$48>>2]|0;
$70 = $67 ^ $69;
$71 = $70 & 255;
$72 = (4088 + ($71<<2)|0);
$73 = HEAP32[$72>>2]|0;
$74 = $70 >>> 8;
$75 = $74 & 255;
$76 = (3064 + ($75<<2)|0);
$77 = HEAP32[$76>>2]|0;
$78 = $77 ^ $73;
$79 = $70 >>> 16;
$80 = $79 & 255;
$81 = (2040 + ($80<<2)|0);
$82 = HEAP32[$81>>2]|0;
$83 = $78 ^ $82;
$84 = $70 >>> 24;
$85 = (1016 + ($84<<2)|0);
$86 = HEAP32[$85>>2]|0;
$87 = $83 ^ $86;
$88 = ((($$092$i)) + 16|0);
$89 = HEAP32[$68>>2]|0;
$90 = $87 ^ $89;
$91 = $90 & 255;
$92 = (4088 + ($91<<2)|0);
$93 = HEAP32[$92>>2]|0;
$94 = $90 >>> 8;
$95 = $94 & 255;
$96 = (3064 + ($95<<2)|0);
$97 = HEAP32[$96>>2]|0;
$98 = $97 ^ $93;
$99 = $90 >>> 16;
$100 = $99 & 255;
$101 = (2040 + ($100<<2)|0);
$102 = HEAP32[$101>>2]|0;
$103 = $98 ^ $102;
$104 = $90 >>> 24;
$105 = (1016 + ($104<<2)|0);
$106 = HEAP32[$105>>2]|0;
$107 = $103 ^ $106;
$108 = ((($$092$i)) + 20|0);
$109 = HEAP32[$88>>2]|0;
$110 = $107 ^ $109;
$111 = $110 & 255;
$112 = (4088 + ($111<<2)|0);
$113 = HEAP32[$112>>2]|0;
$114 = $110 >>> 8;
$115 = $114 & 255;
$116 = (3064 + ($115<<2)|0);
$117 = HEAP32[$116>>2]|0;
$118 = $117 ^ $113;
$119 = $110 >>> 16;
$120 = $119 & 255;
$121 = (2040 + ($120<<2)|0);
$122 = HEAP32[$121>>2]|0;
$123 = $118 ^ $122;
$124 = $110 >>> 24;
$125 = (1016 + ($124<<2)|0);
$126 = HEAP32[$125>>2]|0;
$127 = $123 ^ $126;
$128 = ((($$092$i)) + 24|0);
$129 = HEAP32[$108>>2]|0;
$130 = $127 ^ $129;
$131 = $130 & 255;
$132 = (4088 + ($131<<2)|0);
$133 = HEAP32[$132>>2]|0;
$134 = $130 >>> 8;
$135 = $134 & 255;
$136 = (3064 + ($135<<2)|0);
$137 = HEAP32[$136>>2]|0;
$138 = $137 ^ $133;
$139 = $130 >>> 16;
$140 = $139 & 255;
$141 = (2040 + ($140<<2)|0);
$142 = HEAP32[$141>>2]|0;
$143 = $138 ^ $142;
$144 = $130 >>> 24;
$145 = (1016 + ($144<<2)|0);
$146 = HEAP32[$145>>2]|0;
$147 = $143 ^ $146;
$148 = ((($$092$i)) + 28|0);
$149 = HEAP32[$128>>2]|0;
$150 = $147 ^ $149;
$151 = $150 & 255;
$152 = (4088 + ($151<<2)|0);
$153 = HEAP32[$152>>2]|0;
$154 = $150 >>> 8;
$155 = $154 & 255;
$156 = (3064 + ($155<<2)|0);
$157 = HEAP32[$156>>2]|0;
$158 = $157 ^ $153;
$159 = $150 >>> 16;
$160 = $159 & 255;
$161 = (2040 + ($160<<2)|0);
$162 = HEAP32[$161>>2]|0;
$163 = $158 ^ $162;
$164 = $150 >>> 24;
$165 = (1016 + ($164<<2)|0);
$166 = HEAP32[$165>>2]|0;
$167 = $163 ^ $166;
$168 = ((($$092$i)) + 32|0);
$169 = HEAP32[$148>>2]|0;
$170 = $167 ^ $169;
$171 = $170 & 255;
$172 = (4088 + ($171<<2)|0);
$173 = HEAP32[$172>>2]|0;
$174 = $170 >>> 8;
$175 = $174 & 255;
$176 = (3064 + ($175<<2)|0);
$177 = HEAP32[$176>>2]|0;
$178 = $177 ^ $173;
$179 = $170 >>> 16;
$180 = $179 & 255;
$181 = (2040 + ($180<<2)|0);
$182 = HEAP32[$181>>2]|0;
$183 = $178 ^ $182;
$184 = $170 >>> 24;
$185 = (1016 + ($184<<2)|0);
$186 = HEAP32[$185>>2]|0;
$187 = $183 ^ $186;
$188 = (($$17990$i) + -32)|0;
$189 = ($188>>>0)>(31);
if ($189) {
$$092$i = $168;$$17791$i = $187;$$17990$i = $188;
} else {
break;
}
}
$23 = (($20) - ($21))|0;
$$0$lcssa$i = $scevgep115$i;$$177$lcssa$i = $187;$$179$lcssa$i = $23;
} else {
$$0$lcssa$i = $$08297$i;$$177$lcssa$i = $$07699$i;$$179$lcssa$i = $$07898$i;
}
$24 = ($$179$lcssa$i>>>0)>(3);
if ($24) {
$25 = (($$179$lcssa$i) + -4)|0;
$26 = $25 >>> 2;
$27 = (($26) + 1)|0;
$$187$i = $$0$lcssa$i;$$28085$i = $$179$lcssa$i;$$286$i = $$177$lcssa$i;
while(1) {
$190 = ((($$187$i)) + 4|0);
$191 = HEAP32[$$187$i>>2]|0;
$192 = $191 ^ $$286$i;
$193 = $192 & 255;
$194 = (4088 + ($193<<2)|0);
$195 = HEAP32[$194>>2]|0;
$196 = $192 >>> 8;
$197 = $196 & 255;
$198 = (3064 + ($197<<2)|0);
$199 = HEAP32[$198>>2]|0;
$200 = $199 ^ $195;
$201 = $192 >>> 16;
$202 = $201 & 255;
$203 = (2040 + ($202<<2)|0);
$204 = HEAP32[$203>>2]|0;
$205 = $200 ^ $204;
$206 = $192 >>> 24;
$207 = (1016 + ($206<<2)|0);
$208 = HEAP32[$207>>2]|0;
$209 = $205 ^ $208;
$210 = (($$28085$i) + -4)|0;
$211 = ($210>>>0)>(3);
if ($211) {
$$187$i = $190;$$28085$i = $210;$$286$i = $209;
} else {
break;
}
}
$212 = $26 << 2;
$scevgep$i = (($$0$lcssa$i) + ($27<<2)|0);
$213 = (($25) - ($212))|0;
$$1$lcssa$i = $scevgep$i;$$2$lcssa$i = $209;$$280$lcssa$i = $213;
} else {
$$1$lcssa$i = $$0$lcssa$i;$$2$lcssa$i = $$177$lcssa$i;$$280$lcssa$i = $$179$lcssa$i;
}
$214 = ($$280$lcssa$i|0)==(0);
if ($214) {
$$4$i = $$2$lcssa$i;
} else {
$$183$i = $$1$lcssa$i;$$3$i = $$2$lcssa$i;$$381$i = $$280$lcssa$i;
while(1) {
$215 = ((($$183$i)) + 1|0);
$216 = HEAP8[$$183$i>>0]|0;
$217 = $216&255;
$$3$masked$i = $$3$i & 255;
$218 = $217 ^ $$3$masked$i;
$219 = (1016 + ($218<<2)|0);
$220 = HEAP32[$219>>2]|0;
$221 = $$3$i >>> 8;
$222 = $220 ^ $221;
$223 = (($$381$i) + -1)|0;
$224 = ($223|0)==(0);
if ($224) {
$$4$i = $222;
break;
} else {
$$183$i = $215;$$3$i = $222;$$381$i = $223;
}
}
}
}
} while(0);
$225 = $$4$i ^ -1;
$$1 = $225;
return ($$1|0);
}
function _deflateInit2_($0,$1,$2,$3,$4,$5,$6,$7) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
$7 = $7|0;
var $$ = 0, $$$0115 = 0, $$0 = 0, $$0113 = 0, $$0115 = 0, $$116 = 0, $$117 = 0, $$in$i = 0, $$in51$i = 0, $$in52$i = 0, $$off = 0, $$pre$i = 0, $$pre43$i = 0, $$pre44$i = 0, $$pre45$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0;
var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0;
var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond118 = 0, $or$cond5 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$8 = ($6|0)==(0|0);
if ($8) {
$$0 = -6;
return ($$0|0);
}
$9 = HEAP8[$6>>0]|0;
$10 = ($9<<24>>24)!=(49);
$11 = ($7|0)!=(56);
$or$cond = $11 | $10;
if ($or$cond) {
$$0 = -6;
return ($$0|0);
}
$12 = ($0|0)==(0|0);
if ($12) {
$$0 = -2;
return ($$0|0);
}
$13 = ((($0)) + 24|0);
HEAP32[$13>>2] = 0;
$14 = ((($0)) + 32|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0|0);
if ($16) {
HEAP32[$14>>2] = 68;
$17 = ((($0)) + 40|0);
HEAP32[$17>>2] = 0;
$38 = 68;
} else {
$38 = $15;
}
$18 = ((($0)) + 36|0);
$19 = HEAP32[$18>>2]|0;
$20 = ($19|0)==(0|0);
if ($20) {
HEAP32[$18>>2] = 69;
}
$21 = ($1|0)==(-1);
$$ = $21 ? 6 : $1;
$22 = ($3|0)<(0);
if ($22) {
$23 = (0 - ($3))|0;
$$0113 = 0;$$0115 = $23;
} else {
$24 = ($3|0)>(15);
$25 = (($3) + -16)|0;
$$116 = $24 ? $25 : $3;
$$117 = $24 ? 2 : 1;
$$0113 = $$117;$$0115 = $$116;
}
$$off = (($4) + -1)|0;
$26 = ($$off>>>0)>(8);
$27 = ($2|0)!=(8);
$or$cond5 = $27 | $26;
$28 = $$0115 & -8;
$29 = ($28|0)!=(8);
$30 = $or$cond5 | $29;
$31 = ($$>>>0)>(9);
$32 = $31 | $30;
$33 = ($5>>>0)>(4);
$34 = $33 | $32;
if ($34) {
$$0 = -2;
return ($$0|0);
}
$35 = ($$0115|0)==(8);
$$$0115 = $35 ? 9 : $$0115;
$36 = ((($0)) + 40|0);
$37 = HEAP32[$36>>2]|0;
$39 = (FUNCTION_TABLE_iiii[$38 & 127]($37,1,5828)|0);
$40 = ($39|0)==(0|0);
if ($40) {
$$0 = -4;
return ($$0|0);
}
$41 = ((($0)) + 28|0);
HEAP32[$41>>2] = $39;
HEAP32[$39>>2] = $0;
$42 = ((($39)) + 24|0);
HEAP32[$42>>2] = $$0113;
$43 = ((($39)) + 28|0);
HEAP32[$43>>2] = 0;
$44 = ((($39)) + 48|0);
HEAP32[$44>>2] = $$$0115;
$45 = 1 << $$$0115;
$46 = ((($39)) + 44|0);
HEAP32[$46>>2] = $45;
$47 = (($45) + -1)|0;
$48 = ((($39)) + 52|0);
HEAP32[$48>>2] = $47;
$49 = (($4) + 7)|0;
$50 = ((($39)) + 80|0);
HEAP32[$50>>2] = $49;
$51 = 1 << $49;
$52 = ((($39)) + 76|0);
HEAP32[$52>>2] = $51;
$53 = (($51) + -1)|0;
$54 = ((($39)) + 84|0);
HEAP32[$54>>2] = $53;
$55 = (($4) + 9)|0;
$56 = (($55>>>0) / 3)&-1;
$57 = ((($39)) + 88|0);
HEAP32[$57>>2] = $56;
$58 = HEAP32[$14>>2]|0;
$59 = HEAP32[$36>>2]|0;
$60 = (FUNCTION_TABLE_iiii[$58 & 127]($59,$45,2)|0);
$61 = ((($39)) + 56|0);
HEAP32[$61>>2] = $60;
$62 = HEAP32[$14>>2]|0;
$63 = HEAP32[$36>>2]|0;
$64 = HEAP32[$46>>2]|0;
$65 = (FUNCTION_TABLE_iiii[$62 & 127]($63,$64,2)|0);
$66 = ((($39)) + 64|0);
HEAP32[$66>>2] = $65;
$67 = HEAP32[$14>>2]|0;
$68 = HEAP32[$36>>2]|0;
$69 = HEAP32[$52>>2]|0;
$70 = (FUNCTION_TABLE_iiii[$67 & 127]($68,$69,2)|0);
$71 = ((($39)) + 68|0);
HEAP32[$71>>2] = $70;
$72 = ((($39)) + 5824|0);
HEAP32[$72>>2] = 0;
$73 = (($4) + 6)|0;
$74 = 1 << $73;
$75 = ((($39)) + 5788|0);
HEAP32[$75>>2] = $74;
$76 = HEAP32[$14>>2]|0;
$77 = HEAP32[$36>>2]|0;
$78 = (FUNCTION_TABLE_iiii[$76 & 127]($77,$74,4)|0);
$79 = ((($39)) + 8|0);
HEAP32[$79>>2] = $78;
$80 = HEAP32[$75>>2]|0;
$81 = $80 << 2;
$82 = ((($39)) + 12|0);
HEAP32[$82>>2] = $81;
$83 = HEAP32[$61>>2]|0;
$84 = ($83|0)==(0|0);
if (!($84)) {
$85 = HEAP32[$66>>2]|0;
$86 = ($85|0)==(0|0);
if (!($86)) {
$87 = HEAP32[$71>>2]|0;
$88 = ($87|0)==(0|0);
$89 = ($78|0)==(0|0);
$or$cond118 = $88 | $89;
if (!($or$cond118)) {
$119 = $80 >>> 1;
$120 = (($78) + ($119<<1)|0);
$121 = ((($39)) + 5796|0);
HEAP32[$121>>2] = $120;
$122 = ($80*3)|0;
$123 = (($78) + ($122)|0);
$124 = ((($39)) + 5784|0);
HEAP32[$124>>2] = $123;
$125 = ((($39)) + 132|0);
HEAP32[$125>>2] = $$;
$126 = ((($39)) + 136|0);
HEAP32[$126>>2] = $5;
$127 = ((($39)) + 36|0);
HEAP8[$127>>0] = 8;
$128 = (_deflateReset($0)|0);
$$0 = $128;
return ($$0|0);
}
}
}
$90 = ((($39)) + 4|0);
HEAP32[$90>>2] = 666;
$91 = HEAP32[(9960)>>2]|0;
HEAP32[$13>>2] = $91;
$92 = HEAP32[$41>>2]|0;
$93 = ($92|0)==(0|0);
if ($93) {
$$0 = -4;
return ($$0|0);
}
$94 = ((($92)) + 4|0);
$95 = HEAP32[$94>>2]|0;
switch ($95|0) {
case 42: case 69: case 73: case 91: case 103: case 113: case 666: {
break;
}
default: {
$$0 = -4;
return ($$0|0);
}
}
$96 = ((($92)) + 8|0);
$97 = HEAP32[$96>>2]|0;
$98 = ($97|0)==(0|0);
if ($98) {
$$in$i = $92;
} else {
$99 = HEAP32[$18>>2]|0;
$100 = HEAP32[$36>>2]|0;
FUNCTION_TABLE_vii[$99 & 127]($100,$97);
$$pre$i = HEAP32[$41>>2]|0;
$$in$i = $$pre$i;
}
$101 = ((($$in$i)) + 68|0);
$102 = HEAP32[$101>>2]|0;
$103 = ($102|0)==(0|0);
if ($103) {
$$in51$i = $$in$i;
} else {
$104 = HEAP32[$18>>2]|0;
$105 = HEAP32[$36>>2]|0;
FUNCTION_TABLE_vii[$104 & 127]($105,$102);
$$pre43$i = HEAP32[$41>>2]|0;
$$in51$i = $$pre43$i;
}
$106 = ((($$in51$i)) + 64|0);
$107 = HEAP32[$106>>2]|0;
$108 = ($107|0)==(0|0);
if ($108) {
$$in52$i = $$in51$i;
} else {
$109 = HEAP32[$18>>2]|0;
$110 = HEAP32[$36>>2]|0;
FUNCTION_TABLE_vii[$109 & 127]($110,$107);
$$pre44$i = HEAP32[$41>>2]|0;
$$in52$i = $$pre44$i;
}
$111 = ((($$in52$i)) + 56|0);
$112 = HEAP32[$111>>2]|0;
$113 = ($112|0)==(0|0);
if ($113) {
$118 = $$in52$i;
} else {
$114 = HEAP32[$18>>2]|0;
$115 = HEAP32[$36>>2]|0;
FUNCTION_TABLE_vii[$114 & 127]($115,$112);
$$pre45$i = HEAP32[$41>>2]|0;
$118 = $$pre45$i;
}
$116 = HEAP32[$18>>2]|0;
$117 = HEAP32[$36>>2]|0;
FUNCTION_TABLE_vii[$116 & 127]($117,$118);
HEAP32[$41>>2] = 0;
$$0 = -4;
return ($$0|0);
}
function _deflateReset($0) {
$0 = $0|0;
var $$0$i4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0$i4 = -2;
return ($$0$i4|0);
}
$2 = ((($0)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if ($4) {
$$0$i4 = -2;
return ($$0$i4|0);
}
$5 = ((($0)) + 32|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if ($7) {
$$0$i4 = -2;
return ($$0$i4|0);
}
$8 = ((($0)) + 36|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
if ($10) {
$$0$i4 = -2;
return ($$0$i4|0);
}
$11 = ((($0)) + 20|0);
HEAP32[$11>>2] = 0;
$12 = ((($0)) + 8|0);
HEAP32[$12>>2] = 0;
$13 = ((($0)) + 24|0);
HEAP32[$13>>2] = 0;
$14 = ((($0)) + 44|0);
HEAP32[$14>>2] = 2;
$15 = ((($3)) + 20|0);
HEAP32[$15>>2] = 0;
$16 = ((($3)) + 8|0);
$17 = HEAP32[$16>>2]|0;
$18 = ((($3)) + 16|0);
HEAP32[$18>>2] = $17;
$19 = ((($3)) + 24|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)<(0);
$22 = (0 - ($20))|0;
if ($21) {
HEAP32[$19>>2] = $22;
$23 = $22;
} else {
$23 = $20;
}
$24 = ($23|0)!=(0);
$25 = $24 ? 42 : 113;
$26 = ((($3)) + 4|0);
HEAP32[$26>>2] = $25;
$27 = ($23|0)==(2);
if ($27) {
$28 = (_crc32(0,0,0)|0);
$31 = $28;
} else {
$29 = (_adler32(0,0,0)|0);
$31 = $29;
}
$30 = ((($0)) + 48|0);
HEAP32[$30>>2] = $31;
$32 = ((($3)) + 40|0);
HEAP32[$32>>2] = 0;
__tr_init($3);
$33 = HEAP32[$2>>2]|0;
$34 = ((($33)) + 44|0);
$35 = HEAP32[$34>>2]|0;
$36 = $35 << 1;
$37 = ((($33)) + 60|0);
HEAP32[$37>>2] = $36;
$38 = ((($33)) + 76|0);
$39 = HEAP32[$38>>2]|0;
$40 = (($39) + -1)|0;
$41 = ((($33)) + 68|0);
$42 = HEAP32[$41>>2]|0;
$43 = (($42) + ($40<<1)|0);
HEAP16[$43>>1] = 0;
$44 = $39 << 1;
$45 = (($44) + -2)|0;
_memset(($42|0),0,($45|0))|0;
$46 = ((($33)) + 132|0);
$47 = HEAP32[$46>>2]|0;
$48 = (((9208 + (($47*12)|0)|0)) + 2|0);
$49 = HEAP16[$48>>1]|0;
$50 = $49&65535;
$51 = ((($33)) + 128|0);
HEAP32[$51>>2] = $50;
$52 = (9208 + (($47*12)|0)|0);
$53 = HEAP16[$52>>1]|0;
$54 = $53&65535;
$55 = ((($33)) + 140|0);
HEAP32[$55>>2] = $54;
$56 = (((9208 + (($47*12)|0)|0)) + 4|0);
$57 = HEAP16[$56>>1]|0;
$58 = $57&65535;
$59 = ((($33)) + 144|0);
HEAP32[$59>>2] = $58;
$60 = (((9208 + (($47*12)|0)|0)) + 6|0);
$61 = HEAP16[$60>>1]|0;
$62 = $61&65535;
$63 = ((($33)) + 124|0);
HEAP32[$63>>2] = $62;
$64 = ((($33)) + 108|0);
HEAP32[$64>>2] = 0;
$65 = ((($33)) + 92|0);
HEAP32[$65>>2] = 0;
$66 = ((($33)) + 116|0);
HEAP32[$66>>2] = 0;
$67 = ((($33)) + 5812|0);
HEAP32[$67>>2] = 0;
$68 = ((($33)) + 120|0);
HEAP32[$68>>2] = 2;
$69 = ((($33)) + 96|0);
HEAP32[$69>>2] = 2;
$70 = ((($33)) + 104|0);
HEAP32[$70>>2] = 0;
$71 = ((($33)) + 72|0);
HEAP32[$71>>2] = 0;
$$0$i4 = 0;
return ($$0$i4|0);
}
function _deflate_stored($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$$i = 0, $$$i73 = 0, $$$i75 = 0, $$$i77 = 0, $$0 = 0, $$72 = 0, $$pr = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
var $182 = 0, $183 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 12|0);
$3 = HEAP32[$2>>2]|0;
$4 = (($3) + -5)|0;
$5 = ($4>>>0)<(65535);
$$ = $5 ? $4 : 65535;
$6 = ((($0)) + 116|0);
$7 = ((($0)) + 108|0);
$8 = ((($0)) + 92|0);
$9 = ((($0)) + 44|0);
$10 = ((($0)) + 56|0);
while(1) {
$11 = HEAP32[$6>>2]|0;
$12 = ($11>>>0)<(2);
if ($12) {
_fill_window($0);
$13 = HEAP32[$6>>2]|0;
$14 = $13 | $1;
$15 = ($14|0)==(0);
if ($15) {
$$0 = 0;
label = 35;
break;
}
$16 = ($13|0)==(0);
if ($16) {
label = 20;
break;
} else {
$19 = $13;
}
} else {
$19 = $11;
}
$17 = HEAP32[$7>>2]|0;
$18 = (($17) + ($19))|0;
HEAP32[$7>>2] = $18;
HEAP32[$6>>2] = 0;
$20 = HEAP32[$8>>2]|0;
$21 = (($20) + ($$))|0;
$22 = ($18|0)!=(0);
$23 = ($18>>>0)<($21>>>0);
$or$cond = $22 & $23;
if ($or$cond) {
$62 = $20;$63 = $18;
} else {
$24 = (($18) - ($21))|0;
HEAP32[$6>>2] = $24;
HEAP32[$7>>2] = $21;
$25 = ($20|0)>(-1);
if ($25) {
$26 = HEAP32[$10>>2]|0;
$27 = (($26) + ($20)|0);
$28 = $27;
} else {
$28 = 0;
}
__tr_flush_block($0,$28,$$,0);
$29 = HEAP32[$7>>2]|0;
HEAP32[$8>>2] = $29;
$30 = HEAP32[$0>>2]|0;
$31 = ((($30)) + 28|0);
$32 = HEAP32[$31>>2]|0;
__tr_flush_bits($32);
$33 = ((($32)) + 20|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($30)) + 16|0);
$36 = HEAP32[$35>>2]|0;
$37 = ($34>>>0)>($36>>>0);
$$$i = $37 ? $36 : $34;
$38 = ($$$i|0)==(0);
if (!($38)) {
$39 = ((($30)) + 12|0);
$40 = HEAP32[$39>>2]|0;
$41 = ((($32)) + 16|0);
$42 = HEAP32[$41>>2]|0;
_memcpy(($40|0),($42|0),($$$i|0))|0;
$43 = HEAP32[$39>>2]|0;
$44 = (($43) + ($$$i)|0);
HEAP32[$39>>2] = $44;
$45 = HEAP32[$41>>2]|0;
$46 = (($45) + ($$$i)|0);
HEAP32[$41>>2] = $46;
$47 = ((($30)) + 20|0);
$48 = HEAP32[$47>>2]|0;
$49 = (($48) + ($$$i))|0;
HEAP32[$47>>2] = $49;
$50 = HEAP32[$35>>2]|0;
$51 = (($50) - ($$$i))|0;
HEAP32[$35>>2] = $51;
$52 = HEAP32[$33>>2]|0;
$53 = (($52) - ($$$i))|0;
HEAP32[$33>>2] = $53;
$54 = ($53|0)==(0);
if ($54) {
$55 = ((($32)) + 8|0);
$56 = HEAP32[$55>>2]|0;
HEAP32[$41>>2] = $56;
}
}
$57 = HEAP32[$0>>2]|0;
$58 = ((($57)) + 16|0);
$59 = HEAP32[$58>>2]|0;
$60 = ($59|0)==(0);
if ($60) {
$$0 = 0;
label = 35;
break;
}
$$pr = HEAP32[$8>>2]|0;
$$pre = HEAP32[$7>>2]|0;
$62 = $$pr;$63 = $$pre;
}
$61 = (($63) - ($62))|0;
$64 = HEAP32[$9>>2]|0;
$65 = (($64) + -262)|0;
$66 = ($61>>>0)<($65>>>0);
if ($66) {
continue;
}
$67 = ($62|0)>(-1);
if ($67) {
$68 = HEAP32[$10>>2]|0;
$69 = (($68) + ($62)|0);
$70 = $69;
} else {
$70 = 0;
}
__tr_flush_block($0,$70,$61,0);
$71 = HEAP32[$7>>2]|0;
HEAP32[$8>>2] = $71;
$72 = HEAP32[$0>>2]|0;
$73 = ((($72)) + 28|0);
$74 = HEAP32[$73>>2]|0;
__tr_flush_bits($74);
$75 = ((($74)) + 20|0);
$76 = HEAP32[$75>>2]|0;
$77 = ((($72)) + 16|0);
$78 = HEAP32[$77>>2]|0;
$79 = ($76>>>0)>($78>>>0);
$$$i73 = $79 ? $78 : $76;
$80 = ($$$i73|0)==(0);
if (!($80)) {
$81 = ((($72)) + 12|0);
$82 = HEAP32[$81>>2]|0;
$83 = ((($74)) + 16|0);
$84 = HEAP32[$83>>2]|0;
_memcpy(($82|0),($84|0),($$$i73|0))|0;
$85 = HEAP32[$81>>2]|0;
$86 = (($85) + ($$$i73)|0);
HEAP32[$81>>2] = $86;
$87 = HEAP32[$83>>2]|0;
$88 = (($87) + ($$$i73)|0);
HEAP32[$83>>2] = $88;
$89 = ((($72)) + 20|0);
$90 = HEAP32[$89>>2]|0;
$91 = (($90) + ($$$i73))|0;
HEAP32[$89>>2] = $91;
$92 = HEAP32[$77>>2]|0;
$93 = (($92) - ($$$i73))|0;
HEAP32[$77>>2] = $93;
$94 = HEAP32[$75>>2]|0;
$95 = (($94) - ($$$i73))|0;
HEAP32[$75>>2] = $95;
$96 = ($95|0)==(0);
if ($96) {
$97 = ((($74)) + 8|0);
$98 = HEAP32[$97>>2]|0;
HEAP32[$83>>2] = $98;
}
}
$99 = HEAP32[$0>>2]|0;
$100 = ((($99)) + 16|0);
$101 = HEAP32[$100>>2]|0;
$102 = ($101|0)==(0);
if ($102) {
$$0 = 0;
label = 35;
break;
}
}
if ((label|0) == 20) {
$103 = ((($0)) + 5812|0);
HEAP32[$103>>2] = 0;
$104 = ($1|0)==(4);
if ($104) {
$105 = HEAP32[$8>>2]|0;
$106 = ($105|0)>(-1);
if ($106) {
$107 = HEAP32[$10>>2]|0;
$108 = (($107) + ($105)|0);
$111 = $108;
} else {
$111 = 0;
}
$109 = HEAP32[$7>>2]|0;
$110 = (($109) - ($105))|0;
__tr_flush_block($0,$111,$110,1);
$112 = HEAP32[$7>>2]|0;
HEAP32[$8>>2] = $112;
$113 = HEAP32[$0>>2]|0;
$114 = ((($113)) + 28|0);
$115 = HEAP32[$114>>2]|0;
__tr_flush_bits($115);
$116 = ((($115)) + 20|0);
$117 = HEAP32[$116>>2]|0;
$118 = ((($113)) + 16|0);
$119 = HEAP32[$118>>2]|0;
$120 = ($117>>>0)>($119>>>0);
$$$i75 = $120 ? $119 : $117;
$121 = ($$$i75|0)==(0);
if (!($121)) {
$122 = ((($113)) + 12|0);
$123 = HEAP32[$122>>2]|0;
$124 = ((($115)) + 16|0);
$125 = HEAP32[$124>>2]|0;
_memcpy(($123|0),($125|0),($$$i75|0))|0;
$126 = HEAP32[$122>>2]|0;
$127 = (($126) + ($$$i75)|0);
HEAP32[$122>>2] = $127;
$128 = HEAP32[$124>>2]|0;
$129 = (($128) + ($$$i75)|0);
HEAP32[$124>>2] = $129;
$130 = ((($113)) + 20|0);
$131 = HEAP32[$130>>2]|0;
$132 = (($131) + ($$$i75))|0;
HEAP32[$130>>2] = $132;
$133 = HEAP32[$118>>2]|0;
$134 = (($133) - ($$$i75))|0;
HEAP32[$118>>2] = $134;
$135 = HEAP32[$116>>2]|0;
$136 = (($135) - ($$$i75))|0;
HEAP32[$116>>2] = $136;
$137 = ($136|0)==(0);
if ($137) {
$138 = ((($115)) + 8|0);
$139 = HEAP32[$138>>2]|0;
HEAP32[$124>>2] = $139;
}
}
$140 = HEAP32[$0>>2]|0;
$141 = ((($140)) + 16|0);
$142 = HEAP32[$141>>2]|0;
$143 = ($142|0)==(0);
$$72 = $143 ? 2 : 3;
$$0 = $$72;
return ($$0|0);
}
$144 = HEAP32[$7>>2]|0;
$145 = HEAP32[$8>>2]|0;
$146 = ($144|0)>($145|0);
if ($146) {
$147 = ($145|0)>(-1);
if ($147) {
$148 = HEAP32[$10>>2]|0;
$149 = (($148) + ($145)|0);
$151 = $149;
} else {
$151 = 0;
}
$150 = (($144) - ($145))|0;
__tr_flush_block($0,$151,$150,0);
$152 = HEAP32[$7>>2]|0;
HEAP32[$8>>2] = $152;
$153 = HEAP32[$0>>2]|0;
$154 = ((($153)) + 28|0);
$155 = HEAP32[$154>>2]|0;
__tr_flush_bits($155);
$156 = ((($155)) + 20|0);
$157 = HEAP32[$156>>2]|0;
$158 = ((($153)) + 16|0);
$159 = HEAP32[$158>>2]|0;
$160 = ($157>>>0)>($159>>>0);
$$$i77 = $160 ? $159 : $157;
$161 = ($$$i77|0)==(0);
if (!($161)) {
$162 = ((($153)) + 12|0);
$163 = HEAP32[$162>>2]|0;
$164 = ((($155)) + 16|0);
$165 = HEAP32[$164>>2]|0;
_memcpy(($163|0),($165|0),($$$i77|0))|0;
$166 = HEAP32[$162>>2]|0;
$167 = (($166) + ($$$i77)|0);
HEAP32[$162>>2] = $167;
$168 = HEAP32[$164>>2]|0;
$169 = (($168) + ($$$i77)|0);
HEAP32[$164>>2] = $169;
$170 = ((($153)) + 20|0);
$171 = HEAP32[$170>>2]|0;
$172 = (($171) + ($$$i77))|0;
HEAP32[$170>>2] = $172;
$173 = HEAP32[$158>>2]|0;
$174 = (($173) - ($$$i77))|0;
HEAP32[$158>>2] = $174;
$175 = HEAP32[$156>>2]|0;
$176 = (($175) - ($$$i77))|0;
HEAP32[$156>>2] = $176;
$177 = ($176|0)==(0);
if ($177) {
$178 = ((($155)) + 8|0);
$179 = HEAP32[$178>>2]|0;
HEAP32[$164>>2] = $179;
}
}
$180 = HEAP32[$0>>2]|0;
$181 = ((($180)) + 16|0);
$182 = HEAP32[$181>>2]|0;
$183 = ($182|0)==(0);
if ($183) {
$$0 = 0;
return ($$0|0);
}
}
$$0 = 1;
return ($$0|0);
}
else if ((label|0) == 35) {
return ($$0|0);
}
return (0)|0;
}
function _deflate_fast($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$$i = 0, $$$i138 = 0, $$$i140 = 0, $$0 = 0, $$0135 = 0, $$137 = 0, $$pn = 0, $$pr = 0, $$pre = 0, $$pre143 = 0, $$pre144 = 0, $$pre145 = 0, $$pre146 = 0, $$pre147 = 0, $$pre148 = 0, $$pre149 = 0, $$sink = 0, $$sink$in = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0;
var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0;
var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0;
var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0;
var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0;
var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond136 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 116|0);
$3 = ($1|0)==(0);
$4 = ((($0)) + 72|0);
$5 = ((($0)) + 88|0);
$6 = ((($0)) + 108|0);
$7 = ((($0)) + 56|0);
$8 = ((($0)) + 84|0);
$9 = ((($0)) + 68|0);
$10 = ((($0)) + 52|0);
$11 = ((($0)) + 64|0);
$12 = ((($0)) + 44|0);
$13 = ((($0)) + 96|0);
$14 = ((($0)) + 112|0);
$15 = ((($0)) + 5792|0);
$16 = ((($0)) + 5796|0);
$17 = ((($0)) + 5784|0);
$18 = ((($0)) + 5788|0);
$19 = ((($0)) + 128|0);
$20 = ((($0)) + 92|0);
while(1) {
$21 = HEAP32[$2>>2]|0;
$22 = ($21>>>0)<(262);
if ($22) {
_fill_window($0);
$23 = HEAP32[$2>>2]|0;
$24 = ($23>>>0)<(262);
$or$cond = $3 & $24;
if ($or$cond) {
$$0 = 0;
label = 39;
break;
}
$25 = ($23|0)==(0);
if ($25) {
label = 24;
break;
}
$26 = ($23>>>0)>(2);
if ($26) {
label = 6;
} else {
label = 9;
}
} else {
label = 6;
}
if ((label|0) == 6) {
label = 0;
$27 = HEAP32[$4>>2]|0;
$28 = HEAP32[$5>>2]|0;
$29 = $27 << $28;
$30 = HEAP32[$6>>2]|0;
$31 = (($30) + 2)|0;
$32 = HEAP32[$7>>2]|0;
$33 = (($32) + ($31)|0);
$34 = HEAP8[$33>>0]|0;
$35 = $34&255;
$36 = $35 ^ $29;
$37 = HEAP32[$8>>2]|0;
$38 = $36 & $37;
HEAP32[$4>>2] = $38;
$39 = HEAP32[$9>>2]|0;
$40 = (($39) + ($38<<1)|0);
$41 = HEAP16[$40>>1]|0;
$42 = HEAP32[$10>>2]|0;
$43 = $42 & $30;
$44 = HEAP32[$11>>2]|0;
$45 = (($44) + ($43<<1)|0);
HEAP16[$45>>1] = $41;
$46 = $41&65535;
$47 = $30&65535;
HEAP16[$40>>1] = $47;
$48 = ($41<<16>>16)==(0);
if ($48) {
label = 9;
} else {
$49 = (($30) - ($46))|0;
$50 = HEAP32[$12>>2]|0;
$51 = (($50) + -262)|0;
$52 = ($49>>>0)>($51>>>0);
if ($52) {
label = 9;
} else {
$53 = (_longest_match($0,$46)|0);
HEAP32[$13>>2] = $53;
$54 = $53;
}
}
}
if ((label|0) == 9) {
label = 0;
$$pr = HEAP32[$13>>2]|0;
$54 = $$pr;
}
$55 = ($54>>>0)>(2);
do {
if ($55) {
$56 = (($54) + 253)|0;
$57 = $56&255;
$58 = HEAP32[$6>>2]|0;
$59 = HEAP32[$14>>2]|0;
$60 = (($58) - ($59))|0;
$61 = $60&65535;
$62 = HEAP32[$15>>2]|0;
$63 = HEAP32[$16>>2]|0;
$64 = (($63) + ($62<<1)|0);
HEAP16[$64>>1] = $61;
$65 = (($62) + 1)|0;
HEAP32[$15>>2] = $65;
$66 = HEAP32[$17>>2]|0;
$67 = (($66) + ($62)|0);
HEAP8[$67>>0] = $57;
$68 = (($60) + 65535)|0;
$69 = $56 & 255;
$70 = (28079 + ($69)|0);
$71 = HEAP8[$70>>0]|0;
$72 = $71&255;
$73 = $72 | 256;
$74 = (($73) + 1)|0;
$75 = (((($0)) + 148|0) + ($74<<2)|0);
$76 = HEAP16[$75>>1]|0;
$77 = (($76) + 1)<<16>>16;
HEAP16[$75>>1] = $77;
$78 = $68 & 65535;
$79 = ($78>>>0)<(256);
$80 = $78 >>> 7;
$81 = (($80) + 256)|0;
$$pn = $79 ? $78 : $81;
$$sink$in = (27567 + ($$pn)|0);
$$sink = HEAP8[$$sink$in>>0]|0;
$82 = $$sink&255;
$83 = (((($0)) + 2440|0) + ($82<<2)|0);
$84 = HEAP16[$83>>1]|0;
$85 = (($84) + 1)<<16>>16;
HEAP16[$83>>1] = $85;
$86 = HEAP32[$15>>2]|0;
$87 = HEAP32[$18>>2]|0;
$88 = (($87) + -1)|0;
$89 = ($86|0)==($88|0);
$90 = $89&1;
$91 = HEAP32[$13>>2]|0;
$92 = HEAP32[$2>>2]|0;
$93 = (($92) - ($91))|0;
HEAP32[$2>>2] = $93;
$94 = HEAP32[$19>>2]|0;
$95 = ($91>>>0)<=($94>>>0);
$96 = ($93>>>0)>(2);
$or$cond136 = $96 & $95;
if (!($or$cond136)) {
$117 = HEAP32[$6>>2]|0;
$118 = (($117) + ($91))|0;
HEAP32[$6>>2] = $118;
HEAP32[$13>>2] = 0;
$119 = HEAP32[$7>>2]|0;
$120 = (($119) + ($118)|0);
$121 = HEAP8[$120>>0]|0;
$122 = $121&255;
HEAP32[$4>>2] = $122;
$123 = HEAP32[$5>>2]|0;
$124 = $122 << $123;
$125 = (($118) + 1)|0;
$126 = (($119) + ($125)|0);
$127 = HEAP8[$126>>0]|0;
$128 = $127&255;
$129 = $128 ^ $124;
$130 = HEAP32[$8>>2]|0;
$131 = $129 & $130;
HEAP32[$4>>2] = $131;
$$0135 = $90;$161 = $118;
break;
}
$97 = (($91) + -1)|0;
HEAP32[$13>>2] = $97;
$$pre = HEAP32[$6>>2]|0;
$$pre143 = HEAP32[$4>>2]|0;
$$pre144 = HEAP32[$5>>2]|0;
$$pre145 = HEAP32[$7>>2]|0;
$$pre146 = HEAP32[$8>>2]|0;
$$pre147 = HEAP32[$9>>2]|0;
$$pre148 = HEAP32[$10>>2]|0;
$$pre149 = HEAP32[$11>>2]|0;
$101 = $$pre143;$114 = $97;$99 = $$pre;
while(1) {
$98 = (($99) + 1)|0;
HEAP32[$6>>2] = $98;
$100 = $101 << $$pre144;
$102 = (($99) + 3)|0;
$103 = (($$pre145) + ($102)|0);
$104 = HEAP8[$103>>0]|0;
$105 = $104&255;
$106 = $105 ^ $100;
$107 = $106 & $$pre146;
HEAP32[$4>>2] = $107;
$108 = (($$pre147) + ($107<<1)|0);
$109 = HEAP16[$108>>1]|0;
$110 = $$pre148 & $98;
$111 = (($$pre149) + ($110<<1)|0);
HEAP16[$111>>1] = $109;
$112 = $98&65535;
HEAP16[$108>>1] = $112;
$113 = (($114) + -1)|0;
HEAP32[$13>>2] = $113;
$115 = ($113|0)==(0);
if ($115) {
break;
} else {
$101 = $107;$114 = $113;$99 = $98;
}
}
$116 = (($99) + 2)|0;
HEAP32[$6>>2] = $116;
$$0135 = $90;$161 = $116;
} else {
$132 = HEAP32[$6>>2]|0;
$133 = HEAP32[$7>>2]|0;
$134 = (($133) + ($132)|0);
$135 = HEAP8[$134>>0]|0;
$136 = HEAP32[$15>>2]|0;
$137 = HEAP32[$16>>2]|0;
$138 = (($137) + ($136<<1)|0);
HEAP16[$138>>1] = 0;
$139 = (($136) + 1)|0;
HEAP32[$15>>2] = $139;
$140 = HEAP32[$17>>2]|0;
$141 = (($140) + ($136)|0);
HEAP8[$141>>0] = $135;
$142 = $135&255;
$143 = (((($0)) + 148|0) + ($142<<2)|0);
$144 = HEAP16[$143>>1]|0;
$145 = (($144) + 1)<<16>>16;
HEAP16[$143>>1] = $145;
$146 = HEAP32[$15>>2]|0;
$147 = HEAP32[$18>>2]|0;
$148 = (($147) + -1)|0;
$149 = ($146|0)==($148|0);
$150 = $149&1;
$151 = HEAP32[$2>>2]|0;
$152 = (($151) + -1)|0;
HEAP32[$2>>2] = $152;
$153 = HEAP32[$6>>2]|0;
$154 = (($153) + 1)|0;
HEAP32[$6>>2] = $154;
$$0135 = $150;$161 = $154;
}
} while(0);
$155 = ($$0135|0)==(0);
if ($155) {
continue;
}
$156 = HEAP32[$20>>2]|0;
$157 = ($156|0)>(-1);
if ($157) {
$158 = HEAP32[$7>>2]|0;
$159 = (($158) + ($156)|0);
$162 = $159;
} else {
$162 = 0;
}
$160 = (($161) - ($156))|0;
__tr_flush_block($0,$162,$160,0);
$163 = HEAP32[$6>>2]|0;
HEAP32[$20>>2] = $163;
$164 = HEAP32[$0>>2]|0;
$165 = ((($164)) + 28|0);
$166 = HEAP32[$165>>2]|0;
__tr_flush_bits($166);
$167 = ((($166)) + 20|0);
$168 = HEAP32[$167>>2]|0;
$169 = ((($164)) + 16|0);
$170 = HEAP32[$169>>2]|0;
$171 = ($168>>>0)>($170>>>0);
$$$i = $171 ? $170 : $168;
$172 = ($$$i|0)==(0);
if (!($172)) {
$173 = ((($164)) + 12|0);
$174 = HEAP32[$173>>2]|0;
$175 = ((($166)) + 16|0);
$176 = HEAP32[$175>>2]|0;
_memcpy(($174|0),($176|0),($$$i|0))|0;
$177 = HEAP32[$173>>2]|0;
$178 = (($177) + ($$$i)|0);
HEAP32[$173>>2] = $178;
$179 = HEAP32[$175>>2]|0;
$180 = (($179) + ($$$i)|0);
HEAP32[$175>>2] = $180;
$181 = ((($164)) + 20|0);
$182 = HEAP32[$181>>2]|0;
$183 = (($182) + ($$$i))|0;
HEAP32[$181>>2] = $183;
$184 = HEAP32[$169>>2]|0;
$185 = (($184) - ($$$i))|0;
HEAP32[$169>>2] = $185;
$186 = HEAP32[$167>>2]|0;
$187 = (($186) - ($$$i))|0;
HEAP32[$167>>2] = $187;
$188 = ($187|0)==(0);
if ($188) {
$189 = ((($166)) + 8|0);
$190 = HEAP32[$189>>2]|0;
HEAP32[$175>>2] = $190;
}
}
$191 = HEAP32[$0>>2]|0;
$192 = ((($191)) + 16|0);
$193 = HEAP32[$192>>2]|0;
$194 = ($193|0)==(0);
if ($194) {
$$0 = 0;
label = 39;
break;
}
}
if ((label|0) == 24) {
$195 = HEAP32[$6>>2]|0;
$196 = ($195>>>0)<(2);
$$ = $196 ? $195 : 2;
$197 = ((($0)) + 5812|0);
HEAP32[$197>>2] = $$;
$198 = ($1|0)==(4);
if ($198) {
$199 = HEAP32[$20>>2]|0;
$200 = ($199|0)>(-1);
if ($200) {
$201 = HEAP32[$7>>2]|0;
$202 = (($201) + ($199)|0);
$204 = $202;
} else {
$204 = 0;
}
$203 = (($195) - ($199))|0;
__tr_flush_block($0,$204,$203,1);
$205 = HEAP32[$6>>2]|0;
HEAP32[$20>>2] = $205;
$206 = HEAP32[$0>>2]|0;
$207 = ((($206)) + 28|0);
$208 = HEAP32[$207>>2]|0;
__tr_flush_bits($208);
$209 = ((($208)) + 20|0);
$210 = HEAP32[$209>>2]|0;
$211 = ((($206)) + 16|0);
$212 = HEAP32[$211>>2]|0;
$213 = ($210>>>0)>($212>>>0);
$$$i138 = $213 ? $212 : $210;
$214 = ($$$i138|0)==(0);
if (!($214)) {
$215 = ((($206)) + 12|0);
$216 = HEAP32[$215>>2]|0;
$217 = ((($208)) + 16|0);
$218 = HEAP32[$217>>2]|0;
_memcpy(($216|0),($218|0),($$$i138|0))|0;
$219 = HEAP32[$215>>2]|0;
$220 = (($219) + ($$$i138)|0);
HEAP32[$215>>2] = $220;
$221 = HEAP32[$217>>2]|0;
$222 = (($221) + ($$$i138)|0);
HEAP32[$217>>2] = $222;
$223 = ((($206)) + 20|0);
$224 = HEAP32[$223>>2]|0;
$225 = (($224) + ($$$i138))|0;
HEAP32[$223>>2] = $225;
$226 = HEAP32[$211>>2]|0;
$227 = (($226) - ($$$i138))|0;
HEAP32[$211>>2] = $227;
$228 = HEAP32[$209>>2]|0;
$229 = (($228) - ($$$i138))|0;
HEAP32[$209>>2] = $229;
$230 = ($229|0)==(0);
if ($230) {
$231 = ((($208)) + 8|0);
$232 = HEAP32[$231>>2]|0;
HEAP32[$217>>2] = $232;
}
}
$233 = HEAP32[$0>>2]|0;
$234 = ((($233)) + 16|0);
$235 = HEAP32[$234>>2]|0;
$236 = ($235|0)==(0);
$$137 = $236 ? 2 : 3;
$$0 = $$137;
return ($$0|0);
}
$237 = HEAP32[$15>>2]|0;
$238 = ($237|0)==(0);
if (!($238)) {
$239 = HEAP32[$20>>2]|0;
$240 = ($239|0)>(-1);
if ($240) {
$241 = HEAP32[$7>>2]|0;
$242 = (($241) + ($239)|0);
$244 = $242;
} else {
$244 = 0;
}
$243 = (($195) - ($239))|0;
__tr_flush_block($0,$244,$243,0);
$245 = HEAP32[$6>>2]|0;
HEAP32[$20>>2] = $245;
$246 = HEAP32[$0>>2]|0;
$247 = ((($246)) + 28|0);
$248 = HEAP32[$247>>2]|0;
__tr_flush_bits($248);
$249 = ((($248)) + 20|0);
$250 = HEAP32[$249>>2]|0;
$251 = ((($246)) + 16|0);
$252 = HEAP32[$251>>2]|0;
$253 = ($250>>>0)>($252>>>0);
$$$i140 = $253 ? $252 : $250;
$254 = ($$$i140|0)==(0);
if (!($254)) {
$255 = ((($246)) + 12|0);
$256 = HEAP32[$255>>2]|0;
$257 = ((($248)) + 16|0);
$258 = HEAP32[$257>>2]|0;
_memcpy(($256|0),($258|0),($$$i140|0))|0;
$259 = HEAP32[$255>>2]|0;
$260 = (($259) + ($$$i140)|0);
HEAP32[$255>>2] = $260;
$261 = HEAP32[$257>>2]|0;
$262 = (($261) + ($$$i140)|0);
HEAP32[$257>>2] = $262;
$263 = ((($246)) + 20|0);
$264 = HEAP32[$263>>2]|0;
$265 = (($264) + ($$$i140))|0;
HEAP32[$263>>2] = $265;
$266 = HEAP32[$251>>2]|0;
$267 = (($266) - ($$$i140))|0;
HEAP32[$251>>2] = $267;
$268 = HEAP32[$249>>2]|0;
$269 = (($268) - ($$$i140))|0;
HEAP32[$249>>2] = $269;
$270 = ($269|0)==(0);
if ($270) {
$271 = ((($248)) + 8|0);
$272 = HEAP32[$271>>2]|0;
HEAP32[$257>>2] = $272;
}
}
$273 = HEAP32[$0>>2]|0;
$274 = ((($273)) + 16|0);
$275 = HEAP32[$274>>2]|0;
$276 = ($275|0)==(0);
if ($276) {
$$0 = 0;
return ($$0|0);
}
}
$$0 = 1;
return ($$0|0);
}
else if ((label|0) == 39) {
return ($$0|0);
}
return (0)|0;
}
function _deflate_slow($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$$i = 0, $$$i173 = 0, $$$i175 = 0, $$$i177 = 0, $$172 = 0, $$2 = 0, $$neg181 = 0, $$pn = 0, $$pr = 0, $$pr179 = 0, $$pre = 0, $$sink = 0, $$sink$in = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0;
var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0;
var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0;
var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond185 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 116|0);
$3 = ($1|0)==(0);
$4 = ((($0)) + 72|0);
$5 = ((($0)) + 88|0);
$6 = ((($0)) + 108|0);
$7 = ((($0)) + 56|0);
$8 = ((($0)) + 84|0);
$9 = ((($0)) + 68|0);
$10 = ((($0)) + 52|0);
$11 = ((($0)) + 64|0);
$12 = ((($0)) + 96|0);
$13 = ((($0)) + 120|0);
$14 = ((($0)) + 112|0);
$15 = ((($0)) + 100|0);
$16 = ((($0)) + 5792|0);
$17 = ((($0)) + 5796|0);
$18 = ((($0)) + 5784|0);
$19 = ((($0)) + 5788|0);
$20 = ((($0)) + 104|0);
$21 = ((($0)) + 92|0);
$22 = ((($0)) + 128|0);
$23 = ((($0)) + 44|0);
$24 = ((($0)) + 136|0);
L1: while(1) {
$$pr = HEAP32[$2>>2]|0;
$25 = $$pr;
while(1) {
$26 = ($25>>>0)<(262);
if ($26) {
_fill_window($0);
$27 = HEAP32[$2>>2]|0;
$28 = ($27>>>0)<(262);
$or$cond = $3 & $28;
if ($or$cond) {
$$2 = 0;
label = 55;
break L1;
}
$29 = ($27|0)==(0);
if ($29) {
label = 38;
break L1;
}
$30 = ($27>>>0)>(2);
if ($30) {
label = 8;
} else {
$31 = HEAP32[$12>>2]|0;
HEAP32[$13>>2] = $31;
$32 = HEAP32[$14>>2]|0;
HEAP32[$15>>2] = $32;
HEAP32[$12>>2] = 2;
$350 = 2;
label = 16;
}
} else {
label = 8;
}
do {
if ((label|0) == 8) {
label = 0;
$33 = HEAP32[$4>>2]|0;
$34 = HEAP32[$5>>2]|0;
$35 = $33 << $34;
$36 = HEAP32[$6>>2]|0;
$37 = (($36) + 2)|0;
$38 = HEAP32[$7>>2]|0;
$39 = (($38) + ($37)|0);
$40 = HEAP8[$39>>0]|0;
$41 = $40&255;
$42 = $41 ^ $35;
$43 = HEAP32[$8>>2]|0;
$44 = $42 & $43;
HEAP32[$4>>2] = $44;
$45 = HEAP32[$9>>2]|0;
$46 = (($45) + ($44<<1)|0);
$47 = HEAP16[$46>>1]|0;
$48 = HEAP32[$10>>2]|0;
$49 = $48 & $36;
$50 = HEAP32[$11>>2]|0;
$51 = (($50) + ($49<<1)|0);
HEAP16[$51>>1] = $47;
$52 = $47&65535;
$53 = $36&65535;
HEAP16[$46>>1] = $53;
$54 = HEAP32[$12>>2]|0;
HEAP32[$13>>2] = $54;
$55 = HEAP32[$14>>2]|0;
HEAP32[$15>>2] = $55;
HEAP32[$12>>2] = 2;
$56 = ($47<<16>>16)==(0);
if ($56) {
$350 = 2;
label = 16;
} else {
$57 = HEAP32[$22>>2]|0;
$58 = ($54>>>0)<($57>>>0);
if ($58) {
$59 = HEAP32[$6>>2]|0;
$60 = (($59) - ($52))|0;
$61 = HEAP32[$23>>2]|0;
$62 = (($61) + -262)|0;
$63 = ($60>>>0)>($62>>>0);
if ($63) {
$350 = 2;
label = 16;
} else {
$64 = (_longest_match($0,$52)|0);
HEAP32[$12>>2] = $64;
$65 = ($64>>>0)<(6);
if ($65) {
$66 = HEAP32[$24>>2]|0;
$67 = ($66|0)==(1);
if (!($67)) {
$68 = ($64|0)==(3);
if (!($68)) {
$350 = $64;
label = 16;
break;
}
$69 = HEAP32[$6>>2]|0;
$70 = HEAP32[$14>>2]|0;
$71 = (($69) - ($70))|0;
$72 = ($71>>>0)>(4096);
if (!($72)) {
$350 = 3;
label = 16;
break;
}
}
HEAP32[$12>>2] = 2;
$350 = 2;
label = 16;
} else {
$350 = $64;
label = 16;
}
}
} else {
$73 = $54;$75 = 2;
}
}
}
} while(0);
if ((label|0) == 16) {
label = 0;
$$pr179 = HEAP32[$13>>2]|0;
$73 = $$pr179;$75 = $350;
}
$74 = ($73>>>0)<(3);
$76 = ($75>>>0)>($73>>>0);
$or$cond185 = $74 | $76;
if (!($or$cond185)) {
break;
}
$183 = HEAP32[$20>>2]|0;
$184 = ($183|0)==(0);
if ($184) {
HEAP32[$20>>2] = 1;
$247 = HEAP32[$6>>2]|0;
$248 = (($247) + 1)|0;
HEAP32[$6>>2] = $248;
$249 = HEAP32[$2>>2]|0;
$250 = (($249) + -1)|0;
HEAP32[$2>>2] = $250;
$25 = $250;
continue;
}
$185 = HEAP32[$6>>2]|0;
$186 = (($185) + -1)|0;
$187 = HEAP32[$7>>2]|0;
$188 = (($187) + ($186)|0);
$189 = HEAP8[$188>>0]|0;
$190 = HEAP32[$16>>2]|0;
$191 = HEAP32[$17>>2]|0;
$192 = (($191) + ($190<<1)|0);
HEAP16[$192>>1] = 0;
$193 = (($190) + 1)|0;
HEAP32[$16>>2] = $193;
$194 = HEAP32[$18>>2]|0;
$195 = (($194) + ($190)|0);
HEAP8[$195>>0] = $189;
$196 = $189&255;
$197 = (((($0)) + 148|0) + ($196<<2)|0);
$198 = HEAP16[$197>>1]|0;
$199 = (($198) + 1)<<16>>16;
HEAP16[$197>>1] = $199;
$200 = HEAP32[$16>>2]|0;
$201 = HEAP32[$19>>2]|0;
$202 = (($201) + -1)|0;
$203 = ($200|0)==($202|0);
if ($203) {
$204 = HEAP32[$21>>2]|0;
$205 = ($204|0)>(-1);
if ($205) {
$206 = HEAP32[$7>>2]|0;
$207 = (($206) + ($204)|0);
$210 = $207;
} else {
$210 = 0;
}
$208 = HEAP32[$6>>2]|0;
$209 = (($208) - ($204))|0;
__tr_flush_block($0,$210,$209,0);
$211 = HEAP32[$6>>2]|0;
HEAP32[$21>>2] = $211;
$212 = HEAP32[$0>>2]|0;
$213 = ((($212)) + 28|0);
$214 = HEAP32[$213>>2]|0;
__tr_flush_bits($214);
$215 = ((($214)) + 20|0);
$216 = HEAP32[$215>>2]|0;
$217 = ((($212)) + 16|0);
$218 = HEAP32[$217>>2]|0;
$219 = ($216>>>0)>($218>>>0);
$$$i173 = $219 ? $218 : $216;
$220 = ($$$i173|0)==(0);
if (!($220)) {
$221 = ((($212)) + 12|0);
$222 = HEAP32[$221>>2]|0;
$223 = ((($214)) + 16|0);
$224 = HEAP32[$223>>2]|0;
_memcpy(($222|0),($224|0),($$$i173|0))|0;
$225 = HEAP32[$221>>2]|0;
$226 = (($225) + ($$$i173)|0);
HEAP32[$221>>2] = $226;
$227 = HEAP32[$223>>2]|0;
$228 = (($227) + ($$$i173)|0);
HEAP32[$223>>2] = $228;
$229 = ((($212)) + 20|0);
$230 = HEAP32[$229>>2]|0;
$231 = (($230) + ($$$i173))|0;
HEAP32[$229>>2] = $231;
$232 = HEAP32[$217>>2]|0;
$233 = (($232) - ($$$i173))|0;
HEAP32[$217>>2] = $233;
$234 = HEAP32[$215>>2]|0;
$235 = (($234) - ($$$i173))|0;
HEAP32[$215>>2] = $235;
$236 = ($235|0)==(0);
if ($236) {
$237 = ((($214)) + 8|0);
$238 = HEAP32[$237>>2]|0;
HEAP32[$223>>2] = $238;
}
}
}
$239 = HEAP32[$6>>2]|0;
$240 = (($239) + 1)|0;
HEAP32[$6>>2] = $240;
$241 = HEAP32[$2>>2]|0;
$242 = (($241) + -1)|0;
HEAP32[$2>>2] = $242;
$243 = HEAP32[$0>>2]|0;
$244 = ((($243)) + 16|0);
$245 = HEAP32[$244>>2]|0;
$246 = ($245|0)==(0);
if ($246) {
$$2 = 0;
label = 55;
break L1;
} else {
$25 = $242;
}
}
$77 = HEAP32[$6>>2]|0;
$78 = HEAP32[$2>>2]|0;
$79 = (($77) + -3)|0;
$80 = (($79) + ($78))|0;
$81 = (($73) + 253)|0;
$82 = $81&255;
$83 = (($77) + 65535)|0;
$84 = HEAP32[$15>>2]|0;
$85 = (($83) - ($84))|0;
$86 = $85&65535;
$87 = HEAP32[$16>>2]|0;
$88 = HEAP32[$17>>2]|0;
$89 = (($88) + ($87<<1)|0);
HEAP16[$89>>1] = $86;
$90 = (($87) + 1)|0;
HEAP32[$16>>2] = $90;
$91 = HEAP32[$18>>2]|0;
$92 = (($91) + ($87)|0);
HEAP8[$92>>0] = $82;
$93 = (($85) + 65535)|0;
$94 = $81 & 255;
$95 = (28079 + ($94)|0);
$96 = HEAP8[$95>>0]|0;
$97 = $96&255;
$98 = $97 | 256;
$99 = (($98) + 1)|0;
$100 = (((($0)) + 148|0) + ($99<<2)|0);
$101 = HEAP16[$100>>1]|0;
$102 = (($101) + 1)<<16>>16;
HEAP16[$100>>1] = $102;
$103 = $93 & 65535;
$104 = ($103>>>0)<(256);
$105 = $103 >>> 7;
$106 = (($105) + 256)|0;
$$pn = $104 ? $103 : $106;
$$sink$in = (27567 + ($$pn)|0);
$$sink = HEAP8[$$sink$in>>0]|0;
$107 = $$sink&255;
$108 = (((($0)) + 2440|0) + ($107<<2)|0);
$109 = HEAP16[$108>>1]|0;
$110 = (($109) + 1)<<16>>16;
HEAP16[$108>>1] = $110;
$111 = HEAP32[$16>>2]|0;
$112 = HEAP32[$19>>2]|0;
$113 = (($112) + -1)|0;
$114 = HEAP32[$13>>2]|0;
$115 = HEAP32[$2>>2]|0;
$$neg181 = (1 - ($114))|0;
$116 = (($$neg181) + ($115))|0;
HEAP32[$2>>2] = $116;
$117 = (($114) + -2)|0;
HEAP32[$13>>2] = $117;
$$pre = HEAP32[$6>>2]|0;
$119 = $$pre;$141 = $117;
while(1) {
$118 = (($119) + 1)|0;
HEAP32[$6>>2] = $118;
$120 = ($118>>>0)>($80>>>0);
if (!($120)) {
$121 = HEAP32[$4>>2]|0;
$122 = HEAP32[$5>>2]|0;
$123 = $121 << $122;
$124 = (($119) + 3)|0;
$125 = HEAP32[$7>>2]|0;
$126 = (($125) + ($124)|0);
$127 = HEAP8[$126>>0]|0;
$128 = $127&255;
$129 = $128 ^ $123;
$130 = HEAP32[$8>>2]|0;
$131 = $129 & $130;
HEAP32[$4>>2] = $131;
$132 = HEAP32[$9>>2]|0;
$133 = (($132) + ($131<<1)|0);
$134 = HEAP16[$133>>1]|0;
$135 = HEAP32[$10>>2]|0;
$136 = $135 & $118;
$137 = HEAP32[$11>>2]|0;
$138 = (($137) + ($136<<1)|0);
HEAP16[$138>>1] = $134;
$139 = $118&65535;
HEAP16[$133>>1] = $139;
}
$140 = (($141) + -1)|0;
HEAP32[$13>>2] = $140;
$142 = ($140|0)==(0);
if ($142) {
break;
} else {
$119 = $118;$141 = $140;
}
}
$143 = ($111|0)==($113|0);
HEAP32[$20>>2] = 0;
HEAP32[$12>>2] = 2;
$144 = (($119) + 2)|0;
HEAP32[$6>>2] = $144;
if (!($143)) {
continue;
}
$145 = HEAP32[$21>>2]|0;
$146 = ($145|0)>(-1);
if ($146) {
$147 = HEAP32[$7>>2]|0;
$148 = (($147) + ($145)|0);
$150 = $148;
} else {
$150 = 0;
}
$149 = (($144) - ($145))|0;
__tr_flush_block($0,$150,$149,0);
$151 = HEAP32[$6>>2]|0;
HEAP32[$21>>2] = $151;
$152 = HEAP32[$0>>2]|0;
$153 = ((($152)) + 28|0);
$154 = HEAP32[$153>>2]|0;
__tr_flush_bits($154);
$155 = ((($154)) + 20|0);
$156 = HEAP32[$155>>2]|0;
$157 = ((($152)) + 16|0);
$158 = HEAP32[$157>>2]|0;
$159 = ($156>>>0)>($158>>>0);
$$$i = $159 ? $158 : $156;
$160 = ($$$i|0)==(0);
if (!($160)) {
$161 = ((($152)) + 12|0);
$162 = HEAP32[$161>>2]|0;
$163 = ((($154)) + 16|0);
$164 = HEAP32[$163>>2]|0;
_memcpy(($162|0),($164|0),($$$i|0))|0;
$165 = HEAP32[$161>>2]|0;
$166 = (($165) + ($$$i)|0);
HEAP32[$161>>2] = $166;
$167 = HEAP32[$163>>2]|0;
$168 = (($167) + ($$$i)|0);
HEAP32[$163>>2] = $168;
$169 = ((($152)) + 20|0);
$170 = HEAP32[$169>>2]|0;
$171 = (($170) + ($$$i))|0;
HEAP32[$169>>2] = $171;
$172 = HEAP32[$157>>2]|0;
$173 = (($172) - ($$$i))|0;
HEAP32[$157>>2] = $173;
$174 = HEAP32[$155>>2]|0;
$175 = (($174) - ($$$i))|0;
HEAP32[$155>>2] = $175;
$176 = ($175|0)==(0);
if ($176) {
$177 = ((($154)) + 8|0);
$178 = HEAP32[$177>>2]|0;
HEAP32[$163>>2] = $178;
}
}
$179 = HEAP32[$0>>2]|0;
$180 = ((($179)) + 16|0);
$181 = HEAP32[$180>>2]|0;
$182 = ($181|0)==(0);
if ($182) {
$$2 = 0;
label = 55;
break;
}
}
if ((label|0) == 38) {
$251 = HEAP32[$20>>2]|0;
$252 = ($251|0)==(0);
if (!($252)) {
$253 = HEAP32[$6>>2]|0;
$254 = (($253) + -1)|0;
$255 = HEAP32[$7>>2]|0;
$256 = (($255) + ($254)|0);
$257 = HEAP8[$256>>0]|0;
$258 = HEAP32[$16>>2]|0;
$259 = HEAP32[$17>>2]|0;
$260 = (($259) + ($258<<1)|0);
HEAP16[$260>>1] = 0;
$261 = (($258) + 1)|0;
HEAP32[$16>>2] = $261;
$262 = HEAP32[$18>>2]|0;
$263 = (($262) + ($258)|0);
HEAP8[$263>>0] = $257;
$264 = $257&255;
$265 = (((($0)) + 148|0) + ($264<<2)|0);
$266 = HEAP16[$265>>1]|0;
$267 = (($266) + 1)<<16>>16;
HEAP16[$265>>1] = $267;
HEAP32[$20>>2] = 0;
}
$268 = HEAP32[$6>>2]|0;
$269 = ($268>>>0)<(2);
$$ = $269 ? $268 : 2;
$270 = ((($0)) + 5812|0);
HEAP32[$270>>2] = $$;
$271 = ($1|0)==(4);
if ($271) {
$272 = HEAP32[$21>>2]|0;
$273 = ($272|0)>(-1);
if ($273) {
$274 = HEAP32[$7>>2]|0;
$275 = (($274) + ($272)|0);
$277 = $275;
} else {
$277 = 0;
}
$276 = (($268) - ($272))|0;
__tr_flush_block($0,$277,$276,1);
$278 = HEAP32[$6>>2]|0;
HEAP32[$21>>2] = $278;
$279 = HEAP32[$0>>2]|0;
$280 = ((($279)) + 28|0);
$281 = HEAP32[$280>>2]|0;
__tr_flush_bits($281);
$282 = ((($281)) + 20|0);
$283 = HEAP32[$282>>2]|0;
$284 = ((($279)) + 16|0);
$285 = HEAP32[$284>>2]|0;
$286 = ($283>>>0)>($285>>>0);
$$$i175 = $286 ? $285 : $283;
$287 = ($$$i175|0)==(0);
if (!($287)) {
$288 = ((($279)) + 12|0);
$289 = HEAP32[$288>>2]|0;
$290 = ((($281)) + 16|0);
$291 = HEAP32[$290>>2]|0;
_memcpy(($289|0),($291|0),($$$i175|0))|0;
$292 = HEAP32[$288>>2]|0;
$293 = (($292) + ($$$i175)|0);
HEAP32[$288>>2] = $293;
$294 = HEAP32[$290>>2]|0;
$295 = (($294) + ($$$i175)|0);
HEAP32[$290>>2] = $295;
$296 = ((($279)) + 20|0);
$297 = HEAP32[$296>>2]|0;
$298 = (($297) + ($$$i175))|0;
HEAP32[$296>>2] = $298;
$299 = HEAP32[$284>>2]|0;
$300 = (($299) - ($$$i175))|0;
HEAP32[$284>>2] = $300;
$301 = HEAP32[$282>>2]|0;
$302 = (($301) - ($$$i175))|0;
HEAP32[$282>>2] = $302;
$303 = ($302|0)==(0);
if ($303) {
$304 = ((($281)) + 8|0);
$305 = HEAP32[$304>>2]|0;
HEAP32[$290>>2] = $305;
}
}
$306 = HEAP32[$0>>2]|0;
$307 = ((($306)) + 16|0);
$308 = HEAP32[$307>>2]|0;
$309 = ($308|0)==(0);
$$172 = $309 ? 2 : 3;
$$2 = $$172;
return ($$2|0);
}
$310 = HEAP32[$16>>2]|0;
$311 = ($310|0)==(0);
if (!($311)) {
$312 = HEAP32[$21>>2]|0;
$313 = ($312|0)>(-1);
if ($313) {
$314 = HEAP32[$7>>2]|0;
$315 = (($314) + ($312)|0);
$317 = $315;
} else {
$317 = 0;
}
$316 = (($268) - ($312))|0;
__tr_flush_block($0,$317,$316,0);
$318 = HEAP32[$6>>2]|0;
HEAP32[$21>>2] = $318;
$319 = HEAP32[$0>>2]|0;
$320 = ((($319)) + 28|0);
$321 = HEAP32[$320>>2]|0;
__tr_flush_bits($321);
$322 = ((($321)) + 20|0);
$323 = HEAP32[$322>>2]|0;
$324 = ((($319)) + 16|0);
$325 = HEAP32[$324>>2]|0;
$326 = ($323>>>0)>($325>>>0);
$$$i177 = $326 ? $325 : $323;
$327 = ($$$i177|0)==(0);
if (!($327)) {
$328 = ((($319)) + 12|0);
$329 = HEAP32[$328>>2]|0;
$330 = ((($321)) + 16|0);
$331 = HEAP32[$330>>2]|0;
_memcpy(($329|0),($331|0),($$$i177|0))|0;
$332 = HEAP32[$328>>2]|0;
$333 = (($332) + ($$$i177)|0);
HEAP32[$328>>2] = $333;
$334 = HEAP32[$330>>2]|0;
$335 = (($334) + ($$$i177)|0);
HEAP32[$330>>2] = $335;
$336 = ((($319)) + 20|0);
$337 = HEAP32[$336>>2]|0;
$338 = (($337) + ($$$i177))|0;
HEAP32[$336>>2] = $338;
$339 = HEAP32[$324>>2]|0;
$340 = (($339) - ($$$i177))|0;
HEAP32[$324>>2] = $340;
$341 = HEAP32[$322>>2]|0;
$342 = (($341) - ($$$i177))|0;
HEAP32[$322>>2] = $342;
$343 = ($342|0)==(0);
if ($343) {
$344 = ((($321)) + 8|0);
$345 = HEAP32[$344>>2]|0;
HEAP32[$330>>2] = $345;
}
}
$346 = HEAP32[$0>>2]|0;
$347 = ((($346)) + 16|0);
$348 = HEAP32[$347>>2]|0;
$349 = ($348|0)==(0);
if ($349) {
$$2 = 0;
return ($$2|0);
}
}
$$2 = 1;
return ($$2|0);
}
else if ((label|0) == 55) {
return ($$2|0);
}
return (0)|0;
}
function _fill_window($0) {
$0 = $0|0;
var $$ = 0, $$$i = 0, $$0123 = 0, $$0124 = 0, $$0125 = 0, $$0126 = 0, $$025$i = 0, $$1 = 0, $$1127 = 0, $$130 = 0, $$pre = 0, $$pre135 = 0, $$pre136 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 44|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($0)) + 60|0);
$4 = ((($0)) + 116|0);
$5 = ((($0)) + 108|0);
$6 = (($2) + -262)|0;
$7 = ((($0)) + 56|0);
$8 = ((($0)) + 5812|0);
$9 = ((($0)) + 72|0);
$10 = ((($0)) + 88|0);
$11 = ((($0)) + 84|0);
$12 = ((($0)) + 68|0);
$13 = ((($0)) + 52|0);
$14 = ((($0)) + 64|0);
$15 = ((($0)) + 112|0);
$16 = ((($0)) + 92|0);
$17 = ((($0)) + 76|0);
$$pre = HEAP32[$4>>2]|0;
$20 = $$pre;$24 = $2;
while(1) {
$18 = HEAP32[$3>>2]|0;
$19 = (($18) - ($20))|0;
$21 = HEAP32[$5>>2]|0;
$22 = (($19) - ($21))|0;
$23 = (($6) + ($24))|0;
$25 = ($21>>>0)<($23>>>0);
if ($25) {
$$0125 = $22;$64 = $21;
} else {
$26 = HEAP32[$7>>2]|0;
$27 = (($26) + ($2)|0);
_memcpy(($26|0),($27|0),($2|0))|0;
$28 = HEAP32[$15>>2]|0;
$29 = (($28) - ($2))|0;
HEAP32[$15>>2] = $29;
$30 = HEAP32[$5>>2]|0;
$31 = (($30) - ($2))|0;
HEAP32[$5>>2] = $31;
$32 = HEAP32[$16>>2]|0;
$33 = (($32) - ($2))|0;
HEAP32[$16>>2] = $33;
$34 = HEAP32[$17>>2]|0;
$35 = HEAP32[$12>>2]|0;
$36 = (($35) + ($34<<1)|0);
$$0123 = $34;$$0126 = $36;
while(1) {
$37 = ((($$0126)) + -2|0);
$38 = HEAP16[$37>>1]|0;
$39 = $38&65535;
$40 = ($39>>>0)<($2>>>0);
$41 = (($39) - ($2))|0;
$42 = $41&65535;
$43 = $40 ? 0 : $42;
HEAP16[$37>>1] = $43;
$44 = (($$0123) + -1)|0;
$45 = ($44|0)==(0);
if ($45) {
break;
} else {
$$0123 = $44;$$0126 = $37;
}
}
$46 = HEAP32[$14>>2]|0;
$47 = (($46) + ($2<<1)|0);
$$1 = $2;$$1127 = $47;
while(1) {
$48 = ((($$1127)) + -2|0);
$49 = HEAP16[$48>>1]|0;
$50 = $49&65535;
$51 = ($50>>>0)<($2>>>0);
$52 = (($50) - ($2))|0;
$53 = $52&65535;
$54 = $51 ? 0 : $53;
HEAP16[$48>>1] = $54;
$55 = (($$1) + -1)|0;
$56 = ($55|0)==(0);
if ($56) {
break;
} else {
$$1 = $55;$$1127 = $48;
}
}
$57 = (($22) + ($2))|0;
$$0125 = $57;$64 = $31;
}
$58 = HEAP32[$0>>2]|0;
$59 = ((($58)) + 4|0);
$60 = HEAP32[$59>>2]|0;
$61 = ($60|0)==(0);
if ($61) {
break;
}
$62 = HEAP32[$7>>2]|0;
$63 = (($62) + ($64)|0);
$65 = HEAP32[$4>>2]|0;
$66 = (($63) + ($65)|0);
$67 = ($60>>>0)>($$0125>>>0);
$$$i = $67 ? $$0125 : $60;
$68 = ($$$i|0)==(0);
if ($68) {
$$025$i = 0;$87 = $65;
} else {
$69 = (($60) - ($$$i))|0;
HEAP32[$59>>2] = $69;
$70 = HEAP32[$58>>2]|0;
_memcpy(($66|0),($70|0),($$$i|0))|0;
$71 = ((($58)) + 28|0);
$72 = HEAP32[$71>>2]|0;
$73 = ((($72)) + 24|0);
$74 = HEAP32[$73>>2]|0;
switch ($74|0) {
case 1: {
$75 = ((($58)) + 48|0);
$76 = HEAP32[$75>>2]|0;
$77 = (_adler32($76,$66,$$$i)|0);
HEAP32[$75>>2] = $77;
break;
}
case 2: {
$78 = ((($58)) + 48|0);
$79 = HEAP32[$78>>2]|0;
$80 = (_crc32($79,$66,$$$i)|0);
HEAP32[$78>>2] = $80;
break;
}
default: {
}
}
$81 = HEAP32[$58>>2]|0;
$82 = (($81) + ($$$i)|0);
HEAP32[$58>>2] = $82;
$83 = ((($58)) + 8|0);
$84 = HEAP32[$83>>2]|0;
$85 = (($84) + ($$$i))|0;
HEAP32[$83>>2] = $85;
$$pre136 = HEAP32[$4>>2]|0;
$$025$i = $$$i;$87 = $$pre136;
}
$86 = (($87) + ($$025$i))|0;
HEAP32[$4>>2] = $86;
$88 = HEAP32[$8>>2]|0;
$89 = (($88) + ($86))|0;
$90 = ($89>>>0)>(2);
L20: do {
if ($90) {
$91 = HEAP32[$5>>2]|0;
$92 = (($91) - ($88))|0;
$93 = HEAP32[$7>>2]|0;
$94 = (($93) + ($92)|0);
$95 = HEAP8[$94>>0]|0;
$96 = $95&255;
HEAP32[$9>>2] = $96;
$97 = HEAP32[$10>>2]|0;
$98 = $96 << $97;
$99 = (($92) + 1)|0;
$100 = (($93) + ($99)|0);
$101 = HEAP8[$100>>0]|0;
$102 = $101&255;
$103 = $102 ^ $98;
$104 = HEAP32[$11>>2]|0;
$105 = $103 & $104;
HEAP32[$9>>2] = $105;
$$0124 = $92;$106 = $88;$109 = $105;
while(1) {
$107 = ($106|0)==(0);
if ($107) {
break L20;
}
$108 = $109 << $97;
$110 = (($$0124) + 2)|0;
$111 = (($93) + ($110)|0);
$112 = HEAP8[$111>>0]|0;
$113 = $112&255;
$114 = $113 ^ $108;
$115 = $114 & $104;
HEAP32[$9>>2] = $115;
$116 = HEAP32[$12>>2]|0;
$117 = (($116) + ($115<<1)|0);
$118 = HEAP16[$117>>1]|0;
$119 = HEAP32[$13>>2]|0;
$120 = $119 & $$0124;
$121 = HEAP32[$14>>2]|0;
$122 = (($121) + ($120<<1)|0);
HEAP16[$122>>1] = $118;
$123 = $$0124&65535;
HEAP16[$117>>1] = $123;
$124 = (($$0124) + 1)|0;
$125 = (($106) + -1)|0;
HEAP32[$8>>2] = $125;
$126 = (($86) + ($125))|0;
$127 = ($126>>>0)<(3);
if ($127) {
break;
} else {
$$0124 = $124;$106 = $125;$109 = $115;
}
}
}
} while(0);
$128 = ($86>>>0)<(262);
if (!($128)) {
break;
}
$129 = HEAP32[$0>>2]|0;
$130 = ((($129)) + 4|0);
$131 = HEAP32[$130>>2]|0;
$132 = ($131|0)==(0);
if ($132) {
break;
}
$$pre135 = HEAP32[$1>>2]|0;
$20 = $86;$24 = $$pre135;
}
$133 = ((($0)) + 5824|0);
$134 = HEAP32[$133>>2]|0;
$135 = HEAP32[$3>>2]|0;
$136 = ($135>>>0)>($134>>>0);
if (!($136)) {
return;
}
$137 = HEAP32[$5>>2]|0;
$138 = HEAP32[$4>>2]|0;
$139 = (($138) + ($137))|0;
$140 = ($134>>>0)<($139>>>0);
if ($140) {
$141 = (($135) - ($139))|0;
$142 = ($141>>>0)>(258);
$$ = $142 ? 258 : $141;
$143 = HEAP32[$7>>2]|0;
$144 = (($143) + ($139)|0);
_memset(($144|0),0,($$|0))|0;
$145 = (($$) + ($139))|0;
HEAP32[$133>>2] = $145;
return;
}
$146 = (($139) + 258)|0;
$147 = ($146>>>0)>($134>>>0);
if (!($147)) {
return;
}
$148 = (($146) - ($134))|0;
$149 = (($135) - ($134))|0;
$150 = ($148>>>0)>($149>>>0);
$$130 = $150 ? $149 : $148;
$151 = HEAP32[$7>>2]|0;
$152 = (($151) + ($134)|0);
_memset(($152|0),0,($$130|0))|0;
$153 = HEAP32[$133>>2]|0;
$154 = (($153) + ($$130))|0;
HEAP32[$133>>2] = $154;
return;
}
function _longest_match($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$$2116 = 0, $$0 = 0, $$0105 = 0, $$0108 = 0, $$0109 = 0, $$0114 = 0, $$1 = 0, $$1106 = 0, $$1110 = 0, $$1112$add = 0, $$1112$idx = 0, $$1112$ptr = 0, $$1115 = 0, $$118 = 0, $$2 = 0, $$2116 = 0, $$ptr = 0, $$ptr120 = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 124|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 56|0);
$5 = HEAP32[$4>>2]|0;
$6 = ((($0)) + 108|0);
$7 = HEAP32[$6>>2]|0;
$8 = (($5) + ($7)|0);
$9 = ((($0)) + 120|0);
$10 = HEAP32[$9>>2]|0;
$11 = ((($0)) + 144|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($0)) + 44|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($14) + -262)|0;
$16 = ($7>>>0)>($15>>>0);
$17 = (($7) - ($15))|0;
$$ = $16 ? $17 : 0;
$18 = ((($0)) + 64|0);
$19 = HEAP32[$18>>2]|0;
$20 = ((($0)) + 52|0);
$21 = HEAP32[$20>>2]|0;
$$ptr120 = ((($8)) + 258|0);
$22 = (($10) + -1)|0;
$23 = (($8) + ($22)|0);
$24 = HEAP8[$23>>0]|0;
$25 = (($8) + ($10)|0);
$26 = HEAP8[$25>>0]|0;
$27 = ((($0)) + 140|0);
$28 = HEAP32[$27>>2]|0;
$29 = ($10>>>0)<($28>>>0);
$30 = $3 >>> 2;
$$0109 = $29 ? $3 : $30;
$31 = ((($0)) + 116|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($12>>>0)>($32>>>0);
$$118 = $33 ? $32 : $12;
$34 = ((($0)) + 112|0);
$35 = ((($8)) + 1|0);
$36 = $$ptr120;
$$0 = $26;$$0105 = $24;$$0108 = $1;$$0114 = $10;$$1110 = $$0109;
while(1) {
$37 = (($5) + ($$0108)|0);
$38 = (($37) + ($$0114)|0);
$39 = HEAP8[$38>>0]|0;
$40 = ($39<<24>>24)==($$0<<24>>24);
if ($40) {
$41 = (($$0114) + -1)|0;
$42 = (($37) + ($41)|0);
$43 = HEAP8[$42>>0]|0;
$44 = ($43<<24>>24)==($$0105<<24>>24);
if ($44) {
$45 = HEAP8[$37>>0]|0;
$46 = HEAP8[$8>>0]|0;
$47 = ($45<<24>>24)==($46<<24>>24);
if ($47) {
$48 = ((($37)) + 1|0);
$49 = HEAP8[$48>>0]|0;
$50 = HEAP8[$35>>0]|0;
$51 = ($49<<24>>24)==($50<<24>>24);
if ($51) {
$$1112$idx = 2;$55 = $48;
while(1) {
$$1112$ptr = (($8) + ($$1112$idx)|0);
$52 = ((($$1112$ptr)) + 1|0);
$53 = HEAP8[$52>>0]|0;
$54 = ((($55)) + 2|0);
$56 = HEAP8[$54>>0]|0;
$57 = ($53<<24>>24)==($56<<24>>24);
if (!($57)) {
$$2 = $52;
break;
}
$58 = ((($$1112$ptr)) + 2|0);
$59 = HEAP8[$58>>0]|0;
$60 = ((($55)) + 3|0);
$61 = HEAP8[$60>>0]|0;
$62 = ($59<<24>>24)==($61<<24>>24);
if (!($62)) {
$$2 = $58;
break;
}
$63 = ((($$1112$ptr)) + 3|0);
$64 = HEAP8[$63>>0]|0;
$65 = ((($55)) + 4|0);
$66 = HEAP8[$65>>0]|0;
$67 = ($64<<24>>24)==($66<<24>>24);
if (!($67)) {
$$2 = $63;
break;
}
$68 = ((($$1112$ptr)) + 4|0);
$69 = HEAP8[$68>>0]|0;
$70 = ((($55)) + 5|0);
$71 = HEAP8[$70>>0]|0;
$72 = ($69<<24>>24)==($71<<24>>24);
if (!($72)) {
$$2 = $68;
break;
}
$73 = ((($$1112$ptr)) + 5|0);
$74 = HEAP8[$73>>0]|0;
$75 = ((($55)) + 6|0);
$76 = HEAP8[$75>>0]|0;
$77 = ($74<<24>>24)==($76<<24>>24);
if (!($77)) {
$$2 = $73;
break;
}
$78 = ((($$1112$ptr)) + 6|0);
$79 = HEAP8[$78>>0]|0;
$80 = ((($55)) + 7|0);
$81 = HEAP8[$80>>0]|0;
$82 = ($79<<24>>24)==($81<<24>>24);
if (!($82)) {
$$2 = $78;
break;
}
$83 = ((($$1112$ptr)) + 7|0);
$84 = HEAP8[$83>>0]|0;
$85 = ((($55)) + 8|0);
$86 = HEAP8[$85>>0]|0;
$87 = ($84<<24>>24)==($86<<24>>24);
if (!($87)) {
$$2 = $83;
break;
}
$$1112$add = (($$1112$idx) + 8)|0;
$$ptr = (($8) + ($$1112$add)|0);
$88 = HEAP8[$$ptr>>0]|0;
$89 = ((($55)) + 9|0);
$90 = HEAP8[$89>>0]|0;
$91 = ($88<<24>>24)==($90<<24>>24);
$92 = ($$1112$add|0)<(258);
$or$cond = $92 & $91;
if ($or$cond) {
$$1112$idx = $$1112$add;$55 = $85;
} else {
$$2 = $$ptr;
break;
}
}
$93 = $$2;
$94 = (($93) - ($36))|0;
$95 = (($94) + 258)|0;
$96 = ($95|0)>($$0114|0);
if ($96) {
HEAP32[$34>>2] = $$0108;
$97 = ($95|0)<($$118|0);
if (!($97)) {
$$2116 = $95;
label = 19;
break;
}
$98 = (($94) + 257)|0;
$99 = (($8) + ($98)|0);
$100 = HEAP8[$99>>0]|0;
$101 = (($8) + ($95)|0);
$102 = HEAP8[$101>>0]|0;
$$1 = $102;$$1106 = $100;$$1115 = $95;
} else {
$$1 = $$0;$$1106 = $$0105;$$1115 = $$0114;
}
} else {
$$1 = $$0;$$1106 = $$0105;$$1115 = $$0114;
}
} else {
$$1 = $$0;$$1106 = $$0105;$$1115 = $$0114;
}
} else {
$$1 = $$0;$$1106 = $$0105;$$1115 = $$0114;
}
} else {
$$1 = $$0;$$1106 = $$0105;$$1115 = $$0114;
}
$103 = $$0108 & $21;
$104 = (($19) + ($103<<1)|0);
$105 = HEAP16[$104>>1]|0;
$106 = $105&65535;
$107 = ($106>>>0)>($$>>>0);
if (!($107)) {
$$2116 = $$1115;
label = 19;
break;
}
$108 = (($$1110) + -1)|0;
$109 = ($108|0)==(0);
if ($109) {
$$2116 = $$1115;
label = 19;
break;
} else {
$$0 = $$1;$$0105 = $$1106;$$0108 = $106;$$0114 = $$1115;$$1110 = $108;
}
}
if ((label|0) == 19) {
$110 = ($$2116>>>0)>($32>>>0);
$$$2116 = $110 ? $32 : $$2116;
return ($$$2116|0);
}
return (0)|0;
}
function _deflateEnd($0) {
$0 = $0|0;
var $$0 = 0, $$in = 0, $$in51 = 0, $$in52 = 0, $$pre = 0, $$pre$phi48Z2D = 0, $$pre$phiZ2D = 0, $$pre43 = 0, $$pre44 = 0, $$pre45 = 0, $$pre46 = 0, $$pre47 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = -2;
return ($$0|0);
}
$2 = ((($0)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if ($4) {
$$0 = -2;
return ($$0|0);
}
$5 = ((($3)) + 4|0);
$6 = HEAP32[$5>>2]|0;
switch ($6|0) {
case 42: case 69: case 73: case 91: case 103: case 113: case 666: {
break;
}
default: {
$$0 = -2;
return ($$0|0);
}
}
$7 = ((($3)) + 8|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$$in = $3;
} else {
$10 = ((($0)) + 36|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 40|0);
$13 = HEAP32[$12>>2]|0;
FUNCTION_TABLE_vii[$11 & 127]($13,$8);
$$pre = HEAP32[$2>>2]|0;
$$in = $$pre;
}
$14 = ((($$in)) + 68|0);
$15 = HEAP32[$14>>2]|0;
$16 = ($15|0)==(0|0);
if ($16) {
$$in51 = $$in;
} else {
$17 = ((($0)) + 36|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($0)) + 40|0);
$20 = HEAP32[$19>>2]|0;
FUNCTION_TABLE_vii[$18 & 127]($20,$15);
$$pre43 = HEAP32[$2>>2]|0;
$$in51 = $$pre43;
}
$21 = ((($$in51)) + 64|0);
$22 = HEAP32[$21>>2]|0;
$23 = ($22|0)==(0|0);
if ($23) {
$$in52 = $$in51;
} else {
$24 = ((($0)) + 36|0);
$25 = HEAP32[$24>>2]|0;
$26 = ((($0)) + 40|0);
$27 = HEAP32[$26>>2]|0;
FUNCTION_TABLE_vii[$25 & 127]($27,$22);
$$pre44 = HEAP32[$2>>2]|0;
$$in52 = $$pre44;
}
$28 = ((($$in52)) + 56|0);
$29 = HEAP32[$28>>2]|0;
$30 = ($29|0)==(0|0);
if ($30) {
$$pre46 = ((($0)) + 36|0);
$$pre47 = ((($0)) + 40|0);
$$pre$phi48Z2D = $$pre47;$$pre$phiZ2D = $$pre46;$37 = $$in52;
} else {
$31 = ((($0)) + 36|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($0)) + 40|0);
$34 = HEAP32[$33>>2]|0;
FUNCTION_TABLE_vii[$32 & 127]($34,$29);
$$pre45 = HEAP32[$2>>2]|0;
$$pre$phi48Z2D = $33;$$pre$phiZ2D = $31;$37 = $$pre45;
}
$35 = HEAP32[$$pre$phiZ2D>>2]|0;
$36 = HEAP32[$$pre$phi48Z2D>>2]|0;
FUNCTION_TABLE_vii[$35 & 127]($36,$37);
HEAP32[$2>>2] = 0;
$38 = ($6|0)==(113);
$39 = $38 ? -3 : 0;
$$0 = $39;
return ($$0|0);
}
function _deflate($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$$i = 0, $$$i$i = 0, $$$i$i383 = 0, $$$i138$i = 0, $$$i140$i = 0, $$$i368 = 0, $$$i370 = 0, $$$i372 = 0, $$$i374 = 0, $$$i376 = 0, $$$i378 = 0, $$$i380 = 0, $$$i382 = 0, $$$i52$i = 0, $$$i54$i = 0, $$0128$i = 0, $$0348 = 0, $$0349 = 0, $$0351 = 0;
var $$0352 = 0, $$0355407 = 0, $$0358 = 0, $$1 = 0, $$1$i = 0, $$1350 = 0, $$1353 = 0, $$1356 = 0, $$137$i = 0, $$2 = 0, $$2354 = 0, $$2357 = 0, $$361 = 0, $$362 = 0, $$363 = 0, $$add$i = 0, $$add130$i = 0, $$idx$i = 0, $$phi$trans$insert = 0, $$pr = 0;
var $$pr387$pr = 0, $$pr387$pr$pre = 0, $$pr389 = 0, $$pr393$pr = 0, $$pr393$pr$pre = 0, $$pre = 0, $$pre$i = 0, $$pre$phi431Z2D = 0, $$pre$phi435Z2D = 0, $$pre$phi437Z2D = 0, $$pre$phi439Z2D = 0, $$pre412 = 0, $$pre414 = 0, $$pre415 = 0, $$pre416$pre = 0, $$pre417 = 0, $$pre420 = 0, $$pre422 = 0, $$pre424 = 0, $$pre434 = 0;
var $$pre436 = 0, $$pre438 = 0, $$pre440 = 0, $$ptr$i = 0, $$ptr131$i = 0, $$ptr132$i = 0, $$ptr133$i = 0, $$ptr135$i = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0;
var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0;
var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0;
var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0;
var $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0;
var $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0;
var $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0;
var $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0;
var $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0;
var $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0;
var $1172 = 0, $1173 = 0, $1174 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0;
var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0;
var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0;
var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0;
var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0;
var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0;
var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0;
var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0;
var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0;
var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0;
var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0;
var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0;
var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0;
var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0;
var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0;
var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0;
var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0;
var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0;
var $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0;
var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0;
var $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0;
var $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0;
var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0;
var $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0;
var $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0;
var $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0;
var $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0;
var $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0;
var $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0;
var $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0;
var $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0;
var $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0;
var $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0;
var $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0;
var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0;
var $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0;
var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0;
var $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0;
var $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0;
var $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0;
var $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0;
var $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0;
var $999 = 0, $brmerge = 0, $not$ = 0, $or$cond = 0, $or$cond$i = 0, $or$cond136$i = 0, $or$cond364 = 0, $or$cond365 = 0, $or$cond445 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$$1 = -2;
return ($$1|0);
}
$3 = ((($0)) + 28|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
$6 = ($1>>>0)>(5);
$7 = $6 | $5;
if ($7) {
$$1 = -2;
return ($$1|0);
}
$8 = ((($0)) + 12|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
do {
if (!($10)) {
$11 = HEAP32[$0>>2]|0;
$12 = ($11|0)==(0|0);
if ($12) {
$13 = ((($0)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0);
if (!($15)) {
break;
}
}
$16 = ((($4)) + 4|0);
$17 = HEAP32[$16>>2]|0;
$18 = ($17|0)==(666);
$19 = ($1|0)!=(4);
$or$cond5 = $19 & $18;
if (!($or$cond5)) {
$22 = ((($0)) + 16|0);
$23 = HEAP32[$22>>2]|0;
$24 = ($23|0)==(0);
if ($24) {
$25 = HEAP32[(9964)>>2]|0;
$26 = ((($0)) + 24|0);
HEAP32[$26>>2] = $25;
$$1 = -5;
return ($$1|0);
}
HEAP32[$4>>2] = $0;
$27 = ((($4)) + 40|0);
$28 = HEAP32[$27>>2]|0;
HEAP32[$27>>2] = $1;
$29 = ($17|0)==(42);
do {
if ($29) {
$30 = ((($4)) + 24|0);
$31 = HEAP32[$30>>2]|0;
$32 = ($31|0)==(2);
if (!($32)) {
$204 = ((($4)) + 48|0);
$205 = HEAP32[$204>>2]|0;
$206 = $205 << 12;
$207 = (($206) + -30720)|0;
$208 = ((($4)) + 136|0);
$209 = HEAP32[$208>>2]|0;
$210 = ($209|0)>(1);
if ($210) {
$$0358 = 0;
} else {
$211 = ((($4)) + 132|0);
$212 = HEAP32[$211>>2]|0;
$213 = ($212|0)<(2);
if ($213) {
$$0358 = 0;
} else {
$214 = ($212|0)<(6);
if ($214) {
$$0358 = 64;
} else {
$215 = ($212|0)==(6);
$$362 = $215 ? 128 : 192;
$$0358 = $$362;
}
}
}
$216 = $$0358 | $207;
$217 = ((($4)) + 108|0);
$218 = HEAP32[$217>>2]|0;
$219 = ($218|0)==(0);
$220 = $216 | 32;
$221 = $219 ? $216 : $220;
$222 = (($221>>>0) % 31)&-1;
$$363 = $222 | $221;
$223 = $$363 ^ 31;
HEAP32[$16>>2] = 113;
$224 = $221 >>> 8;
$225 = $224&255;
$226 = ((($4)) + 20|0);
$227 = HEAP32[$226>>2]|0;
$228 = (($227) + 1)|0;
HEAP32[$226>>2] = $228;
$229 = ((($4)) + 8|0);
$230 = HEAP32[$229>>2]|0;
$231 = (($230) + ($227)|0);
HEAP8[$231>>0] = $225;
$232 = $223&255;
$233 = HEAP32[$226>>2]|0;
$234 = (($233) + 1)|0;
HEAP32[$226>>2] = $234;
$235 = HEAP32[$229>>2]|0;
$236 = (($235) + ($233)|0);
HEAP8[$236>>0] = $232;
$237 = HEAP32[$217>>2]|0;
$238 = ($237|0)==(0);
$$pre440 = ((($0)) + 48|0);
if (!($238)) {
$239 = HEAP32[$$pre440>>2]|0;
$240 = $239 >>> 16;
$241 = $239 >>> 24;
$242 = $241&255;
$243 = HEAP32[$226>>2]|0;
$244 = (($243) + 1)|0;
HEAP32[$226>>2] = $244;
$245 = HEAP32[$229>>2]|0;
$246 = (($245) + ($243)|0);
HEAP8[$246>>0] = $242;
$247 = $240&255;
$248 = HEAP32[$226>>2]|0;
$249 = (($248) + 1)|0;
HEAP32[$226>>2] = $249;
$250 = HEAP32[$229>>2]|0;
$251 = (($250) + ($248)|0);
HEAP8[$251>>0] = $247;
$252 = HEAP32[$$pre440>>2]|0;
$253 = $252 >>> 8;
$254 = $253&255;
$255 = HEAP32[$226>>2]|0;
$256 = (($255) + 1)|0;
HEAP32[$226>>2] = $256;
$257 = HEAP32[$229>>2]|0;
$258 = (($257) + ($255)|0);
HEAP8[$258>>0] = $254;
$259 = $252&255;
$260 = HEAP32[$226>>2]|0;
$261 = (($260) + 1)|0;
HEAP32[$226>>2] = $261;
$262 = HEAP32[$229>>2]|0;
$263 = (($262) + ($260)|0);
HEAP8[$263>>0] = $259;
}
$264 = (_adler32(0,0,0)|0);
HEAP32[$$pre440>>2] = $264;
$$pr = HEAP32[$16>>2]|0;
$265 = $$pr;
label = 30;
break;
}
$33 = (_crc32(0,0,0)|0);
$34 = ((($0)) + 48|0);
HEAP32[$34>>2] = $33;
$35 = ((($4)) + 20|0);
$36 = HEAP32[$35>>2]|0;
$37 = (($36) + 1)|0;
HEAP32[$35>>2] = $37;
$38 = ((($4)) + 8|0);
$39 = HEAP32[$38>>2]|0;
$40 = (($39) + ($36)|0);
HEAP8[$40>>0] = 31;
$41 = HEAP32[$35>>2]|0;
$42 = (($41) + 1)|0;
HEAP32[$35>>2] = $42;
$43 = HEAP32[$38>>2]|0;
$44 = (($43) + ($41)|0);
HEAP8[$44>>0] = -117;
$45 = HEAP32[$35>>2]|0;
$46 = (($45) + 1)|0;
HEAP32[$35>>2] = $46;
$47 = HEAP32[$38>>2]|0;
$48 = (($47) + ($45)|0);
HEAP8[$48>>0] = 8;
$49 = ((($4)) + 28|0);
$50 = HEAP32[$49>>2]|0;
$51 = ($50|0)==(0|0);
if ($51) {
$52 = HEAP32[$35>>2]|0;
$53 = (($52) + 1)|0;
HEAP32[$35>>2] = $53;
$54 = HEAP32[$38>>2]|0;
$55 = (($54) + ($52)|0);
HEAP8[$55>>0] = 0;
$56 = HEAP32[$35>>2]|0;
$57 = (($56) + 1)|0;
HEAP32[$35>>2] = $57;
$58 = HEAP32[$38>>2]|0;
$59 = (($58) + ($56)|0);
HEAP8[$59>>0] = 0;
$60 = HEAP32[$35>>2]|0;
$61 = (($60) + 1)|0;
HEAP32[$35>>2] = $61;
$62 = HEAP32[$38>>2]|0;
$63 = (($62) + ($60)|0);
HEAP8[$63>>0] = 0;
$64 = HEAP32[$35>>2]|0;
$65 = (($64) + 1)|0;
HEAP32[$35>>2] = $65;
$66 = HEAP32[$38>>2]|0;
$67 = (($66) + ($64)|0);
HEAP8[$67>>0] = 0;
$68 = HEAP32[$35>>2]|0;
$69 = (($68) + 1)|0;
HEAP32[$35>>2] = $69;
$70 = HEAP32[$38>>2]|0;
$71 = (($70) + ($68)|0);
HEAP8[$71>>0] = 0;
$72 = ((($4)) + 132|0);
$73 = HEAP32[$72>>2]|0;
$74 = ($73|0)==(9);
if ($74) {
$81 = 2;
} else {
$75 = ((($4)) + 136|0);
$76 = HEAP32[$75>>2]|0;
$77 = ($76|0)>(1);
$78 = ($73|0)<(2);
$$ = $78 | $77;
$79 = $$ ? 4 : 0;
$81 = $79;
}
$80 = $81&255;
$82 = HEAP32[$35>>2]|0;
$83 = (($82) + 1)|0;
HEAP32[$35>>2] = $83;
$84 = HEAP32[$38>>2]|0;
$85 = (($84) + ($82)|0);
HEAP8[$85>>0] = $80;
$86 = HEAP32[$35>>2]|0;
$87 = (($86) + 1)|0;
HEAP32[$35>>2] = $87;
$88 = HEAP32[$38>>2]|0;
$89 = (($88) + ($86)|0);
HEAP8[$89>>0] = 3;
HEAP32[$16>>2] = 113;
break;
}
$90 = HEAP32[$50>>2]|0;
$91 = ($90|0)!=(0);
$92 = $91&1;
$93 = ((($50)) + 44|0);
$94 = HEAP32[$93>>2]|0;
$95 = ($94|0)!=(0);
$96 = $95 ? 2 : 0;
$97 = $96 | $92;
$98 = ((($50)) + 16|0);
$99 = HEAP32[$98>>2]|0;
$100 = ($99|0)==(0|0);
$101 = $100 ? 0 : 4;
$102 = $97 | $101;
$103 = ((($50)) + 28|0);
$104 = HEAP32[$103>>2]|0;
$105 = ($104|0)==(0|0);
$106 = $105 ? 0 : 8;
$107 = $102 | $106;
$108 = ((($50)) + 36|0);
$109 = HEAP32[$108>>2]|0;
$110 = ($109|0)==(0|0);
$111 = $110 ? 0 : 16;
$112 = $107 | $111;
$113 = $112&255;
$114 = HEAP32[$35>>2]|0;
$115 = (($114) + 1)|0;
HEAP32[$35>>2] = $115;
$116 = HEAP32[$38>>2]|0;
$117 = (($116) + ($114)|0);
HEAP8[$117>>0] = $113;
$118 = HEAP32[$49>>2]|0;
$119 = ((($118)) + 4|0);
$120 = HEAP32[$119>>2]|0;
$121 = $120&255;
$122 = HEAP32[$35>>2]|0;
$123 = (($122) + 1)|0;
HEAP32[$35>>2] = $123;
$124 = HEAP32[$38>>2]|0;
$125 = (($124) + ($122)|0);
HEAP8[$125>>0] = $121;
$126 = HEAP32[$49>>2]|0;
$127 = ((($126)) + 4|0);
$128 = HEAP32[$127>>2]|0;
$129 = $128 >>> 8;
$130 = $129&255;
$131 = HEAP32[$35>>2]|0;
$132 = (($131) + 1)|0;
HEAP32[$35>>2] = $132;
$133 = HEAP32[$38>>2]|0;
$134 = (($133) + ($131)|0);
HEAP8[$134>>0] = $130;
$135 = HEAP32[$49>>2]|0;
$136 = ((($135)) + 4|0);
$137 = HEAP32[$136>>2]|0;
$138 = $137 >>> 16;
$139 = $138&255;
$140 = HEAP32[$35>>2]|0;
$141 = (($140) + 1)|0;
HEAP32[$35>>2] = $141;
$142 = HEAP32[$38>>2]|0;
$143 = (($142) + ($140)|0);
HEAP8[$143>>0] = $139;
$144 = HEAP32[$49>>2]|0;
$145 = ((($144)) + 4|0);
$146 = HEAP32[$145>>2]|0;
$147 = $146 >>> 24;
$148 = $147&255;
$149 = HEAP32[$35>>2]|0;
$150 = (($149) + 1)|0;
HEAP32[$35>>2] = $150;
$151 = HEAP32[$38>>2]|0;
$152 = (($151) + ($149)|0);
HEAP8[$152>>0] = $148;
$153 = ((($4)) + 132|0);
$154 = HEAP32[$153>>2]|0;
$155 = ($154|0)==(9);
if ($155) {
$162 = 2;
} else {
$156 = ((($4)) + 136|0);
$157 = HEAP32[$156>>2]|0;
$158 = ($157|0)>(1);
$159 = ($154|0)<(2);
$$361 = $159 | $158;
$160 = $$361 ? 4 : 0;
$162 = $160;
}
$161 = $162&255;
$163 = HEAP32[$35>>2]|0;
$164 = (($163) + 1)|0;
HEAP32[$35>>2] = $164;
$165 = HEAP32[$38>>2]|0;
$166 = (($165) + ($163)|0);
HEAP8[$166>>0] = $161;
$167 = HEAP32[$49>>2]|0;
$168 = ((($167)) + 12|0);
$169 = HEAP32[$168>>2]|0;
$170 = $169&255;
$171 = HEAP32[$35>>2]|0;
$172 = (($171) + 1)|0;
HEAP32[$35>>2] = $172;
$173 = HEAP32[$38>>2]|0;
$174 = (($173) + ($171)|0);
HEAP8[$174>>0] = $170;
$175 = HEAP32[$49>>2]|0;
$176 = ((($175)) + 16|0);
$177 = HEAP32[$176>>2]|0;
$178 = ($177|0)==(0|0);
if ($178) {
$196 = $175;
} else {
$179 = ((($175)) + 20|0);
$180 = HEAP32[$179>>2]|0;
$181 = $180&255;
$182 = HEAP32[$35>>2]|0;
$183 = (($182) + 1)|0;
HEAP32[$35>>2] = $183;
$184 = HEAP32[$38>>2]|0;
$185 = (($184) + ($182)|0);
HEAP8[$185>>0] = $181;
$186 = HEAP32[$49>>2]|0;
$187 = ((($186)) + 20|0);
$188 = HEAP32[$187>>2]|0;
$189 = $188 >>> 8;
$190 = $189&255;
$191 = HEAP32[$35>>2]|0;
$192 = (($191) + 1)|0;
HEAP32[$35>>2] = $192;
$193 = HEAP32[$38>>2]|0;
$194 = (($193) + ($191)|0);
HEAP8[$194>>0] = $190;
$$pre = HEAP32[$49>>2]|0;
$196 = $$pre;
}
$195 = ((($196)) + 44|0);
$197 = HEAP32[$195>>2]|0;
$198 = ($197|0)==(0);
if (!($198)) {
$199 = HEAP32[$34>>2]|0;
$200 = HEAP32[$38>>2]|0;
$201 = HEAP32[$35>>2]|0;
$202 = (_crc32($199,$200,$201)|0);
HEAP32[$34>>2] = $202;
}
$203 = ((($4)) + 32|0);
HEAP32[$203>>2] = 0;
HEAP32[$16>>2] = 69;
$$pre$phi435Z2D = $49;
label = 32;
} else {
$265 = $17;
label = 30;
}
} while(0);
if ((label|0) == 30) {
$266 = ($265|0)==(69);
if ($266) {
$$pre434 = ((($4)) + 28|0);
$$pre$phi435Z2D = $$pre434;
label = 32;
} else {
$$pr387$pr = $265;
label = 53;
}
}
do {
if ((label|0) == 32) {
$267 = HEAP32[$$pre$phi435Z2D>>2]|0;
$268 = ((($267)) + 16|0);
$269 = HEAP32[$268>>2]|0;
$270 = ($269|0)==(0|0);
if ($270) {
HEAP32[$16>>2] = 73;
$$pre$phi431Z2D = $$pre$phi435Z2D;$358 = $267;
label = 55;
break;
}
$271 = ((($4)) + 20|0);
$272 = HEAP32[$271>>2]|0;
$273 = ((($4)) + 32|0);
$274 = HEAP32[$273>>2]|0;
$275 = ((($267)) + 20|0);
$276 = HEAP32[$275>>2]|0;
$277 = $276 & 65535;
$278 = ($274>>>0)<($277>>>0);
L53: do {
if ($278) {
$279 = ((($4)) + 12|0);
$280 = ((($0)) + 48|0);
$281 = ((($4)) + 8|0);
$282 = ((($0)) + 20|0);
$$0355407 = $272;$1174 = $274;$284 = $272;$287 = $267;
while(1) {
$283 = HEAP32[$279>>2]|0;
$285 = ($284|0)==($283|0);
if ($285) {
$286 = ((($287)) + 44|0);
$288 = HEAP32[$286>>2]|0;
$289 = ($288|0)!=(0);
$290 = ($284>>>0)>($$0355407>>>0);
$or$cond = $290 & $289;
if ($or$cond) {
$291 = HEAP32[$280>>2]|0;
$292 = HEAP32[$281>>2]|0;
$293 = (($292) + ($$0355407)|0);
$294 = (($284) - ($$0355407))|0;
$295 = (_crc32($291,$293,$294)|0);
HEAP32[$280>>2] = $295;
}
$296 = HEAP32[$3>>2]|0;
__tr_flush_bits($296);
$297 = ((($296)) + 20|0);
$298 = HEAP32[$297>>2]|0;
$299 = HEAP32[$22>>2]|0;
$300 = ($298>>>0)>($299>>>0);
$$$i370 = $300 ? $299 : $298;
$301 = ($$$i370|0)==(0);
if (!($301)) {
$302 = HEAP32[$8>>2]|0;
$303 = ((($296)) + 16|0);
$304 = HEAP32[$303>>2]|0;
_memcpy(($302|0),($304|0),($$$i370|0))|0;
$305 = HEAP32[$8>>2]|0;
$306 = (($305) + ($$$i370)|0);
HEAP32[$8>>2] = $306;
$307 = HEAP32[$303>>2]|0;
$308 = (($307) + ($$$i370)|0);
HEAP32[$303>>2] = $308;
$309 = HEAP32[$282>>2]|0;
$310 = (($309) + ($$$i370))|0;
HEAP32[$282>>2] = $310;
$311 = HEAP32[$22>>2]|0;
$312 = (($311) - ($$$i370))|0;
HEAP32[$22>>2] = $312;
$313 = HEAP32[$297>>2]|0;
$314 = (($313) - ($$$i370))|0;
HEAP32[$297>>2] = $314;
$315 = ($314|0)==(0);
if ($315) {
$316 = ((($296)) + 8|0);
$317 = HEAP32[$316>>2]|0;
HEAP32[$303>>2] = $317;
}
}
$318 = HEAP32[$271>>2]|0;
$319 = HEAP32[$279>>2]|0;
$320 = ($318|0)==($319|0);
if ($320) {
break;
}
$$pre414 = HEAP32[$273>>2]|0;
$$pre415 = HEAP32[$$pre$phi435Z2D>>2]|0;
$$1356 = $318;$322 = $$pre415;$325 = $$pre414;$328 = $318;
} else {
$$1356 = $$0355407;$322 = $287;$325 = $1174;$328 = $284;
}
$321 = ((($322)) + 16|0);
$323 = HEAP32[$321>>2]|0;
$324 = (($323) + ($325)|0);
$326 = HEAP8[$324>>0]|0;
$327 = (($328) + 1)|0;
HEAP32[$271>>2] = $327;
$329 = HEAP32[$281>>2]|0;
$330 = (($329) + ($328)|0);
HEAP8[$330>>0] = $326;
$331 = HEAP32[$273>>2]|0;
$332 = (($331) + 1)|0;
HEAP32[$273>>2] = $332;
$333 = HEAP32[$$pre$phi435Z2D>>2]|0;
$334 = ((($333)) + 20|0);
$335 = HEAP32[$334>>2]|0;
$336 = $335 & 65535;
$337 = ($332>>>0)<($336>>>0);
if (!($337)) {
$$2357 = $$1356;$339 = $333;
break L53;
}
$$pre412 = HEAP32[$271>>2]|0;
$$0355407 = $$1356;$1174 = $332;$284 = $$pre412;$287 = $333;
}
$$pre416$pre = HEAP32[$$pre$phi435Z2D>>2]|0;
$$2357 = $318;$339 = $$pre416$pre;
} else {
$$2357 = $272;$339 = $267;
}
} while(0);
$338 = ((($339)) + 44|0);
$340 = HEAP32[$338>>2]|0;
$341 = ($340|0)==(0);
if ($341) {
$353 = $339;
} else {
$342 = HEAP32[$271>>2]|0;
$343 = ($342>>>0)>($$2357>>>0);
if ($343) {
$344 = ((($0)) + 48|0);
$345 = HEAP32[$344>>2]|0;
$346 = ((($4)) + 8|0);
$347 = HEAP32[$346>>2]|0;
$348 = (($347) + ($$2357)|0);
$349 = (($342) - ($$2357))|0;
$350 = (_crc32($345,$348,$349)|0);
HEAP32[$344>>2] = $350;
$$pre417 = HEAP32[$$pre$phi435Z2D>>2]|0;
$353 = $$pre417;
} else {
$353 = $339;
}
}
$351 = HEAP32[$273>>2]|0;
$352 = ((($353)) + 20|0);
$354 = HEAP32[$352>>2]|0;
$355 = ($351|0)==($354|0);
if ($355) {
HEAP32[$273>>2] = 0;
HEAP32[$16>>2] = 73;
$$pre$phi431Z2D = $$pre$phi435Z2D;$358 = $353;
label = 55;
break;
} else {
$$pr387$pr$pre = HEAP32[$16>>2]|0;
$$pr387$pr = $$pr387$pr$pre;
label = 53;
break;
}
}
} while(0);
if ((label|0) == 53) {
$356 = ($$pr387$pr|0)==(73);
if ($356) {
$$phi$trans$insert = ((($4)) + 28|0);
$$pre420 = HEAP32[$$phi$trans$insert>>2]|0;
$$pre$phi431Z2D = $$phi$trans$insert;$358 = $$pre420;
label = 55;
} else {
$431 = $$pr387$pr;
label = 73;
}
}
do {
if ((label|0) == 55) {
$357 = ((($358)) + 28|0);
$359 = HEAP32[$357>>2]|0;
$360 = ($359|0)==(0|0);
if ($360) {
HEAP32[$16>>2] = 91;
$$pre$phi437Z2D = $$pre$phi431Z2D;
label = 75;
break;
}
$361 = ((($4)) + 20|0);
$362 = HEAP32[$361>>2]|0;
$363 = ((($4)) + 12|0);
$364 = ((($0)) + 48|0);
$365 = ((($4)) + 8|0);
$366 = ((($0)) + 20|0);
$367 = ((($4)) + 32|0);
$$0352 = $362;$369 = $362;
while(1) {
$368 = HEAP32[$363>>2]|0;
$370 = ($369|0)==($368|0);
if ($370) {
$371 = HEAP32[$$pre$phi431Z2D>>2]|0;
$372 = ((($371)) + 44|0);
$373 = HEAP32[$372>>2]|0;
$374 = ($373|0)!=(0);
$375 = ($369>>>0)>($$0352>>>0);
$or$cond364 = $375 & $374;
if ($or$cond364) {
$376 = HEAP32[$364>>2]|0;
$377 = HEAP32[$365>>2]|0;
$378 = (($377) + ($$0352)|0);
$379 = (($369) - ($$0352))|0;
$380 = (_crc32($376,$378,$379)|0);
HEAP32[$364>>2] = $380;
}
$381 = HEAP32[$3>>2]|0;
__tr_flush_bits($381);
$382 = ((($381)) + 20|0);
$383 = HEAP32[$382>>2]|0;
$384 = HEAP32[$22>>2]|0;
$385 = ($383>>>0)>($384>>>0);
$$$i372 = $385 ? $384 : $383;
$386 = ($$$i372|0)==(0);
if (!($386)) {
$387 = HEAP32[$8>>2]|0;
$388 = ((($381)) + 16|0);
$389 = HEAP32[$388>>2]|0;
_memcpy(($387|0),($389|0),($$$i372|0))|0;
$390 = HEAP32[$8>>2]|0;
$391 = (($390) + ($$$i372)|0);
HEAP32[$8>>2] = $391;
$392 = HEAP32[$388>>2]|0;
$393 = (($392) + ($$$i372)|0);
HEAP32[$388>>2] = $393;
$394 = HEAP32[$366>>2]|0;
$395 = (($394) + ($$$i372))|0;
HEAP32[$366>>2] = $395;
$396 = HEAP32[$22>>2]|0;
$397 = (($396) - ($$$i372))|0;
HEAP32[$22>>2] = $397;
$398 = HEAP32[$382>>2]|0;
$399 = (($398) - ($$$i372))|0;
HEAP32[$382>>2] = $399;
$400 = ($399|0)==(0);
if ($400) {
$401 = ((($381)) + 8|0);
$402 = HEAP32[$401>>2]|0;
HEAP32[$388>>2] = $402;
}
}
$403 = HEAP32[$361>>2]|0;
$404 = HEAP32[$363>>2]|0;
$405 = ($403|0)==($404|0);
if ($405) {
$$0351 = 1;$$2354 = $403;
break;
} else {
$$1353 = $403;$415 = $403;
}
} else {
$$1353 = $$0352;$415 = $369;
}
$406 = HEAP32[$367>>2]|0;
$407 = (($406) + 1)|0;
HEAP32[$367>>2] = $407;
$408 = HEAP32[$$pre$phi431Z2D>>2]|0;
$409 = ((($408)) + 28|0);
$410 = HEAP32[$409>>2]|0;
$411 = (($410) + ($406)|0);
$412 = HEAP8[$411>>0]|0;
$413 = $412&255;
$414 = (($415) + 1)|0;
HEAP32[$361>>2] = $414;
$416 = HEAP32[$365>>2]|0;
$417 = (($416) + ($415)|0);
HEAP8[$417>>0] = $412;
$418 = ($412<<24>>24)==(0);
if ($418) {
$$0351 = $413;$$2354 = $$1353;
break;
}
$$pre422 = HEAP32[$361>>2]|0;
$$0352 = $$1353;$369 = $$pre422;
}
$419 = HEAP32[$$pre$phi431Z2D>>2]|0;
$420 = ((($419)) + 44|0);
$421 = HEAP32[$420>>2]|0;
$422 = ($421|0)==(0);
if (!($422)) {
$423 = HEAP32[$361>>2]|0;
$424 = ($423>>>0)>($$2354>>>0);
if ($424) {
$425 = HEAP32[$364>>2]|0;
$426 = HEAP32[$365>>2]|0;
$427 = (($426) + ($$2354)|0);
$428 = (($423) - ($$2354))|0;
$429 = (_crc32($425,$427,$428)|0);
HEAP32[$364>>2] = $429;
}
}
$430 = ($$0351|0)==(0);
if ($430) {
HEAP32[$367>>2] = 0;
HEAP32[$16>>2] = 91;
$$pre$phi437Z2D = $$pre$phi431Z2D;
label = 75;
break;
} else {
$$pr389 = HEAP32[$16>>2]|0;
$431 = $$pr389;
label = 73;
break;
}
}
} while(0);
if ((label|0) == 73) {
$432 = ($431|0)==(91);
if ($432) {
$$pre436 = ((($4)) + 28|0);
$$pre$phi437Z2D = $$pre436;
label = 75;
} else {
$$pr393$pr = $431;
label = 93;
}
}
do {
if ((label|0) == 75) {
$433 = HEAP32[$$pre$phi437Z2D>>2]|0;
$434 = ((($433)) + 36|0);
$435 = HEAP32[$434>>2]|0;
$436 = ($435|0)==(0|0);
if ($436) {
HEAP32[$16>>2] = 103;
$$pre$phi439Z2D = $$pre$phi437Z2D;
label = 95;
break;
}
$437 = ((($4)) + 20|0);
$438 = HEAP32[$437>>2]|0;
$439 = ((($4)) + 12|0);
$440 = ((($0)) + 48|0);
$441 = ((($4)) + 8|0);
$442 = ((($0)) + 20|0);
$443 = ((($4)) + 32|0);
$$0349 = $438;$445 = $438;
while(1) {
$444 = HEAP32[$439>>2]|0;
$446 = ($445|0)==($444|0);
if ($446) {
$447 = HEAP32[$$pre$phi437Z2D>>2]|0;
$448 = ((($447)) + 44|0);
$449 = HEAP32[$448>>2]|0;
$450 = ($449|0)!=(0);
$451 = ($445>>>0)>($$0349>>>0);
$or$cond365 = $451 & $450;
if ($or$cond365) {
$452 = HEAP32[$440>>2]|0;
$453 = HEAP32[$441>>2]|0;
$454 = (($453) + ($$0349)|0);
$455 = (($445) - ($$0349))|0;
$456 = (_crc32($452,$454,$455)|0);
HEAP32[$440>>2] = $456;
}
$457 = HEAP32[$3>>2]|0;
__tr_flush_bits($457);
$458 = ((($457)) + 20|0);
$459 = HEAP32[$458>>2]|0;
$460 = HEAP32[$22>>2]|0;
$461 = ($459>>>0)>($460>>>0);
$$$i374 = $461 ? $460 : $459;
$462 = ($$$i374|0)==(0);
if (!($462)) {
$463 = HEAP32[$8>>2]|0;
$464 = ((($457)) + 16|0);
$465 = HEAP32[$464>>2]|0;
_memcpy(($463|0),($465|0),($$$i374|0))|0;
$466 = HEAP32[$8>>2]|0;
$467 = (($466) + ($$$i374)|0);
HEAP32[$8>>2] = $467;
$468 = HEAP32[$464>>2]|0;
$469 = (($468) + ($$$i374)|0);
HEAP32[$464>>2] = $469;
$470 = HEAP32[$442>>2]|0;
$471 = (($470) + ($$$i374))|0;
HEAP32[$442>>2] = $471;
$472 = HEAP32[$22>>2]|0;
$473 = (($472) - ($$$i374))|0;
HEAP32[$22>>2] = $473;
$474 = HEAP32[$458>>2]|0;
$475 = (($474) - ($$$i374))|0;
HEAP32[$458>>2] = $475;
$476 = ($475|0)==(0);
if ($476) {
$477 = ((($457)) + 8|0);
$478 = HEAP32[$477>>2]|0;
HEAP32[$464>>2] = $478;
}
}
$479 = HEAP32[$437>>2]|0;
$480 = HEAP32[$439>>2]|0;
$481 = ($479|0)==($480|0);
if ($481) {
$$0348 = 1;$$2 = $479;
break;
} else {
$$1350 = $479;$491 = $479;
}
} else {
$$1350 = $$0349;$491 = $445;
}
$482 = HEAP32[$443>>2]|0;
$483 = (($482) + 1)|0;
HEAP32[$443>>2] = $483;
$484 = HEAP32[$$pre$phi437Z2D>>2]|0;
$485 = ((($484)) + 36|0);
$486 = HEAP32[$485>>2]|0;
$487 = (($486) + ($482)|0);
$488 = HEAP8[$487>>0]|0;
$489 = $488&255;
$490 = (($491) + 1)|0;
HEAP32[$437>>2] = $490;
$492 = HEAP32[$441>>2]|0;
$493 = (($492) + ($491)|0);
HEAP8[$493>>0] = $488;
$494 = ($488<<24>>24)==(0);
if ($494) {
$$0348 = $489;$$2 = $$1350;
break;
}
$$pre424 = HEAP32[$437>>2]|0;
$$0349 = $$1350;$445 = $$pre424;
}
$495 = HEAP32[$$pre$phi437Z2D>>2]|0;
$496 = ((($495)) + 44|0);
$497 = HEAP32[$496>>2]|0;
$498 = ($497|0)==(0);
if (!($498)) {
$499 = HEAP32[$437>>2]|0;
$500 = ($499>>>0)>($$2>>>0);
if ($500) {
$501 = HEAP32[$440>>2]|0;
$502 = HEAP32[$441>>2]|0;
$503 = (($502) + ($$2)|0);
$504 = (($499) - ($$2))|0;
$505 = (_crc32($501,$503,$504)|0);
HEAP32[$440>>2] = $505;
}
}
$506 = ($$0348|0)==(0);
if ($506) {
HEAP32[$16>>2] = 103;
$$pre$phi439Z2D = $$pre$phi437Z2D;
label = 95;
break;
} else {
$$pr393$pr$pre = HEAP32[$16>>2]|0;
$$pr393$pr = $$pr393$pr$pre;
label = 93;
break;
}
}
} while(0);
if ((label|0) == 93) {
$507 = ($$pr393$pr|0)==(103);
if ($507) {
$$pre438 = ((($4)) + 28|0);
$$pre$phi439Z2D = $$pre438;
label = 95;
}
}
do {
if ((label|0) == 95) {
$508 = HEAP32[$$pre$phi439Z2D>>2]|0;
$509 = ((($508)) + 44|0);
$510 = HEAP32[$509>>2]|0;
$511 = ($510|0)==(0);
if ($511) {
HEAP32[$16>>2] = 113;
break;
}
$512 = ((($4)) + 20|0);
$513 = HEAP32[$512>>2]|0;
$514 = (($513) + 2)|0;
$515 = ((($4)) + 12|0);
$516 = HEAP32[$515>>2]|0;
$517 = ($514>>>0)>($516>>>0);
if ($517) {
$518 = HEAP32[$3>>2]|0;
__tr_flush_bits($518);
$519 = ((($518)) + 20|0);
$520 = HEAP32[$519>>2]|0;
$521 = HEAP32[$22>>2]|0;
$522 = ($520>>>0)>($521>>>0);
$$$i376 = $522 ? $521 : $520;
$523 = ($$$i376|0)==(0);
if (!($523)) {
$524 = HEAP32[$8>>2]|0;
$525 = ((($518)) + 16|0);
$526 = HEAP32[$525>>2]|0;
_memcpy(($524|0),($526|0),($$$i376|0))|0;
$527 = HEAP32[$8>>2]|0;
$528 = (($527) + ($$$i376)|0);
HEAP32[$8>>2] = $528;
$529 = HEAP32[$525>>2]|0;
$530 = (($529) + ($$$i376)|0);
HEAP32[$525>>2] = $530;
$531 = ((($0)) + 20|0);
$532 = HEAP32[$531>>2]|0;
$533 = (($532) + ($$$i376))|0;
HEAP32[$531>>2] = $533;
$534 = HEAP32[$22>>2]|0;
$535 = (($534) - ($$$i376))|0;
HEAP32[$22>>2] = $535;
$536 = HEAP32[$519>>2]|0;
$537 = (($536) - ($$$i376))|0;
HEAP32[$519>>2] = $537;
$538 = ($537|0)==(0);
if ($538) {
$539 = ((($518)) + 8|0);
$540 = HEAP32[$539>>2]|0;
HEAP32[$525>>2] = $540;
}
}
}
$541 = HEAP32[$512>>2]|0;
$542 = (($541) + 2)|0;
$543 = HEAP32[$515>>2]|0;
$544 = ($542>>>0)>($543>>>0);
if (!($544)) {
$545 = ((($0)) + 48|0);
$546 = HEAP32[$545>>2]|0;
$547 = $546&255;
$548 = (($541) + 1)|0;
HEAP32[$512>>2] = $548;
$549 = ((($4)) + 8|0);
$550 = HEAP32[$549>>2]|0;
$551 = (($550) + ($541)|0);
HEAP8[$551>>0] = $547;
$552 = HEAP32[$545>>2]|0;
$553 = $552 >>> 8;
$554 = $553&255;
$555 = HEAP32[$512>>2]|0;
$556 = (($555) + 1)|0;
HEAP32[$512>>2] = $556;
$557 = HEAP32[$549>>2]|0;
$558 = (($557) + ($555)|0);
HEAP8[$558>>0] = $554;
$559 = (_crc32(0,0,0)|0);
HEAP32[$545>>2] = $559;
HEAP32[$16>>2] = 113;
}
}
} while(0);
$560 = ((($4)) + 20|0);
$561 = HEAP32[$560>>2]|0;
$562 = ($561|0)==(0);
if ($562) {
$588 = ((($0)) + 4|0);
$589 = HEAP32[$588>>2]|0;
$590 = ($589|0)==(0);
if ($590) {
$591 = $1 << 1;
$592 = ($1|0)>(4);
$593 = $592 ? 9 : 0;
$594 = (($591) - ($593))|0;
$595 = $28 << 1;
$596 = ($28|0)>(4);
$597 = $596 ? 9 : 0;
$598 = (($595) - ($597))|0;
$599 = ($594|0)<=($598|0);
$or$cond7 = $19 & $599;
if ($or$cond7) {
$600 = HEAP32[(9964)>>2]|0;
$601 = ((($0)) + 24|0);
HEAP32[$601>>2] = $600;
$$1 = -5;
return ($$1|0);
}
}
} else {
$563 = HEAP32[$3>>2]|0;
__tr_flush_bits($563);
$564 = ((($563)) + 20|0);
$565 = HEAP32[$564>>2]|0;
$566 = HEAP32[$22>>2]|0;
$567 = ($565>>>0)>($566>>>0);
$$$i378 = $567 ? $566 : $565;
$568 = ($$$i378|0)==(0);
if ($568) {
$586 = $566;
} else {
$569 = HEAP32[$8>>2]|0;
$570 = ((($563)) + 16|0);
$571 = HEAP32[$570>>2]|0;
_memcpy(($569|0),($571|0),($$$i378|0))|0;
$572 = HEAP32[$8>>2]|0;
$573 = (($572) + ($$$i378)|0);
HEAP32[$8>>2] = $573;
$574 = HEAP32[$570>>2]|0;
$575 = (($574) + ($$$i378)|0);
HEAP32[$570>>2] = $575;
$576 = ((($0)) + 20|0);
$577 = HEAP32[$576>>2]|0;
$578 = (($577) + ($$$i378))|0;
HEAP32[$576>>2] = $578;
$579 = HEAP32[$22>>2]|0;
$580 = (($579) - ($$$i378))|0;
HEAP32[$22>>2] = $580;
$581 = HEAP32[$564>>2]|0;
$582 = (($581) - ($$$i378))|0;
HEAP32[$564>>2] = $582;
$583 = ($582|0)==(0);
if ($583) {
$584 = ((($563)) + 8|0);
$585 = HEAP32[$584>>2]|0;
HEAP32[$570>>2] = $585;
$586 = $580;
} else {
$586 = $580;
}
}
$587 = ($586|0)==(0);
if ($587) {
HEAP32[$27>>2] = -1;
$$1 = 0;
return ($$1|0);
}
}
$602 = HEAP32[$16>>2]|0;
$603 = ($602|0)==(666);
$604 = ((($0)) + 4|0);
$605 = HEAP32[$604>>2]|0;
$606 = ($605|0)==(0);
if ($603) {
if ($606) {
label = 116;
} else {
$607 = HEAP32[(9964)>>2]|0;
$608 = ((($0)) + 24|0);
HEAP32[$608>>2] = $607;
$$1 = -5;
return ($$1|0);
}
} else {
if ($606) {
label = 116;
} else {
label = 117;
}
}
if ((label|0) == 116) {
$609 = ((($4)) + 116|0);
$610 = HEAP32[$609>>2]|0;
$611 = ($610|0)==(0);
$612 = ($1|0)==(0);
$brmerge = $612 | $603;
$or$cond445 = $611 & $brmerge;
if (!($or$cond445)) {
label = 117;
}
}
do {
if ((label|0) == 117) {
$613 = ((($4)) + 136|0);
$614 = HEAP32[$613>>2]|0;
L173: do {
switch ($614|0) {
case 2: {
$615 = ((($4)) + 116|0);
$616 = ((($4)) + 96|0);
$617 = ((($4)) + 108|0);
$618 = ((($4)) + 56|0);
$619 = ((($4)) + 5792|0);
$620 = ((($4)) + 5796|0);
$621 = ((($4)) + 5784|0);
$622 = ((($4)) + 5788|0);
$623 = ((($4)) + 92|0);
while(1) {
$624 = HEAP32[$615>>2]|0;
$625 = ($624|0)==(0);
if ($625) {
_fill_window($4);
$626 = HEAP32[$615>>2]|0;
$627 = ($626|0)==(0);
if ($627) {
break;
}
}
HEAP32[$616>>2] = 0;
$629 = HEAP32[$617>>2]|0;
$630 = HEAP32[$618>>2]|0;
$631 = (($630) + ($629)|0);
$632 = HEAP8[$631>>0]|0;
$633 = HEAP32[$619>>2]|0;
$634 = HEAP32[$620>>2]|0;
$635 = (($634) + ($633<<1)|0);
HEAP16[$635>>1] = 0;
$636 = (($633) + 1)|0;
HEAP32[$619>>2] = $636;
$637 = HEAP32[$621>>2]|0;
$638 = (($637) + ($633)|0);
HEAP8[$638>>0] = $632;
$639 = $632&255;
$640 = (((($4)) + 148|0) + ($639<<2)|0);
$641 = HEAP16[$640>>1]|0;
$642 = (($641) + 1)<<16>>16;
HEAP16[$640>>1] = $642;
$643 = HEAP32[$619>>2]|0;
$644 = HEAP32[$622>>2]|0;
$645 = (($644) + -1)|0;
$646 = ($643|0)==($645|0);
$647 = HEAP32[$615>>2]|0;
$648 = (($647) + -1)|0;
HEAP32[$615>>2] = $648;
$649 = HEAP32[$617>>2]|0;
$650 = (($649) + 1)|0;
HEAP32[$617>>2] = $650;
if (!($646)) {
continue;
}
$651 = HEAP32[$623>>2]|0;
$652 = ($651|0)>(-1);
if ($652) {
$653 = HEAP32[$618>>2]|0;
$654 = (($653) + ($651)|0);
$656 = $654;
} else {
$656 = 0;
}
$655 = (($650) - ($651))|0;
__tr_flush_block($4,$656,$655,0);
$657 = HEAP32[$617>>2]|0;
HEAP32[$623>>2] = $657;
$658 = HEAP32[$4>>2]|0;
$659 = ((($658)) + 28|0);
$660 = HEAP32[$659>>2]|0;
__tr_flush_bits($660);
$661 = ((($660)) + 20|0);
$662 = HEAP32[$661>>2]|0;
$663 = ((($658)) + 16|0);
$664 = HEAP32[$663>>2]|0;
$665 = ($662>>>0)>($664>>>0);
$$$i$i = $665 ? $664 : $662;
$666 = ($$$i$i|0)==(0);
if (!($666)) {
$667 = ((($658)) + 12|0);
$668 = HEAP32[$667>>2]|0;
$669 = ((($660)) + 16|0);
$670 = HEAP32[$669>>2]|0;
_memcpy(($668|0),($670|0),($$$i$i|0))|0;
$671 = HEAP32[$667>>2]|0;
$672 = (($671) + ($$$i$i)|0);
HEAP32[$667>>2] = $672;
$673 = HEAP32[$669>>2]|0;
$674 = (($673) + ($$$i$i)|0);
HEAP32[$669>>2] = $674;
$675 = ((($658)) + 20|0);
$676 = HEAP32[$675>>2]|0;
$677 = (($676) + ($$$i$i))|0;
HEAP32[$675>>2] = $677;
$678 = HEAP32[$663>>2]|0;
$679 = (($678) - ($$$i$i))|0;
HEAP32[$663>>2] = $679;
$680 = HEAP32[$661>>2]|0;
$681 = (($680) - ($$$i$i))|0;
HEAP32[$661>>2] = $681;
$682 = ($681|0)==(0);
if ($682) {
$683 = ((($660)) + 8|0);
$684 = HEAP32[$683>>2]|0;
HEAP32[$669>>2] = $684;
}
}
$685 = HEAP32[$4>>2]|0;
$686 = ((($685)) + 16|0);
$687 = HEAP32[$686>>2]|0;
$688 = ($687|0)==(0);
if ($688) {
label = 191;
break L173;
}
}
$628 = ($1|0)==(0);
if ($628) {
label = 191;
} else {
$689 = ((($4)) + 5812|0);
HEAP32[$689>>2] = 0;
$690 = ($1|0)==(4);
if ($690) {
$691 = HEAP32[$623>>2]|0;
$692 = ($691|0)>(-1);
if ($692) {
$693 = HEAP32[$618>>2]|0;
$694 = (($693) + ($691)|0);
$697 = $694;
} else {
$697 = 0;
}
$695 = HEAP32[$617>>2]|0;
$696 = (($695) - ($691))|0;
__tr_flush_block($4,$697,$696,1);
$698 = HEAP32[$617>>2]|0;
HEAP32[$623>>2] = $698;
$699 = HEAP32[$4>>2]|0;
$700 = ((($699)) + 28|0);
$701 = HEAP32[$700>>2]|0;
__tr_flush_bits($701);
$702 = ((($701)) + 20|0);
$703 = HEAP32[$702>>2]|0;
$704 = ((($699)) + 16|0);
$705 = HEAP32[$704>>2]|0;
$706 = ($703>>>0)>($705>>>0);
$$$i52$i = $706 ? $705 : $703;
$707 = ($$$i52$i|0)==(0);
if (!($707)) {
$708 = ((($699)) + 12|0);
$709 = HEAP32[$708>>2]|0;
$710 = ((($701)) + 16|0);
$711 = HEAP32[$710>>2]|0;
_memcpy(($709|0),($711|0),($$$i52$i|0))|0;
$712 = HEAP32[$708>>2]|0;
$713 = (($712) + ($$$i52$i)|0);
HEAP32[$708>>2] = $713;
$714 = HEAP32[$710>>2]|0;
$715 = (($714) + ($$$i52$i)|0);
HEAP32[$710>>2] = $715;
$716 = ((($699)) + 20|0);
$717 = HEAP32[$716>>2]|0;
$718 = (($717) + ($$$i52$i))|0;
HEAP32[$716>>2] = $718;
$719 = HEAP32[$704>>2]|0;
$720 = (($719) - ($$$i52$i))|0;
HEAP32[$704>>2] = $720;
$721 = HEAP32[$702>>2]|0;
$722 = (($721) - ($$$i52$i))|0;
HEAP32[$702>>2] = $722;
$723 = ($722|0)==(0);
if ($723) {
$724 = ((($701)) + 8|0);
$725 = HEAP32[$724>>2]|0;
HEAP32[$710>>2] = $725;
}
}
$726 = HEAP32[$4>>2]|0;
$727 = ((($726)) + 16|0);
$728 = HEAP32[$727>>2]|0;
$729 = ($728|0)==(0);
$$$i380 = $729 ? 2 : 3;
$1013 = $$$i380;
label = 188;
break L173;
}
$730 = HEAP32[$619>>2]|0;
$731 = ($730|0)==(0);
if (!($731)) {
$732 = HEAP32[$623>>2]|0;
$733 = ($732|0)>(-1);
if ($733) {
$734 = HEAP32[$618>>2]|0;
$735 = (($734) + ($732)|0);
$738 = $735;
} else {
$738 = 0;
}
$736 = HEAP32[$617>>2]|0;
$737 = (($736) - ($732))|0;
__tr_flush_block($4,$738,$737,0);
$739 = HEAP32[$617>>2]|0;
HEAP32[$623>>2] = $739;
$740 = HEAP32[$4>>2]|0;
$741 = ((($740)) + 28|0);
$742 = HEAP32[$741>>2]|0;
__tr_flush_bits($742);
$743 = ((($742)) + 20|0);
$744 = HEAP32[$743>>2]|0;
$745 = ((($740)) + 16|0);
$746 = HEAP32[$745>>2]|0;
$747 = ($744>>>0)>($746>>>0);
$$$i54$i = $747 ? $746 : $744;
$748 = ($$$i54$i|0)==(0);
if (!($748)) {
$749 = ((($740)) + 12|0);
$750 = HEAP32[$749>>2]|0;
$751 = ((($742)) + 16|0);
$752 = HEAP32[$751>>2]|0;
_memcpy(($750|0),($752|0),($$$i54$i|0))|0;
$753 = HEAP32[$749>>2]|0;
$754 = (($753) + ($$$i54$i)|0);
HEAP32[$749>>2] = $754;
$755 = HEAP32[$751>>2]|0;
$756 = (($755) + ($$$i54$i)|0);
HEAP32[$751>>2] = $756;
$757 = ((($740)) + 20|0);
$758 = HEAP32[$757>>2]|0;
$759 = (($758) + ($$$i54$i))|0;
HEAP32[$757>>2] = $759;
$760 = HEAP32[$745>>2]|0;
$761 = (($760) - ($$$i54$i))|0;
HEAP32[$745>>2] = $761;
$762 = HEAP32[$743>>2]|0;
$763 = (($762) - ($$$i54$i))|0;
HEAP32[$743>>2] = $763;
$764 = ($763|0)==(0);
if ($764) {
$765 = ((($742)) + 8|0);
$766 = HEAP32[$765>>2]|0;
HEAP32[$751>>2] = $766;
}
}
$767 = HEAP32[$4>>2]|0;
$768 = ((($767)) + 16|0);
$769 = HEAP32[$768>>2]|0;
$770 = ($769|0)==(0);
if ($770) {
label = 191;
}
}
}
break;
}
case 3: {
$771 = ((($4)) + 116|0);
$772 = ($1|0)==(0);
$773 = ((($4)) + 96|0);
$774 = ((($4)) + 108|0);
$775 = ((($4)) + 5792|0);
$776 = ((($4)) + 5796|0);
$777 = ((($4)) + 5784|0);
$778 = ((($4)) + 5788|0);
$779 = ((($4)) + 56|0);
$780 = ((($4)) + 92|0);
while(1) {
$781 = HEAP32[$771>>2]|0;
$782 = ($781>>>0)<(259);
if ($782) {
_fill_window($4);
$783 = HEAP32[$771>>2]|0;
$784 = ($783>>>0)<(259);
$or$cond$i = $772 & $784;
if ($or$cond$i) {
label = 191;
break L173;
}
$785 = ($783|0)==(0);
if ($785) {
break;
}
HEAP32[$773>>2] = 0;
$786 = ($783>>>0)>(2);
if ($786) {
$828 = $783;
label = 150;
} else {
$$pre$i = HEAP32[$774>>2]|0;
$864 = $$pre$i;
label = 165;
}
} else {
HEAP32[$773>>2] = 0;
$828 = $781;
label = 150;
}
if ((label|0) == 150) {
label = 0;
$787 = HEAP32[$774>>2]|0;
$788 = ($787|0)==(0);
if ($788) {
$864 = 0;
label = 165;
} else {
$789 = HEAP32[$779>>2]|0;
$790 = (($789) + ($787)|0);
$$ptr133$i = ((($790)) + -1|0);
$791 = HEAP8[$$ptr133$i>>0]|0;
$792 = HEAP8[$790>>0]|0;
$793 = ($791<<24>>24)==($792<<24>>24);
if ($793) {
$$ptr135$i = ((($790)) + 1|0);
$794 = HEAP8[$$ptr135$i>>0]|0;
$795 = ($791<<24>>24)==($794<<24>>24);
if ($795) {
$796 = ((($$ptr135$i)) + 1|0);
$797 = HEAP8[$796>>0]|0;
$798 = ($791<<24>>24)==($797<<24>>24);
if ($798) {
$799 = ((($790)) + 258|0);
$$idx$i = 1;
while(1) {
$$ptr$i = (($790) + ($$idx$i)|0);
$800 = ((($$ptr$i)) + 2|0);
$801 = HEAP8[$800>>0]|0;
$802 = ($791<<24>>24)==($801<<24>>24);
if (!($802)) {
$$1$i = $800;
break;
}
$803 = ((($$ptr$i)) + 3|0);
$804 = HEAP8[$803>>0]|0;
$805 = ($791<<24>>24)==($804<<24>>24);
if (!($805)) {
$$1$i = $803;
break;
}
$806 = ((($$ptr$i)) + 4|0);
$807 = HEAP8[$806>>0]|0;
$808 = ($791<<24>>24)==($807<<24>>24);
if (!($808)) {
$$1$i = $806;
break;
}
$809 = ((($$ptr$i)) + 5|0);
$810 = HEAP8[$809>>0]|0;
$811 = ($791<<24>>24)==($810<<24>>24);
if (!($811)) {
$$1$i = $809;
break;
}
$812 = ((($$ptr$i)) + 6|0);
$813 = HEAP8[$812>>0]|0;
$814 = ($791<<24>>24)==($813<<24>>24);
if (!($814)) {
$$1$i = $812;
break;
}
$815 = ((($$ptr$i)) + 7|0);
$816 = HEAP8[$815>>0]|0;
$817 = ($791<<24>>24)==($816<<24>>24);
if (!($817)) {
$$1$i = $815;
break;
}
$$add130$i = (($$idx$i) + 8)|0;
$$ptr132$i = (($790) + ($$add130$i)|0);
$818 = HEAP8[$$ptr132$i>>0]|0;
$819 = ($791<<24>>24)==($818<<24>>24);
if (!($819)) {
$$1$i = $$ptr132$i;
break;
}
$$add$i = (($$idx$i) + 9)|0;
$$ptr131$i = (($790) + ($$add$i)|0);
$820 = HEAP8[$$ptr131$i>>0]|0;
$821 = ($791<<24>>24)==($820<<24>>24);
$822 = ($$add$i|0)<(258);
$or$cond136$i = $822 & $821;
if ($or$cond136$i) {
$$idx$i = $$add130$i;
} else {
$$1$i = $$ptr131$i;
break;
}
}
$823 = $799;
$824 = $$1$i;
$825 = (($824) - ($823))|0;
$826 = (($825) + 258)|0;
$827 = ($826>>>0)>($828>>>0);
$$$i382 = $827 ? $828 : $826;
HEAP32[$773>>2] = $$$i382;
$829 = ($$$i382>>>0)>(2);
if ($829) {
$830 = (($$$i382) + 253)|0;
$831 = $830&255;
$832 = HEAP32[$775>>2]|0;
$833 = HEAP32[$776>>2]|0;
$834 = (($833) + ($832<<1)|0);
HEAP16[$834>>1] = 1;
$835 = (($832) + 1)|0;
HEAP32[$775>>2] = $835;
$836 = HEAP32[$777>>2]|0;
$837 = (($836) + ($832)|0);
HEAP8[$837>>0] = $831;
$838 = $830 & 255;
$839 = (28079 + ($838)|0);
$840 = HEAP8[$839>>0]|0;
$841 = $840&255;
$842 = $841 | 256;
$843 = (($842) + 1)|0;
$844 = (((($4)) + 148|0) + ($843<<2)|0);
$845 = HEAP16[$844>>1]|0;
$846 = (($845) + 1)<<16>>16;
HEAP16[$844>>1] = $846;
$847 = HEAP8[27567]|0;
$848 = $847&255;
$849 = (((($4)) + 2440|0) + ($848<<2)|0);
$850 = HEAP16[$849>>1]|0;
$851 = (($850) + 1)<<16>>16;
HEAP16[$849>>1] = $851;
$852 = HEAP32[$775>>2]|0;
$853 = HEAP32[$778>>2]|0;
$854 = (($853) + -1)|0;
$855 = ($852|0)==($854|0);
$856 = $855&1;
$857 = HEAP32[$773>>2]|0;
$858 = HEAP32[$771>>2]|0;
$859 = (($858) - ($857))|0;
HEAP32[$771>>2] = $859;
$860 = HEAP32[$774>>2]|0;
$861 = (($860) + ($857))|0;
HEAP32[$774>>2] = $861;
HEAP32[$773>>2] = 0;
$$0128$i = $856;$891 = $861;
} else {
$864 = $787;
label = 165;
}
} else {
$864 = $787;
label = 165;
}
} else {
$864 = $787;
label = 165;
}
} else {
$864 = $787;
label = 165;
}
}
}
if ((label|0) == 165) {
label = 0;
$862 = HEAP32[$779>>2]|0;
$863 = (($862) + ($864)|0);
$865 = HEAP8[$863>>0]|0;
$866 = HEAP32[$775>>2]|0;
$867 = HEAP32[$776>>2]|0;
$868 = (($867) + ($866<<1)|0);
HEAP16[$868>>1] = 0;
$869 = (($866) + 1)|0;
HEAP32[$775>>2] = $869;
$870 = HEAP32[$777>>2]|0;
$871 = (($870) + ($866)|0);
HEAP8[$871>>0] = $865;
$872 = $865&255;
$873 = (((($4)) + 148|0) + ($872<<2)|0);
$874 = HEAP16[$873>>1]|0;
$875 = (($874) + 1)<<16>>16;
HEAP16[$873>>1] = $875;
$876 = HEAP32[$775>>2]|0;
$877 = HEAP32[$778>>2]|0;
$878 = (($877) + -1)|0;
$879 = ($876|0)==($878|0);
$880 = $879&1;
$881 = HEAP32[$771>>2]|0;
$882 = (($881) + -1)|0;
HEAP32[$771>>2] = $882;
$883 = HEAP32[$774>>2]|0;
$884 = (($883) + 1)|0;
HEAP32[$774>>2] = $884;
$$0128$i = $880;$891 = $884;
}
$885 = ($$0128$i|0)==(0);
if ($885) {
continue;
}
$886 = HEAP32[$780>>2]|0;
$887 = ($886|0)>(-1);
if ($887) {
$888 = HEAP32[$779>>2]|0;
$889 = (($888) + ($886)|0);
$892 = $889;
} else {
$892 = 0;
}
$890 = (($891) - ($886))|0;
__tr_flush_block($4,$892,$890,0);
$893 = HEAP32[$774>>2]|0;
HEAP32[$780>>2] = $893;
$894 = HEAP32[$4>>2]|0;
$895 = ((($894)) + 28|0);
$896 = HEAP32[$895>>2]|0;
__tr_flush_bits($896);
$897 = ((($896)) + 20|0);
$898 = HEAP32[$897>>2]|0;
$899 = ((($894)) + 16|0);
$900 = HEAP32[$899>>2]|0;
$901 = ($898>>>0)>($900>>>0);
$$$i$i383 = $901 ? $900 : $898;
$902 = ($$$i$i383|0)==(0);
if (!($902)) {
$903 = ((($894)) + 12|0);
$904 = HEAP32[$903>>2]|0;
$905 = ((($896)) + 16|0);
$906 = HEAP32[$905>>2]|0;
_memcpy(($904|0),($906|0),($$$i$i383|0))|0;
$907 = HEAP32[$903>>2]|0;
$908 = (($907) + ($$$i$i383)|0);
HEAP32[$903>>2] = $908;
$909 = HEAP32[$905>>2]|0;
$910 = (($909) + ($$$i$i383)|0);
HEAP32[$905>>2] = $910;
$911 = ((($894)) + 20|0);
$912 = HEAP32[$911>>2]|0;
$913 = (($912) + ($$$i$i383))|0;
HEAP32[$911>>2] = $913;
$914 = HEAP32[$899>>2]|0;
$915 = (($914) - ($$$i$i383))|0;
HEAP32[$899>>2] = $915;
$916 = HEAP32[$897>>2]|0;
$917 = (($916) - ($$$i$i383))|0;
HEAP32[$897>>2] = $917;
$918 = ($917|0)==(0);
if ($918) {
$919 = ((($896)) + 8|0);
$920 = HEAP32[$919>>2]|0;
HEAP32[$905>>2] = $920;
}
}
$921 = HEAP32[$4>>2]|0;
$922 = ((($921)) + 16|0);
$923 = HEAP32[$922>>2]|0;
$924 = ($923|0)==(0);
if ($924) {
label = 191;
break L173;
}
}
$925 = ((($4)) + 5812|0);
HEAP32[$925>>2] = 0;
$926 = ($1|0)==(4);
if ($926) {
$927 = HEAP32[$780>>2]|0;
$928 = ($927|0)>(-1);
if ($928) {
$929 = HEAP32[$779>>2]|0;
$930 = (($929) + ($927)|0);
$933 = $930;
} else {
$933 = 0;
}
$931 = HEAP32[$774>>2]|0;
$932 = (($931) - ($927))|0;
__tr_flush_block($4,$933,$932,1);
$934 = HEAP32[$774>>2]|0;
HEAP32[$780>>2] = $934;
$935 = HEAP32[$4>>2]|0;
$936 = ((($935)) + 28|0);
$937 = HEAP32[$936>>2]|0;
__tr_flush_bits($937);
$938 = ((($937)) + 20|0);
$939 = HEAP32[$938>>2]|0;
$940 = ((($935)) + 16|0);
$941 = HEAP32[$940>>2]|0;
$942 = ($939>>>0)>($941>>>0);
$$$i138$i = $942 ? $941 : $939;
$943 = ($$$i138$i|0)==(0);
if (!($943)) {
$944 = ((($935)) + 12|0);
$945 = HEAP32[$944>>2]|0;
$946 = ((($937)) + 16|0);
$947 = HEAP32[$946>>2]|0;
_memcpy(($945|0),($947|0),($$$i138$i|0))|0;
$948 = HEAP32[$944>>2]|0;
$949 = (($948) + ($$$i138$i)|0);
HEAP32[$944>>2] = $949;
$950 = HEAP32[$946>>2]|0;
$951 = (($950) + ($$$i138$i)|0);
HEAP32[$946>>2] = $951;
$952 = ((($935)) + 20|0);
$953 = HEAP32[$952>>2]|0;
$954 = (($953) + ($$$i138$i))|0;
HEAP32[$952>>2] = $954;
$955 = HEAP32[$940>>2]|0;
$956 = (($955) - ($$$i138$i))|0;
HEAP32[$940>>2] = $956;
$957 = HEAP32[$938>>2]|0;
$958 = (($957) - ($$$i138$i))|0;
HEAP32[$938>>2] = $958;
$959 = ($958|0)==(0);
if ($959) {
$960 = ((($937)) + 8|0);
$961 = HEAP32[$960>>2]|0;
HEAP32[$946>>2] = $961;
}
}
$962 = HEAP32[$4>>2]|0;
$963 = ((($962)) + 16|0);
$964 = HEAP32[$963>>2]|0;
$965 = ($964|0)==(0);
$$137$i = $965 ? 2 : 3;
$1013 = $$137$i;
label = 188;
break L173;
}
$966 = HEAP32[$775>>2]|0;
$967 = ($966|0)==(0);
if (!($967)) {
$968 = HEAP32[$780>>2]|0;
$969 = ($968|0)>(-1);
if ($969) {
$970 = HEAP32[$779>>2]|0;
$971 = (($970) + ($968)|0);
$974 = $971;
} else {
$974 = 0;
}
$972 = HEAP32[$774>>2]|0;
$973 = (($972) - ($968))|0;
__tr_flush_block($4,$974,$973,0);
$975 = HEAP32[$774>>2]|0;
HEAP32[$780>>2] = $975;
$976 = HEAP32[$4>>2]|0;
$977 = ((($976)) + 28|0);
$978 = HEAP32[$977>>2]|0;
__tr_flush_bits($978);
$979 = ((($978)) + 20|0);
$980 = HEAP32[$979>>2]|0;
$981 = ((($976)) + 16|0);
$982 = HEAP32[$981>>2]|0;
$983 = ($980>>>0)>($982>>>0);
$$$i140$i = $983 ? $982 : $980;
$984 = ($$$i140$i|0)==(0);
if (!($984)) {
$985 = ((($976)) + 12|0);
$986 = HEAP32[$985>>2]|0;
$987 = ((($978)) + 16|0);
$988 = HEAP32[$987>>2]|0;
_memcpy(($986|0),($988|0),($$$i140$i|0))|0;
$989 = HEAP32[$985>>2]|0;
$990 = (($989) + ($$$i140$i)|0);
HEAP32[$985>>2] = $990;
$991 = HEAP32[$987>>2]|0;
$992 = (($991) + ($$$i140$i)|0);
HEAP32[$987>>2] = $992;
$993 = ((($976)) + 20|0);
$994 = HEAP32[$993>>2]|0;
$995 = (($994) + ($$$i140$i))|0;
HEAP32[$993>>2] = $995;
$996 = HEAP32[$981>>2]|0;
$997 = (($996) - ($$$i140$i))|0;
HEAP32[$981>>2] = $997;
$998 = HEAP32[$979>>2]|0;
$999 = (($998) - ($$$i140$i))|0;
HEAP32[$979>>2] = $999;
$1000 = ($999|0)==(0);
if ($1000) {
$1001 = ((($978)) + 8|0);
$1002 = HEAP32[$1001>>2]|0;
HEAP32[$987>>2] = $1002;
}
}
$1003 = HEAP32[$4>>2]|0;
$1004 = ((($1003)) + 16|0);
$1005 = HEAP32[$1004>>2]|0;
$1006 = ($1005|0)==(0);
if ($1006) {
label = 191;
}
}
break;
}
default: {
$1007 = ((($4)) + 132|0);
$1008 = HEAP32[$1007>>2]|0;
$1009 = (((9208 + (($1008*12)|0)|0)) + 8|0);
$1010 = HEAP32[$1009>>2]|0;
$1011 = (FUNCTION_TABLE_iii[$1010 & 63]($4,$1)|0);
$1013 = $1011;
label = 188;
}
}
} while(0);
if ((label|0) == 188) {
$1012 = $1013 | 1;
$1014 = ($1012|0)==(3);
if ($1014) {
HEAP32[$16>>2] = 666;
}
$1015 = $1013 | 2;
$1016 = ($1015|0)==(2);
if ($1016) {
label = 191;
} else {
$1019 = ($1013|0)==(1);
if (!($1019)) {
break;
}
}
}
if ((label|0) == 191) {
$1017 = HEAP32[$22>>2]|0;
$1018 = ($1017|0)==(0);
if (!($1018)) {
$$1 = 0;
return ($$1|0);
}
HEAP32[$27>>2] = -1;
$$1 = 0;
return ($$1|0);
}
switch ($1|0) {
case 1: {
__tr_align($4);
break;
}
case 5: {
break;
}
default: {
__tr_stored_block($4,0,0,0);
$1020 = ($1|0)==(3);
if ($1020) {
$1021 = ((($4)) + 76|0);
$1022 = HEAP32[$1021>>2]|0;
$1023 = (($1022) + -1)|0;
$1024 = ((($4)) + 68|0);
$1025 = HEAP32[$1024>>2]|0;
$1026 = (($1025) + ($1023<<1)|0);
HEAP16[$1026>>1] = 0;
$1027 = $1022 << 1;
$1028 = (($1027) + -2)|0;
_memset(($1025|0),0,($1028|0))|0;
$1029 = ((($4)) + 116|0);
$1030 = HEAP32[$1029>>2]|0;
$1031 = ($1030|0)==(0);
if ($1031) {
$1032 = ((($4)) + 108|0);
HEAP32[$1032>>2] = 0;
$1033 = ((($4)) + 92|0);
HEAP32[$1033>>2] = 0;
$1034 = ((($4)) + 5812|0);
HEAP32[$1034>>2] = 0;
}
}
}
}
$1035 = HEAP32[$3>>2]|0;
__tr_flush_bits($1035);
$1036 = ((($1035)) + 20|0);
$1037 = HEAP32[$1036>>2]|0;
$1038 = HEAP32[$22>>2]|0;
$1039 = ($1037>>>0)>($1038>>>0);
$$$i368 = $1039 ? $1038 : $1037;
$1040 = ($$$i368|0)==(0);
if ($1040) {
$1058 = $1038;
} else {
$1041 = HEAP32[$8>>2]|0;
$1042 = ((($1035)) + 16|0);
$1043 = HEAP32[$1042>>2]|0;
_memcpy(($1041|0),($1043|0),($$$i368|0))|0;
$1044 = HEAP32[$8>>2]|0;
$1045 = (($1044) + ($$$i368)|0);
HEAP32[$8>>2] = $1045;
$1046 = HEAP32[$1042>>2]|0;
$1047 = (($1046) + ($$$i368)|0);
HEAP32[$1042>>2] = $1047;
$1048 = ((($0)) + 20|0);
$1049 = HEAP32[$1048>>2]|0;
$1050 = (($1049) + ($$$i368))|0;
HEAP32[$1048>>2] = $1050;
$1051 = HEAP32[$22>>2]|0;
$1052 = (($1051) - ($$$i368))|0;
HEAP32[$22>>2] = $1052;
$1053 = HEAP32[$1036>>2]|0;
$1054 = (($1053) - ($$$i368))|0;
HEAP32[$1036>>2] = $1054;
$1055 = ($1054|0)==(0);
if ($1055) {
$1056 = ((($1035)) + 8|0);
$1057 = HEAP32[$1056>>2]|0;
HEAP32[$1042>>2] = $1057;
$1058 = $1052;
} else {
$1058 = $1052;
}
}
$1059 = ($1058|0)==(0);
if ($1059) {
HEAP32[$27>>2] = -1;
$$1 = 0;
return ($$1|0);
}
}
} while(0);
if ($19) {
$$1 = 0;
return ($$1|0);
}
$1060 = ((($4)) + 24|0);
$1061 = HEAP32[$1060>>2]|0;
$1062 = ($1061|0)<(1);
if ($1062) {
$$1 = 1;
return ($$1|0);
}
$1063 = ($1061|0)==(2);
$1064 = ((($0)) + 48|0);
$1065 = HEAP32[$1064>>2]|0;
if ($1063) {
$1066 = $1065&255;
$1067 = HEAP32[$560>>2]|0;
$1068 = (($1067) + 1)|0;
HEAP32[$560>>2] = $1068;
$1069 = ((($4)) + 8|0);
$1070 = HEAP32[$1069>>2]|0;
$1071 = (($1070) + ($1067)|0);
HEAP8[$1071>>0] = $1066;
$1072 = HEAP32[$1064>>2]|0;
$1073 = $1072 >>> 8;
$1074 = $1073&255;
$1075 = HEAP32[$560>>2]|0;
$1076 = (($1075) + 1)|0;
HEAP32[$560>>2] = $1076;
$1077 = HEAP32[$1069>>2]|0;
$1078 = (($1077) + ($1075)|0);
HEAP8[$1078>>0] = $1074;
$1079 = HEAP32[$1064>>2]|0;
$1080 = $1079 >>> 16;
$1081 = $1080&255;
$1082 = HEAP32[$560>>2]|0;
$1083 = (($1082) + 1)|0;
HEAP32[$560>>2] = $1083;
$1084 = HEAP32[$1069>>2]|0;
$1085 = (($1084) + ($1082)|0);
HEAP8[$1085>>0] = $1081;
$1086 = HEAP32[$1064>>2]|0;
$1087 = $1086 >>> 24;
$1088 = $1087&255;
$1089 = HEAP32[$560>>2]|0;
$1090 = (($1089) + 1)|0;
HEAP32[$560>>2] = $1090;
$1091 = HEAP32[$1069>>2]|0;
$1092 = (($1091) + ($1089)|0);
HEAP8[$1092>>0] = $1088;
$1093 = ((($0)) + 8|0);
$1094 = HEAP32[$1093>>2]|0;
$1095 = $1094&255;
$1096 = HEAP32[$560>>2]|0;
$1097 = (($1096) + 1)|0;
HEAP32[$560>>2] = $1097;
$1098 = HEAP32[$1069>>2]|0;
$1099 = (($1098) + ($1096)|0);
HEAP8[$1099>>0] = $1095;
$1100 = HEAP32[$1093>>2]|0;
$1101 = $1100 >>> 8;
$1102 = $1101&255;
$1103 = HEAP32[$560>>2]|0;
$1104 = (($1103) + 1)|0;
HEAP32[$560>>2] = $1104;
$1105 = HEAP32[$1069>>2]|0;
$1106 = (($1105) + ($1103)|0);
HEAP8[$1106>>0] = $1102;
$1107 = HEAP32[$1093>>2]|0;
$1108 = $1107 >>> 16;
$1109 = $1108&255;
$1110 = HEAP32[$560>>2]|0;
$1111 = (($1110) + 1)|0;
HEAP32[$560>>2] = $1111;
$1112 = HEAP32[$1069>>2]|0;
$1113 = (($1112) + ($1110)|0);
HEAP8[$1113>>0] = $1109;
$1114 = HEAP32[$1093>>2]|0;
$1115 = $1114 >>> 24;
$1116 = $1115&255;
$1117 = HEAP32[$560>>2]|0;
$1118 = (($1117) + 1)|0;
HEAP32[$560>>2] = $1118;
$1119 = HEAP32[$1069>>2]|0;
$1120 = (($1119) + ($1117)|0);
HEAP8[$1120>>0] = $1116;
} else {
$1121 = $1065 >>> 16;
$1122 = $1065 >>> 24;
$1123 = $1122&255;
$1124 = HEAP32[$560>>2]|0;
$1125 = (($1124) + 1)|0;
HEAP32[$560>>2] = $1125;
$1126 = ((($4)) + 8|0);
$1127 = HEAP32[$1126>>2]|0;
$1128 = (($1127) + ($1124)|0);
HEAP8[$1128>>0] = $1123;
$1129 = $1121&255;
$1130 = HEAP32[$560>>2]|0;
$1131 = (($1130) + 1)|0;
HEAP32[$560>>2] = $1131;
$1132 = HEAP32[$1126>>2]|0;
$1133 = (($1132) + ($1130)|0);
HEAP8[$1133>>0] = $1129;
$1134 = HEAP32[$1064>>2]|0;
$1135 = $1134 >>> 8;
$1136 = $1135&255;
$1137 = HEAP32[$560>>2]|0;
$1138 = (($1137) + 1)|0;
HEAP32[$560>>2] = $1138;
$1139 = HEAP32[$1126>>2]|0;
$1140 = (($1139) + ($1137)|0);
HEAP8[$1140>>0] = $1136;
$1141 = $1134&255;
$1142 = HEAP32[$560>>2]|0;
$1143 = (($1142) + 1)|0;
HEAP32[$560>>2] = $1143;
$1144 = HEAP32[$1126>>2]|0;
$1145 = (($1144) + ($1142)|0);
HEAP8[$1145>>0] = $1141;
}
$1146 = HEAP32[$3>>2]|0;
__tr_flush_bits($1146);
$1147 = ((($1146)) + 20|0);
$1148 = HEAP32[$1147>>2]|0;
$1149 = HEAP32[$22>>2]|0;
$1150 = ($1148>>>0)>($1149>>>0);
$$$i = $1150 ? $1149 : $1148;
$1151 = ($$$i|0)==(0);
if (!($1151)) {
$1152 = HEAP32[$8>>2]|0;
$1153 = ((($1146)) + 16|0);
$1154 = HEAP32[$1153>>2]|0;
_memcpy(($1152|0),($1154|0),($$$i|0))|0;
$1155 = HEAP32[$8>>2]|0;
$1156 = (($1155) + ($$$i)|0);
HEAP32[$8>>2] = $1156;
$1157 = HEAP32[$1153>>2]|0;
$1158 = (($1157) + ($$$i)|0);
HEAP32[$1153>>2] = $1158;
$1159 = ((($0)) + 20|0);
$1160 = HEAP32[$1159>>2]|0;
$1161 = (($1160) + ($$$i))|0;
HEAP32[$1159>>2] = $1161;
$1162 = HEAP32[$22>>2]|0;
$1163 = (($1162) - ($$$i))|0;
HEAP32[$22>>2] = $1163;
$1164 = HEAP32[$1147>>2]|0;
$1165 = (($1164) - ($$$i))|0;
HEAP32[$1147>>2] = $1165;
$1166 = ($1165|0)==(0);
if ($1166) {
$1167 = ((($1146)) + 8|0);
$1168 = HEAP32[$1167>>2]|0;
HEAP32[$1153>>2] = $1168;
}
}
$1169 = HEAP32[$1060>>2]|0;
$1170 = ($1169|0)>(0);
if ($1170) {
$1171 = (0 - ($1169))|0;
HEAP32[$1060>>2] = $1171;
}
$1172 = HEAP32[$560>>2]|0;
$not$ = ($1172|0)==(0);
$1173 = $not$&1;
$$1 = $1173;
return ($$1|0);
}
}
} while(0);
$20 = HEAP32[(9952)>>2]|0;
$21 = ((($0)) + 24|0);
HEAP32[$21>>2] = $20;
$$1 = -2;
return ($$1|0);
}
function _inflateReset($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = -2;
return ($$0|0);
}
$2 = ((($0)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if ($4) {
$$0 = -2;
return ($$0|0);
}
$5 = ((($3)) + 40|0);
HEAP32[$5>>2] = 0;
$6 = ((($3)) + 44|0);
HEAP32[$6>>2] = 0;
$7 = ((($3)) + 48|0);
HEAP32[$7>>2] = 0;
$8 = ((($3)) + 28|0);
HEAP32[$8>>2] = 0;
$9 = ((($0)) + 20|0);
HEAP32[$9>>2] = 0;
$10 = ((($0)) + 8|0);
HEAP32[$10>>2] = 0;
$11 = ((($0)) + 24|0);
HEAP32[$11>>2] = 0;
$12 = ((($3)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0);
if (!($14)) {
$15 = $13 & 1;
$16 = ((($0)) + 48|0);
HEAP32[$16>>2] = $15;
}
HEAP32[$3>>2] = 0;
$17 = ((($3)) + 4|0);
HEAP32[$17>>2] = 0;
$18 = ((($3)) + 12|0);
HEAP32[$18>>2] = 0;
$19 = ((($3)) + 20|0);
HEAP32[$19>>2] = 32768;
$20 = ((($3)) + 32|0);
HEAP32[$20>>2] = 0;
$21 = ((($3)) + 56|0);
HEAP32[$21>>2] = 0;
$22 = ((($3)) + 60|0);
HEAP32[$22>>2] = 0;
$23 = ((($3)) + 1328|0);
$24 = ((($3)) + 108|0);
HEAP32[$24>>2] = $23;
$25 = ((($3)) + 80|0);
HEAP32[$25>>2] = $23;
$26 = ((($3)) + 76|0);
HEAP32[$26>>2] = $23;
$27 = ((($3)) + 7104|0);
HEAP32[$27>>2] = 1;
$28 = ((($3)) + 7108|0);
HEAP32[$28>>2] = -1;
$$0 = 0;
return ($$0|0);
}
function _inflateInit_($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$i = 0, $$phi$trans$insert5 = 0, $$pre = 0, $$pre$i = 0, $$pre30$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $or$cond$i = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($1|0)==(0|0);
if ($3) {
$$0$i = -6;
return ($$0$i|0);
}
$4 = HEAP8[$1>>0]|0;
$5 = ($4<<24>>24)!=(49);
$6 = ($2|0)!=(56);
$or$cond$i = $6 | $5;
if ($or$cond$i) {
$$0$i = -6;
return ($$0$i|0);
}
$7 = ($0|0)==(0|0);
if ($7) {
$$0$i = -2;
return ($$0$i|0);
}
$8 = ((($0)) + 24|0);
HEAP32[$8>>2] = 0;
$9 = ((($0)) + 32|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)==(0|0);
if ($11) {
HEAP32[$9>>2] = 68;
$12 = ((($0)) + 40|0);
HEAP32[$12>>2] = 0;
$18 = 68;
} else {
$18 = $10;
}
$13 = ((($0)) + 36|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)==(0|0);
if ($15) {
HEAP32[$13>>2] = 69;
}
$16 = ((($0)) + 40|0);
$17 = HEAP32[$16>>2]|0;
$19 = (FUNCTION_TABLE_iiii[$18 & 127]($17,1,7116)|0);
$20 = ($19|0)==(0|0);
if ($20) {
$$0$i = -4;
return ($$0$i|0);
}
$21 = ((($0)) + 28|0);
HEAP32[$21>>2] = $19;
$22 = ((($19)) + 52|0);
HEAP32[$22>>2] = 0;
$23 = ((($19)) + 52|0);
$24 = HEAP32[$23>>2]|0;
$25 = ($24|0)==(0|0);
$$pre30$i = ((($19)) + 36|0);
do {
if ($25) {
label = 11;
} else {
$26 = HEAP32[$$pre30$i>>2]|0;
$27 = ($26|0)==(15);
if ($27) {
label = 11;
} else {
$29 = HEAP32[$13>>2]|0;
$30 = HEAP32[$16>>2]|0;
FUNCTION_TABLE_vii[$29 & 127]($30,$24);
HEAP32[$23>>2] = 0;
$$pre$i = HEAP32[$21>>2]|0;
$31 = ((($19)) + 8|0);
HEAP32[$31>>2] = 1;
HEAP32[$$pre30$i>>2] = 15;
$32 = ($$pre$i|0)==(0|0);
if (!($32)) {
$$phi$trans$insert5 = ((($$pre$i)) + 8|0);
$$pre = HEAP32[$$phi$trans$insert5>>2]|0;
$34 = $$pre$i;$40 = $$pre;
break;
}
$56 = HEAP32[$13>>2]|0;
$57 = HEAP32[$16>>2]|0;
FUNCTION_TABLE_vii[$56 & 127]($57,$19);
HEAP32[$21>>2] = 0;
$$0$i = -2;
return ($$0$i|0);
}
}
} while(0);
if ((label|0) == 11) {
$28 = ((($19)) + 8|0);
HEAP32[$28>>2] = 1;
HEAP32[$$pre30$i>>2] = 15;
$34 = $19;$40 = 1;
}
$33 = ((($34)) + 40|0);
HEAP32[$33>>2] = 0;
$35 = ((($34)) + 44|0);
HEAP32[$35>>2] = 0;
$36 = ((($34)) + 48|0);
HEAP32[$36>>2] = 0;
$37 = ((($34)) + 28|0);
HEAP32[$37>>2] = 0;
$38 = ((($0)) + 20|0);
HEAP32[$38>>2] = 0;
$39 = ((($0)) + 8|0);
HEAP32[$39>>2] = 0;
HEAP32[$8>>2] = 0;
$41 = ($40|0)==(0);
if (!($41)) {
$42 = $40 & 1;
$43 = ((($0)) + 48|0);
HEAP32[$43>>2] = $42;
}
HEAP32[$34>>2] = 0;
$44 = ((($34)) + 4|0);
HEAP32[$44>>2] = 0;
$45 = ((($34)) + 12|0);
HEAP32[$45>>2] = 0;
$46 = ((($34)) + 20|0);
HEAP32[$46>>2] = 32768;
$47 = ((($34)) + 32|0);
HEAP32[$47>>2] = 0;
$48 = ((($34)) + 56|0);
HEAP32[$48>>2] = 0;
$49 = ((($34)) + 60|0);
HEAP32[$49>>2] = 0;
$50 = ((($34)) + 1328|0);
$51 = ((($34)) + 108|0);
HEAP32[$51>>2] = $50;
$52 = ((($34)) + 80|0);
HEAP32[$52>>2] = $50;
$53 = ((($34)) + 76|0);
HEAP32[$53>>2] = $50;
$54 = ((($34)) + 7104|0);
HEAP32[$54>>2] = 1;
$55 = ((($34)) + 7108|0);
HEAP32[$55>>2] = -1;
$$0$i = 0;
return ($$0$i|0);
}
function _inflate($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$$47980 = 0, $$$7914 = 0, $$$8 = 0, $$0 = 0, $$0$be = 0, $$01042$be = 0, $$01044 = 0, $$01044$be = 0, $$01102 = 0, $$0903 = 0, $$0904 = 0, $$0917 = 0, $$0917$be = 0, $$0922 = 0, $$0922$be = 0, $$0933 = 0, $$0933$be = 0, $$0987 = 0, $$0987$$8915 = 0, $$0987$be = 0;
var $$0988 = 0, $$0988$be = 0, $$1$ph = 0, $$10 = 0, $$101054 = 0, $$10932 = 0, $$10943 = 0, $$10998 = 0, $$11 = 0, $$11043 = 0, $$11045$lcssa = 0, $$110451880 = 0, $$111055 = 0, $$11944 = 0, $$11999 = 0, $$12$lcssa = 0, $$121000 = 0, $$121056 = 0, $$121873 = 0, $$12945$lcssa = 0;
var $$129451872 = 0, $$13 = 0, $$131001 = 0, $$131057 = 0, $$13946 = 0, $$141002 = 0, $$141058 = 0, $$141817 = 0, $$14947$lcssa = 0, $$149471816 = 0, $$15 = 0, $$151003 = 0, $$151059 = 0, $$15948 = 0, $$16 = 0, $$161004$lcssa = 0, $$1610041871 = 0, $$161060$lcssa = 0, $$1610601870 = 0, $$16949 = 0;
var $$17 = 0, $$171005 = 0, $$171061 = 0, $$17950 = 0, $$18$lcssa = 0, $$181006$lcssa = 0, $$1810061815 = 0, $$181062$lcssa = 0, $$1810621814 = 0, $$18951$lcssa = 0, $$19$lcssa = 0, $$1905 = 0, $$1908 = 0, $$191007 = 0, $$191063 = 0, $$1918 = 0, $$191806 = 0, $$1923$lcssa = 0, $$19231883 = 0, $$1934$lcssa = 0;
var $$19341882 = 0, $$1989$lcssa = 0, $$19891881 = 0, $$19952$lcssa = 0, $$199521805 = 0, $$2 = 0, $$20 = 0, $$201008 = 0, $$201064 = 0, $$20953 = 0, $$21 = 0, $$21046$lcssa = 0, $$210461833 = 0, $$211009 = 0, $$211065 = 0, $$21954 = 0, $$22$lcssa = 0, $$221010$lcssa = 0, $$221066$lcssa = 0, $$221607 = 0;
var $$22955$lcssa = 0, $$229551606 = 0, $$23$lcssa = 0, $$23$ph2387 = 0, $$231011$lcssa = 0, $$2310111804 = 0, $$231067$lcssa = 0, $$2310671803 = 0, $$231627 = 0, $$23956$lcssa = 0, $$23956$ph2386 = 0, $$239561626 = 0, $$24$lcssa = 0, $$241012 = 0, $$241068 = 0, $$24957$lcssa = 0, $$25$be = 0, $$25$lcssa2391 = 0, $$25$ph = 0, $$251013 = 0;
var $$251013$ = 0, $$251069 = 0, $$251692 = 0, $$25958$be = 0, $$25958$lcssa2390 = 0, $$25958$ph = 0, $$259581691 = 0, $$26$lcssa = 0, $$261014$lcssa = 0, $$2610141605 = 0, $$261070$lcssa = 0, $$2610701604 = 0, $$261645 = 0, $$26959$lcssa = 0, $$269591644 = 0, $$27$lcssa = 0, $$271015$lcssa = 0, $$271015$ph2385 = 0, $$2710151625 = 0, $$271071$lcssa = 0;
var $$271071$ph2384 = 0, $$2710711624 = 0, $$271671 = 0, $$27960$lcssa = 0, $$279601670 = 0, $$28$lcssa = 0, $$281016$lcssa = 0, $$281072$lcssa = 0, $$281661 = 0, $$28961$lcssa = 0, $$289611660 = 0, $$29$lcssa = 0, $$2906 = 0, $$2909 = 0, $$291017$be = 0, $$291017$lcssa2389 = 0, $$291017$ph = 0, $$2910171690 = 0, $$291073$be = 0, $$291073$lcssa2388 = 0;
var $$291073$ph = 0, $$2910731689 = 0, $$291681 = 0, $$2919 = 0, $$2924$lcssa = 0, $$29241836 = 0, $$29351835 = 0, $$2990$lcssa = 0, $$29901834 = 0, $$29962$lcssa = 0, $$299621680 = 0, $$3 = 0, $$30 = 0, $$301018$lcssa = 0, $$3010181643 = 0, $$301074$lcssa = 0, $$3010741642 = 0, $$30963 = 0, $$31047$lcssa = 0, $$310471843 = 0;
var $$311019$lcssa = 0, $$3110191669 = 0, $$311075$lcssa = 0, $$3110751668 = 0, $$32 = 0, $$321020$lcssa = 0, $$3210201659 = 0, $$321076$lcssa = 0, $$3210761658 = 0, $$32965 = 0, $$33 = 0, $$331021$lcssa = 0, $$3310211679 = 0, $$331077$lcssa = 0, $$3310771678 = 0, $$33966 = 0, $$34$lcssa = 0, $$341022 = 0, $$341078 = 0, $$341709 = 0;
var $$34967$lcssa = 0, $$349671708 = 0, $$35$lcssa = 0, $$351731 = 0, $$35968$lcssa = 0, $$359681730 = 0, $$36 = 0, $$361024 = 0, $$361080 = 0, $$36969 = 0, $$37 = 0, $$371025 = 0, $$371081 = 0, $$37970 = 0, $$38$lcssa = 0, $$381026$lcssa = 0, $$3810261707 = 0, $$381082$lcssa = 0, $$3810821706 = 0, $$381744 = 0;
var $$38971$lcssa = 0, $$389711743 = 0, $$39 = 0, $$391027$lcssa = 0, $$3910271729 = 0, $$391083$lcssa = 0, $$3910831728 = 0, $$39251846 = 0, $$3936$lcssa = 0, $$39361845 = 0, $$3991$lcssa = 0, $$39911844 = 0, $$39972 = 0, $$4 = 0, $$40$lcssa = 0, $$40$ph = 0, $$401028 = 0, $$401084 = 0, $$401761 = 0, $$40973$lcssa = 0;
var $$40973$ph = 0, $$409731760 = 0, $$41$lcssa = 0, $$41048$lcssa = 0, $$410481852 = 0, $$411029 = 0, $$411085 = 0, $$411782 = 0, $$41974$lcssa = 0, $$419741781 = 0, $$42 = 0, $$421030$lcssa = 0, $$4210301742 = 0, $$421086$lcssa = 0, $$4210861741 = 0, $$42975 = 0, $$43 = 0, $$431031 = 0, $$431087 = 0, $$43976 = 0;
var $$44$lcssa = 0, $$441032$lcssa = 0, $$441032$ph = 0, $$4410321759 = 0, $$441088$lcssa = 0, $$441088$ph = 0, $$4410881758 = 0, $$441795 = 0, $$44977$lcssa = 0, $$449771794 = 0, $$45 = 0, $$451033$lcssa = 0, $$4510331780 = 0, $$451089$lcssa = 0, $$4510891779 = 0, $$45978 = 0, $$46 = 0, $$461034 = 0, $$461090 = 0, $$46979 = 0;
var $$47$lcssa = 0, $$471035 = 0, $$471091 = 0, $$471590 = 0, $$47980$lcssa = 0, $$479801589 = 0, $$48 = 0, $$481036$lcssa = 0, $$4810361793 = 0, $$481092$lcssa = 0, $$4810921792 = 0, $$48981 = 0, $$49 = 0, $$491037 = 0, $$491093 = 0, $$4911 = 0, $$4921 = 0, $$49261855 = 0, $$4937$lcssa = 0, $$49371854 = 0;
var $$4992$lcssa = 0, $$49921853 = 0, $$49982 = 0, $$5$ph = 0, $$50$lcssa = 0, $$501038 = 0, $$501094 = 0, $$501597 = 0, $$50983$lcssa = 0, $$509831596 = 0, $$51 = 0, $$51049 = 0, $$511039$lcssa = 0, $$5110391588 = 0, $$511095$lcssa = 0, $$5110951587 = 0, $$51984 = 0, $$521040 = 0, $$521096 = 0, $$53 = 0;
var $$53$ph = 0, $$531041 = 0, $$531097 = 0, $$53986 = 0, $$53986$ph = 0, $$54$lcssa = 0, $$541098$lcssa = 0, $$5410981594 = 0, $$541595 = 0, $$55 = 0, $$551099 = 0, $$57 = 0, $$57$ph = 0, $$571101 = 0, $$571101$ph = 0, $$5912 = 0, $$5927 = 0, $$5938 = 0, $$5993 = 0, $$6 = 0;
var $$61050$lcssa = 0, $$610501861 = 0, $$69281864 = 0, $$6939$lcssa = 0, $$69391863 = 0, $$6994$lcssa = 0, $$69941862 = 0, $$7 = 0, $$71051 = 0, $$7914 = 0, $$7929 = 0, $$7940 = 0, $$7995 = 0, $$8 = 0, $$8$ph = 0, $$81052 = 0, $$8915 = 0, $$8930 = 0, $$8941 = 0, $$8996 = 0;
var $$8996$ = 0, $$91053 = 0, $$9931 = 0, $$9942 = 0, $$9997 = 0, $$lcssa = 0, $$lcssa1183 = 0, $$lcssa1242 = 0, $$lcssa1256 = 0, $$lcssa1268 = 0, $$lcssa1282 = 0, $$off = 0, $$ph = 0, $$pn = 0, $$pn2373 = 0, $$pn2375 = 0, $$pr1107$pre = 0, $$pre = 0, $$pre2353 = 0, $$pre2354 = 0;
var $$pre2355 = 0, $$pre2356 = 0, $$pre2358 = 0, $$pre2361 = 0, $$pre2363 = 0, $$pre2365 = 0, $$pre2367 = 0, $$pre2368 = 0, $$pre2370 = 0, $$pre2371 = 0, $$sroa$057$0 = 0, $$sroa$057$0$$sroa_idx = 0, $$sroa$057$0$$sroa_idx70 = 0, $$sroa$057$0$copyload = 0, $$sroa$057$0$copyload67$lcssa = 0, $$sroa$057$0$copyload67$lcssa$in = 0, $$sroa$057$0$copyload69$lcssa = 0, $$sroa$057$0$copyload69$lcssa$in = 0, $$sroa$057$0$copyload71 = 0, $$sroa$057$1 = 0;
var $$sroa$1874$0 = 0, $$sroa$1874$0$$sroa_idx = 0, $$sroa$1874$0$$sroa_idx1777 = 0, $$sroa$1874$0$$sroa_idx75 = 0, $$sroa$1874$0$$sroa_idx751754 = 0, $$sroa$1874$0$$sroa_idx77 = 0, $$sroa$1874$0$$sroa_idx771702 = 0, $$sroa$1874$0$$sroa_idx79 = 0, $$sroa$1874$0$$sroa_idx791726 = 0, $$sroa$1874$0$$sroa_idx81 = 0, $$sroa$1874$0$$sroa_idx811637 = 0, $$sroa$1874$0$copyload = 0, $$sroa$1874$0$copyload$lcssa = 0, $$sroa$1874$0$copyload1778 = 0, $$sroa$1874$0$copyload76 = 0, $$sroa$1874$0$copyload76$lcssa = 0, $$sroa$1874$0$copyload761755 = 0, $$sroa$1874$0$copyload78 = 0, $$sroa$1874$0$copyload78$lcssa = 0, $$sroa$1874$0$copyload781703 = 0;
var $$sroa$1874$0$copyload80 = 0, $$sroa$1874$0$copyload80$lcssa = 0, $$sroa$1874$0$copyload801727 = 0, $$sroa$1874$0$copyload82 = 0, $$sroa$1874$0$copyload821638 = 0, $$sroa$1874$1 = 0, $$sroa$42$0 = 0, $$sroa$42$0$$sroa_idx104 = 0, $$sroa$42$0$$sroa_idx110 = 0, $$sroa$42$0$copyload = 0, $$sroa$42$0$copyload107$lcssa = 0, $$sroa$42$0$copyload107$lcssa$in = 0, $$sroa$42$0$copyload109$lcssa = 0, $$sroa$42$0$copyload109$lcssa$in = 0, $$sroa$42$0$copyload111 = 0, $$sroa$42$0$copyload113$lcssa = 0, $$sroa$42$0$copyload113$lcssa$in = 0, $$sroa$42$1 = 0, $10 = 0, $100 = 0;
var $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0;
var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0;
var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0;
var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0;
var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0;
var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0;
var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0;
var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0;
var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0;
var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0;
var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0;
var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0;
var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0;
var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0;
var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0;
var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0;
var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0;
var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0;
var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0;
var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0;
var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0;
var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0;
var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0;
var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0;
var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0;
var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0;
var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0;
var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0;
var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0;
var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0;
var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0;
var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0;
var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 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, $713 = 0;
var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0;
var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0;
var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0;
var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0;
var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0;
var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0;
var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0;
var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0;
var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, $or$cond10 = 0, $or$cond1103 = 0, $or$cond1104 = 0, $or$cond1106 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond2826 = 0, $or$cond6 = 0, $or$cond8 = 0, $trunc = 0;
var $trunc$clear = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = ($0|0)==(0|0);
if ($3) {
$$01102 = -2;
STACKTOP = sp;return ($$01102|0);
}
$4 = ((($0)) + 28|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if ($6) {
$$01102 = -2;
STACKTOP = sp;return ($$01102|0);
}
$7 = ((($0)) + 12|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$$01102 = -2;
STACKTOP = sp;return ($$01102|0);
}
$10 = HEAP32[$0>>2]|0;
$11 = ($10|0)==(0|0);
if ($11) {
$12 = ((($0)) + 4|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0);
if (!($14)) {
$$01102 = -2;
STACKTOP = sp;return ($$01102|0);
}
}
$15 = HEAP32[$5>>2]|0;
$16 = ($15|0)==(11);
if ($16) {
HEAP32[$5>>2] = 12;
$870 = 12;
} else {
$870 = $15;
}
$17 = ((($0)) + 16|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($0)) + 4|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($5)) + 56|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($5)) + 60|0);
$24 = HEAP32[$23>>2]|0;
$25 = ((($5)) + 8|0);
$26 = ((($5)) + 24|0);
$27 = ((($2)) + 1|0);
$28 = ((($5)) + 16|0);
$29 = ((($5)) + 32|0);
$30 = ((($0)) + 24|0);
$31 = ((($5)) + 36|0);
$32 = ((($5)) + 20|0);
$33 = ((($0)) + 48|0);
$34 = ((($5)) + 64|0);
$35 = ((($5)) + 12|0);
$$off = (($1) + -5)|0;
$36 = ($$off>>>0)<(2);
$37 = ((($5)) + 4|0);
$38 = ((($5)) + 76|0);
$39 = ((($5)) + 84|0);
$40 = ((($5)) + 80|0);
$41 = ((($5)) + 88|0);
$42 = ($1|0)==(6);
$43 = ((($5)) + 7108|0);
$44 = ((($5)) + 72|0);
$45 = ((($5)) + 7112|0);
$46 = ((($5)) + 68|0);
$47 = ((($5)) + 44|0);
$48 = ((($5)) + 7104|0);
$49 = ((($5)) + 48|0);
$50 = ((($5)) + 52|0);
$51 = ((($5)) + 40|0);
$52 = ((($0)) + 20|0);
$53 = ((($5)) + 28|0);
$54 = ((($2)) + 2|0);
$55 = ((($2)) + 3|0);
$56 = ((($5)) + 104|0);
$57 = ((($5)) + 96|0);
$58 = ((($5)) + 100|0);
$59 = ((($5)) + 624|0);
$60 = ((($5)) + 1328|0);
$61 = ((($5)) + 108|0);
$62 = ((($5)) + 112|0);
$63 = ((($5)) + 752|0);
$64 = ((($5)) + 92|0);
$$0 = 0;$$01044 = $10;$$0917 = $18;$$0922 = $24;$$0933 = $22;$$0987 = $18;$$0988 = $20;$338 = $8;$65 = $870;
L17: while(1) {
L19: do {
switch ($65|0) {
case 28: {
$$53$ph = $$0922;$$53986$ph = $$0933;$$57$ph = $$0988;$$571101$ph = $$01044;$$8$ph = 1;$$ph = $$0987;
label = 282;
break L17;
break;
}
case 29: {
$$4921 = $$0917;$$53 = $$0922;$$53986 = $$0933;$$57 = $$0988;$$571101 = $$01044;$$8 = -3;$817 = $$0987;
break L17;
break;
}
case 30: {
label = 296;
break L17;
break;
}
case 0: {
$69 = HEAP32[$25>>2]|0;
$70 = ($69|0)==(0);
if ($70) {
HEAP32[$5>>2] = 12;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$01044;$$0917$be = $$0917;$$0922$be = $$0922;$$0933$be = $$0933;$$0987$be = $$0987;$$0988$be = $$0988;
break L19;
}
$71 = ($$0922>>>0)<(16);
if ($71) {
$$110451880 = $$01044;$$19231883 = $$0922;$$19341882 = $$0933;$$19891881 = $$0988;
while(1) {
$72 = ($$19891881|0)==(0);
if ($72) {
$$4921 = $$0917;$$53 = $$19231883;$$53986 = $$19341882;$$57 = 0;$$571101 = $$110451880;$$8 = $$0;$817 = $$0987;
break L17;
}
$73 = (($$19891881) + -1)|0;
$74 = ((($$110451880)) + 1|0);
$75 = HEAP8[$$110451880>>0]|0;
$76 = $75&255;
$77 = $76 << $$19231883;
$78 = (($77) + ($$19341882))|0;
$79 = (($$19231883) + 8)|0;
$80 = ($79>>>0)<(16);
if ($80) {
$$110451880 = $74;$$19231883 = $79;$$19341882 = $78;$$19891881 = $73;
} else {
$$11045$lcssa = $74;$$1923$lcssa = $79;$$1934$lcssa = $78;$$1989$lcssa = $73;
break;
}
}
} else {
$$11045$lcssa = $$01044;$$1923$lcssa = $$0922;$$1934$lcssa = $$0933;$$1989$lcssa = $$0988;
}
$81 = $69 & 2;
$82 = ($81|0)!=(0);
$83 = ($$1934$lcssa|0)==(35615);
$or$cond = $83 & $82;
if ($or$cond) {
$84 = (_crc32(0,0,0)|0);
HEAP32[$26>>2] = $84;
HEAP8[$2>>0] = 31;
HEAP8[$27>>0] = -117;
$85 = (_crc32($84,$2,2)|0);
HEAP32[$26>>2] = $85;
HEAP32[$5>>2] = 1;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$11045$lcssa;$$0917$be = $$0917;$$0922$be = 0;$$0933$be = 0;$$0987$be = $$0987;$$0988$be = $$1989$lcssa;
break L19;
}
HEAP32[$28>>2] = 0;
$86 = HEAP32[$29>>2]|0;
$87 = ($86|0)==(0|0);
if (!($87)) {
$88 = ((($86)) + 48|0);
HEAP32[$88>>2] = -1;
}
$89 = $69 & 1;
$90 = ($89|0)==(0);
if (!($90)) {
$91 = $$1934$lcssa << 8;
$92 = $91 & 65280;
$93 = $$1934$lcssa >>> 8;
$94 = (($92) + ($93))|0;
$95 = (($94>>>0) % 31)&-1;
$96 = ($95|0)==(0);
if ($96) {
$97 = $$1934$lcssa & 15;
$98 = ($97|0)==(8);
if (!($98)) {
HEAP32[$30>>2] = 27209;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$11045$lcssa;$$0917$be = $$0917;$$0922$be = $$1923$lcssa;$$0933$be = $$1934$lcssa;$$0987$be = $$0987;$$0988$be = $$1989$lcssa;
break L19;
}
$99 = $$1934$lcssa >>> 4;
$100 = (($$1923$lcssa) + -4)|0;
$101 = $99 & 15;
$102 = (($101) + 8)|0;
$103 = HEAP32[$31>>2]|0;
$104 = ($103|0)==(0);
if ($104) {
HEAP32[$31>>2] = $102;
} else {
$105 = ($102>>>0)>($103>>>0);
if ($105) {
HEAP32[$30>>2] = 27236;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$11045$lcssa;$$0917$be = $$0917;$$0922$be = $100;$$0933$be = $99;$$0987$be = $$0987;$$0988$be = $$1989$lcssa;
break L19;
}
}
$106 = 1 << $102;
HEAP32[$32>>2] = $106;
$107 = (_adler32(0,0,0)|0);
HEAP32[$26>>2] = $107;
HEAP32[$33>>2] = $107;
$108 = $$1934$lcssa >>> 12;
$109 = $108 & 2;
$110 = $109 ^ 11;
HEAP32[$5>>2] = $110;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$11045$lcssa;$$0917$be = $$0917;$$0922$be = 0;$$0933$be = 0;$$0987$be = $$0987;$$0988$be = $$1989$lcssa;
break L19;
}
}
HEAP32[$30>>2] = 27186;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$11045$lcssa;$$0917$be = $$0917;$$0922$be = $$1923$lcssa;$$0933$be = $$1934$lcssa;$$0987$be = $$0987;$$0988$be = $$1989$lcssa;
break;
}
case 1: {
$68 = ($$0922>>>0)<(16);
if ($68) {
$$210461833 = $$01044;$$29241836 = $$0922;$$29351835 = $$0933;$$29901834 = $$0988;
while(1) {
$111 = ($$29901834|0)==(0);
if ($111) {
$$4921 = $$0917;$$53 = $$29241836;$$53986 = $$29351835;$$57 = 0;$$571101 = $$210461833;$$8 = $$0;$817 = $$0987;
break L17;
}
$112 = (($$29901834) + -1)|0;
$113 = ((($$210461833)) + 1|0);
$114 = HEAP8[$$210461833>>0]|0;
$115 = $114&255;
$116 = $115 << $$29241836;
$117 = (($116) + ($$29351835))|0;
$118 = (($$29241836) + 8)|0;
$119 = ($118>>>0)<(16);
if ($119) {
$$210461833 = $113;$$29241836 = $118;$$29351835 = $117;$$29901834 = $112;
} else {
$$21046$lcssa = $113;$$2924$lcssa = $118;$$2990$lcssa = $112;$120 = $117;
break;
}
}
} else {
$$21046$lcssa = $$01044;$$2924$lcssa = $$0922;$$2990$lcssa = $$0988;$120 = $$0933;
}
HEAP32[$28>>2] = $120;
$121 = $120 & 255;
$122 = ($121|0)==(8);
if (!($122)) {
HEAP32[$30>>2] = 27209;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$21046$lcssa;$$0917$be = $$0917;$$0922$be = $$2924$lcssa;$$0933$be = $120;$$0987$be = $$0987;$$0988$be = $$2990$lcssa;
break L19;
}
$123 = $120 & 57344;
$124 = ($123|0)==(0);
if (!($124)) {
HEAP32[$30>>2] = 27256;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$21046$lcssa;$$0917$be = $$0917;$$0922$be = $$2924$lcssa;$$0933$be = $120;$$0987$be = $$0987;$$0988$be = $$2990$lcssa;
break L19;
}
$125 = HEAP32[$29>>2]|0;
$126 = ($125|0)==(0|0);
if (!($126)) {
$127 = $120 >>> 8;
$128 = $127 & 1;
HEAP32[$125>>2] = $128;
}
$129 = $120 & 512;
$130 = ($129|0)==(0);
if (!($130)) {
$131 = $120&255;
HEAP8[$2>>0] = $131;
$132 = $120 >>> 8;
$133 = $132&255;
HEAP8[$27>>0] = $133;
$134 = HEAP32[$26>>2]|0;
$135 = (_crc32($134,$2,2)|0);
HEAP32[$26>>2] = $135;
}
HEAP32[$5>>2] = 2;
$$310471843 = $$21046$lcssa;$$39251846 = 0;$$39361845 = 0;$$39911844 = $$2990$lcssa;
label = 47;
break;
}
case 2: {
$136 = ($$0922>>>0)<(32);
if ($136) {
$$310471843 = $$01044;$$39251846 = $$0922;$$39361845 = $$0933;$$39911844 = $$0988;
label = 47;
} else {
$$31047$lcssa = $$01044;$$3936$lcssa = $$0933;$$3991$lcssa = $$0988;
label = 49;
}
break;
}
case 3: {
$161 = ($$0922>>>0)<(16);
if ($161) {
$$410481852 = $$01044;$$49261855 = $$0922;$$49371854 = $$0933;$$49921853 = $$0988;
label = 55;
} else {
$$41048$lcssa = $$01044;$$4937$lcssa = $$0933;$$4992$lcssa = $$0988;
label = 57;
}
break;
}
case 4: {
$$51049 = $$01044;$$5927 = $$0922;$$5938 = $$0933;$$5993 = $$0988;
label = 62;
break;
}
case 5: {
$$81052 = $$01044;$$8930 = $$0922;$$8941 = $$0933;$$8996 = $$0988;
label = 73;
break;
}
case 6: {
$$111055 = $$01044;$$11999 = $$0988;$$9931 = $$0922;$$9942 = $$0933;
label = 83;
break;
}
case 7: {
$$10932 = $$0922;$$10943 = $$0933;$$131001 = $$0988;$$131057 = $$01044;
label = 96;
break;
}
case 8: {
$$11 = $$0922;$$11944 = $$0933;$$151003 = $$0988;$$151059 = $$01044;
label = 109;
break;
}
case 9: {
$67 = ($$0922>>>0)<(32);
if ($67) {
$$141817 = $$0922;$$149471816 = $$0933;$$1810061815 = $$0988;$$1810621814 = $$01044;
while(1) {
$326 = ($$1810061815|0)==(0);
if ($326) {
$$4921 = $$0917;$$53 = $$141817;$$53986 = $$149471816;$$57 = 0;$$571101 = $$1810621814;$$8 = $$0;$817 = $$0987;
break L17;
}
$327 = (($$1810061815) + -1)|0;
$328 = ((($$1810621814)) + 1|0);
$329 = HEAP8[$$1810621814>>0]|0;
$330 = $329&255;
$331 = $330 << $$141817;
$332 = (($331) + ($$149471816))|0;
$333 = (($$141817) + 8)|0;
$334 = ($333>>>0)<(32);
if ($334) {
$$141817 = $333;$$149471816 = $332;$$1810061815 = $327;$$1810621814 = $328;
} else {
$$14947$lcssa = $332;$$181006$lcssa = $327;$$181062$lcssa = $328;
break;
}
}
} else {
$$14947$lcssa = $$0933;$$181006$lcssa = $$0988;$$181062$lcssa = $$01044;
}
$335 = (_llvm_bswap_i32(($$14947$lcssa|0))|0);
HEAP32[$26>>2] = $335;
HEAP32[$33>>2] = $335;
HEAP32[$5>>2] = 10;
$$15 = 0;$$15948 = 0;$$191007 = $$181006$lcssa;$$191063 = $$181062$lcssa;
label = 121;
break;
}
case 10: {
$$15 = $$0922;$$15948 = $$0933;$$191007 = $$0988;$$191063 = $$01044;
label = 121;
break;
}
case 11: {
$$16 = $$0922;$$16949 = $$0933;$$201008 = $$0988;$$201064 = $$01044;
label = 124;
break;
}
case 12: {
$$17 = $$0922;$$17950 = $$0933;$$211009 = $$0988;$$211065 = $$01044;
label = 125;
break;
}
case 13: {
$360 = $$0922 & 7;
$361 = $$0933 >>> $360;
$362 = (($$0922) - ($360))|0;
$363 = ($362>>>0)<(32);
if ($363) {
$$191806 = $362;$$199521805 = $361;$$2310111804 = $$0988;$$2310671803 = $$01044;
while(1) {
$364 = ($$2310111804|0)==(0);
if ($364) {
$$4921 = $$0917;$$53 = $$191806;$$53986 = $$199521805;$$57 = 0;$$571101 = $$2310671803;$$8 = $$0;$817 = $$0987;
break L17;
}
$365 = (($$2310111804) + -1)|0;
$366 = ((($$2310671803)) + 1|0);
$367 = HEAP8[$$2310671803>>0]|0;
$368 = $367&255;
$369 = $368 << $$191806;
$370 = (($369) + ($$199521805))|0;
$371 = (($$191806) + 8)|0;
$372 = ($371>>>0)<(32);
if ($372) {
$$191806 = $371;$$199521805 = $370;$$2310111804 = $365;$$2310671803 = $366;
} else {
$$19$lcssa = $371;$$19952$lcssa = $370;$$231011$lcssa = $365;$$231067$lcssa = $366;
break;
}
}
} else {
$$19$lcssa = $362;$$19952$lcssa = $361;$$231011$lcssa = $$0988;$$231067$lcssa = $$01044;
}
$373 = $$19952$lcssa & 65535;
$374 = $$19952$lcssa >>> 16;
$375 = $374 ^ 65535;
$376 = ($373|0)==($375|0);
if ($376) {
HEAP32[$34>>2] = $373;
HEAP32[$5>>2] = 14;
if ($42) {
$$53$ph = 0;$$53986$ph = 0;$$57$ph = $$231011$lcssa;$$571101$ph = $$231067$lcssa;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break L17;
} else {
$$20 = 0;$$20953 = 0;$$241012 = $$231011$lcssa;$$241068 = $$231067$lcssa;
label = 144;
break L19;
}
} else {
HEAP32[$30>>2] = 27320;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$231067$lcssa;$$0917$be = $$0917;$$0922$be = $$19$lcssa;$$0933$be = $$19952$lcssa;$$0987$be = $$0987;$$0988$be = $$231011$lcssa;
break L19;
}
break;
}
case 14: {
$$20 = $$0922;$$20953 = $$0933;$$241012 = $$0988;$$241068 = $$01044;
label = 144;
break;
}
case 15: {
$$21 = $$0922;$$21954 = $$0933;$$251013 = $$0988;$$251069 = $$01044;
label = 145;
break;
}
case 16: {
$66 = ($$0922>>>0)<(14);
if ($66) {
$$221607 = $$0922;$$229551606 = $$0933;$$2610141605 = $$0988;$$2610701604 = $$01044;
while(1) {
$388 = ($$2610141605|0)==(0);
if ($388) {
$$4921 = $$0917;$$53 = $$221607;$$53986 = $$229551606;$$57 = 0;$$571101 = $$2610701604;$$8 = $$0;$817 = $$0987;
break L17;
}
$389 = (($$2610141605) + -1)|0;
$390 = ((($$2610701604)) + 1|0);
$391 = HEAP8[$$2610701604>>0]|0;
$392 = $391&255;
$393 = $392 << $$221607;
$394 = (($393) + ($$229551606))|0;
$395 = (($$221607) + 8)|0;
$396 = ($395>>>0)<(14);
if ($396) {
$$221607 = $395;$$229551606 = $394;$$2610141605 = $389;$$2610701604 = $390;
} else {
$$22$lcssa = $395;$$22955$lcssa = $394;$$261014$lcssa = $389;$$261070$lcssa = $390;
break;
}
}
} else {
$$22$lcssa = $$0922;$$22955$lcssa = $$0933;$$261014$lcssa = $$0988;$$261070$lcssa = $$01044;
}
$397 = $$22955$lcssa & 31;
$398 = (($397) + 257)|0;
HEAP32[$57>>2] = $398;
$399 = $$22955$lcssa >>> 5;
$400 = $399 & 31;
$401 = (($400) + 1)|0;
HEAP32[$58>>2] = $401;
$402 = $$22955$lcssa >>> 10;
$403 = $402 & 15;
$404 = (($403) + 4)|0;
HEAP32[$64>>2] = $404;
$405 = $$22955$lcssa >>> 14;
$406 = (($$22$lcssa) + -14)|0;
$407 = ($398>>>0)>(286);
$408 = ($401>>>0)>(30);
$or$cond2826 = $407 | $408;
if ($or$cond2826) {
HEAP32[$30>>2] = 27349;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$261070$lcssa;$$0917$be = $$0917;$$0922$be = $406;$$0933$be = $405;$$0987$be = $$0987;$$0988$be = $$261014$lcssa;
break L19;
} else {
HEAP32[$56>>2] = 0;
HEAP32[$5>>2] = 17;
$$23$ph2387 = $406;$$23956$ph2386 = $405;$$271015$ph2385 = $$261014$lcssa;$$271071$ph2384 = $$261070$lcssa;$431 = $404;$871 = 0;
label = 155;
break L19;
}
break;
}
case 17: {
$$pre2354 = HEAP32[$56>>2]|0;
$$pre2355 = HEAP32[$64>>2]|0;
$409 = ($$pre2354>>>0)<($$pre2355>>>0);
if ($409) {
$$23$ph2387 = $$0922;$$23956$ph2386 = $$0933;$$271015$ph2385 = $$0988;$$271071$ph2384 = $$01044;$431 = $$pre2355;$871 = $$pre2354;
label = 155;
} else {
$$23$lcssa = $$0922;$$23956$lcssa = $$0933;$$271015$lcssa = $$0988;$$271071$lcssa = $$01044;$$lcssa = $$pre2354;
label = 156;
}
break;
}
case 18: {
$$pre2356 = HEAP32[$56>>2]|0;
$$1$ph = $$0;$$25$ph = $$0922;$$25958$ph = $$0933;$$291017$ph = $$0988;$$291073$ph = $$01044;$443 = $$pre2356;
label = 166;
break;
}
case 19: {
$$2 = $$0;$$32 = $$0922;$$32965 = $$0933;$$361024 = $$0988;$$361080 = $$01044;
label = 200;
break;
}
case 20: {
$$3 = $$0;$$33 = $$0922;$$33966 = $$0933;$$371025 = $$0988;$$371081 = $$01044;
label = 201;
break;
}
case 21: {
$$pre2361 = HEAP32[$44>>2]|0;
$$37 = $$0922;$$37970 = $$0933;$$4 = $$0;$$411029 = $$0988;$$411085 = $$01044;$628 = $$pre2361;
label = 219;
break;
}
case 22: {
$$40$ph = $$0922;$$40973$ph = $$0933;$$441032$ph = $$0988;$$441088$ph = $$01044;$$5$ph = $$0;
label = 226;
break;
}
case 23: {
$$pre2367 = HEAP32[$44>>2]|0;
$$43 = $$0922;$$43976 = $$0933;$$471035 = $$0988;$$471091 = $$01044;$$6 = $$0;$709 = $$pre2367;
label = 238;
break;
}
case 24: {
$$46 = $$0922;$$46979 = $$0933;$$501038 = $$0988;$$501094 = $$01044;$$7 = $$0;
label = 244;
break;
}
case 25: {
$765 = ($$0987|0)==(0);
if ($765) {
$$53$ph = $$0922;$$53986$ph = $$0933;$$57$ph = $$0988;$$571101$ph = $$01044;$$8$ph = $$0;$$ph = 0;
label = 282;
break L17;
}
$766 = HEAP32[$34>>2]|0;
$767 = $766&255;
$768 = ((($338)) + 1|0);
HEAP8[$338>>0] = $767;
$769 = (($$0987) + -1)|0;
HEAP32[$5>>2] = 20;
$$0$be = $$0;$$01042$be = $768;$$01044$be = $$01044;$$0917$be = $$0917;$$0922$be = $$0922;$$0933$be = $$0933;$$0987$be = $769;$$0988$be = $$0988;
break;
}
case 26: {
$770 = HEAP32[$25>>2]|0;
$771 = ($770|0)==(0);
if ($771) {
$$1918 = $$0917;$$48 = $$0922;$$48981 = $$0933;$$521040 = $$0988;$$521096 = $$01044;
} else {
$772 = ($$0922>>>0)<(32);
if ($772) {
$$471590 = $$0922;$$479801589 = $$0933;$$5110391588 = $$0988;$$5110951587 = $$01044;
while(1) {
$773 = ($$5110391588|0)==(0);
if ($773) {
$$4921 = $$0917;$$53 = $$471590;$$53986 = $$479801589;$$57 = 0;$$571101 = $$5110951587;$$8 = $$0;$817 = $$0987;
break L17;
}
$774 = (($$5110391588) + -1)|0;
$775 = ((($$5110951587)) + 1|0);
$776 = HEAP8[$$5110951587>>0]|0;
$777 = $776&255;
$778 = $777 << $$471590;
$779 = (($778) + ($$479801589))|0;
$780 = (($$471590) + 8)|0;
$781 = ($780>>>0)<(32);
if ($781) {
$$471590 = $780;$$479801589 = $779;$$5110391588 = $774;$$5110951587 = $775;
} else {
$$47$lcssa = $780;$$47980$lcssa = $779;$$511039$lcssa = $774;$$511095$lcssa = $775;
break;
}
}
} else {
$$47$lcssa = $$0922;$$47980$lcssa = $$0933;$$511039$lcssa = $$0988;$$511095$lcssa = $$01044;
}
$782 = (($$0917) - ($$0987))|0;
$783 = HEAP32[$52>>2]|0;
$784 = (($783) + ($782))|0;
HEAP32[$52>>2] = $784;
$785 = HEAP32[$53>>2]|0;
$786 = (($785) + ($782))|0;
HEAP32[$53>>2] = $786;
$787 = ($782|0)==(0);
if ($787) {
$$pre2353 = HEAP32[$26>>2]|0;
$800 = $$pre2353;
} else {
$788 = HEAP32[$28>>2]|0;
$789 = ($788|0)==(0);
$790 = HEAP32[$26>>2]|0;
$791 = (0 - ($782))|0;
$792 = (($338) + ($791)|0);
if ($789) {
$794 = (_adler32($790,$792,$782)|0);
$795 = $794;
} else {
$793 = (_crc32($790,$792,$782)|0);
$795 = $793;
}
HEAP32[$26>>2] = $795;
HEAP32[$33>>2] = $795;
$800 = $795;
}
$796 = HEAP32[$28>>2]|0;
$797 = ($796|0)==(0);
$798 = (_llvm_bswap_i32(($$47980$lcssa|0))|0);
$$$47980 = $797 ? $798 : $$47980$lcssa;
$799 = ($$$47980|0)==($800|0);
if ($799) {
$$1918 = $$0987;$$48 = 0;$$48981 = 0;$$521040 = $$511039$lcssa;$$521096 = $$511095$lcssa;
} else {
HEAP32[$30>>2] = 27523;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$511095$lcssa;$$0917$be = $$0987;$$0922$be = $$47$lcssa;$$0933$be = $$47980$lcssa;$$0987$be = $$0987;$$0988$be = $$511039$lcssa;
break L19;
}
}
HEAP32[$5>>2] = 27;
$$2919 = $$1918;$$49 = $$48;$$49982 = $$48981;$$531041 = $$521040;$$531097 = $$521096;
label = 274;
break;
}
case 27: {
$$2919 = $$0917;$$49 = $$0922;$$49982 = $$0933;$$531041 = $$0988;$$531097 = $$01044;
label = 274;
break;
}
default: {
$$01102 = -2;
label = 297;
break L17;
}
}
} while(0);
if ((label|0) == 47) {
while(1) {
label = 0;
$137 = ($$39911844|0)==(0);
if ($137) {
$$4921 = $$0917;$$53 = $$39251846;$$53986 = $$39361845;$$57 = 0;$$571101 = $$310471843;$$8 = $$0;$817 = $$0987;
break L17;
}
$138 = (($$39911844) + -1)|0;
$139 = ((($$310471843)) + 1|0);
$140 = HEAP8[$$310471843>>0]|0;
$141 = $140&255;
$142 = $141 << $$39251846;
$143 = (($142) + ($$39361845))|0;
$144 = (($$39251846) + 8)|0;
$145 = ($144>>>0)<(32);
if ($145) {
$$310471843 = $139;$$39251846 = $144;$$39361845 = $143;$$39911844 = $138;
label = 47;
} else {
$$31047$lcssa = $139;$$3936$lcssa = $143;$$3991$lcssa = $138;
label = 49;
break;
}
}
}
else if ((label|0) == 121) {
label = 0;
$336 = HEAP32[$35>>2]|0;
$337 = ($336|0)==(0);
if ($337) {
label = 122;
break;
}
$339 = (_adler32(0,0,0)|0);
HEAP32[$26>>2] = $339;
HEAP32[$33>>2] = $339;
HEAP32[$5>>2] = 11;
$$16 = $$15;$$16949 = $$15948;$$201008 = $$191007;$$201064 = $$191063;
label = 124;
}
else if ((label|0) == 144) {
label = 0;
HEAP32[$5>>2] = 15;
$$21 = $$20;$$21954 = $$20953;$$251013 = $$241012;$$251069 = $$241068;
label = 145;
}
else if ((label|0) == 155) {
label = 0;
$$231627 = $$23$ph2387;$$239561626 = $$23956$ph2386;$$2710151625 = $$271015$ph2385;$$2710711624 = $$271071$ph2384;$423 = $871;
while(1) {
$411 = ($$231627>>>0)<(3);
if ($411) {
$412 = ($$2710151625|0)==(0);
if ($412) {
$$4921 = $$0917;$$53 = $$231627;$$53986 = $$239561626;$$57 = 0;$$571101 = $$2710711624;$$8 = $$0;$817 = $$0987;
break L17;
}
$413 = (($$231627) + 8)|0;
$414 = HEAP8[$$2710711624>>0]|0;
$415 = $414&255;
$416 = $415 << $$231627;
$417 = (($416) + ($$239561626))|0;
$418 = ((($$2710711624)) + 1|0);
$419 = (($$2710151625) + -1)|0;
$$24$lcssa = $413;$$24957$lcssa = $417;$$281016$lcssa = $419;$$281072$lcssa = $418;
} else {
$$24$lcssa = $$231627;$$24957$lcssa = $$239561626;$$281016$lcssa = $$2710151625;$$281072$lcssa = $$2710711624;
}
$420 = $$24957$lcssa & 7;
$421 = $420&65535;
$422 = (($423) + 1)|0;
HEAP32[$56>>2] = $422;
$424 = (12868 + ($423<<1)|0);
$425 = HEAP16[$424>>1]|0;
$426 = $425&65535;
$427 = (((($5)) + 112|0) + ($426<<1)|0);
HEAP16[$427>>1] = $421;
$428 = $$24957$lcssa >>> 3;
$429 = (($$24$lcssa) + -3)|0;
$430 = ($422>>>0)<($431>>>0);
if ($430) {
$$231627 = $429;$$239561626 = $428;$$2710151625 = $$281016$lcssa;$$2710711624 = $$281072$lcssa;$423 = $422;
} else {
$$23$lcssa = $429;$$23956$lcssa = $428;$$271015$lcssa = $$281016$lcssa;$$271071$lcssa = $$281072$lcssa;$$lcssa = $422;
label = 156;
break;
}
}
}
else if ((label|0) == 274) {
label = 0;
$801 = HEAP32[$25>>2]|0;
$802 = ($801|0)==(0);
if ($802) {
$$51 = $$49;$$51984 = $$49982;$$55 = $$531041;$$551099 = $$531097;
label = 281;
break;
}
$803 = HEAP32[$28>>2]|0;
$804 = ($803|0)==(0);
if ($804) {
$$51 = $$49;$$51984 = $$49982;$$55 = $$531041;$$551099 = $$531097;
label = 281;
break;
}
$805 = ($$49>>>0)<(32);
if ($805) {
$$501597 = $$49;$$509831596 = $$49982;$$5410981594 = $$531097;$$541595 = $$531041;
while(1) {
$806 = ($$541595|0)==(0);
if ($806) {
$$4921 = $$2919;$$53 = $$501597;$$53986 = $$509831596;$$57 = 0;$$571101 = $$5410981594;$$8 = $$0;$817 = $$0987;
break L17;
}
$807 = (($$541595) + -1)|0;
$808 = ((($$5410981594)) + 1|0);
$809 = HEAP8[$$5410981594>>0]|0;
$810 = $809&255;
$811 = $810 << $$501597;
$812 = (($811) + ($$509831596))|0;
$813 = (($$501597) + 8)|0;
$814 = ($813>>>0)<(32);
if ($814) {
$$501597 = $813;$$509831596 = $812;$$5410981594 = $808;$$541595 = $807;
} else {
$$50$lcssa = $813;$$50983$lcssa = $812;$$54$lcssa = $807;$$541098$lcssa = $808;
break;
}
}
} else {
$$50$lcssa = $$49;$$50983$lcssa = $$49982;$$54$lcssa = $$531041;$$541098$lcssa = $$531097;
}
$815 = HEAP32[$53>>2]|0;
$816 = ($$50983$lcssa|0)==($815|0);
if ($816) {
$$51 = 0;$$51984 = 0;$$55 = $$54$lcssa;$$551099 = $$541098$lcssa;
label = 281;
break;
}
HEAP32[$30>>2] = 27544;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$541098$lcssa;$$0917$be = $$2919;$$0922$be = $$50$lcssa;$$0933$be = $$50983$lcssa;$$0987$be = $$0987;$$0988$be = $$54$lcssa;
}
do {
if ((label|0) == 49) {
label = 0;
$146 = HEAP32[$29>>2]|0;
$147 = ($146|0)==(0|0);
if (!($147)) {
$148 = ((($146)) + 4|0);
HEAP32[$148>>2] = $$3936$lcssa;
}
$149 = HEAP32[$28>>2]|0;
$150 = $149 & 512;
$151 = ($150|0)==(0);
if (!($151)) {
$152 = $$3936$lcssa&255;
HEAP8[$2>>0] = $152;
$153 = $$3936$lcssa >>> 8;
$154 = $153&255;
HEAP8[$27>>0] = $154;
$155 = $$3936$lcssa >>> 16;
$156 = $155&255;
HEAP8[$54>>0] = $156;
$157 = $$3936$lcssa >>> 24;
$158 = $157&255;
HEAP8[$55>>0] = $158;
$159 = HEAP32[$26>>2]|0;
$160 = (_crc32($159,$2,4)|0);
HEAP32[$26>>2] = $160;
}
HEAP32[$5>>2] = 3;
$$410481852 = $$31047$lcssa;$$49261855 = 0;$$49371854 = 0;$$49921853 = $$3991$lcssa;
label = 55;
}
else if ((label|0) == 124) {
label = 0;
if ($36) {
$$53$ph = $$16;$$53986$ph = $$16949;$$57$ph = $$201008;$$571101$ph = $$201064;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break L17;
} else {
$$17 = $$16;$$17950 = $$16949;$$211009 = $$201008;$$211065 = $$201064;
label = 125;
}
}
else if ((label|0) == 145) {
label = 0;
$377 = HEAP32[$34>>2]|0;
$378 = ($377|0)==(0);
if ($378) {
HEAP32[$5>>2] = 11;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$251069;$$0917$be = $$0917;$$0922$be = $$21;$$0933$be = $$21954;$$0987$be = $$0987;$$0988$be = $$251013;
break;
}
$379 = ($377>>>0)>($$251013>>>0);
$$251013$ = $379 ? $$251013 : $377;
$380 = ($$251013$>>>0)>($$0987>>>0);
$$4911 = $380 ? $$0987 : $$251013$;
$381 = ($$4911|0)==(0);
if ($381) {
$$53$ph = $$21;$$53986$ph = $$21954;$$57$ph = $$251013;$$571101$ph = $$251069;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break L17;
}
_memcpy(($338|0),($$251069|0),($$4911|0))|0;
$382 = (($$251013) - ($$4911))|0;
$383 = (($$251069) + ($$4911)|0);
$384 = (($$0987) - ($$4911))|0;
$385 = (($338) + ($$4911)|0);
$386 = HEAP32[$34>>2]|0;
$387 = (($386) - ($$4911))|0;
HEAP32[$34>>2] = $387;
$$0$be = $$0;$$01042$be = $385;$$01044$be = $383;$$0917$be = $$0917;$$0922$be = $$21;$$0933$be = $$21954;$$0987$be = $384;$$0988$be = $382;
}
else if ((label|0) == 156) {
label = 0;
$410 = ($$lcssa>>>0)<(19);
if ($410) {
$433 = $$lcssa;
while(1) {
$432 = (($433) + 1)|0;
$434 = (12868 + ($433<<1)|0);
$435 = HEAP16[$434>>1]|0;
$436 = $435&65535;
$437 = (((($5)) + 112|0) + ($436<<1)|0);
HEAP16[$437>>1] = 0;
$exitcond = ($432|0)==(19);
if ($exitcond) {
break;
} else {
$433 = $432;
}
}
HEAP32[$56>>2] = 19;
}
HEAP32[$61>>2] = $60;
HEAP32[$38>>2] = $60;
HEAP32[$39>>2] = 7;
$438 = (_inflate_table(0,$62,19,$61,$39,$63)|0);
$439 = ($438|0)==(0);
if ($439) {
HEAP32[$56>>2] = 0;
HEAP32[$5>>2] = 18;
$$1$ph = 0;$$25$ph = $$23$lcssa;$$25958$ph = $$23956$lcssa;$$291017$ph = $$271015$lcssa;$$291073$ph = $$271071$lcssa;$443 = 0;
label = 166;
break;
} else {
HEAP32[$30>>2] = 27385;
HEAP32[$5>>2] = 29;
$$0$be = $438;$$01042$be = $338;$$01044$be = $$271071$lcssa;$$0917$be = $$0917;$$0922$be = $$23$lcssa;$$0933$be = $$23956$lcssa;$$0987$be = $$0987;$$0988$be = $$271015$lcssa;
break;
}
}
} while(0);
L161: do {
if ((label|0) == 55) {
while(1) {
label = 0;
$162 = ($$49921853|0)==(0);
if ($162) {
$$4921 = $$0917;$$53 = $$49261855;$$53986 = $$49371854;$$57 = 0;$$571101 = $$410481852;$$8 = $$0;$817 = $$0987;
break L17;
}
$163 = (($$49921853) + -1)|0;
$164 = ((($$410481852)) + 1|0);
$165 = HEAP8[$$410481852>>0]|0;
$166 = $165&255;
$167 = $166 << $$49261855;
$168 = (($167) + ($$49371854))|0;
$169 = (($$49261855) + 8)|0;
$170 = ($169>>>0)<(16);
if ($170) {
$$410481852 = $164;$$49261855 = $169;$$49371854 = $168;$$49921853 = $163;
label = 55;
} else {
$$41048$lcssa = $164;$$4937$lcssa = $168;$$4992$lcssa = $163;
label = 57;
break;
}
}
}
else if ((label|0) == 125) {
label = 0;
$340 = HEAP32[$37>>2]|0;
$341 = ($340|0)==(0);
if (!($341)) {
$343 = $$17 & 7;
$344 = $$17950 >>> $343;
$345 = (($$17) - ($343))|0;
HEAP32[$5>>2] = 26;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$211065;$$0917$be = $$0917;$$0922$be = $345;$$0933$be = $344;$$0987$be = $$0987;$$0988$be = $$211009;
break;
}
$342 = ($$17>>>0)<(3);
if ($342) {
$346 = ($$211009|0)==(0);
if ($346) {
$$53$ph = $$17;$$53986$ph = $$17950;$$57$ph = 0;$$571101$ph = $$211065;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break L17;
}
$347 = (($$17) + 8)|0;
$348 = HEAP8[$$211065>>0]|0;
$349 = $348&255;
$350 = $349 << $$17;
$351 = (($350) + ($$17950))|0;
$352 = ((($$211065)) + 1|0);
$353 = (($$211009) + -1)|0;
$$18$lcssa = $347;$$18951$lcssa = $351;$$221010$lcssa = $353;$$221066$lcssa = $352;
} else {
$$18$lcssa = $$17;$$18951$lcssa = $$17950;$$221010$lcssa = $$211009;$$221066$lcssa = $$211065;
}
$354 = $$18951$lcssa & 1;
HEAP32[$37>>2] = $354;
$355 = $$18951$lcssa >>> 1;
$trunc = $355&255;
$trunc$clear = $trunc & 3;
switch ($trunc$clear<<24>>24) {
case 0: {
HEAP32[$5>>2] = 13;
break;
}
case 1: {
HEAP32[$38>>2] = 10692;
HEAP32[$39>>2] = 9;
HEAP32[$40>>2] = 12740;
HEAP32[$41>>2] = 5;
HEAP32[$5>>2] = 19;
if ($42) {
label = 133;
break L17;
}
break;
}
case 2: {
HEAP32[$5>>2] = 16;
break;
}
case 3: {
HEAP32[$30>>2] = 27301;
HEAP32[$5>>2] = 29;
break;
}
default: {
label = 136;
break L17;
}
}
$358 = $$18951$lcssa >>> 3;
$359 = (($$18$lcssa) + -3)|0;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$221066$lcssa;$$0917$be = $$0917;$$0922$be = $359;$$0933$be = $358;$$0987$be = $$0987;$$0988$be = $$221010$lcssa;
}
else if ((label|0) == 166) {
label = 0;
$440 = HEAP32[$57>>2]|0;
$441 = HEAP32[$58>>2]|0;
$442 = (($441) + ($440))|0;
$444 = ($443>>>0)<($442>>>0);
do {
if ($444) {
$$251692 = $$25$ph;$$259581691 = $$25958$ph;$$2910171690 = $$291017$ph;$$2910731689 = $$291073$ph;$467 = $443;$532 = $440;$533 = $441;
L181: while(1) {
$445 = HEAP32[$39>>2]|0;
$446 = 1 << $445;
$447 = (($446) + -1)|0;
$448 = $447 & $$259581691;
$449 = HEAP32[$38>>2]|0;
$$sroa$1874$0$$sroa_idx811637 = (((($449) + ($448<<2)|0)) + 1|0);
$$sroa$1874$0$copyload821638 = HEAP8[$$sroa$1874$0$$sroa_idx811637>>0]|0;
$450 = $$sroa$1874$0$copyload821638&255;
$451 = ($$251692>>>0)<($450>>>0);
if ($451) {
$$261645 = $$251692;$$269591644 = $$259581691;$$3010181643 = $$2910171690;$$3010741642 = $$2910731689;
while(1) {
$452 = ($$3010181643|0)==(0);
if ($452) {
$$4921 = $$0917;$$53 = $$261645;$$53986 = $$269591644;$$57 = 0;$$571101 = $$3010741642;$$8 = $$1$ph;$817 = $$0987;
break L17;
}
$453 = (($$3010181643) + -1)|0;
$454 = ((($$3010741642)) + 1|0);
$455 = HEAP8[$$3010741642>>0]|0;
$456 = $455&255;
$457 = $456 << $$261645;
$458 = (($457) + ($$269591644))|0;
$459 = (($$261645) + 8)|0;
$460 = $447 & $458;
$$sroa$1874$0$$sroa_idx81 = (((($449) + ($460<<2)|0)) + 1|0);
$$sroa$1874$0$copyload82 = HEAP8[$$sroa$1874$0$$sroa_idx81>>0]|0;
$461 = $$sroa$1874$0$copyload82&255;
$462 = ($459>>>0)<($461>>>0);
if ($462) {
$$261645 = $459;$$269591644 = $458;$$3010181643 = $453;$$3010741642 = $454;
} else {
$$26$lcssa = $459;$$26959$lcssa = $458;$$301018$lcssa = $453;$$301074$lcssa = $454;$$lcssa1183 = $461;$$pn2375 = $460;
break;
}
}
} else {
$$26$lcssa = $$251692;$$26959$lcssa = $$259581691;$$301018$lcssa = $$2910171690;$$301074$lcssa = $$2910731689;$$lcssa1183 = $450;$$pn2375 = $448;
}
$$sroa$42$0$copyload113$lcssa$in = (((($449) + ($$pn2375<<2)|0)) + 2|0);
$$sroa$42$0$copyload113$lcssa = HEAP16[$$sroa$42$0$copyload113$lcssa$in>>1]|0;
$463 = ($$sroa$42$0$copyload113$lcssa&65535)<(16);
if ($463) {
$464 = $$26959$lcssa >>> $$lcssa1183;
$465 = (($$26$lcssa) - ($$lcssa1183))|0;
$466 = (($467) + 1)|0;
HEAP32[$56>>2] = $466;
$468 = (((($5)) + 112|0) + ($467<<1)|0);
HEAP16[$468>>1] = $$sroa$42$0$copyload113$lcssa;
$$25$be = $465;$$25958$be = $464;$$291017$be = $$301018$lcssa;$$291073$be = $$301074$lcssa;
} else {
switch ($$sroa$42$0$copyload113$lcssa<<16>>16) {
case 16: {
$476 = (($$lcssa1183) + 2)|0;
$477 = ($$26$lcssa>>>0)<($476>>>0);
if ($477) {
$$271671 = $$26$lcssa;$$279601670 = $$26959$lcssa;$$3110191669 = $$301018$lcssa;$$3110751668 = $$301074$lcssa;
while(1) {
$480 = ($$3110191669|0)==(0);
if ($480) {
$$4921 = $$0917;$$53 = $$271671;$$53986 = $$279601670;$$57 = 0;$$571101 = $$3110751668;$$8 = $$1$ph;$817 = $$0987;
break L17;
}
$481 = (($$3110191669) + -1)|0;
$482 = ((($$3110751668)) + 1|0);
$483 = HEAP8[$$3110751668>>0]|0;
$484 = $483&255;
$485 = $484 << $$271671;
$486 = (($485) + ($$279601670))|0;
$487 = (($$271671) + 8)|0;
$488 = ($487>>>0)<($476>>>0);
if ($488) {
$$271671 = $487;$$279601670 = $486;$$3110191669 = $481;$$3110751668 = $482;
} else {
$$27$lcssa = $487;$$27960$lcssa = $486;$$311019$lcssa = $481;$$311075$lcssa = $482;
break;
}
}
} else {
$$27$lcssa = $$26$lcssa;$$27960$lcssa = $$26959$lcssa;$$311019$lcssa = $$301018$lcssa;$$311075$lcssa = $$301074$lcssa;
}
$489 = $$27960$lcssa >>> $$lcssa1183;
$490 = (($$27$lcssa) - ($$lcssa1183))|0;
$491 = ($467|0)==(0);
if ($491) {
label = 180;
break L181;
}
$492 = (($467) + -1)|0;
$493 = (((($5)) + 112|0) + ($492<<1)|0);
$494 = HEAP16[$493>>1]|0;
$495 = $494&65535;
$496 = $489 & 3;
$497 = (($496) + 3)|0;
$498 = $489 >>> 2;
$499 = (($490) + -2)|0;
$$0903 = $495;$$30 = $499;$$30963 = $498;$$341022 = $$311019$lcssa;$$341078 = $$311075$lcssa;$$5912 = $497;
break;
}
case 17: {
$474 = (($$lcssa1183) + 3)|0;
$475 = ($$26$lcssa>>>0)<($474>>>0);
if ($475) {
$$281661 = $$26$lcssa;$$289611660 = $$26959$lcssa;$$3210201659 = $$301018$lcssa;$$3210761658 = $$301074$lcssa;
while(1) {
$500 = ($$3210201659|0)==(0);
if ($500) {
$$4921 = $$0917;$$53 = $$281661;$$53986 = $$289611660;$$57 = 0;$$571101 = $$3210761658;$$8 = $$1$ph;$817 = $$0987;
break L17;
}
$501 = (($$3210201659) + -1)|0;
$502 = ((($$3210761658)) + 1|0);
$503 = HEAP8[$$3210761658>>0]|0;
$504 = $503&255;
$505 = $504 << $$281661;
$506 = (($505) + ($$289611660))|0;
$507 = (($$281661) + 8)|0;
$508 = ($507>>>0)<($474>>>0);
if ($508) {
$$281661 = $507;$$289611660 = $506;$$3210201659 = $501;$$3210761658 = $502;
} else {
$$28$lcssa = $507;$$28961$lcssa = $506;$$321020$lcssa = $501;$$321076$lcssa = $502;
break;
}
}
} else {
$$28$lcssa = $$26$lcssa;$$28961$lcssa = $$26959$lcssa;$$321020$lcssa = $$301018$lcssa;$$321076$lcssa = $$301074$lcssa;
}
$509 = $$28961$lcssa >>> $$lcssa1183;
$510 = $509 & 7;
$511 = (($510) + 3)|0;
$512 = $509 >>> 3;
$513 = (-3 - ($$lcssa1183))|0;
$514 = (($513) + ($$28$lcssa))|0;
$$0903 = 0;$$30 = $514;$$30963 = $512;$$341022 = $$321020$lcssa;$$341078 = $$321076$lcssa;$$5912 = $511;
break;
}
default: {
$478 = (($$lcssa1183) + 7)|0;
$479 = ($$26$lcssa>>>0)<($478>>>0);
if ($479) {
$$291681 = $$26$lcssa;$$299621680 = $$26959$lcssa;$$3310211679 = $$301018$lcssa;$$3310771678 = $$301074$lcssa;
while(1) {
$515 = ($$3310211679|0)==(0);
if ($515) {
$$4921 = $$0917;$$53 = $$291681;$$53986 = $$299621680;$$57 = 0;$$571101 = $$3310771678;$$8 = $$1$ph;$817 = $$0987;
break L17;
}
$516 = (($$3310211679) + -1)|0;
$517 = ((($$3310771678)) + 1|0);
$518 = HEAP8[$$3310771678>>0]|0;
$519 = $518&255;
$520 = $519 << $$291681;
$521 = (($520) + ($$299621680))|0;
$522 = (($$291681) + 8)|0;
$523 = ($522>>>0)<($478>>>0);
if ($523) {
$$291681 = $522;$$299621680 = $521;$$3310211679 = $516;$$3310771678 = $517;
} else {
$$29$lcssa = $522;$$29962$lcssa = $521;$$331021$lcssa = $516;$$331077$lcssa = $517;
break;
}
}
} else {
$$29$lcssa = $$26$lcssa;$$29962$lcssa = $$26959$lcssa;$$331021$lcssa = $$301018$lcssa;$$331077$lcssa = $$301074$lcssa;
}
$524 = $$29962$lcssa >>> $$lcssa1183;
$525 = $524 & 127;
$526 = (($525) + 11)|0;
$527 = $524 >>> 7;
$528 = (-7 - ($$lcssa1183))|0;
$529 = (($528) + ($$29$lcssa))|0;
$$0903 = 0;$$30 = $529;$$30963 = $527;$$341022 = $$331021$lcssa;$$341078 = $$331077$lcssa;$$5912 = $526;
}
}
$530 = (($467) + ($$5912))|0;
$531 = (($533) + ($532))|0;
$534 = ($530>>>0)>($531>>>0);
if ($534) {
label = 190;
break;
}
$535 = $$0903&65535;
$536 = (($$5912) + -1)|0;
$537 = (($467) + 1)|0;
HEAP32[$56>>2] = $537;
$538 = (((($5)) + 112|0) + ($467<<1)|0);
HEAP16[$538>>1] = $535;
$539 = ($536|0)==(0);
if ($539) {
$$25$be = $$30;$$25958$be = $$30963;$$291017$be = $$341022;$$291073$be = $$341078;
} else {
$541 = $536;
while(1) {
$$pre2358 = HEAP32[$56>>2]|0;
$540 = (($541) + -1)|0;
$542 = (($$pre2358) + 1)|0;
HEAP32[$56>>2] = $542;
$543 = (((($5)) + 112|0) + ($$pre2358<<1)|0);
HEAP16[$543>>1] = $535;
$544 = ($540|0)==(0);
if ($544) {
$$25$be = $$30;$$25958$be = $$30963;$$291017$be = $$341022;$$291073$be = $$341078;
break;
} else {
$541 = $540;
}
}
}
}
$469 = HEAP32[$56>>2]|0;
$470 = HEAP32[$57>>2]|0;
$471 = HEAP32[$58>>2]|0;
$472 = (($471) + ($470))|0;
$473 = ($469>>>0)<($472>>>0);
if ($473) {
$$251692 = $$25$be;$$259581691 = $$25958$be;$$2910171690 = $$291017$be;$$2910731689 = $$291073$be;$467 = $469;$532 = $470;$533 = $471;
} else {
label = 192;
break;
}
}
if ((label|0) == 180) {
label = 0;
HEAP32[$30>>2] = 27410;
HEAP32[$5>>2] = 29;
$$0$be = $$1$ph;$$01042$be = $338;$$01044$be = $$311075$lcssa;$$0917$be = $$0917;$$0922$be = $490;$$0933$be = $489;$$0987$be = $$0987;$$0988$be = $$311019$lcssa;
break L161;
}
else if ((label|0) == 190) {
label = 0;
HEAP32[$30>>2] = 27410;
HEAP32[$5>>2] = 29;
$$0$be = $$1$ph;$$01042$be = $338;$$01044$be = $$341078;$$0917$be = $$0917;$$0922$be = $$30;$$0933$be = $$30963;$$0987$be = $$0987;$$0988$be = $$341022;
break L161;
}
else if ((label|0) == 192) {
label = 0;
$$pr1107$pre = HEAP32[$5>>2]|0;
$545 = ($$pr1107$pre|0)==(29);
if ($545) {
$$0$be = $$1$ph;$$01042$be = $338;$$01044$be = $$291073$be;$$0917$be = $$0917;$$0922$be = $$25$be;$$0933$be = $$25958$be;$$0987$be = $$0987;$$0988$be = $$291017$be;
break L161;
} else {
$$25$lcssa2391 = $$25$be;$$25958$lcssa2390 = $$25958$be;$$291017$lcssa2389 = $$291017$be;$$291073$lcssa2388 = $$291073$be;$548 = $470;
break;
}
}
} else {
$$25$lcssa2391 = $$25$ph;$$25958$lcssa2390 = $$25958$ph;$$291017$lcssa2389 = $$291017$ph;$$291073$lcssa2388 = $$291073$ph;$548 = $440;
}
} while(0);
$546 = HEAP16[$59>>1]|0;
$547 = ($546<<16>>16)==(0);
if ($547) {
HEAP32[$30>>2] = 27436;
HEAP32[$5>>2] = 29;
$$0$be = $$1$ph;$$01042$be = $338;$$01044$be = $$291073$lcssa2388;$$0917$be = $$0917;$$0922$be = $$25$lcssa2391;$$0933$be = $$25958$lcssa2390;$$0987$be = $$0987;$$0988$be = $$291017$lcssa2389;
break;
}
HEAP32[$61>>2] = $60;
HEAP32[$38>>2] = $60;
HEAP32[$39>>2] = 9;
$549 = (_inflate_table(1,$62,$548,$61,$39,$63)|0);
$550 = ($549|0)==(0);
if (!($550)) {
HEAP32[$30>>2] = 27473;
HEAP32[$5>>2] = 29;
$$0$be = $549;$$01042$be = $338;$$01044$be = $$291073$lcssa2388;$$0917$be = $$0917;$$0922$be = $$25$lcssa2391;$$0933$be = $$25958$lcssa2390;$$0987$be = $$0987;$$0988$be = $$291017$lcssa2389;
break;
}
$551 = HEAP32[$61>>2]|0;
HEAP32[$40>>2] = $551;
HEAP32[$41>>2] = 6;
$552 = HEAP32[$57>>2]|0;
$553 = (((($5)) + 112|0) + ($552<<1)|0);
$554 = HEAP32[$58>>2]|0;
$555 = (_inflate_table(2,$553,$554,$61,$41,$63)|0);
$556 = ($555|0)==(0);
if ($556) {
HEAP32[$5>>2] = 19;
if ($42) {
$$53$ph = $$25$lcssa2391;$$53986$ph = $$25958$lcssa2390;$$57$ph = $$291017$lcssa2389;$$571101$ph = $$291073$lcssa2388;$$8$ph = 0;$$ph = $$0987;
label = 282;
break L17;
} else {
$$2 = 0;$$32 = $$25$lcssa2391;$$32965 = $$25958$lcssa2390;$$361024 = $$291017$lcssa2389;$$361080 = $$291073$lcssa2388;
label = 200;
break;
}
} else {
HEAP32[$30>>2] = 27501;
HEAP32[$5>>2] = 29;
$$0$be = $555;$$01042$be = $338;$$01044$be = $$291073$lcssa2388;$$0917$be = $$0917;$$0922$be = $$25$lcssa2391;$$0933$be = $$25958$lcssa2390;$$0987$be = $$0987;$$0988$be = $$291017$lcssa2389;
break;
}
}
} while(0);
if ((label|0) == 57) {
label = 0;
$171 = HEAP32[$29>>2]|0;
$172 = ($171|0)==(0|0);
if (!($172)) {
$173 = $$4937$lcssa >>> 8;
$174 = ((($171)) + 8|0);
$175 = $$4937$lcssa & 255;
HEAP32[$174>>2] = $175;
$176 = ((($171)) + 12|0);
HEAP32[$176>>2] = $173;
}
$177 = HEAP32[$28>>2]|0;
$178 = $177 & 512;
$179 = ($178|0)==(0);
if (!($179)) {
$180 = $$4937$lcssa&255;
HEAP8[$2>>0] = $180;
$181 = $$4937$lcssa >>> 8;
$182 = $181&255;
HEAP8[$27>>0] = $182;
$183 = HEAP32[$26>>2]|0;
$184 = (_crc32($183,$2,2)|0);
HEAP32[$26>>2] = $184;
}
HEAP32[$5>>2] = 4;
$$51049 = $$41048$lcssa;$$5927 = 0;$$5938 = 0;$$5993 = $$4992$lcssa;
label = 62;
}
else if ((label|0) == 200) {
label = 0;
HEAP32[$5>>2] = 20;
$$3 = $$2;$$33 = $$32;$$33966 = $$32965;$$371025 = $$361024;$$371081 = $$361080;
label = 201;
}
do {
if ((label|0) == 62) {
label = 0;
$185 = HEAP32[$28>>2]|0;
$186 = $185 & 1024;
$187 = ($186|0)==(0);
if ($187) {
$208 = HEAP32[$29>>2]|0;
$209 = ($208|0)==(0|0);
if ($209) {
$$71051 = $$51049;$$7929 = $$5927;$$7940 = $$5938;$$7995 = $$5993;
} else {
$210 = ((($208)) + 16|0);
HEAP32[$210>>2] = 0;
$$71051 = $$51049;$$7929 = $$5927;$$7940 = $$5938;$$7995 = $$5993;
}
} else {
$188 = ($$5927>>>0)<(16);
if ($188) {
$$610501861 = $$51049;$$69281864 = $$5927;$$69391863 = $$5938;$$69941862 = $$5993;
while(1) {
$189 = ($$69941862|0)==(0);
if ($189) {
$$4921 = $$0917;$$53 = $$69281864;$$53986 = $$69391863;$$57 = 0;$$571101 = $$610501861;$$8 = $$0;$817 = $$0987;
break L17;
}
$190 = (($$69941862) + -1)|0;
$191 = ((($$610501861)) + 1|0);
$192 = HEAP8[$$610501861>>0]|0;
$193 = $192&255;
$194 = $193 << $$69281864;
$195 = (($194) + ($$69391863))|0;
$196 = (($$69281864) + 8)|0;
$197 = ($196>>>0)<(16);
if ($197) {
$$610501861 = $191;$$69281864 = $196;$$69391863 = $195;$$69941862 = $190;
} else {
$$61050$lcssa = $191;$$6939$lcssa = $195;$$6994$lcssa = $190;
break;
}
}
} else {
$$61050$lcssa = $$51049;$$6939$lcssa = $$5938;$$6994$lcssa = $$5993;
}
HEAP32[$34>>2] = $$6939$lcssa;
$198 = HEAP32[$29>>2]|0;
$199 = ($198|0)==(0|0);
if (!($199)) {
$200 = ((($198)) + 20|0);
HEAP32[$200>>2] = $$6939$lcssa;
}
$201 = $185 & 512;
$202 = ($201|0)==(0);
if ($202) {
$$71051 = $$61050$lcssa;$$7929 = 0;$$7940 = 0;$$7995 = $$6994$lcssa;
} else {
$203 = $$6939$lcssa&255;
HEAP8[$2>>0] = $203;
$204 = $$6939$lcssa >>> 8;
$205 = $204&255;
HEAP8[$27>>0] = $205;
$206 = HEAP32[$26>>2]|0;
$207 = (_crc32($206,$2,2)|0);
HEAP32[$26>>2] = $207;
$$71051 = $$61050$lcssa;$$7929 = 0;$$7940 = 0;$$7995 = $$6994$lcssa;
}
}
HEAP32[$5>>2] = 5;
$$81052 = $$71051;$$8930 = $$7929;$$8941 = $$7940;$$8996 = $$7995;
label = 73;
}
else if ((label|0) == 201) {
label = 0;
$557 = ($$371025>>>0)>(5);
$558 = ($$0987>>>0)>(257);
$or$cond6 = $558 & $557;
if ($or$cond6) {
HEAP32[$7>>2] = $338;
HEAP32[$17>>2] = $$0987;
HEAP32[$0>>2] = $$371081;
HEAP32[$19>>2] = $$371025;
HEAP32[$21>>2] = $$33966;
HEAP32[$23>>2] = $$33;
_inflate_fast($0,$$0917);
$559 = HEAP32[$7>>2]|0;
$560 = HEAP32[$17>>2]|0;
$561 = HEAP32[$0>>2]|0;
$562 = HEAP32[$19>>2]|0;
$563 = HEAP32[$21>>2]|0;
$564 = HEAP32[$23>>2]|0;
$565 = HEAP32[$5>>2]|0;
$566 = ($565|0)==(11);
if (!($566)) {
$$0$be = $$3;$$01042$be = $559;$$01044$be = $561;$$0917$be = $$0917;$$0922$be = $564;$$0933$be = $563;$$0987$be = $560;$$0988$be = $562;
break;
}
HEAP32[$43>>2] = -1;
$$0$be = $$3;$$01042$be = $559;$$01044$be = $561;$$0917$be = $$0917;$$0922$be = $564;$$0933$be = $563;$$0987$be = $560;$$0988$be = $562;
break;
}
HEAP32[$43>>2] = 0;
$567 = HEAP32[$39>>2]|0;
$568 = 1 << $567;
$569 = (($568) + -1)|0;
$570 = $569 & $$33966;
$571 = HEAP32[$38>>2]|0;
$$sroa$1874$0$$sroa_idx771702 = (((($571) + ($570<<2)|0)) + 1|0);
$$sroa$1874$0$copyload781703 = HEAP8[$$sroa$1874$0$$sroa_idx771702>>0]|0;
$572 = $$sroa$1874$0$copyload781703&255;
$573 = ($572>>>0)>($$33>>>0);
if ($573) {
$$341709 = $$33;$$349671708 = $$33966;$$3810261707 = $$371025;$$3810821706 = $$371081;
while(1) {
$574 = ($$3810261707|0)==(0);
if ($574) {
$$4921 = $$0917;$$53 = $$341709;$$53986 = $$349671708;$$57 = 0;$$571101 = $$3810821706;$$8 = $$3;$817 = $$0987;
break L17;
}
$575 = (($$3810261707) + -1)|0;
$576 = ((($$3810821706)) + 1|0);
$577 = HEAP8[$$3810821706>>0]|0;
$578 = $577&255;
$579 = $578 << $$341709;
$580 = (($579) + ($$349671708))|0;
$581 = (($$341709) + 8)|0;
$582 = $569 & $580;
$$sroa$1874$0$$sroa_idx77 = (((($571) + ($582<<2)|0)) + 1|0);
$$sroa$1874$0$copyload78 = HEAP8[$$sroa$1874$0$$sroa_idx77>>0]|0;
$583 = $$sroa$1874$0$copyload78&255;
$584 = ($583>>>0)>($581>>>0);
if ($584) {
$$341709 = $581;$$349671708 = $580;$$3810261707 = $575;$$3810821706 = $576;
} else {
$$34$lcssa = $581;$$34967$lcssa = $580;$$381026$lcssa = $575;$$381082$lcssa = $576;$$lcssa1242 = $583;$$pn2373 = $582;$$sroa$1874$0$copyload78$lcssa = $$sroa$1874$0$copyload78;
break;
}
}
} else {
$$34$lcssa = $$33;$$34967$lcssa = $$33966;$$381026$lcssa = $$371025;$$381082$lcssa = $$371081;$$lcssa1242 = $572;$$pn2373 = $570;$$sroa$1874$0$copyload78$lcssa = $$sroa$1874$0$copyload781703;
}
$$sroa$42$0$copyload109$lcssa$in = (((($571) + ($$pn2373<<2)|0)) + 2|0);
$$sroa$057$0$copyload69$lcssa$in = (($571) + ($$pn2373<<2)|0);
$$sroa$42$0$copyload109$lcssa = HEAP16[$$sroa$42$0$copyload109$lcssa$in>>1]|0;
$$sroa$057$0$copyload69$lcssa = HEAP8[$$sroa$057$0$copyload69$lcssa$in>>0]|0;
$585 = $$sroa$057$0$copyload69$lcssa&255;
$586 = ($$sroa$057$0$copyload69$lcssa<<24>>24)!=(0);
$587 = $585 & 240;
$588 = ($587|0)==(0);
$or$cond1106 = $586 & $588;
if ($or$cond1106) {
$589 = $$sroa$42$0$copyload109$lcssa&65535;
$590 = (($$lcssa1242) + ($585))|0;
$591 = 1 << $590;
$592 = (($591) + -1)|0;
$593 = $$34967$lcssa & $592;
$594 = $593 >>> $$lcssa1242;
$595 = (($594) + ($589))|0;
$$sroa$1874$0$$sroa_idx791726 = (((($571) + ($595<<2)|0)) + 1|0);
$$sroa$1874$0$copyload801727 = HEAP8[$$sroa$1874$0$$sroa_idx791726>>0]|0;
$596 = $$sroa$1874$0$copyload801727&255;
$597 = (($596) + ($$lcssa1242))|0;
$598 = ($597>>>0)>($$34$lcssa>>>0);
if ($598) {
$$351731 = $$34$lcssa;$$359681730 = $$34967$lcssa;$$3910271729 = $$381026$lcssa;$$3910831728 = $$381082$lcssa;
while(1) {
$599 = ($$3910271729|0)==(0);
if ($599) {
$$4921 = $$0917;$$53 = $$351731;$$53986 = $$359681730;$$57 = 0;$$571101 = $$3910831728;$$8 = $$3;$817 = $$0987;
break L17;
}
$600 = (($$3910271729) + -1)|0;
$601 = ((($$3910831728)) + 1|0);
$602 = HEAP8[$$3910831728>>0]|0;
$603 = $602&255;
$604 = $603 << $$351731;
$605 = (($604) + ($$359681730))|0;
$606 = (($$351731) + 8)|0;
$607 = $605 & $592;
$608 = $607 >>> $$lcssa1242;
$609 = (($608) + ($589))|0;
$$sroa$1874$0$$sroa_idx79 = (((($571) + ($609<<2)|0)) + 1|0);
$$sroa$1874$0$copyload80 = HEAP8[$$sroa$1874$0$$sroa_idx79>>0]|0;
$610 = $$sroa$1874$0$copyload80&255;
$611 = (($610) + ($$lcssa1242))|0;
$612 = ($611>>>0)>($606>>>0);
if ($612) {
$$351731 = $606;$$359681730 = $605;$$3910271729 = $600;$$3910831728 = $601;
} else {
$$35$lcssa = $606;$$35968$lcssa = $605;$$391027$lcssa = $600;$$391083$lcssa = $601;$$lcssa1256 = $609;$$sroa$1874$0$copyload80$lcssa = $$sroa$1874$0$copyload80;
break;
}
}
} else {
$$35$lcssa = $$34$lcssa;$$35968$lcssa = $$34967$lcssa;$$391027$lcssa = $$381026$lcssa;$$391083$lcssa = $$381082$lcssa;$$lcssa1256 = $595;$$sroa$1874$0$copyload80$lcssa = $$sroa$1874$0$copyload801727;
}
$$sroa$42$0$$sroa_idx110 = (((($571) + ($$lcssa1256<<2)|0)) + 2|0);
$$sroa$42$0$copyload111 = HEAP16[$$sroa$42$0$$sroa_idx110>>1]|0;
$$sroa$057$0$$sroa_idx70 = (($571) + ($$lcssa1256<<2)|0);
$$sroa$057$0$copyload71 = HEAP8[$$sroa$057$0$$sroa_idx70>>0]|0;
$613 = $$35968$lcssa >>> $$lcssa1242;
$614 = (($$35$lcssa) - ($$lcssa1242))|0;
HEAP32[$43>>2] = $$lcssa1242;
$$36 = $614;$$36969 = $613;$$401028 = $$391027$lcssa;$$401084 = $$391083$lcssa;$$sroa$057$0 = $$sroa$057$0$copyload71;$$sroa$1874$0 = $$sroa$1874$0$copyload80$lcssa;$$sroa$42$0 = $$sroa$42$0$copyload111;$619 = $$lcssa1242;
} else {
$$36 = $$34$lcssa;$$36969 = $$34967$lcssa;$$401028 = $$381026$lcssa;$$401084 = $$381082$lcssa;$$sroa$057$0 = $$sroa$057$0$copyload69$lcssa;$$sroa$1874$0 = $$sroa$1874$0$copyload78$lcssa;$$sroa$42$0 = $$sroa$42$0$copyload109$lcssa;$619 = 0;
}
$615 = $$sroa$1874$0&255;
$616 = $$36969 >>> $615;
$617 = (($$36) - ($615))|0;
$618 = (($619) + ($615))|0;
HEAP32[$43>>2] = $618;
$620 = $$sroa$42$0&65535;
HEAP32[$34>>2] = $620;
$621 = $$sroa$057$0&255;
$622 = ($$sroa$057$0<<24>>24)==(0);
if ($622) {
HEAP32[$5>>2] = 25;
$$0$be = $$3;$$01042$be = $338;$$01044$be = $$401084;$$0917$be = $$0917;$$0922$be = $617;$$0933$be = $616;$$0987$be = $$0987;$$0988$be = $$401028;
break;
}
$623 = $621 & 32;
$624 = ($623|0)==(0);
if (!($624)) {
HEAP32[$43>>2] = -1;
HEAP32[$5>>2] = 11;
$$0$be = $$3;$$01042$be = $338;$$01044$be = $$401084;$$0917$be = $$0917;$$0922$be = $617;$$0933$be = $616;$$0987$be = $$0987;$$0988$be = $$401028;
break;
}
$625 = $621 & 64;
$626 = ($625|0)==(0);
if ($626) {
$627 = $621 & 15;
HEAP32[$44>>2] = $627;
HEAP32[$5>>2] = 21;
$$37 = $617;$$37970 = $616;$$4 = $$3;$$411029 = $$401028;$$411085 = $$401084;$628 = $627;
label = 219;
break;
} else {
HEAP32[$30>>2] = 28522;
HEAP32[$5>>2] = 29;
$$0$be = $$3;$$01042$be = $338;$$01044$be = $$401084;$$0917$be = $$0917;$$0922$be = $617;$$0933$be = $616;$$0987$be = $$0987;$$0988$be = $$401028;
break;
}
}
} while(0);
if ((label|0) == 73) {
label = 0;
$211 = HEAP32[$28>>2]|0;
$212 = $211 & 1024;
$213 = ($212|0)==(0);
if ($213) {
$$101054 = $$81052;$$10998 = $$8996;
} else {
$214 = HEAP32[$34>>2]|0;
$215 = ($214>>>0)>($$8996>>>0);
$$8996$ = $215 ? $$8996 : $214;
$216 = ($$8996$|0)==(0);
if ($216) {
$$91053 = $$81052;$$9997 = $$8996;$241 = $214;
} else {
$217 = HEAP32[$29>>2]|0;
$218 = ($217|0)==(0|0);
if ($218) {
$233 = $211;
} else {
$219 = ((($217)) + 16|0);
$220 = HEAP32[$219>>2]|0;
$221 = ($220|0)==(0|0);
if ($221) {
$233 = $211;
} else {
$222 = ((($217)) + 20|0);
$223 = HEAP32[$222>>2]|0;
$224 = (($223) - ($214))|0;
$225 = (($220) + ($224)|0);
$226 = (($224) + ($$8996$))|0;
$227 = ((($217)) + 24|0);
$228 = HEAP32[$227>>2]|0;
$229 = ($226>>>0)>($228>>>0);
$230 = (($228) - ($224))|0;
$231 = $229 ? $230 : $$8996$;
_memcpy(($225|0),($$81052|0),($231|0))|0;
$$pre2368 = HEAP32[$28>>2]|0;
$233 = $$pre2368;
}
}
$232 = $233 & 512;
$234 = ($232|0)==(0);
if (!($234)) {
$235 = HEAP32[$26>>2]|0;
$236 = (_crc32($235,$$81052,$$8996$)|0);
HEAP32[$26>>2] = $236;
}
$237 = (($$8996) - ($$8996$))|0;
$238 = (($$81052) + ($$8996$)|0);
$239 = HEAP32[$34>>2]|0;
$240 = (($239) - ($$8996$))|0;
HEAP32[$34>>2] = $240;
$$91053 = $238;$$9997 = $237;$241 = $240;
}
$242 = ($241|0)==(0);
if ($242) {
$$101054 = $$91053;$$10998 = $$9997;
} else {
$$53$ph = $$8930;$$53986$ph = $$8941;$$57$ph = $$9997;$$571101$ph = $$91053;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break;
}
}
HEAP32[$34>>2] = 0;
HEAP32[$5>>2] = 6;
$$111055 = $$101054;$$11999 = $$10998;$$9931 = $$8930;$$9942 = $$8941;
label = 83;
}
else if ((label|0) == 219) {
label = 0;
$629 = ($628|0)==(0);
if ($629) {
$$pre2363 = HEAP32[$34>>2]|0;
$$39 = $$37;$$39972 = $$37970;$$431031 = $$411029;$$431087 = $$411085;$649 = $$pre2363;
} else {
$630 = ($$37>>>0)<($628>>>0);
if ($630) {
$$381744 = $$37;$$389711743 = $$37970;$$4210301742 = $$411029;$$4210861741 = $$411085;
while(1) {
$631 = ($$4210301742|0)==(0);
if ($631) {
$$4921 = $$0917;$$53 = $$381744;$$53986 = $$389711743;$$57 = 0;$$571101 = $$4210861741;$$8 = $$4;$817 = $$0987;
break L17;
}
$632 = (($$4210301742) + -1)|0;
$633 = ((($$4210861741)) + 1|0);
$634 = HEAP8[$$4210861741>>0]|0;
$635 = $634&255;
$636 = $635 << $$381744;
$637 = (($636) + ($$389711743))|0;
$638 = (($$381744) + 8)|0;
$639 = ($638>>>0)<($628>>>0);
if ($639) {
$$381744 = $638;$$389711743 = $637;$$4210301742 = $632;$$4210861741 = $633;
} else {
$$38$lcssa = $638;$$38971$lcssa = $637;$$421030$lcssa = $632;$$421086$lcssa = $633;
break;
}
}
} else {
$$38$lcssa = $$37;$$38971$lcssa = $$37970;$$421030$lcssa = $$411029;$$421086$lcssa = $$411085;
}
$640 = 1 << $628;
$641 = (($640) + -1)|0;
$642 = $641 & $$38971$lcssa;
$643 = HEAP32[$34>>2]|0;
$644 = (($643) + ($642))|0;
HEAP32[$34>>2] = $644;
$645 = $$38971$lcssa >>> $628;
$646 = (($$38$lcssa) - ($628))|0;
$647 = HEAP32[$43>>2]|0;
$648 = (($647) + ($628))|0;
HEAP32[$43>>2] = $648;
$$39 = $646;$$39972 = $645;$$431031 = $$421030$lcssa;$$431087 = $$421086$lcssa;$649 = $644;
}
HEAP32[$45>>2] = $649;
HEAP32[$5>>2] = 22;
$$40$ph = $$39;$$40973$ph = $$39972;$$441032$ph = $$431031;$$441088$ph = $$431087;$$5$ph = $$4;
label = 226;
}
do {
if ((label|0) == 83) {
label = 0;
$243 = HEAP32[$28>>2]|0;
$244 = $243 & 2048;
$245 = ($244|0)==(0);
if ($245) {
$270 = HEAP32[$29>>2]|0;
$271 = ($270|0)==(0|0);
if ($271) {
$$121000 = $$11999;$$121056 = $$111055;
} else {
$272 = ((($270)) + 28|0);
HEAP32[$272>>2] = 0;
$$121000 = $$11999;$$121056 = $$111055;
}
} else {
$246 = ($$11999|0)==(0);
if ($246) {
$$53$ph = $$9931;$$53986$ph = $$9942;$$57$ph = 0;$$571101$ph = $$111055;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break L17;
} else {
$$1908 = 0;
}
while(1) {
$247 = (($$1908) + 1)|0;
$248 = (($$111055) + ($$1908)|0);
$249 = HEAP8[$248>>0]|0;
$250 = HEAP32[$29>>2]|0;
$251 = ($250|0)==(0|0);
if (!($251)) {
$252 = ((($250)) + 28|0);
$253 = HEAP32[$252>>2]|0;
$254 = ($253|0)==(0|0);
if (!($254)) {
$255 = HEAP32[$34>>2]|0;
$256 = ((($250)) + 32|0);
$257 = HEAP32[$256>>2]|0;
$258 = ($255>>>0)<($257>>>0);
if ($258) {
$259 = (($255) + 1)|0;
HEAP32[$34>>2] = $259;
$260 = (($253) + ($255)|0);
HEAP8[$260>>0] = $249;
}
}
}
$261 = ($249<<24>>24)!=(0);
$262 = ($$11999>>>0)>($247>>>0);
$or$cond1103 = $261 & $262;
if ($or$cond1103) {
$$1908 = $247;
} else {
break;
}
}
$263 = HEAP32[$28>>2]|0;
$264 = $263 & 512;
$265 = ($264|0)==(0);
if (!($265)) {
$266 = HEAP32[$26>>2]|0;
$267 = (_crc32($266,$$111055,$247)|0);
HEAP32[$26>>2] = $267;
}
$268 = (($$11999) - ($247))|0;
$269 = (($$111055) + ($247)|0);
if ($261) {
$$53$ph = $$9931;$$53986$ph = $$9942;$$57$ph = $268;$$571101$ph = $269;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break L17;
} else {
$$121000 = $268;$$121056 = $269;
}
}
HEAP32[$34>>2] = 0;
HEAP32[$5>>2] = 7;
$$10932 = $$9931;$$10943 = $$9942;$$131001 = $$121000;$$131057 = $$121056;
label = 96;
}
else if ((label|0) == 226) {
label = 0;
$650 = HEAP32[$41>>2]|0;
$651 = 1 << $650;
$652 = (($651) + -1)|0;
$653 = $652 & $$40973$ph;
$654 = HEAP32[$40>>2]|0;
$$sroa$1874$0$$sroa_idx751754 = (((($654) + ($653<<2)|0)) + 1|0);
$$sroa$1874$0$copyload761755 = HEAP8[$$sroa$1874$0$$sroa_idx751754>>0]|0;
$655 = $$sroa$1874$0$copyload761755&255;
$656 = ($655>>>0)>($$40$ph>>>0);
if ($656) {
$$401761 = $$40$ph;$$409731760 = $$40973$ph;$$4410321759 = $$441032$ph;$$4410881758 = $$441088$ph;
while(1) {
$657 = ($$4410321759|0)==(0);
if ($657) {
$$4921 = $$0917;$$53 = $$401761;$$53986 = $$409731760;$$57 = 0;$$571101 = $$4410881758;$$8 = $$5$ph;$817 = $$0987;
break L17;
}
$658 = (($$4410321759) + -1)|0;
$659 = ((($$4410881758)) + 1|0);
$660 = HEAP8[$$4410881758>>0]|0;
$661 = $660&255;
$662 = $661 << $$401761;
$663 = (($662) + ($$409731760))|0;
$664 = (($$401761) + 8)|0;
$665 = $652 & $663;
$$sroa$1874$0$$sroa_idx75 = (((($654) + ($665<<2)|0)) + 1|0);
$$sroa$1874$0$copyload76 = HEAP8[$$sroa$1874$0$$sroa_idx75>>0]|0;
$666 = $$sroa$1874$0$copyload76&255;
$667 = ($666>>>0)>($664>>>0);
if ($667) {
$$401761 = $664;$$409731760 = $663;$$4410321759 = $658;$$4410881758 = $659;
} else {
$$40$lcssa = $664;$$40973$lcssa = $663;$$441032$lcssa = $658;$$441088$lcssa = $659;$$lcssa1268 = $666;$$pn = $665;$$sroa$1874$0$copyload76$lcssa = $$sroa$1874$0$copyload76;
break;
}
}
} else {
$$40$lcssa = $$40$ph;$$40973$lcssa = $$40973$ph;$$441032$lcssa = $$441032$ph;$$441088$lcssa = $$441088$ph;$$lcssa1268 = $655;$$pn = $653;$$sroa$1874$0$copyload76$lcssa = $$sroa$1874$0$copyload761755;
}
$$sroa$42$0$copyload107$lcssa$in = (((($654) + ($$pn<<2)|0)) + 2|0);
$$sroa$057$0$copyload67$lcssa$in = (($654) + ($$pn<<2)|0);
$$sroa$42$0$copyload107$lcssa = HEAP16[$$sroa$42$0$copyload107$lcssa$in>>1]|0;
$$sroa$057$0$copyload67$lcssa = HEAP8[$$sroa$057$0$copyload67$lcssa$in>>0]|0;
$668 = $$sroa$057$0$copyload67$lcssa&255;
$669 = $668 & 240;
$670 = ($669|0)==(0);
if ($670) {
$671 = $$sroa$42$0$copyload107$lcssa&65535;
$672 = (($$lcssa1268) + ($668))|0;
$673 = 1 << $672;
$674 = (($673) + -1)|0;
$675 = $$40973$lcssa & $674;
$676 = $675 >>> $$lcssa1268;
$677 = (($676) + ($671))|0;
$$sroa$1874$0$$sroa_idx1777 = (((($654) + ($677<<2)|0)) + 1|0);
$$sroa$1874$0$copyload1778 = HEAP8[$$sroa$1874$0$$sroa_idx1777>>0]|0;
$678 = $$sroa$1874$0$copyload1778&255;
$679 = (($678) + ($$lcssa1268))|0;
$680 = ($679>>>0)>($$40$lcssa>>>0);
if ($680) {
$$411782 = $$40$lcssa;$$419741781 = $$40973$lcssa;$$4510331780 = $$441032$lcssa;$$4510891779 = $$441088$lcssa;
while(1) {
$681 = ($$4510331780|0)==(0);
if ($681) {
$$4921 = $$0917;$$53 = $$411782;$$53986 = $$419741781;$$57 = 0;$$571101 = $$4510891779;$$8 = $$5$ph;$817 = $$0987;
break L17;
}
$682 = (($$4510331780) + -1)|0;
$683 = ((($$4510891779)) + 1|0);
$684 = HEAP8[$$4510891779>>0]|0;
$685 = $684&255;
$686 = $685 << $$411782;
$687 = (($686) + ($$419741781))|0;
$688 = (($$411782) + 8)|0;
$689 = $687 & $674;
$690 = $689 >>> $$lcssa1268;
$691 = (($690) + ($671))|0;
$$sroa$1874$0$$sroa_idx = (((($654) + ($691<<2)|0)) + 1|0);
$$sroa$1874$0$copyload = HEAP8[$$sroa$1874$0$$sroa_idx>>0]|0;
$692 = $$sroa$1874$0$copyload&255;
$693 = (($692) + ($$lcssa1268))|0;
$694 = ($693>>>0)>($688>>>0);
if ($694) {
$$411782 = $688;$$419741781 = $687;$$4510331780 = $682;$$4510891779 = $683;
} else {
$$41$lcssa = $688;$$41974$lcssa = $687;$$451033$lcssa = $682;$$451089$lcssa = $683;$$lcssa1282 = $691;$$sroa$1874$0$copyload$lcssa = $$sroa$1874$0$copyload;
break;
}
}
} else {
$$41$lcssa = $$40$lcssa;$$41974$lcssa = $$40973$lcssa;$$451033$lcssa = $$441032$lcssa;$$451089$lcssa = $$441088$lcssa;$$lcssa1282 = $677;$$sroa$1874$0$copyload$lcssa = $$sroa$1874$0$copyload1778;
}
$$sroa$42$0$$sroa_idx104 = (((($654) + ($$lcssa1282<<2)|0)) + 2|0);
$$sroa$42$0$copyload = HEAP16[$$sroa$42$0$$sroa_idx104>>1]|0;
$$sroa$057$0$$sroa_idx = (($654) + ($$lcssa1282<<2)|0);
$$sroa$057$0$copyload = HEAP8[$$sroa$057$0$$sroa_idx>>0]|0;
$695 = $$41974$lcssa >>> $$lcssa1268;
$696 = (($$41$lcssa) - ($$lcssa1268))|0;
$697 = HEAP32[$43>>2]|0;
$698 = (($697) + ($$lcssa1268))|0;
HEAP32[$43>>2] = $698;
$$42 = $696;$$42975 = $695;$$461034 = $$451033$lcssa;$$461090 = $$451089$lcssa;$$sroa$057$1 = $$sroa$057$0$copyload;$$sroa$1874$1 = $$sroa$1874$0$copyload$lcssa;$$sroa$42$1 = $$sroa$42$0$copyload;$703 = $698;
} else {
$$pre2365 = HEAP32[$43>>2]|0;
$$42 = $$40$lcssa;$$42975 = $$40973$lcssa;$$461034 = $$441032$lcssa;$$461090 = $$441088$lcssa;$$sroa$057$1 = $$sroa$057$0$copyload67$lcssa;$$sroa$1874$1 = $$sroa$1874$0$copyload76$lcssa;$$sroa$42$1 = $$sroa$42$0$copyload107$lcssa;$703 = $$pre2365;
}
$699 = $$sroa$1874$1&255;
$700 = $$42975 >>> $699;
$701 = (($$42) - ($699))|0;
$702 = (($703) + ($699))|0;
HEAP32[$43>>2] = $702;
$704 = $$sroa$057$1&255;
$705 = $704 & 64;
$706 = ($705|0)==(0);
if ($706) {
$707 = $$sroa$42$1&65535;
HEAP32[$46>>2] = $707;
$708 = $704 & 15;
HEAP32[$44>>2] = $708;
HEAP32[$5>>2] = 23;
$$43 = $701;$$43976 = $700;$$471035 = $$461034;$$471091 = $$461090;$$6 = $$5$ph;$709 = $708;
label = 238;
break;
} else {
HEAP32[$30>>2] = 28500;
HEAP32[$5>>2] = 29;
$$0$be = $$5$ph;$$01042$be = $338;$$01044$be = $$461090;$$0917$be = $$0917;$$0922$be = $701;$$0933$be = $700;$$0987$be = $$0987;$$0988$be = $$461034;
break;
}
}
} while(0);
if ((label|0) == 96) {
label = 0;
$273 = HEAP32[$28>>2]|0;
$274 = $273 & 4096;
$275 = ($274|0)==(0);
if ($275) {
$300 = HEAP32[$29>>2]|0;
$301 = ($300|0)==(0|0);
if ($301) {
$$141002 = $$131001;$$141058 = $$131057;
} else {
$302 = ((($300)) + 36|0);
HEAP32[$302>>2] = 0;
$$141002 = $$131001;$$141058 = $$131057;
}
} else {
$276 = ($$131001|0)==(0);
if ($276) {
$$53$ph = $$10932;$$53986$ph = $$10943;$$57$ph = 0;$$571101$ph = $$131057;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break;
} else {
$$2909 = 0;
}
while(1) {
$277 = (($$2909) + 1)|0;
$278 = (($$131057) + ($$2909)|0);
$279 = HEAP8[$278>>0]|0;
$280 = HEAP32[$29>>2]|0;
$281 = ($280|0)==(0|0);
if (!($281)) {
$282 = ((($280)) + 36|0);
$283 = HEAP32[$282>>2]|0;
$284 = ($283|0)==(0|0);
if (!($284)) {
$285 = HEAP32[$34>>2]|0;
$286 = ((($280)) + 40|0);
$287 = HEAP32[$286>>2]|0;
$288 = ($285>>>0)<($287>>>0);
if ($288) {
$289 = (($285) + 1)|0;
HEAP32[$34>>2] = $289;
$290 = (($283) + ($285)|0);
HEAP8[$290>>0] = $279;
}
}
}
$291 = ($279<<24>>24)!=(0);
$292 = ($$131001>>>0)>($277>>>0);
$or$cond1104 = $291 & $292;
if ($or$cond1104) {
$$2909 = $277;
} else {
break;
}
}
$293 = HEAP32[$28>>2]|0;
$294 = $293 & 512;
$295 = ($294|0)==(0);
if (!($295)) {
$296 = HEAP32[$26>>2]|0;
$297 = (_crc32($296,$$131057,$277)|0);
HEAP32[$26>>2] = $297;
}
$298 = (($$131001) - ($277))|0;
$299 = (($$131057) + ($277)|0);
if ($291) {
$$53$ph = $$10932;$$53986$ph = $$10943;$$57$ph = $298;$$571101$ph = $299;$$8$ph = $$0;$$ph = $$0987;
label = 282;
break;
} else {
$$141002 = $298;$$141058 = $299;
}
}
HEAP32[$5>>2] = 8;
$$11 = $$10932;$$11944 = $$10943;$$151003 = $$141002;$$151059 = $$141058;
label = 109;
}
else if ((label|0) == 238) {
label = 0;
$710 = ($709|0)==(0);
if ($710) {
$$45 = $$43;$$45978 = $$43976;$$491037 = $$471035;$$491093 = $$471091;
} else {
$711 = ($$43>>>0)<($709>>>0);
if ($711) {
$$441795 = $$43;$$449771794 = $$43976;$$4810361793 = $$471035;$$4810921792 = $$471091;
while(1) {
$712 = ($$4810361793|0)==(0);
if ($712) {
$$4921 = $$0917;$$53 = $$441795;$$53986 = $$449771794;$$57 = 0;$$571101 = $$4810921792;$$8 = $$6;$817 = $$0987;
break L17;
}
$713 = (($$4810361793) + -1)|0;
$714 = ((($$4810921792)) + 1|0);
$715 = HEAP8[$$4810921792>>0]|0;
$716 = $715&255;
$717 = $716 << $$441795;
$718 = (($717) + ($$449771794))|0;
$719 = (($$441795) + 8)|0;
$720 = ($719>>>0)<($709>>>0);
if ($720) {
$$441795 = $719;$$449771794 = $718;$$4810361793 = $713;$$4810921792 = $714;
} else {
$$44$lcssa = $719;$$44977$lcssa = $718;$$481036$lcssa = $713;$$481092$lcssa = $714;
break;
}
}
} else {
$$44$lcssa = $$43;$$44977$lcssa = $$43976;$$481036$lcssa = $$471035;$$481092$lcssa = $$471091;
}
$721 = 1 << $709;
$722 = (($721) + -1)|0;
$723 = $722 & $$44977$lcssa;
$724 = HEAP32[$46>>2]|0;
$725 = (($724) + ($723))|0;
HEAP32[$46>>2] = $725;
$726 = $$44977$lcssa >>> $709;
$727 = (($$44$lcssa) - ($709))|0;
$728 = HEAP32[$43>>2]|0;
$729 = (($728) + ($709))|0;
HEAP32[$43>>2] = $729;
$$45 = $727;$$45978 = $726;$$491037 = $$481036$lcssa;$$491093 = $$481092$lcssa;
}
HEAP32[$5>>2] = 24;
$$46 = $$45;$$46979 = $$45978;$$501038 = $$491037;$$501094 = $$491093;$$7 = $$6;
label = 244;
}
do {
if ((label|0) == 109) {
label = 0;
$303 = HEAP32[$28>>2]|0;
$304 = $303 & 512;
$305 = ($304|0)==(0);
if ($305) {
$$13 = $$11;$$13946 = $$11944;$$171005 = $$151003;$$171061 = $$151059;
} else {
$306 = ($$11>>>0)<(16);
if ($306) {
$$121873 = $$11;$$129451872 = $$11944;$$1610041871 = $$151003;$$1610601870 = $$151059;
while(1) {
$307 = ($$1610041871|0)==(0);
if ($307) {
$$4921 = $$0917;$$53 = $$121873;$$53986 = $$129451872;$$57 = 0;$$571101 = $$1610601870;$$8 = $$0;$817 = $$0987;
break L17;
}
$308 = (($$1610041871) + -1)|0;
$309 = ((($$1610601870)) + 1|0);
$310 = HEAP8[$$1610601870>>0]|0;
$311 = $310&255;
$312 = $311 << $$121873;
$313 = (($312) + ($$129451872))|0;
$314 = (($$121873) + 8)|0;
$315 = ($314>>>0)<(16);
if ($315) {
$$121873 = $314;$$129451872 = $313;$$1610041871 = $308;$$1610601870 = $309;
} else {
$$12$lcssa = $314;$$12945$lcssa = $313;$$161004$lcssa = $308;$$161060$lcssa = $309;
break;
}
}
} else {
$$12$lcssa = $$11;$$12945$lcssa = $$11944;$$161004$lcssa = $$151003;$$161060$lcssa = $$151059;
}
$316 = HEAP32[$26>>2]|0;
$317 = $316 & 65535;
$318 = ($$12945$lcssa|0)==($317|0);
if ($318) {
$$13 = 0;$$13946 = 0;$$171005 = $$161004$lcssa;$$171061 = $$161060$lcssa;
} else {
HEAP32[$30>>2] = 27281;
HEAP32[$5>>2] = 29;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$161060$lcssa;$$0917$be = $$0917;$$0922$be = $$12$lcssa;$$0933$be = $$12945$lcssa;$$0987$be = $$0987;$$0988$be = $$161004$lcssa;
break;
}
}
$319 = HEAP32[$29>>2]|0;
$320 = ($319|0)==(0|0);
if (!($320)) {
$321 = $303 >>> 9;
$322 = $321 & 1;
$323 = ((($319)) + 44|0);
HEAP32[$323>>2] = $322;
$324 = ((($319)) + 48|0);
HEAP32[$324>>2] = 1;
}
$325 = (_crc32(0,0,0)|0);
HEAP32[$26>>2] = $325;
HEAP32[$33>>2] = $325;
HEAP32[$5>>2] = 11;
$$0$be = $$0;$$01042$be = $338;$$01044$be = $$171061;$$0917$be = $$0917;$$0922$be = $$13;$$0933$be = $$13946;$$0987$be = $$0987;$$0988$be = $$171005;
}
else if ((label|0) == 244) {
label = 0;
$730 = ($$0987|0)==(0);
if ($730) {
$$53$ph = $$46;$$53986$ph = $$46979;$$57$ph = $$501038;$$571101$ph = $$501094;$$8$ph = $$7;$$ph = 0;
label = 282;
break L17;
}
$731 = (($$0917) - ($$0987))|0;
$732 = HEAP32[$46>>2]|0;
$733 = ($732>>>0)>($731>>>0);
if ($733) {
$734 = (($732) - ($731))|0;
$735 = HEAP32[$47>>2]|0;
$736 = ($734>>>0)>($735>>>0);
if ($736) {
$737 = HEAP32[$48>>2]|0;
$738 = ($737|0)==(0);
if (!($738)) {
HEAP32[$30>>2] = 28470;
HEAP32[$5>>2] = 29;
$$0$be = $$7;$$01042$be = $338;$$01044$be = $$501094;$$0917$be = $$0917;$$0922$be = $$46;$$0933$be = $$46979;$$0987$be = $$0987;$$0988$be = $$501038;
break;
}
}
$739 = HEAP32[$49>>2]|0;
$740 = ($734>>>0)>($739>>>0);
if ($740) {
$741 = (($734) - ($739))|0;
$742 = HEAP32[$50>>2]|0;
$743 = HEAP32[$51>>2]|0;
$744 = (($743) - ($741))|0;
$745 = (($742) + ($744)|0);
$$0904 = $745;$$7914 = $741;
} else {
$746 = HEAP32[$50>>2]|0;
$747 = (($739) - ($734))|0;
$748 = (($746) + ($747)|0);
$$0904 = $748;$$7914 = $734;
}
$749 = HEAP32[$34>>2]|0;
$750 = ($$7914>>>0)>($749>>>0);
$$$7914 = $750 ? $749 : $$7914;
$$1905 = $$0904;$$8915 = $$$7914;$756 = $749;
} else {
$751 = (0 - ($732))|0;
$752 = (($338) + ($751)|0);
$753 = HEAP32[$34>>2]|0;
$$1905 = $752;$$8915 = $753;$756 = $753;
}
$754 = ($$8915>>>0)>($$0987>>>0);
$$0987$$8915 = $754 ? $$0987 : $$8915;
$755 = (($756) - ($$0987$$8915))|0;
HEAP32[$34>>2] = $755;
$$10 = $$0987$$8915;$$11043 = $338;$$2906 = $$1905;
while(1) {
$757 = ((($$2906)) + 1|0);
$758 = HEAP8[$$2906>>0]|0;
$759 = ((($$11043)) + 1|0);
HEAP8[$$11043>>0] = $758;
$760 = (($$10) + -1)|0;
$761 = ($760|0)==(0);
if ($761) {
break;
} else {
$$10 = $760;$$11043 = $759;$$2906 = $757;
}
}
$762 = (($$0987) - ($$0987$$8915))|0;
$763 = HEAP32[$34>>2]|0;
$764 = ($763|0)==(0);
if ($764) {
HEAP32[$5>>2] = 20;
$$0$be = $$7;$$01042$be = $759;$$01044$be = $$501094;$$0917$be = $$0917;$$0922$be = $$46;$$0933$be = $$46979;$$0987$be = $762;$$0988$be = $$501038;
} else {
$$0$be = $$7;$$01042$be = $759;$$01044$be = $$501094;$$0917$be = $$0917;$$0922$be = $$46;$$0933$be = $$46979;$$0987$be = $762;$$0988$be = $$501038;
}
}
} while(0);
$$pre = HEAP32[$5>>2]|0;
$$0 = $$0$be;$$01044 = $$01044$be;$$0917 = $$0917$be;$$0922 = $$0922$be;$$0933 = $$0933$be;$$0987 = $$0987$be;$$0988 = $$0988$be;$338 = $$01042$be;$65 = $$pre;
}
if ((label|0) == 122) {
HEAP32[$7>>2] = $338;
HEAP32[$17>>2] = $$0987;
HEAP32[$0>>2] = $$191063;
HEAP32[$19>>2] = $$191007;
HEAP32[$21>>2] = $$15948;
HEAP32[$23>>2] = $$15;
$$01102 = 2;
STACKTOP = sp;return ($$01102|0);
}
else if ((label|0) == 133) {
$356 = $$18951$lcssa >>> 3;
$357 = (($$18$lcssa) + -3)|0;
$$4921 = $$0917;$$53 = $357;$$53986 = $356;$$57 = $$221010$lcssa;$$571101 = $$221066$lcssa;$$8 = $$0;$817 = $$0987;
}
else if ((label|0) == 136) {
// unreachable;
}
else if ((label|0) == 281) {
HEAP32[$5>>2] = 28;
$$4921 = $$2919;$$53 = $$51;$$53986 = $$51984;$$57 = $$55;$$571101 = $$551099;$$8 = 1;$817 = $$0987;
}
else if ((label|0) == 282) {
$$4921 = $$0917;$$53 = $$53$ph;$$53986 = $$53986$ph;$$57 = $$57$ph;$$571101 = $$571101$ph;$$8 = $$8$ph;$817 = $$ph;
}
else if ((label|0) == 296) {
$$01102 = -4;
STACKTOP = sp;return ($$01102|0);
}
else if ((label|0) == 297) {
STACKTOP = sp;return ($$01102|0);
}
HEAP32[$7>>2] = $338;
HEAP32[$17>>2] = $817;
HEAP32[$0>>2] = $$571101;
HEAP32[$19>>2] = $$57;
HEAP32[$21>>2] = $$53986;
HEAP32[$23>>2] = $$53;
$818 = HEAP32[$51>>2]|0;
$819 = ($818|0)==(0);
if ($819) {
$820 = ($$4921|0)==($817|0);
if ($820) {
$829 = $$57;$831 = $817;
} else {
$821 = HEAP32[$5>>2]|0;
$822 = ($821>>>0)<(29);
if ($822) {
$823 = ($821>>>0)<(26);
$824 = ($1|0)!=(4);
$or$cond8 = $824 | $823;
if ($or$cond8) {
label = 287;
} else {
$829 = $$57;$831 = $817;
}
} else {
$829 = $$57;$831 = $817;
}
}
} else {
label = 287;
}
do {
if ((label|0) == 287) {
$825 = (($$4921) - ($817))|0;
$826 = (_updatewindow($0,$338,$825)|0);
$827 = ($826|0)==(0);
if ($827) {
$$pre2370 = HEAP32[$19>>2]|0;
$$pre2371 = HEAP32[$17>>2]|0;
$829 = $$pre2370;$831 = $$pre2371;
break;
}
HEAP32[$5>>2] = 30;
$$01102 = -4;
STACKTOP = sp;return ($$01102|0);
}
} while(0);
$828 = (($20) - ($829))|0;
$830 = (($$4921) - ($831))|0;
$832 = ((($0)) + 8|0);
$833 = HEAP32[$832>>2]|0;
$834 = (($833) + ($828))|0;
HEAP32[$832>>2] = $834;
$835 = HEAP32[$52>>2]|0;
$836 = (($835) + ($830))|0;
HEAP32[$52>>2] = $836;
$837 = HEAP32[$53>>2]|0;
$838 = (($837) + ($830))|0;
HEAP32[$53>>2] = $838;
$839 = HEAP32[$25>>2]|0;
$840 = ($839|0)!=(0);
$841 = ($830|0)!=(0);
$or$cond10 = $841 & $840;
if ($or$cond10) {
$842 = HEAP32[$28>>2]|0;
$843 = ($842|0)==(0);
$844 = HEAP32[$26>>2]|0;
$845 = HEAP32[$7>>2]|0;
$846 = (0 - ($830))|0;
$847 = (($845) + ($846)|0);
if ($843) {
$849 = (_adler32($844,$847,$830)|0);
$850 = $849;
} else {
$848 = (_crc32($844,$847,$830)|0);
$850 = $848;
}
HEAP32[$26>>2] = $850;
HEAP32[$33>>2] = $850;
}
$851 = HEAP32[$23>>2]|0;
$852 = HEAP32[$37>>2]|0;
$853 = ($852|0)!=(0);
$854 = $853 ? 64 : 0;
$855 = (($854) + ($851))|0;
$856 = HEAP32[$5>>2]|0;
$857 = ($856|0)==(11);
$858 = $857 ? 128 : 0;
$859 = (($855) + ($858))|0;
$860 = ($856|0)==(19);
$861 = ($856|0)==(14);
$862 = $860 | $861;
$863 = $862 ? 256 : 0;
$864 = (($859) + ($863))|0;
$865 = ((($0)) + 44|0);
HEAP32[$865>>2] = $864;
$866 = $830 | $828;
$867 = ($866|0)==(0);
$868 = ($1|0)==(4);
$or$cond14 = $868 | $867;
$869 = ($$8|0)==(0);
$or$cond16 = $869 & $or$cond14;
$$$8 = $or$cond16 ? -5 : $$8;
$$01102 = $$$8;
STACKTOP = sp;return ($$01102|0);
}
function _updatewindow($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$053 = 0, $$54 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 28|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($4)) + 52|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if ($7) {
$8 = ((($0)) + 32|0);
$9 = HEAP32[$8>>2]|0;
$10 = ((($0)) + 40|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($4)) + 36|0);
$13 = HEAP32[$12>>2]|0;
$14 = 1 << $13;
$15 = (FUNCTION_TABLE_iiii[$9 & 127]($11,$14,1)|0);
HEAP32[$5>>2] = $15;
$16 = ($15|0)==(0|0);
if ($16) {
$$053 = 1;
return ($$053|0);
} else {
$29 = $15;
}
} else {
$29 = $6;
}
$17 = ((($4)) + 40|0);
$18 = HEAP32[$17>>2]|0;
$19 = ($18|0)==(0);
if ($19) {
$20 = ((($4)) + 36|0);
$21 = HEAP32[$20>>2]|0;
$22 = 1 << $21;
HEAP32[$17>>2] = $22;
$23 = ((($4)) + 48|0);
HEAP32[$23>>2] = 0;
$24 = ((($4)) + 44|0);
HEAP32[$24>>2] = 0;
$25 = $22;
} else {
$25 = $18;
}
$26 = ($25>>>0)>($2>>>0);
if (!($26)) {
$27 = (0 - ($25))|0;
$28 = (($1) + ($27)|0);
_memcpy(($29|0),($28|0),($25|0))|0;
$30 = ((($4)) + 48|0);
HEAP32[$30>>2] = 0;
$31 = HEAP32[$17>>2]|0;
$32 = ((($4)) + 44|0);
HEAP32[$32>>2] = $31;
$$053 = 0;
return ($$053|0);
}
$33 = ((($4)) + 48|0);
$34 = HEAP32[$33>>2]|0;
$35 = (($25) - ($34))|0;
$36 = ($35>>>0)>($2>>>0);
$$ = $36 ? $2 : $35;
$37 = (($29) + ($34)|0);
$38 = (0 - ($2))|0;
$39 = (($1) + ($38)|0);
_memcpy(($37|0),($39|0),($$|0))|0;
$40 = (($2) - ($$))|0;
$41 = ($40|0)==(0);
if (!($41)) {
$42 = HEAP32[$5>>2]|0;
$43 = (0 - ($40))|0;
$44 = (($1) + ($43)|0);
_memcpy(($42|0),($44|0),($40|0))|0;
HEAP32[$33>>2] = $40;
$45 = HEAP32[$17>>2]|0;
$46 = ((($4)) + 44|0);
HEAP32[$46>>2] = $45;
$$053 = 0;
return ($$053|0);
}
$47 = HEAP32[$33>>2]|0;
$48 = (($47) + ($$))|0;
$49 = HEAP32[$17>>2]|0;
$50 = ($48|0)==($49|0);
$$54 = $50 ? 0 : $48;
HEAP32[$33>>2] = $$54;
$51 = ((($4)) + 44|0);
$52 = HEAP32[$51>>2]|0;
$53 = ($52>>>0)<($49>>>0);
if (!($53)) {
$$053 = 0;
return ($$053|0);
}
$54 = (($52) + ($$))|0;
HEAP32[$51>>2] = $54;
$$053 = 0;
return ($$053|0);
}
function _inflateEnd($0) {
$0 = $0|0;
var $$0 = 0, $$pre = 0, $$pre13 = 0, $$pre14 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = -2;
return ($$0|0);
}
$2 = ((($0)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if ($4) {
$$0 = -2;
return ($$0|0);
}
$5 = ((($0)) + 36|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)==(0|0);
if ($7) {
$$0 = -2;
return ($$0|0);
}
$8 = ((($3)) + 52|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(0|0);
$$pre14 = ((($0)) + 40|0);
if ($10) {
$13 = $6;$14 = $3;
} else {
$11 = HEAP32[$$pre14>>2]|0;
FUNCTION_TABLE_vii[$6 & 127]($11,$9);
$$pre = HEAP32[$5>>2]|0;
$$pre13 = HEAP32[$2>>2]|0;
$13 = $$pre;$14 = $$pre13;
}
$12 = HEAP32[$$pre14>>2]|0;
FUNCTION_TABLE_vii[$13 & 127]($12,$14);
HEAP32[$2>>2] = 0;
$$0 = 0;
return ($$0|0);
}
function _inflate_table($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$ = 0, $$0215243248$ph = 0, $$0216242249$ph = 0, $$0217$ph = 0, $$0217$ph253 = 0, $$0218 = 0, $$0219$ph = 0, $$0220 = 0, $$0221 = 0, $$0222 = 0, $$0222$ph = 0, $$0223$ph252 = 0, $$0226$ph = 0, $$0228$ph = 0, $$0232$ = 0, $$0232$310 = 0, $$0232$313 = 0, $$0232285$lcssa$ph = 0, $$0232285$lcssa311 = 0, $$0233$$0232$ = 0;
var $$0233$$0232$$$0226 = 0, $$0233$lcssa = 0, $$0233278 = 0, $$0234286 = 0, $$0244247$ph = 0, $$1225269 = 0, $$1229$lcssa = 0, $$1229268 = 0, $$1235272 = 0, $$2 = 0, $$2$ph = 0, $$3 = 0, $$3$ph = 0, $$4 = 0, $$ph = 0, $$ph250 = 0, $$ph250$in = 0, $$ph251 = 0, $$ph308 = 0, $$ph309 = 0;
var $$phi$trans$insert = 0, $$phi$trans$insert305 = 0, $$phi$trans$insert305$1 = 0, $$phi$trans$insert305$10 = 0, $$phi$trans$insert305$11 = 0, $$phi$trans$insert305$12 = 0, $$phi$trans$insert305$2 = 0, $$phi$trans$insert305$3 = 0, $$phi$trans$insert305$4 = 0, $$phi$trans$insert305$5 = 0, $$phi$trans$insert305$6 = 0, $$phi$trans$insert305$7 = 0, $$phi$trans$insert305$8 = 0, $$phi$trans$insert305$9 = 0, $$pre = 0, $$pre306 = 0, $$pre306$1 = 0, $$pre306$10 = 0, $$pre306$11 = 0, $$pre306$12 = 0;
var $$pre306$2 = 0, $$pre306$3 = 0, $$pre306$4 = 0, $$pre306$5 = 0, $$pre306$6 = 0, $$pre306$7 = 0, $$pre306$8 = 0, $$pre306$9 = 0, $$sroa$0$0 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$$sroa_idx25 = 0, $$sroa$11$0$$sroa_idx = 0, $$sroa$11$0$$sroa_idx31 = 0, $$sroa$11$0$$sroa_idx33 = 0, $$sroa$11$0$$sroa_idx35 = 0, $$sroa$14$0 = 0, $$sroa$14$0$$sroa_idx37 = 0, $$sroa$14$0$$sroa_idx38 = 0, $$sroa$14$0$$sroa_idx40 = 0, $$sroa$14$0$$sroa_idx42 = 0;
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
var $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond302 = 0, $fold = 0, $fold337 = 0, $fold338 = 0, $fold339 = 0, $fold340 = 0, $fold341 = 0, $fold342 = 0, $fold343 = 0, $fold344 = 0, $fold345 = 0, $fold346 = 0, $or$cond = 0, $or$cond239 = 0, $or$cond5 = 0, $or$cond7 = 0;
var $or$cond9 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
$6 = sp + 32|0;
$7 = sp;
dest=$6; stop=dest+32|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0));
$8 = ($2|0)==(0);
if ($8) {
$9 = HEAP32[$4>>2]|0;
$22 = $9;
label = 5;
} else {
$$0234286 = 0;
while(1) {
$10 = (($1) + ($$0234286<<1)|0);
$11 = HEAP16[$10>>1]|0;
$12 = $11&65535;
$13 = (($6) + ($12<<1)|0);
$14 = HEAP16[$13>>1]|0;
$15 = (($14) + 1)<<16>>16;
HEAP16[$13>>1] = $15;
$16 = (($$0234286) + 1)|0;
$exitcond302 = ($16|0)==($2|0);
if ($exitcond302) {
break;
} else {
$$0234286 = $16;
}
}
$$phi$trans$insert = ((($6)) + 30|0);
$$pre = HEAP16[$$phi$trans$insert>>1]|0;
$17 = HEAP32[$4>>2]|0;
$18 = ($$pre<<16>>16)==(0);
if ($18) {
$22 = $17;
label = 5;
} else {
$$0232285$lcssa$ph = 15;$$ph308 = $17;$$ph309 = $$pre;
label = 7;
}
}
do {
if ((label|0) == 5) {
$19 = ((($6)) + 28|0);
$20 = HEAP16[$19>>1]|0;
$21 = ($20<<16>>16)==(0);
if ($21) {
$266 = ((($6)) + 26|0);
$267 = HEAP16[$266>>1]|0;
$268 = ($267<<16>>16)==(0);
if ($268) {
$269 = ((($6)) + 24|0);
$270 = HEAP16[$269>>1]|0;
$271 = ($270<<16>>16)==(0);
if ($271) {
$272 = ((($6)) + 22|0);
$273 = HEAP16[$272>>1]|0;
$274 = ($273<<16>>16)==(0);
if ($274) {
$275 = ((($6)) + 20|0);
$276 = HEAP16[$275>>1]|0;
$277 = ($276<<16>>16)==(0);
if ($277) {
$278 = ((($6)) + 18|0);
$279 = HEAP16[$278>>1]|0;
$280 = ($279<<16>>16)==(0);
if ($280) {
$281 = ((($6)) + 16|0);
$282 = HEAP16[$281>>1]|0;
$283 = ($282<<16>>16)==(0);
if ($283) {
$284 = ((($6)) + 14|0);
$285 = HEAP16[$284>>1]|0;
$286 = ($285<<16>>16)==(0);
if ($286) {
$287 = ((($6)) + 12|0);
$288 = HEAP16[$287>>1]|0;
$289 = ($288<<16>>16)==(0);
if ($289) {
$290 = ((($6)) + 10|0);
$291 = HEAP16[$290>>1]|0;
$292 = ($291<<16>>16)==(0);
if ($292) {
$293 = ((($6)) + 8|0);
$294 = HEAP16[$293>>1]|0;
$295 = ($294<<16>>16)==(0);
if ($295) {
$296 = ((($6)) + 6|0);
$297 = HEAP16[$296>>1]|0;
$298 = ($297<<16>>16)==(0);
if ($298) {
$299 = ((($6)) + 4|0);
$300 = HEAP16[$299>>1]|0;
$301 = ($300<<16>>16)==(0);
if ($301) {
$302 = ((($6)) + 2|0);
$303 = HEAP16[$302>>1]|0;
$304 = ($303<<16>>16)==(0);
if (!($304)) {
$23 = ($22>>>0)>(1);
$$0232$ = $23 ? 1 : $22;
$$0232$313 = $$0232$;$$0232285$lcssa311 = 1;$$0233$lcssa = 1;$262 = 0;
break;
}
$305 = HEAP32[$3>>2]|0;
$306 = ((($305)) + 4|0);
HEAP32[$3>>2] = $306;
HEAP8[$305>>0] = 64;
$$sroa$11$0$$sroa_idx35 = ((($305)) + 1|0);
HEAP8[$$sroa$11$0$$sroa_idx35>>0] = 1;
$$sroa$14$0$$sroa_idx42 = ((($305)) + 2|0);
HEAP16[$$sroa$14$0$$sroa_idx42>>1] = 0;
$307 = HEAP32[$3>>2]|0;
$308 = ((($307)) + 4|0);
HEAP32[$3>>2] = $308;
HEAP8[$307>>0] = 64;
$$sroa$11$0$$sroa_idx33 = ((($307)) + 1|0);
HEAP8[$$sroa$11$0$$sroa_idx33>>0] = 1;
$$sroa$14$0$$sroa_idx40 = ((($307)) + 2|0);
HEAP16[$$sroa$14$0$$sroa_idx40>>1] = 0;
HEAP32[$4>>2] = 1;
$$0218 = 0;
STACKTOP = sp;return ($$0218|0);
} else {
$$0232285$lcssa$ph = 2;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 3;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 4;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 5;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 6;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 7;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 8;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 9;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 10;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 11;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 12;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 13;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
} else {
$$0232285$lcssa$ph = 14;$$ph308 = $22;$$ph309 = 0;
label = 7;
}
}
} while(0);
L25: do {
if ((label|0) == 7) {
$24 = ($$ph308>>>0)>($$0232285$lcssa$ph>>>0);
$$0232$310 = $24 ? $$0232285$lcssa$ph : $$ph308;
$$0233278 = 1;
while(1) {
$25 = (($6) + ($$0233278<<1)|0);
$26 = HEAP16[$25>>1]|0;
$27 = ($26<<16>>16)==(0);
if (!($27)) {
$$0232$313 = $$0232$310;$$0232285$lcssa311 = $$0232285$lcssa$ph;$$0233$lcssa = $$0233278;$262 = $$ph309;
break L25;
}
$28 = (($$0233278) + 1)|0;
$29 = ($28>>>0)<($$0232285$lcssa$ph>>>0);
if ($29) {
$$0233278 = $28;
} else {
$$0232$313 = $$0232$310;$$0232285$lcssa311 = $$0232285$lcssa$ph;$$0233$lcssa = $28;$262 = $$ph309;
break;
}
}
}
} while(0);
$30 = ($$0232$313>>>0)<($$0233$lcssa>>>0);
$$0233$$0232$ = $30 ? $$0233$lcssa : $$0232$313;
$31 = ((($6)) + 2|0);
$32 = HEAP16[$31>>1]|0;
$33 = $32&65535;
$34 = (2 - ($33))|0;
$35 = ($34|0)<(0);
if ($35) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$36 = $34 << 1;
$37 = ((($6)) + 4|0);
$38 = HEAP16[$37>>1]|0;
$39 = $38&65535;
$40 = (($36) - ($39))|0;
$41 = ($40|0)<(0);
if ($41) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$188 = $40 << 1;
$189 = ((($6)) + 6|0);
$190 = HEAP16[$189>>1]|0;
$191 = $190&65535;
$192 = (($188) - ($191))|0;
$193 = ($192|0)<(0);
if ($193) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$194 = $192 << 1;
$195 = ((($6)) + 8|0);
$196 = HEAP16[$195>>1]|0;
$197 = $196&65535;
$198 = (($194) - ($197))|0;
$199 = ($198|0)<(0);
if ($199) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$200 = $198 << 1;
$201 = ((($6)) + 10|0);
$202 = HEAP16[$201>>1]|0;
$203 = $202&65535;
$204 = (($200) - ($203))|0;
$205 = ($204|0)<(0);
if ($205) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$206 = $204 << 1;
$207 = ((($6)) + 12|0);
$208 = HEAP16[$207>>1]|0;
$209 = $208&65535;
$210 = (($206) - ($209))|0;
$211 = ($210|0)<(0);
if ($211) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$212 = $210 << 1;
$213 = ((($6)) + 14|0);
$214 = HEAP16[$213>>1]|0;
$215 = $214&65535;
$216 = (($212) - ($215))|0;
$217 = ($216|0)<(0);
if ($217) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$218 = $216 << 1;
$219 = ((($6)) + 16|0);
$220 = HEAP16[$219>>1]|0;
$221 = $220&65535;
$222 = (($218) - ($221))|0;
$223 = ($222|0)<(0);
if ($223) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$224 = $222 << 1;
$225 = ((($6)) + 18|0);
$226 = HEAP16[$225>>1]|0;
$227 = $226&65535;
$228 = (($224) - ($227))|0;
$229 = ($228|0)<(0);
if ($229) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$230 = $228 << 1;
$231 = ((($6)) + 20|0);
$232 = HEAP16[$231>>1]|0;
$233 = $232&65535;
$234 = (($230) - ($233))|0;
$235 = ($234|0)<(0);
if ($235) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$236 = $234 << 1;
$237 = ((($6)) + 22|0);
$238 = HEAP16[$237>>1]|0;
$239 = $238&65535;
$240 = (($236) - ($239))|0;
$241 = ($240|0)<(0);
if ($241) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$242 = $240 << 1;
$243 = ((($6)) + 24|0);
$244 = HEAP16[$243>>1]|0;
$245 = $244&65535;
$246 = (($242) - ($245))|0;
$247 = ($246|0)<(0);
if ($247) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$248 = $246 << 1;
$249 = ((($6)) + 26|0);
$250 = HEAP16[$249>>1]|0;
$251 = $250&65535;
$252 = (($248) - ($251))|0;
$253 = ($252|0)<(0);
if ($253) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$254 = $252 << 1;
$255 = ((($6)) + 28|0);
$256 = HEAP16[$255>>1]|0;
$257 = $256&65535;
$258 = (($254) - ($257))|0;
$259 = ($258|0)<(0);
if ($259) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$260 = $258 << 1;
$261 = $262&65535;
$263 = (($260) - ($261))|0;
$264 = ($263|0)<(0);
if ($264) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
$265 = ($263|0)==(0);
if (!($265)) {
$42 = ($0|0)==(0);
$43 = ($$0232285$lcssa311|0)!=(1);
$or$cond = $42 | $43;
if ($or$cond) {
$$0218 = -1;
STACKTOP = sp;return ($$0218|0);
}
}
$44 = ((($7)) + 2|0);
HEAP16[$44>>1] = 0;
$45 = ((($7)) + 4|0);
HEAP16[$45>>1] = $32;
$46 = $32&65535;
$$phi$trans$insert305 = ((($6)) + 4|0);
$$pre306 = HEAP16[$$phi$trans$insert305>>1]|0;
$47 = $$pre306&65535;
$48 = (($47) + ($46))|0;
$49 = $48&65535;
$50 = ((($7)) + 6|0);
HEAP16[$50>>1] = $49;
$$phi$trans$insert305$1 = ((($6)) + 6|0);
$$pre306$1 = HEAP16[$$phi$trans$insert305$1>>1]|0;
$51 = $$pre306$1&65535;
$52 = (($51) + ($48))|0;
$53 = $52&65535;
$54 = ((($7)) + 8|0);
HEAP16[$54>>1] = $53;
$$phi$trans$insert305$2 = ((($6)) + 8|0);
$$pre306$2 = HEAP16[$$phi$trans$insert305$2>>1]|0;
$fold = (($48) + ($51))|0;
$55 = $$pre306$2&65535;
$56 = (($55) + ($fold))|0;
$57 = $56&65535;
$58 = ((($7)) + 10|0);
HEAP16[$58>>1] = $57;
$$phi$trans$insert305$3 = ((($6)) + 10|0);
$$pre306$3 = HEAP16[$$phi$trans$insert305$3>>1]|0;
$fold337 = (($fold) + ($55))|0;
$59 = $$pre306$3&65535;
$60 = (($59) + ($fold337))|0;
$61 = $60&65535;
$62 = ((($7)) + 12|0);
HEAP16[$62>>1] = $61;
$$phi$trans$insert305$4 = ((($6)) + 12|0);
$$pre306$4 = HEAP16[$$phi$trans$insert305$4>>1]|0;
$fold338 = (($fold337) + ($59))|0;
$63 = $$pre306$4&65535;
$64 = (($63) + ($fold338))|0;
$65 = $64&65535;
$66 = ((($7)) + 14|0);
HEAP16[$66>>1] = $65;
$$phi$trans$insert305$5 = ((($6)) + 14|0);
$$pre306$5 = HEAP16[$$phi$trans$insert305$5>>1]|0;
$fold339 = (($fold338) + ($63))|0;
$67 = $$pre306$5&65535;
$68 = (($67) + ($fold339))|0;
$69 = $68&65535;
$70 = ((($7)) + 16|0);
HEAP16[$70>>1] = $69;
$$phi$trans$insert305$6 = ((($6)) + 16|0);
$$pre306$6 = HEAP16[$$phi$trans$insert305$6>>1]|0;
$fold340 = (($fold339) + ($67))|0;
$71 = $$pre306$6&65535;
$72 = (($71) + ($fold340))|0;
$73 = $72&65535;
$74 = ((($7)) + 18|0);
HEAP16[$74>>1] = $73;
$$phi$trans$insert305$7 = ((($6)) + 18|0);
$$pre306$7 = HEAP16[$$phi$trans$insert305$7>>1]|0;
$fold341 = (($fold340) + ($71))|0;
$75 = $$pre306$7&65535;
$76 = (($75) + ($fold341))|0;
$77 = $76&65535;
$78 = ((($7)) + 20|0);
HEAP16[$78>>1] = $77;
$$phi$trans$insert305$8 = ((($6)) + 20|0);
$$pre306$8 = HEAP16[$$phi$trans$insert305$8>>1]|0;
$fold342 = (($fold341) + ($75))|0;
$79 = $$pre306$8&65535;
$80 = (($79) + ($fold342))|0;
$81 = $80&65535;
$82 = ((($7)) + 22|0);
HEAP16[$82>>1] = $81;
$$phi$trans$insert305$9 = ((($6)) + 22|0);
$$pre306$9 = HEAP16[$$phi$trans$insert305$9>>1]|0;
$fold343 = (($fold342) + ($79))|0;
$83 = $$pre306$9&65535;
$84 = (($83) + ($fold343))|0;
$85 = $84&65535;
$86 = ((($7)) + 24|0);
HEAP16[$86>>1] = $85;
$$phi$trans$insert305$10 = ((($6)) + 24|0);
$$pre306$10 = HEAP16[$$phi$trans$insert305$10>>1]|0;
$fold344 = (($fold343) + ($83))|0;
$87 = $$pre306$10&65535;
$88 = (($87) + ($fold344))|0;
$89 = $88&65535;
$90 = ((($7)) + 26|0);
HEAP16[$90>>1] = $89;
$$phi$trans$insert305$11 = ((($6)) + 26|0);
$$pre306$11 = HEAP16[$$phi$trans$insert305$11>>1]|0;
$fold345 = (($fold344) + ($87))|0;
$91 = $$pre306$11&65535;
$92 = (($91) + ($fold345))|0;
$93 = $92&65535;
$94 = ((($7)) + 28|0);
HEAP16[$94>>1] = $93;
$$phi$trans$insert305$12 = ((($6)) + 28|0);
$$pre306$12 = HEAP16[$$phi$trans$insert305$12>>1]|0;
$fold346 = (($fold345) + ($91))|0;
$95 = $$pre306$12&65535;
$96 = (($95) + ($fold346))|0;
$97 = $96&65535;
$98 = ((($7)) + 30|0);
HEAP16[$98>>1] = $97;
if (!($8)) {
$$1235272 = 0;
while(1) {
$99 = (($1) + ($$1235272<<1)|0);
$100 = HEAP16[$99>>1]|0;
$101 = ($100<<16>>16)==(0);
if (!($101)) {
$102 = $100&65535;
$103 = $$1235272&65535;
$104 = (($7) + ($102<<1)|0);
$105 = HEAP16[$104>>1]|0;
$106 = (($105) + 1)<<16>>16;
HEAP16[$104>>1] = $106;
$107 = $105&65535;
$108 = (($5) + ($107<<1)|0);
HEAP16[$108>>1] = $103;
}
$109 = (($$1235272) + 1)|0;
$exitcond = ($109|0)==($2|0);
if ($exitcond) {
break;
} else {
$$1235272 = $109;
}
}
}
switch ($0|0) {
case 0: {
$$0215243248$ph = $5;$$0216242249$ph = $5;$$0244247$ph = 19;$$ph = 0;$$ph251 = 0;
break;
}
case 1: {
$110 = ($$0233$$0232$>>>0)>(9);
if ($110) {
$$0218 = 1;
STACKTOP = sp;return ($$0218|0);
} else {
$$0215243248$ph = (12582);$$0216242249$ph = (12456);$$0244247$ph = 256;$$ph = 0;$$ph251 = 1;
}
break;
}
default: {
$111 = ($$0233$$0232$>>>0)>(9);
$112 = ($0|0)==(2);
$or$cond5 = $112 & $111;
if ($or$cond5) {
$$0218 = 1;
STACKTOP = sp;return ($$0218|0);
} else {
$$0215243248$ph = 13032;$$0216242249$ph = 12906;$$0244247$ph = -1;$$ph = $112;$$ph251 = 0;
}
}
}
$$ph250$in = 1 << $$0233$$0232$;
$$0217$ph = HEAP32[$3>>2]|0;
$$ph250 = (($$ph250$in) + -1)|0;
$113 = $$0233$$0232$&255;
$$0217$ph253 = $$0217$ph;$$0219$ph = -1;$$0222$ph = 0;$$0223$ph252 = $$ph250$in;$$0226$ph = 0;$$0228$ph = $$0233$$0232$;$$2$ph = 0;$$3$ph = $$0233$lcssa;
L93: while(1) {
$114 = 1 << $$0228$ph;
$$0222 = $$0222$ph;$$2 = $$2$ph;$$3 = $$3$ph;
while(1) {
$115 = (($$3) - ($$0226$ph))|0;
$116 = $115&255;
$117 = (($5) + ($$2<<1)|0);
$118 = HEAP16[$117>>1]|0;
$119 = $118&65535;
$120 = ($119|0)<($$0244247$ph|0);
do {
if ($120) {
$$sroa$0$0 = 0;$$sroa$14$0 = $118;
} else {
$121 = ($119|0)>($$0244247$ph|0);
if (!($121)) {
$$sroa$0$0 = 96;$$sroa$14$0 = 0;
break;
}
$122 = (($$0216242249$ph) + ($119<<1)|0);
$123 = (($$0215243248$ph) + ($119<<1)|0);
$124 = HEAP16[$123>>1]|0;
$125 = $124&255;
$126 = HEAP16[$122>>1]|0;
$$sroa$0$0 = $125;$$sroa$14$0 = $126;
}
} while(0);
$127 = 1 << $115;
$128 = $$0222 >>> $$0226$ph;
$$0220 = $114;
while(1) {
$129 = (($$0220) - ($127))|0;
$130 = (($129) + ($128))|0;
$$sroa$0$0$$sroa_idx25 = (($$0217$ph253) + ($130<<2)|0);
HEAP8[$$sroa$0$0$$sroa_idx25>>0] = $$sroa$0$0;
$$sroa$11$0$$sroa_idx31 = (((($$0217$ph253) + ($130<<2)|0)) + 1|0);
HEAP8[$$sroa$11$0$$sroa_idx31>>0] = $116;
$$sroa$14$0$$sroa_idx38 = (((($$0217$ph253) + ($130<<2)|0)) + 2|0);
HEAP16[$$sroa$14$0$$sroa_idx38>>1] = $$sroa$14$0;
$131 = ($129|0)==(0);
if ($131) {
break;
} else {
$$0220 = $129;
}
}
$132 = (($$3) + -1)|0;
$133 = 1 << $132;
$$0221 = $133;
while(1) {
$134 = $$0221 & $$0222;
$135 = ($134|0)==(0);
$136 = $$0221 >>> 1;
if ($135) {
break;
} else {
$$0221 = $136;
}
}
$137 = ($$0221|0)==(0);
$138 = (($$0221) + -1)|0;
$139 = $138 & $$0222;
$140 = (($139) + ($$0221))|0;
$$ = $137 ? 0 : $140;
$141 = (($$2) + 1)|0;
$142 = (($6) + ($$3<<1)|0);
$143 = HEAP16[$142>>1]|0;
$144 = (($143) + -1)<<16>>16;
HEAP16[$142>>1] = $144;
$145 = ($144<<16>>16)==(0);
if ($145) {
$146 = ($$3|0)==($$0232285$lcssa311|0);
if ($146) {
break L93;
}
$147 = (($5) + ($141<<1)|0);
$148 = HEAP16[$147>>1]|0;
$149 = $148&65535;
$150 = (($1) + ($149<<1)|0);
$151 = HEAP16[$150>>1]|0;
$152 = $151&65535;
$$4 = $152;
} else {
$$4 = $$3;
}
$153 = ($$4>>>0)>($$0233$$0232$>>>0);
if (!($153)) {
$$0222 = $$;$$2 = $141;$$3 = $$4;
continue;
}
$154 = $$ & $$ph250;
$155 = ($154|0)==($$0219$ph|0);
if ($155) {
$$0222 = $$;$$2 = $141;$$3 = $$4;
} else {
break;
}
}
$156 = ($$0226$ph|0)==(0);
$$0233$$0232$$$0226 = $156 ? $$0233$$0232$ : $$0226$ph;
$157 = (($$0217$ph253) + ($114<<2)|0);
$158 = (($$4) - ($$0233$$0232$$$0226))|0;
$159 = ($$4>>>0)<($$0232285$lcssa311>>>0);
L113: do {
if ($159) {
$160 = 1 << $158;
$$1225269 = $160;$$1229268 = $158;$162 = $$4;
while(1) {
$161 = (($6) + ($162<<1)|0);
$163 = HEAP16[$161>>1]|0;
$164 = $163&65535;
$165 = (($$1225269) - ($164))|0;
$166 = ($165|0)<(1);
if ($166) {
$$1229$lcssa = $$1229268;
break L113;
}
$167 = (($$1229268) + 1)|0;
$168 = $165 << 1;
$169 = (($167) + ($$0233$$0232$$$0226))|0;
$170 = ($169>>>0)<($$0232285$lcssa311>>>0);
if ($170) {
$$1225269 = $168;$$1229268 = $167;$162 = $169;
} else {
$$1229$lcssa = $167;
break;
}
}
} else {
$$1229$lcssa = $158;
}
} while(0);
$171 = 1 << $$1229$lcssa;
$172 = (($171) + ($$0223$ph252))|0;
$173 = ($172>>>0)>(852);
$or$cond7 = $$ph251 & $173;
$174 = ($172>>>0)>(592);
$or$cond9 = $$ph & $174;
$or$cond239 = $or$cond7 | $or$cond9;
if ($or$cond239) {
$$0218 = 1;
label = 43;
break;
}
$175 = $$1229$lcssa&255;
$176 = HEAP32[$3>>2]|0;
$177 = (($176) + ($154<<2)|0);
HEAP8[$177>>0] = $175;
$178 = (((($176) + ($154<<2)|0)) + 1|0);
HEAP8[$178>>0] = $113;
$179 = $157;
$180 = $176;
$181 = (($179) - ($180))|0;
$182 = $181 >>> 2;
$183 = $182&65535;
$184 = (((($176) + ($154<<2)|0)) + 2|0);
HEAP16[$184>>1] = $183;
$$0217$ph253 = $157;$$0219$ph = $154;$$0222$ph = $$;$$0223$ph252 = $172;$$0226$ph = $$0233$$0232$$$0226;$$0228$ph = $$1229$lcssa;$$2$ph = $141;$$3$ph = $$4;
}
if ((label|0) == 43) {
STACKTOP = sp;return ($$0218|0);
}
$185 = ($$|0)==(0);
if (!($185)) {
$$sroa$14$0$$sroa_idx37 = (((($$0217$ph253) + ($$<<2)|0)) + 2|0);
$$sroa$11$0$$sroa_idx = (((($$0217$ph253) + ($$<<2)|0)) + 1|0);
$$sroa$0$0$$sroa_idx = (($$0217$ph253) + ($$<<2)|0);
HEAP8[$$sroa$0$0$$sroa_idx>>0] = 64;
HEAP8[$$sroa$11$0$$sroa_idx>>0] = $116;
HEAP16[$$sroa$14$0$$sroa_idx37>>1] = 0;
}
$186 = HEAP32[$3>>2]|0;
$187 = (($186) + ($$0223$ph252<<2)|0);
HEAP32[$3>>2] = $187;
HEAP32[$4>>2] = $$0233$$0232$;
$$0218 = 0;
STACKTOP = sp;return ($$0218|0);
}
function __tr_init($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 148|0);
$2 = ((($0)) + 2840|0);
HEAP32[$2>>2] = $1;
$3 = ((($0)) + 2848|0);
HEAP32[$3>>2] = 9328;
$4 = ((($0)) + 2440|0);
$5 = ((($0)) + 2852|0);
HEAP32[$5>>2] = $4;
$6 = ((($0)) + 2860|0);
HEAP32[$6>>2] = 9348;
$7 = ((($0)) + 2684|0);
$8 = ((($0)) + 2864|0);
HEAP32[$8>>2] = $7;
$9 = ((($0)) + 2872|0);
HEAP32[$9>>2] = 9368;
$10 = ((($0)) + 5816|0);
HEAP16[$10>>1] = 0;
$11 = ((($0)) + 5820|0);
HEAP32[$11>>2] = 0;
_init_block($0);
return;
}
function _init_block($0) {
$0 = $0|0;
var $$020 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
$$020 = 0;
while(1) {
$1 = (((($0)) + 148|0) + ($$020<<2)|0);
HEAP16[$1>>1] = 0;
$2 = (($$020) + 1)|0;
$exitcond = ($2|0)==(286);
if ($exitcond) {
break;
} else {
$$020 = $2;
}
}
$3 = ((($0)) + 2440|0);
HEAP16[$3>>1] = 0;
$4 = ((($0)) + 2444|0);
HEAP16[$4>>1] = 0;
$5 = ((($0)) + 2448|0);
HEAP16[$5>>1] = 0;
$6 = ((($0)) + 2452|0);
HEAP16[$6>>1] = 0;
$7 = ((($0)) + 2456|0);
HEAP16[$7>>1] = 0;
$8 = ((($0)) + 2460|0);
HEAP16[$8>>1] = 0;
$9 = ((($0)) + 2464|0);
HEAP16[$9>>1] = 0;
$10 = ((($0)) + 2468|0);
HEAP16[$10>>1] = 0;
$11 = ((($0)) + 2472|0);
HEAP16[$11>>1] = 0;
$12 = ((($0)) + 2476|0);
HEAP16[$12>>1] = 0;
$13 = ((($0)) + 2480|0);
HEAP16[$13>>1] = 0;
$14 = ((($0)) + 2484|0);
HEAP16[$14>>1] = 0;
$15 = ((($0)) + 2488|0);
HEAP16[$15>>1] = 0;
$16 = ((($0)) + 2492|0);
HEAP16[$16>>1] = 0;
$17 = ((($0)) + 2496|0);
HEAP16[$17>>1] = 0;
$18 = ((($0)) + 2500|0);
HEAP16[$18>>1] = 0;
$19 = ((($0)) + 2504|0);
HEAP16[$19>>1] = 0;
$20 = ((($0)) + 2508|0);
HEAP16[$20>>1] = 0;
$21 = ((($0)) + 2512|0);
HEAP16[$21>>1] = 0;
$22 = ((($0)) + 2516|0);
HEAP16[$22>>1] = 0;
$23 = ((($0)) + 2520|0);
HEAP16[$23>>1] = 0;
$24 = ((($0)) + 2524|0);
HEAP16[$24>>1] = 0;
$25 = ((($0)) + 2528|0);
HEAP16[$25>>1] = 0;
$26 = ((($0)) + 2532|0);
HEAP16[$26>>1] = 0;
$27 = ((($0)) + 2536|0);
HEAP16[$27>>1] = 0;
$28 = ((($0)) + 2540|0);
HEAP16[$28>>1] = 0;
$29 = ((($0)) + 2544|0);
HEAP16[$29>>1] = 0;
$30 = ((($0)) + 2548|0);
HEAP16[$30>>1] = 0;
$31 = ((($0)) + 2552|0);
HEAP16[$31>>1] = 0;
$32 = ((($0)) + 2556|0);
HEAP16[$32>>1] = 0;
$33 = ((($0)) + 2684|0);
HEAP16[$33>>1] = 0;
$34 = ((($0)) + 2688|0);
HEAP16[$34>>1] = 0;
$35 = ((($0)) + 2692|0);
HEAP16[$35>>1] = 0;
$36 = ((($0)) + 2696|0);
HEAP16[$36>>1] = 0;
$37 = ((($0)) + 2700|0);
HEAP16[$37>>1] = 0;
$38 = ((($0)) + 2704|0);
HEAP16[$38>>1] = 0;
$39 = ((($0)) + 2708|0);
HEAP16[$39>>1] = 0;
$40 = ((($0)) + 2712|0);
HEAP16[$40>>1] = 0;
$41 = ((($0)) + 2716|0);
HEAP16[$41>>1] = 0;
$42 = ((($0)) + 2720|0);
HEAP16[$42>>1] = 0;
$43 = ((($0)) + 2724|0);
HEAP16[$43>>1] = 0;
$44 = ((($0)) + 2728|0);
HEAP16[$44>>1] = 0;
$45 = ((($0)) + 2732|0);
HEAP16[$45>>1] = 0;
$46 = ((($0)) + 2736|0);
HEAP16[$46>>1] = 0;
$47 = ((($0)) + 2740|0);
HEAP16[$47>>1] = 0;
$48 = ((($0)) + 2744|0);
HEAP16[$48>>1] = 0;
$49 = ((($0)) + 2748|0);
HEAP16[$49>>1] = 0;
$50 = ((($0)) + 2752|0);
HEAP16[$50>>1] = 0;
$51 = ((($0)) + 2756|0);
HEAP16[$51>>1] = 0;
$52 = ((($0)) + 1172|0);
HEAP16[$52>>1] = 1;
$53 = ((($0)) + 5804|0);
HEAP32[$53>>2] = 0;
$54 = ((($0)) + 5800|0);
HEAP32[$54>>2] = 0;
$55 = ((($0)) + 5808|0);
HEAP32[$55>>2] = 0;
$56 = ((($0)) + 5792|0);
HEAP32[$56>>2] = 0;
return;
}
function __tr_stored_block($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0171$i = 0, $$02$i = 0, $$off0 = 0, $$off0$in = 0, $$pre$phi$iZ2D = 0, $$pre$phi4$iZ2D = 0, $$pre3$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = ((($0)) + 5820|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)>(13);
$7 = $3 & 65535;
$8 = $7 << $5;
$9 = ((($0)) + 5816|0);
$10 = HEAP16[$9>>1]|0;
$11 = $10&65535;
$12 = $11 | $8;
$13 = $12&65535;
HEAP16[$9>>1] = $13;
if ($6) {
$14 = $12&255;
$15 = ((($0)) + 20|0);
$16 = HEAP32[$15>>2]|0;
$17 = (($16) + 1)|0;
HEAP32[$15>>2] = $17;
$18 = ((($0)) + 8|0);
$19 = HEAP32[$18>>2]|0;
$20 = (($19) + ($16)|0);
HEAP8[$20>>0] = $14;
$21 = HEAP16[$9>>1]|0;
$22 = ($21&65535) >>> 8;
$23 = $22&255;
$24 = HEAP32[$15>>2]|0;
$25 = (($24) + 1)|0;
HEAP32[$15>>2] = $25;
$26 = HEAP32[$18>>2]|0;
$27 = (($26) + ($24)|0);
HEAP8[$27>>0] = $23;
$28 = HEAP32[$4>>2]|0;
$29 = (16 - ($28))|0;
$30 = $7 >>> $29;
$31 = $30&65535;
HEAP16[$9>>1] = $31;
$32 = (($28) + -13)|0;
$$off0$in = $30;$storemerge = $32;
} else {
$33 = (($5) + 3)|0;
$$off0$in = $12;$storemerge = $33;
}
$$off0 = $$off0$in&255;
HEAP32[$4>>2] = $storemerge;
$34 = ($storemerge|0)>(8);
do {
if ($34) {
$35 = ((($0)) + 20|0);
$36 = HEAP32[$35>>2]|0;
$37 = (($36) + 1)|0;
HEAP32[$35>>2] = $37;
$38 = ((($0)) + 8|0);
$39 = HEAP32[$38>>2]|0;
$40 = (($39) + ($36)|0);
HEAP8[$40>>0] = $$off0;
$41 = HEAP16[$9>>1]|0;
$42 = ($41&65535) >>> 8;
$43 = $42&255;
$44 = HEAP32[$35>>2]|0;
$45 = (($44) + 1)|0;
HEAP32[$35>>2] = $45;
$46 = HEAP32[$38>>2]|0;
$47 = (($46) + ($44)|0);
HEAP8[$47>>0] = $43;
$$pre$phi$iZ2D = $35;$$pre$phi4$iZ2D = $38;
} else {
$48 = ($storemerge|0)>(0);
$49 = ((($0)) + 20|0);
if ($48) {
$50 = HEAP32[$49>>2]|0;
$51 = (($50) + 1)|0;
HEAP32[$49>>2] = $51;
$52 = ((($0)) + 8|0);
$53 = HEAP32[$52>>2]|0;
$54 = (($53) + ($50)|0);
HEAP8[$54>>0] = $$off0;
$$pre$phi$iZ2D = $49;$$pre$phi4$iZ2D = $52;
break;
} else {
$$pre3$i = ((($0)) + 8|0);
$$pre$phi$iZ2D = $49;$$pre$phi4$iZ2D = $$pre3$i;
break;
}
}
} while(0);
HEAP16[$9>>1] = 0;
HEAP32[$4>>2] = 0;
$55 = $2&255;
$56 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$57 = (($56) + 1)|0;
HEAP32[$$pre$phi$iZ2D>>2] = $57;
$58 = HEAP32[$$pre$phi4$iZ2D>>2]|0;
$59 = (($58) + ($56)|0);
HEAP8[$59>>0] = $55;
$60 = $2 >>> 8;
$61 = $60&255;
$62 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$63 = (($62) + 1)|0;
HEAP32[$$pre$phi$iZ2D>>2] = $63;
$64 = HEAP32[$$pre$phi4$iZ2D>>2]|0;
$65 = (($64) + ($62)|0);
HEAP8[$65>>0] = $61;
$66 = $2 & 65535;
$67 = $66 ^ 65535;
$68 = $67&255;
$69 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$70 = (($69) + 1)|0;
HEAP32[$$pre$phi$iZ2D>>2] = $70;
$71 = HEAP32[$$pre$phi4$iZ2D>>2]|0;
$72 = (($71) + ($69)|0);
HEAP8[$72>>0] = $68;
$73 = $67 >>> 8;
$74 = $73&255;
$75 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$76 = (($75) + 1)|0;
HEAP32[$$pre$phi$iZ2D>>2] = $76;
$77 = HEAP32[$$pre$phi4$iZ2D>>2]|0;
$78 = (($77) + ($75)|0);
HEAP8[$78>>0] = $74;
$79 = ($2|0)==(0);
if ($79) {
return;
} else {
$$0171$i = $2;$$02$i = $1;
}
while(1) {
$80 = (($$0171$i) + -1)|0;
$81 = ((($$02$i)) + 1|0);
$82 = HEAP8[$$02$i>>0]|0;
$83 = HEAP32[$$pre$phi$iZ2D>>2]|0;
$84 = (($83) + 1)|0;
HEAP32[$$pre$phi$iZ2D>>2] = $84;
$85 = HEAP32[$$pre$phi4$iZ2D>>2]|0;
$86 = (($85) + ($83)|0);
HEAP8[$86>>0] = $82;
$87 = ($80|0)==(0);
if ($87) {
break;
} else {
$$0171$i = $80;$$02$i = $81;
}
}
return;
}
function __tr_flush_bits($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 5820|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(16);
if ($3) {
$4 = ((($0)) + 5816|0);
$5 = HEAP16[$4>>1]|0;
$6 = $5&255;
$7 = ((($0)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = (($8) + 1)|0;
HEAP32[$7>>2] = $9;
$10 = ((($0)) + 8|0);
$11 = HEAP32[$10>>2]|0;
$12 = (($11) + ($8)|0);
HEAP8[$12>>0] = $6;
$13 = HEAP16[$4>>1]|0;
$14 = ($13&65535) >>> 8;
$15 = $14&255;
$16 = HEAP32[$7>>2]|0;
$17 = (($16) + 1)|0;
HEAP32[$7>>2] = $17;
$18 = HEAP32[$10>>2]|0;
$19 = (($18) + ($16)|0);
HEAP8[$19>>0] = $15;
HEAP16[$4>>1] = 0;
HEAP32[$1>>2] = 0;
return;
}
$20 = ($2|0)>(7);
if (!($20)) {
return;
}
$21 = ((($0)) + 5816|0);
$22 = HEAP16[$21>>1]|0;
$23 = $22&255;
$24 = ((($0)) + 20|0);
$25 = HEAP32[$24>>2]|0;
$26 = (($25) + 1)|0;
HEAP32[$24>>2] = $26;
$27 = ((($0)) + 8|0);
$28 = HEAP32[$27>>2]|0;
$29 = (($28) + ($25)|0);
HEAP8[$29>>0] = $23;
$30 = HEAP16[$21>>1]|0;
$31 = ($30&65535) >>> 8;
HEAP16[$21>>1] = $31;
$32 = HEAP32[$1>>2]|0;
$33 = (($32) + -8)|0;
HEAP32[$1>>2] = $33;
return;
}
function __tr_align($0) {
$0 = $0|0;
var $$off0 = 0, $$off0$in = 0, $$off049 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $storemerge = 0, $storemerge47 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 5820|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)>(13);
$4 = 2 << $2;
$5 = ((($0)) + 5816|0);
$6 = HEAP16[$5>>1]|0;
$7 = $6&65535;
$8 = $7 | $4;
$9 = $8&65535;
HEAP16[$5>>1] = $9;
if ($3) {
$10 = $8&255;
$11 = ((($0)) + 20|0);
$12 = HEAP32[$11>>2]|0;
$13 = (($12) + 1)|0;
HEAP32[$11>>2] = $13;
$14 = ((($0)) + 8|0);
$15 = HEAP32[$14>>2]|0;
$16 = (($15) + ($12)|0);
HEAP8[$16>>0] = $10;
$17 = HEAP16[$5>>1]|0;
$18 = ($17&65535) >>> 8;
$19 = $18&255;
$20 = HEAP32[$11>>2]|0;
$21 = (($20) + 1)|0;
HEAP32[$11>>2] = $21;
$22 = HEAP32[$14>>2]|0;
$23 = (($22) + ($20)|0);
HEAP8[$23>>0] = $19;
$24 = HEAP32[$1>>2]|0;
$25 = (16 - ($24))|0;
$26 = 2 >>> $25;
$27 = $26&65535;
HEAP16[$5>>1] = $27;
$28 = (($24) + -13)|0;
$$off0$in = $26;$storemerge = $28;
} else {
$29 = (($2) + 3)|0;
$$off0$in = $8;$storemerge = $29;
}
$$off0 = $$off0$in&255;
HEAP32[$1>>2] = $storemerge;
$30 = ($storemerge|0)>(9);
if ($30) {
$31 = ((($0)) + 20|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($32) + 1)|0;
HEAP32[$31>>2] = $33;
$34 = ((($0)) + 8|0);
$35 = HEAP32[$34>>2]|0;
$36 = (($35) + ($32)|0);
HEAP8[$36>>0] = $$off0;
$37 = HEAP16[$5>>1]|0;
$38 = ($37&65535) >>> 8;
$39 = $38&255;
$40 = HEAP32[$31>>2]|0;
$41 = (($40) + 1)|0;
HEAP32[$31>>2] = $41;
$42 = HEAP32[$34>>2]|0;
$43 = (($42) + ($40)|0);
HEAP8[$43>>0] = $39;
HEAP16[$5>>1] = 0;
$44 = HEAP32[$1>>2]|0;
$45 = (($44) + -9)|0;
$$off049 = 0;$storemerge47 = $45;
} else {
$46 = (($storemerge) + 7)|0;
$$off049 = $$off0;$storemerge47 = $46;
}
HEAP32[$1>>2] = $storemerge47;
$47 = ($storemerge47|0)==(16);
if ($47) {
$48 = ((($0)) + 20|0);
$49 = HEAP32[$48>>2]|0;
$50 = (($49) + 1)|0;
HEAP32[$48>>2] = $50;
$51 = ((($0)) + 8|0);
$52 = HEAP32[$51>>2]|0;
$53 = (($52) + ($49)|0);
HEAP8[$53>>0] = $$off049;
$54 = HEAP16[$5>>1]|0;
$55 = ($54&65535) >>> 8;
$56 = $55&255;
$57 = HEAP32[$48>>2]|0;
$58 = (($57) + 1)|0;
HEAP32[$48>>2] = $58;
$59 = HEAP32[$51>>2]|0;
$60 = (($59) + ($57)|0);
HEAP8[$60>>0] = $56;
HEAP16[$5>>1] = 0;
HEAP32[$1>>2] = 0;
return;
}
$61 = ($storemerge47|0)>(7);
if (!($61)) {
return;
}
$62 = ((($0)) + 20|0);
$63 = HEAP32[$62>>2]|0;
$64 = (($63) + 1)|0;
HEAP32[$62>>2] = $64;
$65 = ((($0)) + 8|0);
$66 = HEAP32[$65>>2]|0;
$67 = (($66) + ($63)|0);
HEAP8[$67>>0] = $$off049;
$68 = HEAP16[$5>>1]|0;
$69 = ($68&65535) >>> 8;
HEAP16[$5>>1] = $69;
$70 = HEAP32[$1>>2]|0;
$71 = (($70) + -8)|0;
HEAP32[$1>>2] = $71;
return;
}
function __tr_flush_block($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$$53$i$i = 0, $$$53$i27$i = 0, $$$54$i$i = 0, $$$54$i28$i = 0, $$$i = 0, $$$i$i = 0, $$$i15$i = 0, $$0 = 0, $$0$lcssa$i = 0, $$0118$i = 0, $$01620$i = 0, $$017$i = 0, $$021$i = 0, $$046$i$i = 0, $$046$i24$i = 0, $$048$ph$i$i = 0, $$048$ph$i19$i = 0, $$049$i$i = 0, $$049$i23$i = 0;
var $$049$ph$i$i = 0, $$049$ph$i18$i = 0, $$050$ph$i$i = 0, $$050$ph$i$i$phi = 0, $$050$ph$i17$i = 0, $$050$ph$i17$i$phi = 0, $$092 = 0, $$093 = 0, $$1$ph$i$i = 0, $$1$ph$i21$i = 0, $$119$i = 0, $$144$ph$i$i = 0, $$144$ph$i20$i = 0, $$52$i$i = 0, $$52$i16$i = 0, $$53$i$i = 0, $$53$i26$i = 0, $$pre = 0, $$pre$phi$iZ2D = 0, $$pre$phi117Z2D = 0;
var $$pre$phiZ2D = 0, $$pre116 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0;
var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0;
var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0;
var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0;
var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0;
var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond$i = 0, $or$cond = 0, $or$cond$i$i = 0, $or$cond$i25$i = 0, $or$cond95 = 0, $storemerge = 0, $storemerge116$i = 0, $storemerge117$i = 0, $storemerge94 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$4 = ((($0)) + 132|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)>(0);
if ($6) {
$7 = HEAP32[$0>>2]|0;
$8 = ((($7)) + 44|0);
$9 = HEAP32[$8>>2]|0;
$10 = ($9|0)==(2);
if ($10) {
$$01620$i = -201342849;$$021$i = 0;
while(1) {
$11 = $$01620$i & 1;
$12 = ($11|0)==(0);
if (!($12)) {
$13 = (((($0)) + 148|0) + ($$021$i<<2)|0);
$14 = HEAP16[$13>>1]|0;
$15 = ($14<<16>>16)==(0);
if (!($15)) {
$$017$i = 0;
break;
}
}
$16 = (($$021$i) + 1)|0;
$17 = $$01620$i >>> 1;
$18 = ($16|0)<(32);
if ($18) {
$$01620$i = $17;$$021$i = $16;
} else {
label = 6;
break;
}
}
L9: do {
if ((label|0) == 6) {
$19 = ((($0)) + 184|0);
$20 = HEAP16[$19>>1]|0;
$21 = ($20<<16>>16)==(0);
if ($21) {
$22 = ((($0)) + 188|0);
$23 = HEAP16[$22>>1]|0;
$24 = ($23<<16>>16)==(0);
if ($24) {
$25 = ((($0)) + 200|0);
$26 = HEAP16[$25>>1]|0;
$27 = ($26<<16>>16)==(0);
if ($27) {
$$119$i = 32;
while(1) {
$30 = (((($0)) + 148|0) + ($$119$i<<2)|0);
$31 = HEAP16[$30>>1]|0;
$32 = ($31<<16>>16)==(0);
$28 = (($$119$i) + 1)|0;
if (!($32)) {
$$017$i = 1;
break L9;
}
$29 = ($28|0)<(256);
if ($29) {
$$119$i = $28;
} else {
$$017$i = 0;
break;
}
}
} else {
$$017$i = 1;
}
} else {
$$017$i = 1;
}
} else {
$$017$i = 1;
}
}
} while(0);
HEAP32[$8>>2] = $$017$i;
}
$33 = ((($0)) + 2840|0);
_build_tree($0,$33);
$34 = ((($0)) + 2852|0);
_build_tree($0,$34);
$35 = ((($0)) + 2844|0);
$36 = HEAP32[$35>>2]|0;
$37 = ((($0)) + 150|0);
$38 = HEAP16[$37>>1]|0;
$39 = $38&65535;
$40 = ($38<<16>>16)==(0);
$$$i$i = $40 ? 138 : 7;
$$52$i$i = $40 ? 3 : 4;
$41 = (($36) + 1)|0;
$42 = (((((($0)) + 148|0) + ($41<<2)|0)) + 2|0);
HEAP16[$42>>1] = -1;
$43 = ((($0)) + 2752|0);
$44 = ((($0)) + 2756|0);
$45 = ((($0)) + 2748|0);
$$048$ph$i$i = $39;$$049$ph$i$i = 0;$$050$ph$i$i = -1;$$1$ph$i$i = $$52$i$i;$$144$ph$i$i = $$$i$i;
L18: while(1) {
$$046$i$i = 0;$$049$i$i = $$049$ph$i$i;
while(1) {
$46 = ($$049$i$i|0)>($36|0);
if ($46) {
break L18;
}
$47 = (($$049$i$i) + 1)|0;
$48 = (((((($0)) + 148|0) + ($47<<2)|0)) + 2|0);
$49 = HEAP16[$48>>1]|0;
$50 = $49&65535;
$51 = (($$046$i$i) + 1)|0;
$52 = ($51|0)<($$144$ph$i$i|0);
$53 = ($$048$ph$i$i|0)==($50|0);
$or$cond$i$i = $52 & $53;
if ($or$cond$i$i) {
$$046$i$i = $51;$$049$i$i = $47;
} else {
break;
}
}
$54 = ($51|0)<($$1$ph$i$i|0);
do {
if ($54) {
$55 = (((($0)) + 2684|0) + ($$048$ph$i$i<<2)|0);
$56 = HEAP16[$55>>1]|0;
$57 = $56&65535;
$58 = (($57) + ($51))|0;
$59 = $58&65535;
HEAP16[$55>>1] = $59;
} else {
$60 = ($$048$ph$i$i|0)==(0);
if ($60) {
$67 = ($51|0)<(11);
if ($67) {
$68 = HEAP16[$43>>1]|0;
$69 = (($68) + 1)<<16>>16;
HEAP16[$43>>1] = $69;
break;
} else {
$70 = HEAP16[$44>>1]|0;
$71 = (($70) + 1)<<16>>16;
HEAP16[$44>>1] = $71;
break;
}
} else {
$61 = ($$048$ph$i$i|0)==($$050$ph$i$i|0);
$62 = (((($0)) + 2684|0) + ($$048$ph$i$i<<2)|0);
if (!($61)) {
$63 = HEAP16[$62>>1]|0;
$64 = (($63) + 1)<<16>>16;
HEAP16[$62>>1] = $64;
}
$65 = HEAP16[$45>>1]|0;
$66 = (($65) + 1)<<16>>16;
HEAP16[$45>>1] = $66;
break;
}
}
} while(0);
$72 = ($49<<16>>16)==(0);
$$53$i$i = $53 ? 6 : 7;
$$$53$i$i = $72 ? 138 : $$53$i$i;
$73 = $72 | $53;
$$$54$i$i = $73 ? 3 : 4;
$$050$ph$i$i$phi = $$048$ph$i$i;$$048$ph$i$i = $50;$$049$ph$i$i = $47;$$1$ph$i$i = $$$54$i$i;$$144$ph$i$i = $$$53$i$i;$$050$ph$i$i = $$050$ph$i$i$phi;
}
$74 = ((($0)) + 2856|0);
$75 = HEAP32[$74>>2]|0;
$76 = ((($0)) + 2442|0);
$77 = HEAP16[$76>>1]|0;
$78 = $77&65535;
$79 = ($77<<16>>16)==(0);
$$$i15$i = $79 ? 138 : 7;
$$52$i16$i = $79 ? 3 : 4;
$80 = (($75) + 1)|0;
$81 = (((((($0)) + 2440|0) + ($80<<2)|0)) + 2|0);
HEAP16[$81>>1] = -1;
$$048$ph$i19$i = $78;$$049$ph$i18$i = 0;$$050$ph$i17$i = -1;$$1$ph$i21$i = $$52$i16$i;$$144$ph$i20$i = $$$i15$i;
L38: while(1) {
$$046$i24$i = 0;$$049$i23$i = $$049$ph$i18$i;
while(1) {
$82 = ($$049$i23$i|0)>($75|0);
if ($82) {
break L38;
}
$83 = (($$049$i23$i) + 1)|0;
$84 = (((((($0)) + 2440|0) + ($83<<2)|0)) + 2|0);
$85 = HEAP16[$84>>1]|0;
$86 = $85&65535;
$87 = (($$046$i24$i) + 1)|0;
$88 = ($87|0)<($$144$ph$i20$i|0);
$89 = ($$048$ph$i19$i|0)==($86|0);
$or$cond$i25$i = $88 & $89;
if ($or$cond$i25$i) {
$$046$i24$i = $87;$$049$i23$i = $83;
} else {
break;
}
}
$90 = ($87|0)<($$1$ph$i21$i|0);
do {
if ($90) {
$91 = (((($0)) + 2684|0) + ($$048$ph$i19$i<<2)|0);
$92 = HEAP16[$91>>1]|0;
$93 = $92&65535;
$94 = (($93) + ($87))|0;
$95 = $94&65535;
HEAP16[$91>>1] = $95;
} else {
$96 = ($$048$ph$i19$i|0)==(0);
if ($96) {
$103 = ($87|0)<(11);
if ($103) {
$104 = HEAP16[$43>>1]|0;
$105 = (($104) + 1)<<16>>16;
HEAP16[$43>>1] = $105;
break;
} else {
$106 = HEAP16[$44>>1]|0;
$107 = (($106) + 1)<<16>>16;
HEAP16[$44>>1] = $107;
break;
}
} else {
$97 = ($$048$ph$i19$i|0)==($$050$ph$i17$i|0);
$98 = (((($0)) + 2684|0) + ($$048$ph$i19$i<<2)|0);
if (!($97)) {
$99 = HEAP16[$98>>1]|0;
$100 = (($99) + 1)<<16>>16;
HEAP16[$98>>1] = $100;
}
$101 = HEAP16[$45>>1]|0;
$102 = (($101) + 1)<<16>>16;
HEAP16[$45>>1] = $102;
break;
}
}
} while(0);
$108 = ($85<<16>>16)==(0);
$$53$i26$i = $89 ? 6 : 7;
$$$53$i27$i = $108 ? 138 : $$53$i26$i;
$109 = $108 | $89;
$$$54$i28$i = $109 ? 3 : 4;
$$050$ph$i17$i$phi = $$048$ph$i19$i;$$048$ph$i19$i = $86;$$049$ph$i18$i = $83;$$1$ph$i21$i = $$$54$i28$i;$$144$ph$i20$i = $$$53$i27$i;$$050$ph$i17$i = $$050$ph$i17$i$phi;
}
$110 = ((($0)) + 2864|0);
_build_tree($0,$110);
$111 = ((($0)) + 2746|0);
$112 = HEAP16[$111>>1]|0;
$113 = ($112<<16>>16)==(0);
if ($113) {
$114 = ((($0)) + 2690|0);
$115 = HEAP16[$114>>1]|0;
$116 = ($115<<16>>16)==(0);
if ($116) {
$117 = ((($0)) + 2742|0);
$118 = HEAP16[$117>>1]|0;
$119 = ($118<<16>>16)==(0);
if ($119) {
$120 = ((($0)) + 2694|0);
$121 = HEAP16[$120>>1]|0;
$122 = ($121<<16>>16)==(0);
if ($122) {
$123 = ((($0)) + 2738|0);
$124 = HEAP16[$123>>1]|0;
$125 = ($124<<16>>16)==(0);
if ($125) {
$126 = ((($0)) + 2698|0);
$127 = HEAP16[$126>>1]|0;
$128 = ($127<<16>>16)==(0);
if ($128) {
$129 = ((($0)) + 2734|0);
$130 = HEAP16[$129>>1]|0;
$131 = ($130<<16>>16)==(0);
if ($131) {
$132 = ((($0)) + 2702|0);
$133 = HEAP16[$132>>1]|0;
$134 = ($133<<16>>16)==(0);
if ($134) {
$135 = ((($0)) + 2730|0);
$136 = HEAP16[$135>>1]|0;
$137 = ($136<<16>>16)==(0);
if ($137) {
$138 = ((($0)) + 2706|0);
$139 = HEAP16[$138>>1]|0;
$140 = ($139<<16>>16)==(0);
if ($140) {
$141 = ((($0)) + 2726|0);
$142 = HEAP16[$141>>1]|0;
$143 = ($142<<16>>16)==(0);
if ($143) {
$144 = ((($0)) + 2710|0);
$145 = HEAP16[$144>>1]|0;
$146 = ($145<<16>>16)==(0);
if ($146) {
$147 = ((($0)) + 2722|0);
$148 = HEAP16[$147>>1]|0;
$149 = ($148<<16>>16)==(0);
if ($149) {
$150 = ((($0)) + 2714|0);
$151 = HEAP16[$150>>1]|0;
$152 = ($151<<16>>16)==(0);
if ($152) {
$153 = ((($0)) + 2718|0);
$154 = HEAP16[$153>>1]|0;
$155 = ($154<<16>>16)==(0);
if ($155) {
$156 = ((($0)) + 2686|0);
$157 = HEAP16[$156>>1]|0;
$158 = ($157<<16>>16)==(0);
$$$i = $158 ? 2 : 3;
$$0$lcssa$i = $$$i;
} else {
$$0$lcssa$i = 4;
}
} else {
$$0$lcssa$i = 5;
}
} else {
$$0$lcssa$i = 6;
}
} else {
$$0$lcssa$i = 7;
}
} else {
$$0$lcssa$i = 8;
}
} else {
$$0$lcssa$i = 9;
}
} else {
$$0$lcssa$i = 10;
}
} else {
$$0$lcssa$i = 11;
}
} else {
$$0$lcssa$i = 12;
}
} else {
$$0$lcssa$i = 13;
}
} else {
$$0$lcssa$i = 14;
}
} else {
$$0$lcssa$i = 15;
}
} else {
$$0$lcssa$i = 16;
}
} else {
$$0$lcssa$i = 17;
}
} else {
$$0$lcssa$i = 18;
}
$159 = ($$0$lcssa$i*3)|0;
$160 = (($159) + 17)|0;
$161 = ((($0)) + 5800|0);
$162 = HEAP32[$161>>2]|0;
$163 = (($160) + ($162))|0;
HEAP32[$161>>2] = $163;
$164 = (($163) + 10)|0;
$165 = $164 >>> 3;
$166 = ((($0)) + 5804|0);
$167 = HEAP32[$166>>2]|0;
$168 = (($167) + 10)|0;
$169 = $168 >>> 3;
$170 = ($169>>>0)>($165>>>0);
$$ = $170 ? $165 : $169;
$$0 = $$;$$092 = $169;$$093 = $$0$lcssa$i;
} else {
$171 = (($2) + 5)|0;
$$0 = $171;$$092 = $171;$$093 = 0;
}
$172 = (($2) + 4)|0;
$173 = ($172>>>0)<=($$0>>>0);
$174 = ($1|0)!=(0|0);
$or$cond = $174 & $173;
do {
if ($or$cond) {
__tr_stored_block($0,$1,$2,$3);
} else {
$175 = ((($0)) + 136|0);
$176 = HEAP32[$175>>2]|0;
$177 = ($176|0)==(4);
$178 = ($$092|0)==($$0|0);
$or$cond95 = $178 | $177;
$179 = ((($0)) + 5820|0);
$180 = HEAP32[$179>>2]|0;
$181 = ($180|0)>(13);
if ($or$cond95) {
$182 = (($3) + 2)|0;
$183 = $182 & 65535;
$184 = $183 << $180;
$185 = ((($0)) + 5816|0);
$186 = HEAP16[$185>>1]|0;
$187 = $186&65535;
$188 = $187 | $184;
$189 = $188&65535;
HEAP16[$185>>1] = $189;
if ($181) {
$190 = $188&255;
$191 = ((($0)) + 20|0);
$192 = HEAP32[$191>>2]|0;
$193 = (($192) + 1)|0;
HEAP32[$191>>2] = $193;
$194 = ((($0)) + 8|0);
$195 = HEAP32[$194>>2]|0;
$196 = (($195) + ($192)|0);
HEAP8[$196>>0] = $190;
$197 = HEAP16[$185>>1]|0;
$198 = ($197&65535) >>> 8;
$199 = $198&255;
$200 = HEAP32[$191>>2]|0;
$201 = (($200) + 1)|0;
HEAP32[$191>>2] = $201;
$202 = HEAP32[$194>>2]|0;
$203 = (($202) + ($200)|0);
HEAP8[$203>>0] = $199;
$204 = HEAP32[$179>>2]|0;
$205 = (16 - ($204))|0;
$206 = $183 >>> $205;
$207 = $206&65535;
HEAP16[$185>>1] = $207;
$208 = (($204) + -13)|0;
$storemerge94 = $208;
} else {
$209 = (($180) + 3)|0;
$storemerge94 = $209;
}
HEAP32[$179>>2] = $storemerge94;
_compress_block($0,13278,13158);
break;
}
$210 = (($3) + 4)|0;
$211 = $210 & 65535;
$212 = $211 << $180;
$213 = ((($0)) + 5816|0);
$214 = HEAP16[$213>>1]|0;
$215 = $214&65535;
$216 = $215 | $212;
$217 = $216&65535;
HEAP16[$213>>1] = $217;
if ($181) {
$218 = $216&255;
$219 = ((($0)) + 20|0);
$220 = HEAP32[$219>>2]|0;
$221 = (($220) + 1)|0;
HEAP32[$219>>2] = $221;
$222 = ((($0)) + 8|0);
$223 = HEAP32[$222>>2]|0;
$224 = (($223) + ($220)|0);
HEAP8[$224>>0] = $218;
$225 = HEAP16[$213>>1]|0;
$226 = ($225&65535) >>> 8;
$227 = $226&255;
$228 = HEAP32[$219>>2]|0;
$229 = (($228) + 1)|0;
HEAP32[$219>>2] = $229;
$230 = HEAP32[$222>>2]|0;
$231 = (($230) + ($228)|0);
HEAP8[$231>>0] = $227;
$232 = HEAP32[$179>>2]|0;
$233 = (16 - ($232))|0;
$234 = $211 >>> $233;
$235 = $234&65535;
HEAP16[$213>>1] = $235;
$236 = (($232) + -13)|0;
$247 = $234;$storemerge = $236;
} else {
$237 = (($180) + 3)|0;
$247 = $216;$storemerge = $237;
}
HEAP32[$179>>2] = $storemerge;
$238 = ((($0)) + 2844|0);
$239 = HEAP32[$238>>2]|0;
$240 = ((($0)) + 2856|0);
$241 = HEAP32[$240>>2]|0;
$242 = ($storemerge|0)>(11);
$243 = (($239) + 65280)|0;
$244 = $243 & 65535;
$245 = $244 << $storemerge;
$246 = $247 & 65535;
$248 = $246 | $245;
$249 = $248&65535;
HEAP16[$213>>1] = $249;
if ($242) {
$250 = $248&255;
$251 = ((($0)) + 20|0);
$252 = HEAP32[$251>>2]|0;
$253 = (($252) + 1)|0;
HEAP32[$251>>2] = $253;
$254 = ((($0)) + 8|0);
$255 = HEAP32[$254>>2]|0;
$256 = (($255) + ($252)|0);
HEAP8[$256>>0] = $250;
$257 = HEAP16[$213>>1]|0;
$258 = ($257&65535) >>> 8;
$259 = $258&255;
$260 = HEAP32[$251>>2]|0;
$261 = (($260) + 1)|0;
HEAP32[$251>>2] = $261;
$262 = HEAP32[$254>>2]|0;
$263 = (($262) + ($260)|0);
HEAP8[$263>>0] = $259;
$264 = HEAP32[$179>>2]|0;
$265 = (16 - ($264))|0;
$266 = $244 >>> $265;
$267 = $266&65535;
HEAP16[$213>>1] = $267;
$268 = (($264) + -11)|0;
$270 = $268;$275 = $266;
} else {
$269 = (($storemerge) + 5)|0;
$270 = $269;$275 = $248;
}
HEAP32[$179>>2] = $270;
$271 = ($270|0)>(11);
$272 = $241 & 65535;
$273 = $272 << $270;
$274 = $275 & 65535;
$276 = $273 | $274;
$277 = $276&65535;
HEAP16[$213>>1] = $277;
if ($271) {
$278 = $276&255;
$279 = ((($0)) + 20|0);
$280 = HEAP32[$279>>2]|0;
$281 = (($280) + 1)|0;
HEAP32[$279>>2] = $281;
$282 = ((($0)) + 8|0);
$283 = HEAP32[$282>>2]|0;
$284 = (($283) + ($280)|0);
HEAP8[$284>>0] = $278;
$285 = HEAP16[$213>>1]|0;
$286 = ($285&65535) >>> 8;
$287 = $286&255;
$288 = HEAP32[$279>>2]|0;
$289 = (($288) + 1)|0;
HEAP32[$279>>2] = $289;
$290 = HEAP32[$282>>2]|0;
$291 = (($290) + ($288)|0);
HEAP8[$291>>0] = $287;
$292 = HEAP32[$179>>2]|0;
$293 = (16 - ($292))|0;
$294 = $272 >>> $293;
$295 = $294&65535;
HEAP16[$213>>1] = $295;
$296 = (($292) + -11)|0;
$298 = $296;$304 = $294;
} else {
$297 = (($270) + 5)|0;
$298 = $297;$304 = $276;
}
HEAP32[$179>>2] = $298;
$299 = ($298|0)>(12);
$300 = (($$093) + 65533)|0;
$301 = $300 & 65535;
$302 = $301 << $298;
$303 = $304 & 65535;
$305 = $302 | $303;
$306 = $305&65535;
HEAP16[$213>>1] = $306;
if ($299) {
$307 = $305&255;
$308 = ((($0)) + 20|0);
$309 = HEAP32[$308>>2]|0;
$310 = (($309) + 1)|0;
HEAP32[$308>>2] = $310;
$311 = ((($0)) + 8|0);
$312 = HEAP32[$311>>2]|0;
$313 = (($312) + ($309)|0);
HEAP8[$313>>0] = $307;
$314 = HEAP16[$213>>1]|0;
$315 = ($314&65535) >>> 8;
$316 = $315&255;
$317 = HEAP32[$308>>2]|0;
$318 = (($317) + 1)|0;
HEAP32[$308>>2] = $318;
$319 = HEAP32[$311>>2]|0;
$320 = (($319) + ($317)|0);
HEAP8[$320>>0] = $316;
$321 = HEAP32[$179>>2]|0;
$322 = (16 - ($321))|0;
$323 = $301 >>> $322;
$324 = $323&65535;
HEAP16[$213>>1] = $324;
$325 = (($321) + -12)|0;
$$pre$phi117Z2D = $311;$$pre$phiZ2D = $308;$391 = $323;$storemerge116$i = $325;
} else {
$326 = (($298) + 4)|0;
$$pre = ((($0)) + 20|0);
$$pre116 = ((($0)) + 8|0);
$$pre$phi117Z2D = $$pre116;$$pre$phiZ2D = $$pre;$391 = $305;$storemerge116$i = $326;
}
HEAP32[$179>>2] = $storemerge116$i;
$$0118$i = 0;$327 = $storemerge116$i;$337 = $391;
while(1) {
$328 = ($327|0)>(13);
$329 = (28335 + ($$0118$i)|0);
$330 = HEAP8[$329>>0]|0;
$331 = $330&255;
$332 = (((((($0)) + 2684|0) + ($331<<2)|0)) + 2|0);
$333 = HEAP16[$332>>1]|0;
$334 = $333&65535;
$335 = $334 << $327;
$336 = $337 & 65535;
$338 = $335 | $336;
$339 = $338&65535;
HEAP16[$213>>1] = $339;
if ($328) {
$340 = $338&255;
$341 = HEAP32[$$pre$phiZ2D>>2]|0;
$342 = (($341) + 1)|0;
HEAP32[$$pre$phiZ2D>>2] = $342;
$343 = HEAP32[$$pre$phi117Z2D>>2]|0;
$344 = (($343) + ($341)|0);
HEAP8[$344>>0] = $340;
$345 = HEAP16[$213>>1]|0;
$346 = ($345&65535) >>> 8;
$347 = $346&255;
$348 = HEAP32[$$pre$phiZ2D>>2]|0;
$349 = (($348) + 1)|0;
HEAP32[$$pre$phiZ2D>>2] = $349;
$350 = HEAP32[$$pre$phi117Z2D>>2]|0;
$351 = (($350) + ($348)|0);
HEAP8[$351>>0] = $347;
$352 = HEAP32[$179>>2]|0;
$353 = (16 - ($352))|0;
$354 = $334 >>> $353;
$355 = $354&65535;
HEAP16[$213>>1] = $355;
$356 = (($352) + -13)|0;
$392 = $354;$storemerge117$i = $356;
} else {
$357 = (($327) + 3)|0;
$392 = $338;$storemerge117$i = $357;
}
HEAP32[$179>>2] = $storemerge117$i;
$358 = (($$0118$i) + 1)|0;
$exitcond$i = ($$0118$i|0)==($$093|0);
if ($exitcond$i) {
break;
} else {
$$0118$i = $358;$327 = $storemerge117$i;$337 = $392;
}
}
$359 = ((($0)) + 148|0);
_send_tree($0,$359,$239);
$360 = ((($0)) + 2440|0);
_send_tree($0,$360,$241);
_compress_block($0,$359,$360);
}
} while(0);
_init_block($0);
$361 = ($3|0)==(0);
if ($361) {
return;
}
$362 = ((($0)) + 5820|0);
$363 = HEAP32[$362>>2]|0;
$364 = ($363|0)>(8);
if ($364) {
$365 = ((($0)) + 5816|0);
$366 = HEAP16[$365>>1]|0;
$367 = $366&255;
$368 = ((($0)) + 20|0);
$369 = HEAP32[$368>>2]|0;
$370 = (($369) + 1)|0;
HEAP32[$368>>2] = $370;
$371 = ((($0)) + 8|0);
$372 = HEAP32[$371>>2]|0;
$373 = (($372) + ($369)|0);
HEAP8[$373>>0] = $367;
$374 = HEAP16[$365>>1]|0;
$375 = ($374&65535) >>> 8;
$376 = $375&255;
$377 = HEAP32[$368>>2]|0;
$378 = (($377) + 1)|0;
HEAP32[$368>>2] = $378;
$379 = HEAP32[$371>>2]|0;
$380 = (($379) + ($377)|0);
HEAP8[$380>>0] = $376;
$$pre$phi$iZ2D = $365;
} else {
$381 = ($363|0)>(0);
$382 = ((($0)) + 5816|0);
if ($381) {
$383 = HEAP16[$382>>1]|0;
$384 = $383&255;
$385 = ((($0)) + 20|0);
$386 = HEAP32[$385>>2]|0;
$387 = (($386) + 1)|0;
HEAP32[$385>>2] = $387;
$388 = ((($0)) + 8|0);
$389 = HEAP32[$388>>2]|0;
$390 = (($389) + ($386)|0);
HEAP8[$390>>0] = $384;
$$pre$phi$iZ2D = $382;
} else {
$$pre$phi$iZ2D = $382;
}
}
HEAP16[$$pre$phi$iZ2D>>1] = 0;
HEAP32[$362>>2] = 0;
return;
}
function _build_tree($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$ = 0, $$$2 = 0, $$$2$us = 0, $$$i = 0, $$$us = 0, $$$us$i = 0, $$0 = 0, $$0$$i = 0, $$0$$us$i = 0, $$0$i = 0, $$0$i$i = 0, $$0$i111 = 0, $$0$i119 = 0, $$0$lcssa$i = 0, $$0108$i = 0, $$0108$us$i = 0, $$010810$i = 0, $$010812$i = 0, $$010812$us$i = 0, $$011$i = 0;
var $$011$us$i = 0, $$0111$i = 0, $$0111$us$i = 0, $$0115$ph$i131 = 0, $$02329$i = 0, $$02426$i = 0, $$02528$i = 0, $$052$lcssa$i = 0, $$052$lcssa$i112 = 0, $$052$lcssa$i120 = 0, $$05254$i = 0, $$05254$i109 = 0, $$05254$i117 = 0, $$053$i = 0, $$055$i = 0, $$055$i108 = 0, $$055$i116 = 0, $$07$i$i = 0, $$08$i$i = 0, $$097$lcssa152 = 0;
var $$097138 = 0, $$098137 = 0, $$1 = 0, $$1$i = 0, $$1$i110 = 0, $$1$i118 = 0, $$100 = 0, $$11099$i = 0, $$199133 = 0, $$2$i = 0, $$2$lcssa = 0, $$2110$i = 0, $$2110$ph$i$lcssa = 0, $$2110$ph$i132 = 0, $$2114$i = 0, $$2114$in$i = 0, $$2134 = 0, $$2134$us = 0, $$37$i = 0, $$idx$val = 0;
var $$idx101$val = 0, $$idx102$val = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $$pre149 = 0, $$pre150$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0;
var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0;
var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0;
var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0;
var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0;
var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0;
var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0;
var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0;
var $328 = 0, $329 = 0, $33 = 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, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0;
var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0;
var $exitcond$i = 0, $exitcond$i104 = 0, $exitcond21$i = 0, $exitcond30$i = 0, $scevgep$i = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$2 = sp;
$3 = HEAP32[$1>>2]|0;
$4 = ((($1)) + 8|0);
$5 = HEAP32[$4>>2]|0;
$6 = HEAP32[$5>>2]|0;
$7 = ((($5)) + 12|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 5200|0);
HEAP32[$9>>2] = 0;
$10 = ((($0)) + 5204|0);
HEAP32[$10>>2] = 573;
$11 = ($8|0)>(0);
if ($11) {
$$097138 = -1;$$098137 = 0;
while(1) {
$27 = (($3) + ($$098137<<2)|0);
$28 = HEAP16[$27>>1]|0;
$29 = ($28<<16>>16)==(0);
if ($29) {
$34 = (((($3) + ($$098137<<2)|0)) + 2|0);
HEAP16[$34>>1] = 0;
$$1 = $$097138;
} else {
$30 = HEAP32[$9>>2]|0;
$31 = (($30) + 1)|0;
HEAP32[$9>>2] = $31;
$32 = (((($0)) + 2908|0) + ($31<<2)|0);
HEAP32[$32>>2] = $$098137;
$33 = (((($0)) + 5208|0) + ($$098137)|0);
HEAP8[$33>>0] = 0;
$$1 = $$098137;
}
$35 = (($$098137) + 1)|0;
$exitcond = ($35|0)==($8|0);
if ($exitcond) {
break;
} else {
$$097138 = $$1;$$098137 = $35;
}
}
$$pre = HEAP32[$9>>2]|0;
$12 = ($$pre|0)<(2);
if ($12) {
$$097$lcssa152 = $$1;$353 = $$pre;
label = 3;
} else {
$$2$lcssa = $$1;$54 = $$pre;
}
} else {
$$097$lcssa152 = -1;$353 = 0;
label = 3;
}
if ((label|0) == 3) {
$13 = ((($0)) + 5800|0);
$14 = ($6|0)==(0|0);
$15 = ((($0)) + 5804|0);
if ($14) {
$$2134$us = $$097$lcssa152;$19 = $353;
while(1) {
$16 = ($$2134$us|0)<(2);
$17 = (($$2134$us) + 1)|0;
$$$2$us = $16 ? $17 : $$2134$us;
$$$us = $16 ? $17 : 0;
$18 = (($19) + 1)|0;
HEAP32[$9>>2] = $18;
$20 = (((($0)) + 2908|0) + ($18<<2)|0);
HEAP32[$20>>2] = $$$us;
$21 = (($3) + ($$$us<<2)|0);
HEAP16[$21>>1] = 1;
$22 = (((($0)) + 5208|0) + ($$$us)|0);
HEAP8[$22>>0] = 0;
$23 = HEAP32[$13>>2]|0;
$24 = (($23) + -1)|0;
HEAP32[$13>>2] = $24;
$25 = HEAP32[$9>>2]|0;
$26 = ($25|0)<(2);
if ($26) {
$$2134$us = $$$2$us;$19 = $25;
} else {
$$2$lcssa = $$$2$us;$54 = $25;
break;
}
}
} else {
$$2134 = $$097$lcssa152;$39 = $353;
while(1) {
$36 = ($$2134|0)<(2);
$37 = (($$2134) + 1)|0;
$$$2 = $36 ? $37 : $$2134;
$$ = $36 ? $37 : 0;
$38 = (($39) + 1)|0;
HEAP32[$9>>2] = $38;
$40 = (((($0)) + 2908|0) + ($38<<2)|0);
HEAP32[$40>>2] = $$;
$41 = (($3) + ($$<<2)|0);
HEAP16[$41>>1] = 1;
$42 = (((($0)) + 5208|0) + ($$)|0);
HEAP8[$42>>0] = 0;
$43 = HEAP32[$13>>2]|0;
$44 = (($43) + -1)|0;
HEAP32[$13>>2] = $44;
$45 = (((($6) + ($$<<2)|0)) + 2|0);
$46 = HEAP16[$45>>1]|0;
$47 = $46&65535;
$48 = HEAP32[$15>>2]|0;
$49 = (($48) - ($47))|0;
HEAP32[$15>>2] = $49;
$50 = HEAP32[$9>>2]|0;
$51 = ($50|0)<(2);
if ($51) {
$$2134 = $$$2;$39 = $50;
} else {
$$2$lcssa = $$$2;$54 = $50;
break;
}
}
}
}
$52 = ((($1)) + 4|0);
HEAP32[$52>>2] = $$2$lcssa;
$53 = (($54|0) / 2)&-1;
$$199133 = $53;$60 = $54;
while(1) {
$56 = (((($0)) + 2908|0) + ($$199133<<2)|0);
$57 = HEAP32[$56>>2]|0;
$58 = (((($0)) + 5208|0) + ($57)|0);
$$053$i = $$199133 << 1;
$59 = ($$053$i|0)>($60|0);
L19: do {
if ($59) {
$$052$lcssa$i = $$199133;
} else {
$61 = (($3) + ($57<<2)|0);
$$05254$i = $$199133;$$055$i = $$053$i;$63 = $60;
while(1) {
$62 = ($$055$i|0)<($63|0);
do {
if ($62) {
$64 = $$055$i | 1;
$65 = (((($0)) + 2908|0) + ($64<<2)|0);
$66 = HEAP32[$65>>2]|0;
$67 = (($3) + ($66<<2)|0);
$68 = HEAP16[$67>>1]|0;
$69 = (((($0)) + 2908|0) + ($$055$i<<2)|0);
$70 = HEAP32[$69>>2]|0;
$71 = (($3) + ($70<<2)|0);
$72 = HEAP16[$71>>1]|0;
$73 = ($68&65535)<($72&65535);
if (!($73)) {
$74 = ($68<<16>>16)==($72<<16>>16);
if (!($74)) {
$$1$i = $$055$i;
break;
}
$75 = (((($0)) + 5208|0) + ($66)|0);
$76 = HEAP8[$75>>0]|0;
$77 = (((($0)) + 5208|0) + ($70)|0);
$78 = HEAP8[$77>>0]|0;
$79 = ($76&255)>($78&255);
if ($79) {
$$1$i = $$055$i;
break;
}
}
$$1$i = $64;
} else {
$$1$i = $$055$i;
}
} while(0);
$80 = HEAP16[$61>>1]|0;
$81 = (((($0)) + 2908|0) + ($$1$i<<2)|0);
$82 = HEAP32[$81>>2]|0;
$83 = (($3) + ($82<<2)|0);
$84 = HEAP16[$83>>1]|0;
$85 = ($80&65535)<($84&65535);
if ($85) {
$$052$lcssa$i = $$05254$i;
break L19;
}
$86 = ($80<<16>>16)==($84<<16>>16);
if ($86) {
$87 = HEAP8[$58>>0]|0;
$88 = (((($0)) + 5208|0) + ($82)|0);
$89 = HEAP8[$88>>0]|0;
$90 = ($87&255)>($89&255);
if (!($90)) {
$$052$lcssa$i = $$05254$i;
break L19;
}
}
$91 = (((($0)) + 2908|0) + ($$05254$i<<2)|0);
HEAP32[$91>>2] = $82;
$$0$i = $$1$i << 1;
$92 = HEAP32[$9>>2]|0;
$93 = ($$0$i|0)>($92|0);
if ($93) {
$$052$lcssa$i = $$1$i;
break;
} else {
$$05254$i = $$1$i;$$055$i = $$0$i;$63 = $92;
}
}
}
} while(0);
$94 = (((($0)) + 2908|0) + ($$052$lcssa$i<<2)|0);
HEAP32[$94>>2] = $57;
$95 = ($$199133|0)>(1);
if (!($95)) {
break;
}
$96 = (($$199133) + -1)|0;
$$pre149 = HEAP32[$9>>2]|0;
$$199133 = $96;$60 = $$pre149;
}
$$pre150$pre = HEAP32[$9>>2]|0;
$55 = ((($0)) + 2912|0);
$$0 = $8;$99 = $$pre150$pre;
while(1) {
$97 = HEAP32[$55>>2]|0;
$98 = (($99) + -1)|0;
HEAP32[$9>>2] = $98;
$100 = (((($0)) + 2908|0) + ($99<<2)|0);
$101 = HEAP32[$100>>2]|0;
HEAP32[$55>>2] = $101;
$102 = (((($0)) + 5208|0) + ($101)|0);
$103 = ($99|0)<(3);
L39: do {
if ($103) {
$$052$lcssa$i120 = 1;
} else {
$104 = (($3) + ($101<<2)|0);
$$05254$i117 = 1;$$055$i116 = 2;$106 = $98;
while(1) {
$105 = ($$055$i116|0)<($106|0);
do {
if ($105) {
$107 = $$055$i116 | 1;
$108 = (((($0)) + 2908|0) + ($107<<2)|0);
$109 = HEAP32[$108>>2]|0;
$110 = (($3) + ($109<<2)|0);
$111 = HEAP16[$110>>1]|0;
$112 = (((($0)) + 2908|0) + ($$055$i116<<2)|0);
$113 = HEAP32[$112>>2]|0;
$114 = (($3) + ($113<<2)|0);
$115 = HEAP16[$114>>1]|0;
$116 = ($111&65535)<($115&65535);
if (!($116)) {
$117 = ($111<<16>>16)==($115<<16>>16);
if (!($117)) {
$$1$i118 = $$055$i116;
break;
}
$118 = (((($0)) + 5208|0) + ($109)|0);
$119 = HEAP8[$118>>0]|0;
$120 = (((($0)) + 5208|0) + ($113)|0);
$121 = HEAP8[$120>>0]|0;
$122 = ($119&255)>($121&255);
if ($122) {
$$1$i118 = $$055$i116;
break;
}
}
$$1$i118 = $107;
} else {
$$1$i118 = $$055$i116;
}
} while(0);
$123 = HEAP16[$104>>1]|0;
$124 = (((($0)) + 2908|0) + ($$1$i118<<2)|0);
$125 = HEAP32[$124>>2]|0;
$126 = (($3) + ($125<<2)|0);
$127 = HEAP16[$126>>1]|0;
$128 = ($123&65535)<($127&65535);
if ($128) {
$$052$lcssa$i120 = $$05254$i117;
break L39;
}
$129 = ($123<<16>>16)==($127<<16>>16);
if ($129) {
$130 = HEAP8[$102>>0]|0;
$131 = (((($0)) + 5208|0) + ($125)|0);
$132 = HEAP8[$131>>0]|0;
$133 = ($130&255)>($132&255);
if (!($133)) {
$$052$lcssa$i120 = $$05254$i117;
break L39;
}
}
$134 = (((($0)) + 2908|0) + ($$05254$i117<<2)|0);
HEAP32[$134>>2] = $125;
$$0$i119 = $$1$i118 << 1;
$135 = HEAP32[$9>>2]|0;
$136 = ($$0$i119|0)>($135|0);
if ($136) {
$$052$lcssa$i120 = $$1$i118;
break;
} else {
$$05254$i117 = $$1$i118;$$055$i116 = $$0$i119;$106 = $135;
}
}
}
} while(0);
$137 = (((($0)) + 2908|0) + ($$052$lcssa$i120<<2)|0);
HEAP32[$137>>2] = $101;
$138 = HEAP32[$55>>2]|0;
$139 = HEAP32[$10>>2]|0;
$140 = (($139) + -1)|0;
HEAP32[$10>>2] = $140;
$141 = (((($0)) + 2908|0) + ($140<<2)|0);
HEAP32[$141>>2] = $97;
$142 = HEAP32[$10>>2]|0;
$143 = (($142) + -1)|0;
HEAP32[$10>>2] = $143;
$144 = (((($0)) + 2908|0) + ($143<<2)|0);
HEAP32[$144>>2] = $138;
$145 = (($3) + ($97<<2)|0);
$146 = HEAP16[$145>>1]|0;
$147 = $146&65535;
$148 = (($3) + ($138<<2)|0);
$149 = HEAP16[$148>>1]|0;
$150 = $149&65535;
$151 = (($150) + ($147))|0;
$152 = $151&65535;
$153 = (($3) + ($$0<<2)|0);
HEAP16[$153>>1] = $152;
$154 = (((($0)) + 5208|0) + ($97)|0);
$155 = HEAP8[$154>>0]|0;
$156 = (((($0)) + 5208|0) + ($138)|0);
$157 = HEAP8[$156>>0]|0;
$158 = ($155&255)<($157&255);
$$100 = $158 ? $157 : $155;
$159 = $$100&255;
$160 = (($159) + 1)|0;
$161 = $160&255;
$162 = (((($0)) + 5208|0) + ($$0)|0);
HEAP8[$162>>0] = $161;
$163 = $$0&65535;
$164 = (((($3) + ($138<<2)|0)) + 2|0);
HEAP16[$164>>1] = $163;
$165 = (((($3) + ($97<<2)|0)) + 2|0);
HEAP16[$165>>1] = $163;
$166 = (($$0) + 1)|0;
HEAP32[$55>>2] = $$0;
$167 = HEAP32[$9>>2]|0;
$168 = ($167|0)<(2);
L55: do {
if ($168) {
$$052$lcssa$i112 = 1;
} else {
$$05254$i109 = 1;$$055$i108 = 2;$170 = $167;
while(1) {
$169 = ($$055$i108|0)<($170|0);
do {
if ($169) {
$171 = $$055$i108 | 1;
$172 = (((($0)) + 2908|0) + ($171<<2)|0);
$173 = HEAP32[$172>>2]|0;
$174 = (($3) + ($173<<2)|0);
$175 = HEAP16[$174>>1]|0;
$176 = (((($0)) + 2908|0) + ($$055$i108<<2)|0);
$177 = HEAP32[$176>>2]|0;
$178 = (($3) + ($177<<2)|0);
$179 = HEAP16[$178>>1]|0;
$180 = ($175&65535)<($179&65535);
if (!($180)) {
$181 = ($175<<16>>16)==($179<<16>>16);
if (!($181)) {
$$1$i110 = $$055$i108;
break;
}
$182 = (((($0)) + 5208|0) + ($173)|0);
$183 = HEAP8[$182>>0]|0;
$184 = (((($0)) + 5208|0) + ($177)|0);
$185 = HEAP8[$184>>0]|0;
$186 = ($183&255)>($185&255);
if ($186) {
$$1$i110 = $$055$i108;
break;
}
}
$$1$i110 = $171;
} else {
$$1$i110 = $$055$i108;
}
} while(0);
$187 = HEAP16[$153>>1]|0;
$188 = (((($0)) + 2908|0) + ($$1$i110<<2)|0);
$189 = HEAP32[$188>>2]|0;
$190 = (($3) + ($189<<2)|0);
$191 = HEAP16[$190>>1]|0;
$192 = ($187&65535)<($191&65535);
if ($192) {
$$052$lcssa$i112 = $$05254$i109;
break L55;
}
$193 = ($187<<16>>16)==($191<<16>>16);
if ($193) {
$194 = HEAP8[$162>>0]|0;
$195 = (((($0)) + 5208|0) + ($189)|0);
$196 = HEAP8[$195>>0]|0;
$197 = ($194&255)>($196&255);
if (!($197)) {
$$052$lcssa$i112 = $$05254$i109;
break L55;
}
}
$198 = (((($0)) + 2908|0) + ($$05254$i109<<2)|0);
HEAP32[$198>>2] = $189;
$$0$i111 = $$1$i110 << 1;
$199 = HEAP32[$9>>2]|0;
$200 = ($$0$i111|0)>($199|0);
if ($200) {
$$052$lcssa$i112 = $$1$i110;
break;
} else {
$$05254$i109 = $$1$i110;$$055$i108 = $$0$i111;$170 = $199;
}
}
}
} while(0);
$201 = (((($0)) + 2908|0) + ($$052$lcssa$i112<<2)|0);
HEAP32[$201>>2] = $$0;
$202 = HEAP32[$9>>2]|0;
$203 = ($202|0)>(1);
if ($203) {
$$0 = $166;$99 = $202;
} else {
break;
}
}
$204 = HEAP32[$55>>2]|0;
$205 = HEAP32[$10>>2]|0;
$206 = (($205) + -1)|0;
HEAP32[$10>>2] = $206;
$207 = (((($0)) + 2908|0) + ($206<<2)|0);
HEAP32[$207>>2] = $204;
$$idx$val = HEAP32[$1>>2]|0;
$$idx101$val = HEAP32[$52>>2]|0;
$$idx102$val = HEAP32[$4>>2]|0;
$208 = HEAP32[$$idx102$val>>2]|0;
$209 = ((($$idx102$val)) + 4|0);
$210 = HEAP32[$209>>2]|0;
$211 = ((($$idx102$val)) + 8|0);
$212 = HEAP32[$211>>2]|0;
$213 = ((($$idx102$val)) + 16|0);
$214 = HEAP32[$213>>2]|0;
$scevgep$i = ((($0)) + 2876|0);
dest=$scevgep$i; stop=dest+32|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0));
$215 = HEAP32[$10>>2]|0;
$216 = (((($0)) + 2908|0) + ($215<<2)|0);
$217 = HEAP32[$216>>2]|0;
$218 = (((($$idx$val) + ($217<<2)|0)) + 2|0);
HEAP16[$218>>1] = 0;
$$010810$i = (($215) + 1)|0;
$219 = ($$010810$i|0)<(573);
L71: do {
if ($219) {
$220 = ((($0)) + 5800|0);
$221 = ($208|0)==(0|0);
$222 = ((($0)) + 5804|0);
if ($221) {
$$010812$us$i = $$010810$i;$$011$us$i = 0;
while(1) {
$223 = (((($0)) + 2908|0) + ($$010812$us$i<<2)|0);
$224 = HEAP32[$223>>2]|0;
$225 = (((($$idx$val) + ($224<<2)|0)) + 2|0);
$226 = HEAP16[$225>>1]|0;
$227 = $226&65535;
$228 = (((($$idx$val) + ($227<<2)|0)) + 2|0);
$229 = HEAP16[$228>>1]|0;
$230 = $229&65535;
$231 = (($230) + 1)|0;
$232 = ($230|0)<($214|0);
$$$us$i = $232 ? $231 : $214;
$233 = $232&1;
$234 = $233 ^ 1;
$$0$$us$i = (($234) + ($$011$us$i))|0;
$235 = $$$us$i&65535;
HEAP16[$225>>1] = $235;
$236 = ($224|0)>($$idx101$val|0);
if (!($236)) {
$237 = (((($0)) + 2876|0) + ($$$us$i<<1)|0);
$238 = HEAP16[$237>>1]|0;
$239 = (($238) + 1)<<16>>16;
HEAP16[$237>>1] = $239;
$240 = ($224|0)<($212|0);
if ($240) {
$$0111$us$i = 0;
} else {
$241 = (($224) - ($212))|0;
$242 = (($210) + ($241<<2)|0);
$243 = HEAP32[$242>>2]|0;
$$0111$us$i = $243;
}
$244 = (($$idx$val) + ($224<<2)|0);
$245 = HEAP16[$244>>1]|0;
$246 = $245&65535;
$247 = (($$0111$us$i) + ($$$us$i))|0;
$248 = Math_imul($246, $247)|0;
$249 = HEAP32[$220>>2]|0;
$250 = (($248) + ($249))|0;
HEAP32[$220>>2] = $250;
}
$$0108$us$i = (($$010812$us$i) + 1)|0;
$exitcond$i104 = ($$0108$us$i|0)==(573);
if ($exitcond$i104) {
$$0$lcssa$i = $$0$$us$i;
break;
} else {
$$010812$us$i = $$0108$us$i;$$011$us$i = $$0$$us$i;
}
}
} else {
$$010812$i = $$010810$i;$$011$i = 0;
while(1) {
$251 = (((($0)) + 2908|0) + ($$010812$i<<2)|0);
$252 = HEAP32[$251>>2]|0;
$253 = (((($$idx$val) + ($252<<2)|0)) + 2|0);
$254 = HEAP16[$253>>1]|0;
$255 = $254&65535;
$256 = (((($$idx$val) + ($255<<2)|0)) + 2|0);
$257 = HEAP16[$256>>1]|0;
$258 = $257&65535;
$259 = (($258) + 1)|0;
$260 = ($258|0)<($214|0);
$$$i = $260 ? $259 : $214;
$261 = $260&1;
$262 = $261 ^ 1;
$$0$$i = (($262) + ($$011$i))|0;
$263 = $$$i&65535;
HEAP16[$253>>1] = $263;
$264 = ($252|0)>($$idx101$val|0);
if (!($264)) {
$265 = (((($0)) + 2876|0) + ($$$i<<1)|0);
$266 = HEAP16[$265>>1]|0;
$267 = (($266) + 1)<<16>>16;
HEAP16[$265>>1] = $267;
$268 = ($252|0)<($212|0);
if ($268) {
$$0111$i = 0;
} else {
$269 = (($252) - ($212))|0;
$270 = (($210) + ($269<<2)|0);
$271 = HEAP32[$270>>2]|0;
$$0111$i = $271;
}
$272 = (($$idx$val) + ($252<<2)|0);
$273 = HEAP16[$272>>1]|0;
$274 = $273&65535;
$275 = (($$0111$i) + ($$$i))|0;
$276 = Math_imul($274, $275)|0;
$277 = HEAP32[$220>>2]|0;
$278 = (($276) + ($277))|0;
HEAP32[$220>>2] = $278;
$279 = (((($208) + ($252<<2)|0)) + 2|0);
$280 = HEAP16[$279>>1]|0;
$281 = $280&65535;
$282 = (($281) + ($$0111$i))|0;
$283 = Math_imul($282, $274)|0;
$284 = HEAP32[$222>>2]|0;
$285 = (($283) + ($284))|0;
HEAP32[$222>>2] = $285;
}
$$0108$i = (($$010812$i) + 1)|0;
$exitcond21$i = ($$0108$i|0)==(573);
if ($exitcond21$i) {
$$0$lcssa$i = $$0$$i;
break;
} else {
$$010812$i = $$0108$i;$$011$i = $$0$$i;
}
}
}
$286 = ($$0$lcssa$i|0)==(0);
if (!($286)) {
$287 = (((($0)) + 2876|0) + ($214<<1)|0);
$$2$i = $$0$lcssa$i;
while(1) {
$$2114$in$i = $214;
while(1) {
$$2114$i = (($$2114$in$i) + -1)|0;
$288 = (((($0)) + 2876|0) + ($$2114$i<<1)|0);
$289 = HEAP16[$288>>1]|0;
$290 = ($289<<16>>16)==(0);
if ($290) {
$$2114$in$i = $$2114$i;
} else {
break;
}
}
$291 = (($289) + -1)<<16>>16;
HEAP16[$288>>1] = $291;
$292 = (((($0)) + 2876|0) + ($$2114$in$i<<1)|0);
$293 = HEAP16[$292>>1]|0;
$294 = $293&65535;
$295 = (($294) + 2)|0;
$296 = $295&65535;
HEAP16[$292>>1] = $296;
$297 = HEAP16[$287>>1]|0;
$298 = (($297) + -1)<<16>>16;
HEAP16[$287>>1] = $298;
$299 = (($$2$i) + -2)|0;
$300 = ($$2$i|0)>(2);
if ($300) {
$$2$i = $299;
} else {
break;
}
}
$301 = ($214|0)==(0);
if (!($301)) {
$$11099$i = 573;$$37$i = $214;$303 = $298;
while(1) {
$302 = $$37$i&65535;
$304 = ($303<<16>>16)==(0);
if ($304) {
$$2110$ph$i$lcssa = $$11099$i;
} else {
$305 = $303&65535;
$$0115$ph$i131 = $305;$$2110$ph$i132 = $$11099$i;
while(1) {
$$2110$i = $$2110$ph$i132;
while(1) {
$306 = (($$2110$i) + -1)|0;
$307 = (((($0)) + 2908|0) + ($306<<2)|0);
$308 = HEAP32[$307>>2]|0;
$309 = ($308|0)>($$idx101$val|0);
if ($309) {
$$2110$i = $306;
} else {
break;
}
}
$310 = (((($$idx$val) + ($308<<2)|0)) + 2|0);
$311 = HEAP16[$310>>1]|0;
$312 = $311&65535;
$313 = ($$37$i|0)==($312|0);
if (!($313)) {
$314 = (($$37$i) - ($312))|0;
$315 = (($$idx$val) + ($308<<2)|0);
$316 = HEAP16[$315>>1]|0;
$317 = $316&65535;
$318 = Math_imul($317, $314)|0;
$319 = HEAP32[$220>>2]|0;
$320 = (($318) + ($319))|0;
HEAP32[$220>>2] = $320;
HEAP16[$310>>1] = $302;
}
$321 = (($$0115$ph$i131) + -1)|0;
$322 = ($321|0)==(0);
if ($322) {
$$2110$ph$i$lcssa = $306;
break;
} else {
$$0115$ph$i131 = $321;$$2110$ph$i132 = $306;
}
}
}
$323 = (($$37$i) + -1)|0;
$324 = ($323|0)==(0);
if ($324) {
break L71;
}
$$phi$trans$insert$i = (((($0)) + 2876|0) + ($323<<1)|0);
$$pre$i = HEAP16[$$phi$trans$insert$i>>1]|0;
$$11099$i = $$2110$ph$i$lcssa;$$37$i = $323;$303 = $$pre$i;
}
}
}
}
} while(0);
$$02329$i = 0;$$02528$i = 1;
while(1) {
$326 = $$02329$i & 65534;
$327 = (($$02528$i) + -1)|0;
$328 = (((($0)) + 2876|0) + ($327<<1)|0);
$329 = HEAP16[$328>>1]|0;
$330 = $329&65535;
$331 = (($330) + ($326))|0;
$332 = $331 << 1;
$333 = $332&65535;
$334 = (($2) + ($$02528$i<<1)|0);
HEAP16[$334>>1] = $333;
$335 = (($$02528$i) + 1)|0;
$exitcond30$i = ($335|0)==(16);
if ($exitcond30$i) {
break;
} else {
$$02329$i = $332;$$02528$i = $335;
}
}
$325 = ($$2$lcssa|0)<(0);
if ($325) {
STACKTOP = sp;return;
} else {
$$02426$i = 0;
}
while(1) {
$336 = (((($3) + ($$02426$i<<2)|0)) + 2|0);
$337 = HEAP16[$336>>1]|0;
$338 = $337&65535;
$339 = ($337<<16>>16)==(0);
if (!($339)) {
$340 = (($2) + ($338<<1)|0);
$341 = HEAP16[$340>>1]|0;
$342 = (($341) + 1)<<16>>16;
HEAP16[$340>>1] = $342;
$343 = $341&65535;
$$0$i$i = 0;$$07$i$i = $338;$$08$i$i = $343;
while(1) {
$344 = $$08$i$i & 1;
$345 = $$0$i$i | $344;
$346 = $$08$i$i >>> 1;
$347 = $345 << 1;
$348 = (($$07$i$i) + -1)|0;
$349 = ($$07$i$i|0)>(1);
if ($349) {
$$0$i$i = $347;$$07$i$i = $348;$$08$i$i = $346;
} else {
break;
}
}
$350 = $345&65535;
$351 = (($3) + ($$02426$i<<2)|0);
HEAP16[$351>>1] = $350;
}
$352 = (($$02426$i) + 1)|0;
$exitcond$i = ($$02426$i|0)==($$2$lcssa|0);
if ($exitcond$i) {
break;
} else {
$$02426$i = $352;
}
}
STACKTOP = sp;return;
}
function _compress_block($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert204 = 0, $$pn = 0, $$pre = 0, $$pre$phi206Z2D = 0, $$pre$phiZ2D = 0, $$pre205 = 0, $$sink = 0, $$sink$in = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $storemerge = 0, $storemerge201 = 0, $storemerge202 = 0, $storemerge203 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 5792|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0);
if ($5) {
$$phi$trans$insert = ((($0)) + 5820|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$$phi$trans$insert204 = ((($0)) + 5816|0);
$$pre205 = HEAP16[$$phi$trans$insert204>>1]|0;
$$pre$phi206Z2D = $$phi$trans$insert204;$$pre$phiZ2D = $$phi$trans$insert;$207 = $$pre;$214 = $$pre205;
} else {
$6 = ((($0)) + 5796|0);
$7 = ((($0)) + 5784|0);
$8 = ((($0)) + 5820|0);
$9 = ((($0)) + 5816|0);
$10 = ((($0)) + 20|0);
$11 = ((($0)) + 8|0);
$$0 = 0;
while(1) {
$12 = HEAP32[$6>>2]|0;
$13 = (($12) + ($$0<<1)|0);
$14 = HEAP16[$13>>1]|0;
$15 = $14&65535;
$16 = (($$0) + 1)|0;
$17 = HEAP32[$7>>2]|0;
$18 = (($17) + ($$0)|0);
$19 = HEAP8[$18>>0]|0;
$20 = $19&255;
$21 = ($14<<16>>16)==(0);
if ($21) {
$22 = (((($1) + ($20<<2)|0)) + 2|0);
$23 = HEAP16[$22>>1]|0;
$24 = $23&65535;
$25 = HEAP32[$8>>2]|0;
$26 = (16 - ($24))|0;
$27 = ($25|0)>($26|0);
$28 = (($1) + ($20<<2)|0);
$29 = HEAP16[$28>>1]|0;
$30 = $29&65535;
$31 = $30 << $25;
$32 = HEAP16[$9>>1]|0;
$33 = $32&65535;
$34 = $33 | $31;
$35 = $34&65535;
HEAP16[$9>>1] = $35;
if ($27) {
$36 = $34&255;
$37 = HEAP32[$10>>2]|0;
$38 = (($37) + 1)|0;
HEAP32[$10>>2] = $38;
$39 = HEAP32[$11>>2]|0;
$40 = (($39) + ($37)|0);
HEAP8[$40>>0] = $36;
$41 = HEAP16[$9>>1]|0;
$42 = ($41&65535) >>> 8;
$43 = $42&255;
$44 = HEAP32[$10>>2]|0;
$45 = (($44) + 1)|0;
HEAP32[$10>>2] = $45;
$46 = HEAP32[$11>>2]|0;
$47 = (($46) + ($44)|0);
HEAP8[$47>>0] = $43;
$48 = HEAP32[$8>>2]|0;
$49 = (16 - ($48))|0;
$50 = $30 >>> $49;
$51 = $50&65535;
HEAP16[$9>>1] = $51;
$52 = (($24) + -16)|0;
$53 = (($52) + ($48))|0;
$238 = $51;$storemerge203 = $53;
} else {
$54 = (($25) + ($24))|0;
$238 = $35;$storemerge203 = $54;
}
HEAP32[$8>>2] = $storemerge203;
$239 = $238;$240 = $storemerge203;
} else {
$55 = (28079 + ($20)|0);
$56 = HEAP8[$55>>0]|0;
$57 = $56&255;
$58 = $57 | 256;
$59 = (($58) + 1)|0;
$60 = (((($1) + ($59<<2)|0)) + 2|0);
$61 = HEAP16[$60>>1]|0;
$62 = $61&65535;
$63 = HEAP32[$8>>2]|0;
$64 = (16 - ($62))|0;
$65 = ($63|0)>($64|0);
$66 = (($1) + ($59<<2)|0);
$67 = HEAP16[$66>>1]|0;
$68 = $67&65535;
$69 = $68 << $63;
$70 = HEAP16[$9>>1]|0;
$71 = $70&65535;
$72 = $71 | $69;
$73 = $72&65535;
HEAP16[$9>>1] = $73;
if ($65) {
$74 = $72&255;
$75 = HEAP32[$10>>2]|0;
$76 = (($75) + 1)|0;
HEAP32[$10>>2] = $76;
$77 = HEAP32[$11>>2]|0;
$78 = (($77) + ($75)|0);
HEAP8[$78>>0] = $74;
$79 = HEAP16[$9>>1]|0;
$80 = ($79&65535) >>> 8;
$81 = $80&255;
$82 = HEAP32[$10>>2]|0;
$83 = (($82) + 1)|0;
HEAP32[$10>>2] = $83;
$84 = HEAP32[$11>>2]|0;
$85 = (($84) + ($82)|0);
HEAP8[$85>>0] = $81;
$86 = HEAP32[$8>>2]|0;
$87 = (16 - ($86))|0;
$88 = $68 >>> $87;
$89 = $88&65535;
HEAP16[$9>>1] = $89;
$90 = (($62) + -16)|0;
$91 = (($90) + ($86))|0;
$106 = $89;$93 = $91;
} else {
$92 = (($63) + ($62))|0;
$106 = $73;$93 = $92;
}
HEAP32[$8>>2] = $93;
$94 = (9584 + ($57<<2)|0);
$95 = HEAP32[$94>>2]|0;
$96 = (($57) + -8)|0;
$97 = ($96>>>0)<(20);
if ($97) {
$98 = (9700 + ($57<<2)|0);
$99 = HEAP32[$98>>2]|0;
$100 = (($20) - ($99))|0;
$101 = (16 - ($95))|0;
$102 = ($93|0)>($101|0);
$103 = $100 & 65535;
$104 = $103 << $93;
$105 = $106&65535;
$107 = $104 | $105;
$108 = $107&65535;
HEAP16[$9>>1] = $108;
if ($102) {
$109 = $107&255;
$110 = HEAP32[$10>>2]|0;
$111 = (($110) + 1)|0;
HEAP32[$10>>2] = $111;
$112 = HEAP32[$11>>2]|0;
$113 = (($112) + ($110)|0);
HEAP8[$113>>0] = $109;
$114 = HEAP16[$9>>1]|0;
$115 = ($114&65535) >>> 8;
$116 = $115&255;
$117 = HEAP32[$10>>2]|0;
$118 = (($117) + 1)|0;
HEAP32[$10>>2] = $118;
$119 = HEAP32[$11>>2]|0;
$120 = (($119) + ($117)|0);
HEAP8[$120>>0] = $116;
$121 = HEAP32[$8>>2]|0;
$122 = (16 - ($121))|0;
$123 = $103 >>> $122;
$124 = $123&65535;
HEAP16[$9>>1] = $124;
$125 = (($95) + -16)|0;
$126 = (($125) + ($121))|0;
$241 = $124;$storemerge202 = $126;
} else {
$127 = (($93) + ($95))|0;
$241 = $108;$storemerge202 = $127;
}
HEAP32[$8>>2] = $storemerge202;
$137 = $storemerge202;$144 = $241;
} else {
$137 = $93;$144 = $106;
}
$128 = (($15) + -1)|0;
$129 = ($128>>>0)<(256);
$130 = $128 >>> 7;
$131 = (($130) + 256)|0;
$$pn = $129 ? $128 : $131;
$$sink$in = (27567 + ($$pn)|0);
$$sink = HEAP8[$$sink$in>>0]|0;
$132 = $$sink&255;
$133 = (((($2) + ($132<<2)|0)) + 2|0);
$134 = HEAP16[$133>>1]|0;
$135 = $134&65535;
$136 = (16 - ($135))|0;
$138 = ($137|0)>($136|0);
$139 = (($2) + ($132<<2)|0);
$140 = HEAP16[$139>>1]|0;
$141 = $140&65535;
$142 = $141 << $137;
$143 = $144&65535;
$145 = $143 | $142;
$146 = $145&65535;
HEAP16[$9>>1] = $146;
if ($138) {
$147 = $145&255;
$148 = HEAP32[$10>>2]|0;
$149 = (($148) + 1)|0;
HEAP32[$10>>2] = $149;
$150 = HEAP32[$11>>2]|0;
$151 = (($150) + ($148)|0);
HEAP8[$151>>0] = $147;
$152 = HEAP16[$9>>1]|0;
$153 = ($152&65535) >>> 8;
$154 = $153&255;
$155 = HEAP32[$10>>2]|0;
$156 = (($155) + 1)|0;
HEAP32[$10>>2] = $156;
$157 = HEAP32[$11>>2]|0;
$158 = (($157) + ($155)|0);
HEAP8[$158>>0] = $154;
$159 = HEAP32[$8>>2]|0;
$160 = (16 - ($159))|0;
$161 = $141 >>> $160;
$162 = $161&65535;
HEAP16[$9>>1] = $162;
$163 = (($135) + -16)|0;
$164 = (($163) + ($159))|0;
$166 = $164;$179 = $162;
} else {
$165 = (($137) + ($135))|0;
$166 = $165;$179 = $146;
}
HEAP32[$8>>2] = $166;
$167 = (9464 + ($132<<2)|0);
$168 = HEAP32[$167>>2]|0;
$169 = (($132) + -4)|0;
$170 = ($169>>>0)<(26);
if ($170) {
$171 = (9816 + ($132<<2)|0);
$172 = HEAP32[$171>>2]|0;
$173 = (($128) - ($172))|0;
$174 = (16 - ($168))|0;
$175 = ($166|0)>($174|0);
$176 = $173 & 65535;
$177 = $176 << $166;
$178 = $179&65535;
$180 = $177 | $178;
$181 = $180&65535;
HEAP16[$9>>1] = $181;
if ($175) {
$182 = $180&255;
$183 = HEAP32[$10>>2]|0;
$184 = (($183) + 1)|0;
HEAP32[$10>>2] = $184;
$185 = HEAP32[$11>>2]|0;
$186 = (($185) + ($183)|0);
HEAP8[$186>>0] = $182;
$187 = HEAP16[$9>>1]|0;
$188 = ($187&65535) >>> 8;
$189 = $188&255;
$190 = HEAP32[$10>>2]|0;
$191 = (($190) + 1)|0;
HEAP32[$10>>2] = $191;
$192 = HEAP32[$11>>2]|0;
$193 = (($192) + ($190)|0);
HEAP8[$193>>0] = $189;
$194 = HEAP32[$8>>2]|0;
$195 = (16 - ($194))|0;
$196 = $176 >>> $195;
$197 = $196&65535;
HEAP16[$9>>1] = $197;
$198 = (($168) + -16)|0;
$199 = (($198) + ($194))|0;
$242 = $197;$storemerge201 = $199;
} else {
$200 = (($166) + ($168))|0;
$242 = $181;$storemerge201 = $200;
}
HEAP32[$8>>2] = $storemerge201;
$239 = $242;$240 = $storemerge201;
} else {
$239 = $179;$240 = $166;
}
}
$201 = HEAP32[$3>>2]|0;
$202 = ($16>>>0)<($201>>>0);
if ($202) {
$$0 = $16;
} else {
$$pre$phi206Z2D = $9;$$pre$phiZ2D = $8;$207 = $240;$214 = $239;
break;
}
}
}
$203 = ((($1)) + 1026|0);
$204 = HEAP16[$203>>1]|0;
$205 = $204&65535;
$206 = (16 - ($205))|0;
$208 = ($207|0)>($206|0);
$209 = ((($1)) + 1024|0);
$210 = HEAP16[$209>>1]|0;
$211 = $210&65535;
$212 = $211 << $207;
$213 = $214&65535;
$215 = $213 | $212;
$216 = $215&65535;
HEAP16[$$pre$phi206Z2D>>1] = $216;
if ($208) {
$217 = $215&255;
$218 = ((($0)) + 20|0);
$219 = HEAP32[$218>>2]|0;
$220 = (($219) + 1)|0;
HEAP32[$218>>2] = $220;
$221 = ((($0)) + 8|0);
$222 = HEAP32[$221>>2]|0;
$223 = (($222) + ($219)|0);
HEAP8[$223>>0] = $217;
$224 = HEAP16[$$pre$phi206Z2D>>1]|0;
$225 = ($224&65535) >>> 8;
$226 = $225&255;
$227 = HEAP32[$218>>2]|0;
$228 = (($227) + 1)|0;
HEAP32[$218>>2] = $228;
$229 = HEAP32[$221>>2]|0;
$230 = (($229) + ($227)|0);
HEAP8[$230>>0] = $226;
$231 = HEAP32[$$pre$phiZ2D>>2]|0;
$232 = (16 - ($231))|0;
$233 = $211 >>> $232;
$234 = $233&65535;
HEAP16[$$pre$phi206Z2D>>1] = $234;
$235 = (($205) + -16)|0;
$236 = (($235) + ($231))|0;
$storemerge = $236;
HEAP32[$$pre$phiZ2D>>2] = $storemerge;
return;
} else {
$237 = (($207) + ($205))|0;
$storemerge = $237;
HEAP32[$$pre$phiZ2D>>2] = $storemerge;
return;
}
}
function _send_tree($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$$273 = 0, $$$274 = 0, $$0 = 0, $$0$ph = 0, $$0255$ph = 0, $$0255$ph$phi = 0, $$0256$ph = 0, $$0257 = 0, $$1258 = 0, $$1260$ph = 0, $$1263$ph = 0, $$2 = 0, $$272 = 0, $$274 = 0, $$pre = 0, $$pre287 = 0, $$pre288 = 0, $$pre289 = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0;
var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0;
var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0;
var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0;
var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0;
var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0;
var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0;
var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0;
var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0;
var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $storemerge265 = 0, $storemerge267 = 0, $storemerge269 = 0, $storemerge270 = 0, $storemerge271 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($1)) + 2|0);
$4 = HEAP16[$3>>1]|0;
$5 = $4&65535;
$6 = ($4<<16>>16)==(0);
$$ = $6 ? 3 : 4;
$$272 = $6 ? 138 : 7;
$7 = ((($0)) + 2754|0);
$8 = ((($0)) + 5820|0);
$9 = ((($0)) + 2752|0);
$10 = ((($0)) + 5816|0);
$11 = ((($0)) + 20|0);
$12 = ((($0)) + 8|0);
$13 = ((($0)) + 2758|0);
$14 = ((($0)) + 2756|0);
$15 = ((($0)) + 2750|0);
$16 = ((($0)) + 2748|0);
$$0$ph = 0;$$0255$ph = -1;$$0256$ph = $5;$$1260$ph = $$272;$$1263$ph = $$;
L1: while(1) {
$$0 = $$0$ph;$$0257 = 0;
while(1) {
$17 = ($$0|0)>($2|0);
if ($17) {
break L1;
}
$18 = (($$0) + 1)|0;
$19 = (((($1) + ($18<<2)|0)) + 2|0);
$20 = HEAP16[$19>>1]|0;
$21 = $20&65535;
$22 = (($$0257) + 1)|0;
$23 = ($22|0)<($$1260$ph|0);
$24 = ($$0256$ph|0)==($21|0);
$or$cond = $23 & $24;
if ($or$cond) {
$$0 = $18;$$0257 = $22;
} else {
break;
}
}
$25 = ($22|0)<($$1263$ph|0);
do {
if ($25) {
$26 = (((((($0)) + 2684|0) + ($$0256$ph<<2)|0)) + 2|0);
$27 = (((($0)) + 2684|0) + ($$0256$ph<<2)|0);
$$pre288 = HEAP32[$8>>2]|0;
$$pre289 = HEAP16[$10>>1]|0;
$$1258 = $22;$31 = $$pre288;$37 = $$pre289;
while(1) {
$28 = HEAP16[$26>>1]|0;
$29 = $28&65535;
$30 = (16 - ($29))|0;
$32 = ($31|0)>($30|0);
$33 = HEAP16[$27>>1]|0;
$34 = $33&65535;
$35 = $34 << $31;
$36 = $37&65535;
$38 = $36 | $35;
$39 = $38&65535;
HEAP16[$10>>1] = $39;
if ($32) {
$40 = $38&255;
$41 = HEAP32[$11>>2]|0;
$42 = (($41) + 1)|0;
HEAP32[$11>>2] = $42;
$43 = HEAP32[$12>>2]|0;
$44 = (($43) + ($41)|0);
HEAP8[$44>>0] = $40;
$45 = HEAP16[$10>>1]|0;
$46 = ($45&65535) >>> 8;
$47 = $46&255;
$48 = HEAP32[$11>>2]|0;
$49 = (($48) + 1)|0;
HEAP32[$11>>2] = $49;
$50 = HEAP32[$12>>2]|0;
$51 = (($50) + ($48)|0);
HEAP8[$51>>0] = $47;
$52 = HEAP32[$8>>2]|0;
$53 = (16 - ($52))|0;
$54 = $34 >>> $53;
$55 = $54&65535;
HEAP16[$10>>1] = $55;
$56 = (($29) + -16)|0;
$57 = (($56) + ($52))|0;
$273 = $55;$storemerge271 = $57;
} else {
$58 = (($31) + ($29))|0;
$273 = $39;$storemerge271 = $58;
}
HEAP32[$8>>2] = $storemerge271;
$59 = (($$1258) + -1)|0;
$60 = ($59|0)==(0);
if ($60) {
break;
} else {
$$1258 = $59;$31 = $storemerge271;$37 = $273;
}
}
} else {
$61 = ($$0256$ph|0)==(0);
if (!($61)) {
$62 = ($$0256$ph|0)==($$0255$ph|0);
if ($62) {
$$pre = HEAP32[$8>>2]|0;
$$pre287 = HEAP16[$10>>1]|0;
$$2 = $22;$105 = $$pre287;$99 = $$pre;
} else {
$63 = (((((($0)) + 2684|0) + ($$0256$ph<<2)|0)) + 2|0);
$64 = HEAP16[$63>>1]|0;
$65 = $64&65535;
$66 = HEAP32[$8>>2]|0;
$67 = (16 - ($65))|0;
$68 = ($66|0)>($67|0);
$69 = (((($0)) + 2684|0) + ($$0256$ph<<2)|0);
$70 = HEAP16[$69>>1]|0;
$71 = $70&65535;
$72 = $71 << $66;
$73 = HEAP16[$10>>1]|0;
$74 = $73&65535;
$75 = $74 | $72;
$76 = $75&65535;
HEAP16[$10>>1] = $76;
if ($68) {
$77 = $75&255;
$78 = HEAP32[$11>>2]|0;
$79 = (($78) + 1)|0;
HEAP32[$11>>2] = $79;
$80 = HEAP32[$12>>2]|0;
$81 = (($80) + ($78)|0);
HEAP8[$81>>0] = $77;
$82 = HEAP16[$10>>1]|0;
$83 = ($82&65535) >>> 8;
$84 = $83&255;
$85 = HEAP32[$11>>2]|0;
$86 = (($85) + 1)|0;
HEAP32[$11>>2] = $86;
$87 = HEAP32[$12>>2]|0;
$88 = (($87) + ($85)|0);
HEAP8[$88>>0] = $84;
$89 = HEAP32[$8>>2]|0;
$90 = (16 - ($89))|0;
$91 = $71 >>> $90;
$92 = $91&65535;
HEAP16[$10>>1] = $92;
$93 = (($65) + -16)|0;
$94 = (($93) + ($89))|0;
$274 = $92;$storemerge270 = $94;
} else {
$95 = (($66) + ($65))|0;
$274 = $76;$storemerge270 = $95;
}
HEAP32[$8>>2] = $storemerge270;
$$2 = $$0257;$105 = $274;$99 = $storemerge270;
}
$96 = HEAP16[$15>>1]|0;
$97 = $96&65535;
$98 = (16 - ($97))|0;
$100 = ($99|0)>($98|0);
$101 = HEAP16[$16>>1]|0;
$102 = $101&65535;
$103 = $102 << $99;
$104 = $105&65535;
$106 = $104 | $103;
$107 = $106&65535;
HEAP16[$10>>1] = $107;
if ($100) {
$108 = $106&255;
$109 = HEAP32[$11>>2]|0;
$110 = (($109) + 1)|0;
HEAP32[$11>>2] = $110;
$111 = HEAP32[$12>>2]|0;
$112 = (($111) + ($109)|0);
HEAP8[$112>>0] = $108;
$113 = HEAP16[$10>>1]|0;
$114 = ($113&65535) >>> 8;
$115 = $114&255;
$116 = HEAP32[$11>>2]|0;
$117 = (($116) + 1)|0;
HEAP32[$11>>2] = $117;
$118 = HEAP32[$12>>2]|0;
$119 = (($118) + ($116)|0);
HEAP8[$119>>0] = $115;
$120 = HEAP32[$8>>2]|0;
$121 = (16 - ($120))|0;
$122 = $102 >>> $121;
$123 = $122&65535;
HEAP16[$10>>1] = $123;
$124 = (($97) + -16)|0;
$125 = (($124) + ($120))|0;
$127 = $125;$133 = $122;
} else {
$126 = (($99) + ($97))|0;
$127 = $126;$133 = $106;
}
HEAP32[$8>>2] = $127;
$128 = ($127|0)>(14);
$129 = (($$2) + 65533)|0;
$130 = $129 & 65535;
$131 = $130 << $127;
$132 = $133 & 65535;
$134 = $132 | $131;
$135 = $134&65535;
HEAP16[$10>>1] = $135;
if ($128) {
$136 = $134&255;
$137 = HEAP32[$11>>2]|0;
$138 = (($137) + 1)|0;
HEAP32[$11>>2] = $138;
$139 = HEAP32[$12>>2]|0;
$140 = (($139) + ($137)|0);
HEAP8[$140>>0] = $136;
$141 = HEAP16[$10>>1]|0;
$142 = ($141&65535) >>> 8;
$143 = $142&255;
$144 = HEAP32[$11>>2]|0;
$145 = (($144) + 1)|0;
HEAP32[$11>>2] = $145;
$146 = HEAP32[$12>>2]|0;
$147 = (($146) + ($144)|0);
HEAP8[$147>>0] = $143;
$148 = HEAP32[$8>>2]|0;
$149 = (16 - ($148))|0;
$150 = $130 >>> $149;
$151 = $150&65535;
HEAP16[$10>>1] = $151;
$152 = (($148) + -14)|0;
$storemerge269 = $152;
} else {
$153 = (($127) + 2)|0;
$storemerge269 = $153;
}
HEAP32[$8>>2] = $storemerge269;
break;
}
$154 = ($22|0)<(11);
if ($154) {
$155 = HEAP16[$7>>1]|0;
$156 = $155&65535;
$157 = HEAP32[$8>>2]|0;
$158 = (16 - ($156))|0;
$159 = ($157|0)>($158|0);
$160 = HEAP16[$9>>1]|0;
$161 = $160&65535;
$162 = $161 << $157;
$163 = HEAP16[$10>>1]|0;
$164 = $163&65535;
$165 = $164 | $162;
$166 = $165&65535;
HEAP16[$10>>1] = $166;
if ($159) {
$167 = $165&255;
$168 = HEAP32[$11>>2]|0;
$169 = (($168) + 1)|0;
HEAP32[$11>>2] = $169;
$170 = HEAP32[$12>>2]|0;
$171 = (($170) + ($168)|0);
HEAP8[$171>>0] = $167;
$172 = HEAP16[$10>>1]|0;
$173 = ($172&65535) >>> 8;
$174 = $173&255;
$175 = HEAP32[$11>>2]|0;
$176 = (($175) + 1)|0;
HEAP32[$11>>2] = $176;
$177 = HEAP32[$12>>2]|0;
$178 = (($177) + ($175)|0);
HEAP8[$178>>0] = $174;
$179 = HEAP32[$8>>2]|0;
$180 = (16 - ($179))|0;
$181 = $161 >>> $180;
$182 = $181&65535;
HEAP16[$10>>1] = $182;
$183 = (($156) + -16)|0;
$184 = (($183) + ($179))|0;
$186 = $184;$192 = $181;
} else {
$185 = (($157) + ($156))|0;
$186 = $185;$192 = $165;
}
HEAP32[$8>>2] = $186;
$187 = ($186|0)>(13);
$188 = (($$0257) + 65534)|0;
$189 = $188 & 65535;
$190 = $189 << $186;
$191 = $192 & 65535;
$193 = $191 | $190;
$194 = $193&65535;
HEAP16[$10>>1] = $194;
if ($187) {
$195 = $193&255;
$196 = HEAP32[$11>>2]|0;
$197 = (($196) + 1)|0;
HEAP32[$11>>2] = $197;
$198 = HEAP32[$12>>2]|0;
$199 = (($198) + ($196)|0);
HEAP8[$199>>0] = $195;
$200 = HEAP16[$10>>1]|0;
$201 = ($200&65535) >>> 8;
$202 = $201&255;
$203 = HEAP32[$11>>2]|0;
$204 = (($203) + 1)|0;
HEAP32[$11>>2] = $204;
$205 = HEAP32[$12>>2]|0;
$206 = (($205) + ($203)|0);
HEAP8[$206>>0] = $202;
$207 = HEAP32[$8>>2]|0;
$208 = (16 - ($207))|0;
$209 = $189 >>> $208;
$210 = $209&65535;
HEAP16[$10>>1] = $210;
$211 = (($207) + -13)|0;
$storemerge267 = $211;
} else {
$212 = (($186) + 3)|0;
$storemerge267 = $212;
}
HEAP32[$8>>2] = $storemerge267;
break;
} else {
$213 = HEAP16[$13>>1]|0;
$214 = $213&65535;
$215 = HEAP32[$8>>2]|0;
$216 = (16 - ($214))|0;
$217 = ($215|0)>($216|0);
$218 = HEAP16[$14>>1]|0;
$219 = $218&65535;
$220 = $219 << $215;
$221 = HEAP16[$10>>1]|0;
$222 = $221&65535;
$223 = $222 | $220;
$224 = $223&65535;
HEAP16[$10>>1] = $224;
if ($217) {
$225 = $223&255;
$226 = HEAP32[$11>>2]|0;
$227 = (($226) + 1)|0;
HEAP32[$11>>2] = $227;
$228 = HEAP32[$12>>2]|0;
$229 = (($228) + ($226)|0);
HEAP8[$229>>0] = $225;
$230 = HEAP16[$10>>1]|0;
$231 = ($230&65535) >>> 8;
$232 = $231&255;
$233 = HEAP32[$11>>2]|0;
$234 = (($233) + 1)|0;
HEAP32[$11>>2] = $234;
$235 = HEAP32[$12>>2]|0;
$236 = (($235) + ($233)|0);
HEAP8[$236>>0] = $232;
$237 = HEAP32[$8>>2]|0;
$238 = (16 - ($237))|0;
$239 = $219 >>> $238;
$240 = $239&65535;
HEAP16[$10>>1] = $240;
$241 = (($214) + -16)|0;
$242 = (($241) + ($237))|0;
$244 = $242;$250 = $239;
} else {
$243 = (($215) + ($214))|0;
$244 = $243;$250 = $223;
}
HEAP32[$8>>2] = $244;
$245 = ($244|0)>(9);
$246 = (($$0257) + 65526)|0;
$247 = $246 & 65535;
$248 = $247 << $244;
$249 = $250 & 65535;
$251 = $249 | $248;
$252 = $251&65535;
HEAP16[$10>>1] = $252;
if ($245) {
$253 = $251&255;
$254 = HEAP32[$11>>2]|0;
$255 = (($254) + 1)|0;
HEAP32[$11>>2] = $255;
$256 = HEAP32[$12>>2]|0;
$257 = (($256) + ($254)|0);
HEAP8[$257>>0] = $253;
$258 = HEAP16[$10>>1]|0;
$259 = ($258&65535) >>> 8;
$260 = $259&255;
$261 = HEAP32[$11>>2]|0;
$262 = (($261) + 1)|0;
HEAP32[$11>>2] = $262;
$263 = HEAP32[$12>>2]|0;
$264 = (($263) + ($261)|0);
HEAP8[$264>>0] = $260;
$265 = HEAP32[$8>>2]|0;
$266 = (16 - ($265))|0;
$267 = $247 >>> $266;
$268 = $267&65535;
HEAP16[$10>>1] = $268;
$269 = (($265) + -9)|0;
$storemerge265 = $269;
} else {
$270 = (($244) + 7)|0;
$storemerge265 = $270;
}
HEAP32[$8>>2] = $storemerge265;
break;
}
}
} while(0);
$271 = ($20<<16>>16)==(0);
$$274 = $24 ? 6 : 7;
$272 = $271 | $24;
$$$273 = $272 ? 3 : 4;
$$$274 = $271 ? 138 : $$274;
$$0255$ph$phi = $$0256$ph;$$0$ph = $18;$$0256$ph = $21;$$1260$ph = $$$274;$$1263$ph = $$$273;$$0255$ph = $$0255$ph$phi;
}
return;
}
function _zcalloc($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = Math_imul($2, $1)|0;
$4 = (_malloc($3)|0);
return ($4|0);
}
function _zcfree($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
_free($1);
return;
}
function _inflate_fast($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$0295 = 0, $$0298 = 0, $$0302 = 0, $$0308 = 0, $$0316 = 0, $$0325 = 0, $$1 = 0, $$1296$lcssa = 0, $$1296$ph = 0, $$1296398 = 0, $$1299 = 0, $$1303 = 0, $$1309 = 0, $$1317 = 0, $$1326 = 0, $$2 = 0, $$2297 = 0, $$2300 = 0, $$2304 = 0;
var $$2310 = 0, $$3 = 0, $$3301 = 0, $$3305 = 0, $$3311 = 0, $$3319 = 0, $$3328 = 0, $$4$lcssa = 0, $$4$ph = 0, $$4306 = 0, $$4312 = 0, $$4320 = 0, $$4329 = 0, $$4399 = 0, $$5 = 0, $$5307 = 0, $$5313$lcssa = 0, $$5313$ph = 0, $$5313397 = 0, $$5321 = 0;
var $$5330 = 0, $$6 = 0, $$6314 = 0, $$7 = 0, $$7315 = 0, $$7323 = 0, $$7332 = 0, $$8 = 0, $$8324 = 0, $$8333 = 0, $$9 = 0, $$9334 = 0, $$lcssa = 0, $$lcssa345 = 0, $$lcssa348 = 0, $$lcssa354 = 0, $$lcssa356 = 0, $$sroa$0$0 = 0, $$sroa$0$0$in = 0, $$sroa$0$0$in374 = 0;
var $$sroa$0$0377 = 0, $$sroa$0$1 = 0, $$sroa$0$1$in = 0, $$sroa$0$1$in383 = 0, $$sroa$0$1386 = 0, $$sroa$10$0 = 0, $$sroa$10$0$in = 0, $$sroa$10$0$in376 = 0, $$sroa$10$0$lcssa$off0 = 0, $$sroa$10$0379 = 0, $$sroa$10$0380 = 0, $$sroa$10$1 = 0, $$sroa$10$1$in = 0, $$sroa$10$1$in385 = 0, $$sroa$10$1$lcssa = 0, $$sroa$10$1388 = 0, $$sroa$10$1389 = 0, $$sroa$8$0 = 0, $$sroa$8$0$in = 0, $$sroa$8$0$in375 = 0;
var $$sroa$8$0378 = 0, $$sroa$8$1 = 0, $$sroa$8$1$in = 0, $$sroa$8$1$in384 = 0, $$sroa$8$1387 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
var $276 = 0, $277 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, $extract$t = 0, $extract$t405 = 0, $or$cond = 0, $scevgep = 0, $scevgep448 = 0, $scevgep450 = 0, $scevgep451 = 0, $scevgep453 = 0, $scevgep454 = 0, $scevgep457 = 0, $scevgep458 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 28|0);
$3 = HEAP32[$2>>2]|0;
$4 = HEAP32[$0>>2]|0;
$5 = ((($4)) + -1|0);
$6 = ((($0)) + 4|0);
$7 = HEAP32[$6>>2]|0;
$8 = (($7) + -5)|0;
$9 = (($5) + ($8)|0);
$10 = ((($0)) + 12|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($11)) + -1|0);
$13 = ((($0)) + 16|0);
$14 = HEAP32[$13>>2]|0;
$15 = (($14) - ($1))|0;
$16 = (($12) + ($15)|0);
$17 = (($14) + -257)|0;
$18 = (($12) + ($17)|0);
$19 = ((($3)) + 40|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($3)) + 44|0);
$22 = HEAP32[$21>>2]|0;
$23 = ((($3)) + 48|0);
$24 = HEAP32[$23>>2]|0;
$25 = ((($3)) + 52|0);
$26 = HEAP32[$25>>2]|0;
$27 = ((($3)) + 56|0);
$28 = HEAP32[$27>>2]|0;
$29 = ((($3)) + 60|0);
$30 = HEAP32[$29>>2]|0;
$31 = ((($3)) + 76|0);
$32 = HEAP32[$31>>2]|0;
$33 = ((($3)) + 80|0);
$34 = HEAP32[$33>>2]|0;
$35 = ((($3)) + 84|0);
$36 = HEAP32[$35>>2]|0;
$37 = 1 << $36;
$38 = (($37) + -1)|0;
$39 = ((($3)) + 88|0);
$40 = HEAP32[$39>>2]|0;
$41 = 1 << $40;
$42 = (($41) + -1)|0;
$43 = $16;
$44 = ((($3)) + 7104|0);
$45 = ((($26)) + -1|0);
$46 = ($24|0)==(0);
$47 = (($24) + ($20))|0;
$48 = (($43) - ($24))|0;
$$0302 = $5;$$0308 = $12;$$0316 = $28;$$0325 = $30;
L1: while(1) {
$49 = ($$0325>>>0)<(15);
if ($49) {
$50 = ((($$0302)) + 1|0);
$51 = HEAP8[$50>>0]|0;
$52 = $51&255;
$53 = $52 << $$0325;
$54 = (($53) + ($$0316))|0;
$55 = (($$0325) + 8)|0;
$56 = ((($$0302)) + 2|0);
$57 = HEAP8[$56>>0]|0;
$58 = $57&255;
$59 = $58 << $55;
$60 = (($54) + ($59))|0;
$61 = (($$0325) + 16)|0;
$$1303 = $56;$$1317 = $60;$$1326 = $61;
} else {
$$1303 = $$0302;$$1317 = $$0316;$$1326 = $$0325;
}
$62 = $$1317 & $38;
$$sroa$0$0$in374 = (($32) + ($62<<2)|0);
$$sroa$8$0$in375 = (((($32) + ($62<<2)|0)) + 1|0);
$$sroa$10$0$in376 = (((($32) + ($62<<2)|0)) + 2|0);
$$sroa$0$0377 = HEAP8[$$sroa$0$0$in374>>0]|0;
$$sroa$8$0378 = HEAP8[$$sroa$8$0$in375>>0]|0;
$$sroa$10$0379 = HEAP16[$$sroa$10$0$in376>>1]|0;
$63 = $$sroa$8$0378&255;
$64 = $$1317 >>> $63;
$65 = (($$1326) - ($63))|0;
$66 = ($$sroa$0$0377<<24>>24)==(0);
$extract$t = $$sroa$10$0379&255;
do {
if ($66) {
$$lcssa345 = $65;$$lcssa348 = $64;$$sroa$10$0$lcssa$off0 = $extract$t;
label = 7;
} else {
$67 = $$sroa$0$0377&255;
$$sroa$10$0380 = $$sroa$10$0379;$70 = $67;$75 = $65;$83 = $64;
while(1) {
$69 = $70 & 16;
$71 = ($69|0)==(0);
if (!($71)) {
break;
}
$243 = $70 & 64;
$244 = ($243|0)==(0);
if (!($244)) {
label = 55;
break L1;
}
$245 = $$sroa$10$0380&65535;
$246 = 1 << $70;
$247 = (($246) + -1)|0;
$248 = $83 & $247;
$249 = (($248) + ($245))|0;
$$sroa$0$0$in = (($32) + ($249<<2)|0);
$$sroa$8$0$in = (((($32) + ($249<<2)|0)) + 1|0);
$$sroa$10$0$in = (((($32) + ($249<<2)|0)) + 2|0);
$$sroa$0$0 = HEAP8[$$sroa$0$0$in>>0]|0;
$$sroa$8$0 = HEAP8[$$sroa$8$0$in>>0]|0;
$$sroa$10$0 = HEAP16[$$sroa$10$0$in>>1]|0;
$250 = $$sroa$8$0&255;
$251 = $83 >>> $250;
$252 = (($75) - ($250))|0;
$253 = $$sroa$0$0&255;
$254 = ($$sroa$0$0<<24>>24)==(0);
if ($254) {
label = 6;
break;
} else {
$$sroa$10$0380 = $$sroa$10$0;$70 = $253;$75 = $252;$83 = $251;
}
}
if ((label|0) == 6) {
label = 0;
$extract$t405 = $$sroa$10$0&255;
$$lcssa345 = $252;$$lcssa348 = $251;$$sroa$10$0$lcssa$off0 = $extract$t405;
label = 7;
break;
}
$72 = $$sroa$10$0380&65535;
$73 = $70 & 15;
$74 = ($73|0)==(0);
if ($74) {
$$0295 = $72;$$3305 = $$1303;$$4320 = $83;$$4329 = $75;
} else {
$76 = ($75>>>0)<($73>>>0);
$77 = ((($$1303)) + 1|0);
if ($76) {
$78 = (($75) + 8)|0;
$79 = HEAP8[$77>>0]|0;
$80 = $79&255;
$81 = $80 << $75;
$82 = (($81) + ($83))|0;
$$2304 = $77;$$3319 = $82;$$3328 = $78;
} else {
$$2304 = $$1303;$$3319 = $83;$$3328 = $75;
}
$84 = 1 << $73;
$85 = (($84) + -1)|0;
$86 = $$3319 & $85;
$87 = (($86) + ($72))|0;
$88 = $$3319 >>> $73;
$89 = (($$3328) - ($73))|0;
$$0295 = $87;$$3305 = $$2304;$$4320 = $88;$$4329 = $89;
}
$90 = ($$4329>>>0)<(15);
if ($90) {
$91 = ((($$3305)) + 1|0);
$92 = HEAP8[$91>>0]|0;
$93 = $92&255;
$94 = $93 << $$4329;
$95 = (($94) + ($$4320))|0;
$96 = (($$4329) + 8)|0;
$97 = ((($$3305)) + 2|0);
$98 = HEAP8[$97>>0]|0;
$99 = $98&255;
$100 = $99 << $96;
$101 = (($95) + ($100))|0;
$102 = (($$4329) + 16)|0;
$$4306 = $97;$$5321 = $101;$$5330 = $102;
} else {
$$4306 = $$3305;$$5321 = $$4320;$$5330 = $$4329;
}
$103 = $$5321 & $42;
$$sroa$0$1$in383 = (($34) + ($103<<2)|0);
$$sroa$8$1$in384 = (((($34) + ($103<<2)|0)) + 1|0);
$$sroa$10$1$in385 = (((($34) + ($103<<2)|0)) + 2|0);
$$sroa$0$1386 = HEAP8[$$sroa$0$1$in383>>0]|0;
$$sroa$8$1387 = HEAP8[$$sroa$8$1$in384>>0]|0;
$$sroa$10$1388 = HEAP16[$$sroa$10$1$in385>>1]|0;
$104 = $$sroa$8$1387&255;
$105 = $$5321 >>> $104;
$106 = (($$5330) - ($104))|0;
$107 = $$sroa$0$1386&255;
$108 = $107 & 16;
$109 = ($108|0)==(0);
if ($109) {
$$sroa$10$1389 = $$sroa$10$1388;$227 = $107;$233 = $105;$238 = $106;
while(1) {
$226 = $227 & 64;
$228 = ($226|0)==(0);
if (!($228)) {
label = 52;
break L1;
}
$229 = $$sroa$10$1389&65535;
$230 = 1 << $227;
$231 = (($230) + -1)|0;
$232 = $233 & $231;
$234 = (($232) + ($229))|0;
$$sroa$0$1$in = (($34) + ($234<<2)|0);
$$sroa$8$1$in = (((($34) + ($234<<2)|0)) + 1|0);
$$sroa$10$1$in = (((($34) + ($234<<2)|0)) + 2|0);
$$sroa$0$1 = HEAP8[$$sroa$0$1$in>>0]|0;
$$sroa$8$1 = HEAP8[$$sroa$8$1$in>>0]|0;
$$sroa$10$1 = HEAP16[$$sroa$10$1$in>>1]|0;
$235 = $$sroa$8$1&255;
$236 = $233 >>> $235;
$237 = (($238) - ($235))|0;
$239 = $$sroa$0$1&255;
$240 = $239 & 16;
$241 = ($240|0)==(0);
if ($241) {
$$sroa$10$1389 = $$sroa$10$1;$227 = $239;$233 = $236;$238 = $237;
} else {
$$lcssa = $239;$$lcssa354 = $237;$$lcssa356 = $236;$$sroa$10$1$lcssa = $$sroa$10$1;
break;
}
}
} else {
$$lcssa = $107;$$lcssa354 = $106;$$lcssa356 = $105;$$sroa$10$1$lcssa = $$sroa$10$1388;
}
$110 = $$sroa$10$1$lcssa&65535;
$111 = $$lcssa & 15;
$112 = ($$lcssa354>>>0)<($111>>>0);
if ($112) {
$113 = ((($$4306)) + 1|0);
$114 = HEAP8[$113>>0]|0;
$115 = $114&255;
$116 = $115 << $$lcssa354;
$117 = (($116) + ($$lcssa356))|0;
$118 = (($$lcssa354) + 8)|0;
$119 = ($118>>>0)<($111>>>0);
$120 = ((($$4306)) + 2|0);
if ($119) {
$121 = (($$lcssa354) + 16)|0;
$122 = HEAP8[$120>>0]|0;
$123 = $122&255;
$124 = $123 << $118;
$125 = (($124) + ($117))|0;
$$5307 = $120;$$7323 = $125;$$7332 = $121;
} else {
$$5307 = $113;$$7323 = $117;$$7332 = $118;
}
} else {
$$5307 = $$4306;$$7323 = $$lcssa356;$$7332 = $$lcssa354;
}
$126 = 1 << $111;
$127 = (($126) + -1)|0;
$128 = $$7323 & $127;
$129 = (($128) + ($110))|0;
$130 = $$7323 >>> $111;
$131 = (($$7332) - ($111))|0;
$132 = $$0308;
$133 = (($132) - ($43))|0;
$134 = ($129>>>0)>($133>>>0);
if (!($134)) {
$205 = (0 - ($129))|0;
$206 = (($$0308) + ($205)|0);
$$2297 = $$0295;$$5 = $206;$$6314 = $$0308;
while(1) {
$207 = ((($$5)) + 1|0);
$208 = HEAP8[$207>>0]|0;
$209 = ((($$6314)) + 1|0);
HEAP8[$209>>0] = $208;
$210 = ((($$5)) + 2|0);
$211 = HEAP8[$210>>0]|0;
$212 = ((($$6314)) + 2|0);
HEAP8[$212>>0] = $211;
$213 = ((($$5)) + 3|0);
$214 = HEAP8[$213>>0]|0;
$215 = ((($$6314)) + 3|0);
HEAP8[$215>>0] = $214;
$216 = (($$2297) + -3)|0;
$217 = ($216>>>0)>(2);
if ($217) {
$$2297 = $216;$$5 = $213;$$6314 = $215;
} else {
break;
}
}
$218 = ($216|0)==(0);
if ($218) {
$$6 = $$5307;$$7315 = $215;$$8324 = $130;$$8333 = $131;
break;
}
$219 = ((($$5)) + 4|0);
$220 = HEAP8[$219>>0]|0;
$221 = ((($$6314)) + 4|0);
HEAP8[$221>>0] = $220;
$222 = ($216|0)==(1);
if ($222) {
$$6 = $$5307;$$7315 = $221;$$8324 = $130;$$8333 = $131;
break;
}
$223 = ((($$5)) + 5|0);
$224 = HEAP8[$223>>0]|0;
$225 = ((($$6314)) + 5|0);
HEAP8[$225>>0] = $224;
$$6 = $$5307;$$7315 = $225;$$8324 = $130;$$8333 = $131;
break;
}
$135 = (($129) - ($133))|0;
$136 = ($135>>>0)>($22>>>0);
if ($136) {
$137 = HEAP32[$44>>2]|0;
$138 = ($137|0)==(0);
if (!($138)) {
label = 22;
break L1;
}
}
do {
if ($46) {
$140 = (($20) - ($135))|0;
$141 = (($45) + ($140)|0);
$142 = ($$0295>>>0)>($135>>>0);
if ($142) {
$143 = (($$0295) - ($135))|0;
$144 = (($129) - ($132))|0;
$$0 = $141;$$0298 = $135;$$1309 = $$0308;
while(1) {
$145 = ((($$0)) + 1|0);
$146 = HEAP8[$145>>0]|0;
$147 = ((($$1309)) + 1|0);
HEAP8[$147>>0] = $146;
$148 = (($$0298) + -1)|0;
$149 = ($148|0)==(0);
if ($149) {
break;
} else {
$$0 = $145;$$0298 = $148;$$1309 = $147;
}
}
$scevgep457 = (($$0308) + ($43)|0);
$scevgep458 = (($scevgep457) + ($144)|0);
$150 = (0 - ($129))|0;
$151 = (($scevgep458) + ($150)|0);
$$1296$ph = $143;$$4$ph = $151;$$5313$ph = $scevgep458;
} else {
$$1296$ph = $$0295;$$4$ph = $141;$$5313$ph = $$0308;
}
} else {
$152 = ($24>>>0)<($135>>>0);
if (!($152)) {
$173 = (($24) - ($135))|0;
$174 = (($45) + ($173)|0);
$175 = ($$0295>>>0)>($135>>>0);
if (!($175)) {
$$1296$ph = $$0295;$$4$ph = $174;$$5313$ph = $$0308;
break;
}
$176 = (($$0295) - ($135))|0;
$177 = (($129) - ($132))|0;
$$3 = $174;$$3301 = $135;$$4312 = $$0308;
while(1) {
$178 = ((($$3)) + 1|0);
$179 = HEAP8[$178>>0]|0;
$180 = ((($$4312)) + 1|0);
HEAP8[$180>>0] = $179;
$181 = (($$3301) + -1)|0;
$182 = ($181|0)==(0);
if ($182) {
break;
} else {
$$3 = $178;$$3301 = $181;$$4312 = $180;
}
}
$scevgep = (($$0308) + ($43)|0);
$scevgep448 = (($scevgep) + ($177)|0);
$183 = (0 - ($129))|0;
$184 = (($scevgep448) + ($183)|0);
$$1296$ph = $176;$$4$ph = $184;$$5313$ph = $scevgep448;
break;
}
$153 = (($47) - ($135))|0;
$154 = (($45) + ($153)|0);
$155 = (($135) - ($24))|0;
$156 = ($$0295>>>0)>($155>>>0);
if ($156) {
$157 = (($$0295) - ($155))|0;
$158 = (($129) - ($132))|0;
$$1 = $154;$$1299 = $155;$$2310 = $$0308;
while(1) {
$159 = ((($$1)) + 1|0);
$160 = HEAP8[$159>>0]|0;
$161 = ((($$2310)) + 1|0);
HEAP8[$161>>0] = $160;
$162 = (($$1299) + -1)|0;
$163 = ($162|0)==(0);
if ($163) {
break;
} else {
$$1 = $159;$$1299 = $162;$$2310 = $161;
}
}
$scevgep450 = (($$0308) + ($48)|0);
$scevgep451 = (($scevgep450) + ($158)|0);
$164 = ($157>>>0)>($24>>>0);
if ($164) {
$scevgep453 = (($$0308) + ($43)|0);
$$2 = $45;$$2300 = $24;$$3311 = $scevgep451;
while(1) {
$165 = ((($$2)) + 1|0);
$166 = HEAP8[$165>>0]|0;
$167 = ((($$3311)) + 1|0);
HEAP8[$167>>0] = $166;
$168 = (($$2300) + -1)|0;
$169 = ($168|0)==(0);
if ($169) {
break;
} else {
$$2 = $165;$$2300 = $168;$$3311 = $167;
}
}
$170 = (($157) - ($24))|0;
$scevgep454 = (($scevgep453) + ($158)|0);
$171 = (0 - ($129))|0;
$172 = (($scevgep454) + ($171)|0);
$$1296$ph = $170;$$4$ph = $172;$$5313$ph = $scevgep454;
} else {
$$1296$ph = $157;$$4$ph = $45;$$5313$ph = $scevgep451;
}
} else {
$$1296$ph = $$0295;$$4$ph = $154;$$5313$ph = $$0308;
}
}
} while(0);
$185 = ($$1296$ph>>>0)>(2);
if ($185) {
$$1296398 = $$1296$ph;$$4399 = $$4$ph;$$5313397 = $$5313$ph;
while(1) {
$186 = ((($$4399)) + 1|0);
$187 = HEAP8[$186>>0]|0;
$188 = ((($$5313397)) + 1|0);
HEAP8[$188>>0] = $187;
$189 = ((($$4399)) + 2|0);
$190 = HEAP8[$189>>0]|0;
$191 = ((($$5313397)) + 2|0);
HEAP8[$191>>0] = $190;
$192 = ((($$4399)) + 3|0);
$193 = HEAP8[$192>>0]|0;
$194 = ((($$5313397)) + 3|0);
HEAP8[$194>>0] = $193;
$195 = (($$1296398) + -3)|0;
$196 = ($195>>>0)>(2);
if ($196) {
$$1296398 = $195;$$4399 = $192;$$5313397 = $194;
} else {
$$1296$lcssa = $195;$$4$lcssa = $192;$$5313$lcssa = $194;
break;
}
}
} else {
$$1296$lcssa = $$1296$ph;$$4$lcssa = $$4$ph;$$5313$lcssa = $$5313$ph;
}
$197 = ($$1296$lcssa|0)==(0);
if ($197) {
$$6 = $$5307;$$7315 = $$5313$lcssa;$$8324 = $130;$$8333 = $131;
} else {
$198 = ((($$4$lcssa)) + 1|0);
$199 = HEAP8[$198>>0]|0;
$200 = ((($$5313$lcssa)) + 1|0);
HEAP8[$200>>0] = $199;
$201 = ($$1296$lcssa|0)==(1);
if ($201) {
$$6 = $$5307;$$7315 = $200;$$8324 = $130;$$8333 = $131;
} else {
$202 = ((($$4$lcssa)) + 2|0);
$203 = HEAP8[$202>>0]|0;
$204 = ((($$5313$lcssa)) + 2|0);
HEAP8[$204>>0] = $203;
$$6 = $$5307;$$7315 = $204;$$8324 = $130;$$8333 = $131;
}
}
}
} while(0);
if ((label|0) == 7) {
label = 0;
$68 = ((($$0308)) + 1|0);
HEAP8[$68>>0] = $$sroa$10$0$lcssa$off0;
$$6 = $$1303;$$7315 = $68;$$8324 = $$lcssa348;$$8333 = $$lcssa345;
}
$258 = ($$6>>>0)<($9>>>0);
$259 = ($$7315>>>0)<($18>>>0);
$or$cond = $259 & $258;
if ($or$cond) {
$$0302 = $$6;$$0308 = $$7315;$$0316 = $$8324;$$0325 = $$8333;
} else {
$$7 = $$6;$$8 = $$7315;$$9 = $$8324;$$9334 = $$8333;
break;
}
}
do {
if ((label|0) == 22) {
$139 = ((($0)) + 24|0);
HEAP32[$139>>2] = 28470;
HEAP32[$3>>2] = 29;
$$7 = $$5307;$$8 = $$0308;$$9 = $130;$$9334 = $131;
}
else if ((label|0) == 52) {
$242 = ((($0)) + 24|0);
HEAP32[$242>>2] = 28500;
HEAP32[$3>>2] = 29;
$$7 = $$4306;$$8 = $$0308;$$9 = $233;$$9334 = $238;
}
else if ((label|0) == 55) {
$255 = $70 & 32;
$256 = ($255|0)==(0);
if ($256) {
$257 = ((($0)) + 24|0);
HEAP32[$257>>2] = 28522;
HEAP32[$3>>2] = 29;
$$7 = $$1303;$$8 = $$0308;$$9 = $83;$$9334 = $75;
break;
} else {
HEAP32[$3>>2] = 11;
$$7 = $$1303;$$8 = $$0308;$$9 = $83;$$9334 = $75;
break;
}
}
} while(0);
$260 = $$9334 >>> 3;
$261 = (0 - ($260))|0;
$262 = (($$7) + ($261)|0);
$263 = $260 << 3;
$264 = (($$9334) - ($263))|0;
$265 = 1 << $264;
$266 = (($265) + -1)|0;
$267 = $266 & $$9;
$268 = ((($262)) + 1|0);
HEAP32[$0>>2] = $268;
$269 = ((($$8)) + 1|0);
HEAP32[$10>>2] = $269;
$270 = $9;
$271 = $262;
$272 = (($270) + 5)|0;
$273 = (($272) - ($271))|0;
HEAP32[$6>>2] = $273;
$274 = $18;
$275 = $$8;
$276 = (($274) + 257)|0;
$277 = (($276) - ($275))|0;
HEAP32[$13>>2] = $277;
HEAP32[$27>>2] = $267;
HEAP32[$29>>2] = $264;
return;
}
function ___stdio_close($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
$1 = ((($0)) + 60|0);
$2 = HEAP32[$1>>2]|0;
HEAP32[$vararg_buffer>>2] = $2;
$3 = (___syscall6(6,($vararg_buffer|0))|0);
$4 = (___syscall_ret($3)|0);
STACKTOP = sp;return ($4|0);
}
function ___stdio_read($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$026 = 0, $$cast = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$3 = sp + 32|0;
HEAP32[$3>>2] = $1;
$4 = ((($3)) + 4|0);
$5 = ((($0)) + 48|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)!=(0);
$8 = $7&1;
$9 = (($2) - ($8))|0;
HEAP32[$4>>2] = $9;
$10 = ((($3)) + 8|0);
$11 = ((($0)) + 44|0);
$12 = HEAP32[$11>>2]|0;
HEAP32[$10>>2] = $12;
$13 = ((($3)) + 12|0);
HEAP32[$13>>2] = $6;
$14 = HEAP32[7831]|0;
$15 = ($14|0)==(0|0);
if ($15) {
$20 = ((($0)) + 60|0);
$21 = HEAP32[$20>>2]|0;
HEAP32[$vararg_buffer3>>2] = $21;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = $3;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = 2;
$22 = (___syscall145(145,($vararg_buffer3|0))|0);
$23 = (___syscall_ret($22)|0);
$$0 = $23;
} else {
_pthread_cleanup_push((70|0),($0|0));
$16 = ((($0)) + 60|0);
$17 = HEAP32[$16>>2]|0;
HEAP32[$vararg_buffer>>2] = $17;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $3;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 2;
$18 = (___syscall145(145,($vararg_buffer|0))|0);
$19 = (___syscall_ret($18)|0);
_pthread_cleanup_pop(0);
$$0 = $19;
}
$24 = ($$0|0)<(1);
if ($24) {
$25 = $$0 & 48;
$26 = $25 ^ 16;
$27 = HEAP32[$0>>2]|0;
$28 = $27 | $26;
HEAP32[$0>>2] = $28;
$29 = ((($0)) + 8|0);
HEAP32[$29>>2] = 0;
$30 = ((($0)) + 4|0);
HEAP32[$30>>2] = 0;
$$026 = $$0;
} else {
$31 = HEAP32[$4>>2]|0;
$32 = ($$0>>>0)>($31>>>0);
if ($32) {
$33 = (($$0) - ($31))|0;
$34 = HEAP32[$11>>2]|0;
$35 = ((($0)) + 4|0);
HEAP32[$35>>2] = $34;
$$cast = $34;
$36 = (($$cast) + ($33)|0);
$37 = ((($0)) + 8|0);
HEAP32[$37>>2] = $36;
$38 = HEAP32[$5>>2]|0;
$39 = ($38|0)==(0);
if ($39) {
$$026 = $2;
} else {
$40 = ((($$cast)) + 1|0);
HEAP32[$35>>2] = $40;
$41 = HEAP8[$$cast>>0]|0;
$42 = (($2) + -1)|0;
$43 = (($1) + ($42)|0);
HEAP8[$43>>0] = $41;
$$026 = $2;
}
} else {
$$026 = $$0;
}
}
STACKTOP = sp;return ($$026|0);
}
function ___stdio_seek($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$pre = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer = sp;
$3 = sp + 20|0;
$4 = ((($0)) + 60|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$vararg_buffer>>2] = $5;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 0;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $1;
$vararg_ptr3 = ((($vararg_buffer)) + 12|0);
HEAP32[$vararg_ptr3>>2] = $3;
$vararg_ptr4 = ((($vararg_buffer)) + 16|0);
HEAP32[$vararg_ptr4>>2] = $2;
$6 = (___syscall140(140,($vararg_buffer|0))|0);
$7 = (___syscall_ret($6)|0);
$8 = ($7|0)<(0);
if ($8) {
HEAP32[$3>>2] = -1;
$9 = -1;
} else {
$$pre = HEAP32[$3>>2]|0;
$9 = $$pre;
}
STACKTOP = sp;return ($9|0);
}
function ___syscall_ret($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0>>>0)>(4294963200);
if ($1) {
$2 = (0 - ($0))|0;
$3 = (___errno_location()|0);
HEAP32[$3>>2] = $2;
$$0 = -1;
} else {
$$0 = $0;
}
return ($$0|0);
}
function ___errno_location() {
var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$0 = HEAP32[7831]|0;
$1 = ($0|0)==(0|0);
if ($1) {
$$0 = 31368;
} else {
$2 = (_pthread_self()|0);
$3 = ((($2)) + 64|0);
$4 = HEAP32[$3>>2]|0;
$$0 = $4;
}
return ($$0|0);
}
function _cleanup_263($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 68|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
if ($3) {
___unlockfile($0);
}
return;
}
function ___unlockfile($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return;
}
function ___stdout_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
$vararg_buffer = sp;
$3 = sp + 12|0;
$4 = ((($0)) + 36|0);
HEAP32[$4>>2] = 8;
$5 = HEAP32[$0>>2]|0;
$6 = $5 & 64;
$7 = ($6|0)==(0);
if ($7) {
$8 = ((($0)) + 60|0);
$9 = HEAP32[$8>>2]|0;
HEAP32[$vararg_buffer>>2] = $9;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 21505;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $3;
$10 = (___syscall54(54,($vararg_buffer|0))|0);
$11 = ($10|0)==(0);
if (!($11)) {
$12 = ((($0)) + 75|0);
HEAP8[$12>>0] = -1;
}
}
$13 = (___stdio_write($0,$1,$2)|0);
STACKTOP = sp;return ($13|0);
}
function ___stdio_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$056 = 0, $$058 = 0, $$059 = 0, $$061 = 0, $$1 = 0, $$157 = 0, $$160 = 0, $$phi$trans$insert = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$3 = sp + 32|0;
$4 = ((($0)) + 28|0);
$5 = HEAP32[$4>>2]|0;
HEAP32[$3>>2] = $5;
$6 = ((($3)) + 4|0);
$7 = ((($0)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = (($8) - ($5))|0;
HEAP32[$6>>2] = $9;
$10 = ((($3)) + 8|0);
HEAP32[$10>>2] = $1;
$11 = ((($3)) + 12|0);
HEAP32[$11>>2] = $2;
$12 = (($9) + ($2))|0;
$13 = ((($0)) + 60|0);
$14 = ((($0)) + 44|0);
$$056 = 2;$$058 = $12;$$059 = $3;
while(1) {
$15 = HEAP32[7831]|0;
$16 = ($15|0)==(0|0);
if ($16) {
$20 = HEAP32[$13>>2]|0;
HEAP32[$vararg_buffer3>>2] = $20;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = $$059;
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
HEAP32[$vararg_ptr7>>2] = $$056;
$21 = (___syscall146(146,($vararg_buffer3|0))|0);
$22 = (___syscall_ret($21)|0);
$$0 = $22;
} else {
_pthread_cleanup_push((71|0),($0|0));
$17 = HEAP32[$13>>2]|0;
HEAP32[$vararg_buffer>>2] = $17;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $$059;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $$056;
$18 = (___syscall146(146,($vararg_buffer|0))|0);
$19 = (___syscall_ret($18)|0);
_pthread_cleanup_pop(0);
$$0 = $19;
}
$23 = ($$058|0)==($$0|0);
if ($23) {
label = 6;
break;
}
$30 = ($$0|0)<(0);
if ($30) {
label = 8;
break;
}
$38 = (($$058) - ($$0))|0;
$39 = ((($$059)) + 4|0);
$40 = HEAP32[$39>>2]|0;
$41 = ($$0>>>0)>($40>>>0);
if ($41) {
$42 = HEAP32[$14>>2]|0;
HEAP32[$4>>2] = $42;
HEAP32[$7>>2] = $42;
$43 = (($$0) - ($40))|0;
$44 = ((($$059)) + 8|0);
$45 = (($$056) + -1)|0;
$$phi$trans$insert = ((($$059)) + 12|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
$$1 = $43;$$157 = $45;$$160 = $44;$53 = $$pre;
} else {
$46 = ($$056|0)==(2);
if ($46) {
$47 = HEAP32[$4>>2]|0;
$48 = (($47) + ($$0)|0);
HEAP32[$4>>2] = $48;
$$1 = $$0;$$157 = 2;$$160 = $$059;$53 = $40;
} else {
$$1 = $$0;$$157 = $$056;$$160 = $$059;$53 = $40;
}
}
$49 = HEAP32[$$160>>2]|0;
$50 = (($49) + ($$1)|0);
HEAP32[$$160>>2] = $50;
$51 = ((($$160)) + 4|0);
$52 = (($53) - ($$1))|0;
HEAP32[$51>>2] = $52;
$$056 = $$157;$$058 = $38;$$059 = $$160;
}
if ((label|0) == 6) {
$24 = HEAP32[$14>>2]|0;
$25 = ((($0)) + 48|0);
$26 = HEAP32[$25>>2]|0;
$27 = (($24) + ($26)|0);
$28 = ((($0)) + 16|0);
HEAP32[$28>>2] = $27;
$29 = $24;
HEAP32[$4>>2] = $29;
HEAP32[$7>>2] = $29;
$$061 = $2;
}
else if ((label|0) == 8) {
$31 = ((($0)) + 16|0);
HEAP32[$31>>2] = 0;
HEAP32[$4>>2] = 0;
HEAP32[$7>>2] = 0;
$32 = HEAP32[$0>>2]|0;
$33 = $32 | 32;
HEAP32[$0>>2] = $33;
$34 = ($$056|0)==(2);
if ($34) {
$$061 = 0;
} else {
$35 = ((($$059)) + 4|0);
$36 = HEAP32[$35>>2]|0;
$37 = (($2) - ($36))|0;
$$061 = $37;
}
}
STACKTOP = sp;return ($$061|0);
}
function _cleanup_217($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 68|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
if ($3) {
___unlockfile($0);
}
return;
}
function _strlen($0) {
$0 = $0|0;
var $$0 = 0, $$014 = 0, $$015$lcssa = 0, $$01518 = 0, $$1$lcssa = 0, $$pn = 0, $$pn29 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
var $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = $0;
$2 = $1 & 3;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$$015$lcssa = $0;
label = 4;
} else {
$$01518 = $0;$22 = $1;
while(1) {
$4 = HEAP8[$$01518>>0]|0;
$5 = ($4<<24>>24)==(0);
if ($5) {
$$pn = $22;
break L1;
}
$6 = ((($$01518)) + 1|0);
$7 = $6;
$8 = $7 & 3;
$9 = ($8|0)==(0);
if ($9) {
$$015$lcssa = $6;
label = 4;
break;
} else {
$$01518 = $6;$22 = $7;
}
}
}
} while(0);
if ((label|0) == 4) {
$$0 = $$015$lcssa;
while(1) {
$10 = HEAP32[$$0>>2]|0;
$11 = (($10) + -16843009)|0;
$12 = $10 & -2139062144;
$13 = $12 ^ -2139062144;
$14 = $13 & $11;
$15 = ($14|0)==(0);
$16 = ((($$0)) + 4|0);
if ($15) {
$$0 = $16;
} else {
break;
}
}
$17 = $10&255;
$18 = ($17<<24>>24)==(0);
if ($18) {
$$1$lcssa = $$0;
} else {
$$pn29 = $$0;
while(1) {
$19 = ((($$pn29)) + 1|0);
$$pre = HEAP8[$19>>0]|0;
$20 = ($$pre<<24>>24)==(0);
if ($20) {
$$1$lcssa = $19;
break;
} else {
$$pn29 = $19;
}
}
}
$21 = $$1$lcssa;
$$pn = $21;
}
$$014 = (($$pn) - ($1))|0;
return ($$014|0);
}
function _memcmp($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$14 = 0;
} else {
$$01318 = $0;$$01417 = $2;$$019 = $1;
while(1) {
$4 = HEAP8[$$01318>>0]|0;
$5 = HEAP8[$$019>>0]|0;
$6 = ($4<<24>>24)==($5<<24>>24);
if (!($6)) {
break;
}
$7 = (($$01417) + -1)|0;
$8 = ((($$01318)) + 1|0);
$9 = ((($$019)) + 1|0);
$10 = ($7|0)==(0);
if ($10) {
$14 = 0;
break L1;
} else {
$$01318 = $8;$$01417 = $7;$$019 = $9;
}
}
$11 = $4&255;
$12 = $5&255;
$13 = (($11) - ($12))|0;
$14 = $13;
}
} while(0);
return ($14|0);
}
function _strtoul($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_strtox_339($0,$1,$2,-1,0)|0);
$4 = tempRet0;
return ($3|0);
}
function _strtox_339($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$5 = sp;
HEAP32[$5>>2] = 0;
$6 = ((($5)) + 4|0);
HEAP32[$6>>2] = $0;
$7 = ((($5)) + 44|0);
HEAP32[$7>>2] = $0;
$8 = ($0|0)<(0|0);
$9 = ((($0)) + 2147483647|0);
$$sink = $8 ? (-1) : $9;
$10 = ((($5)) + 8|0);
HEAP32[$10>>2] = $$sink;
$11 = ((($5)) + 76|0);
HEAP32[$11>>2] = -1;
___shlim($5,0);
$12 = (___intscan($5,$2,1,$3,$4)|0);
$13 = tempRet0;
$14 = ($1|0)==(0|0);
if (!($14)) {
$15 = ((($5)) + 108|0);
$16 = HEAP32[$15>>2]|0;
$17 = HEAP32[$6>>2]|0;
$18 = HEAP32[$10>>2]|0;
$19 = (($17) + ($16))|0;
$20 = (($19) - ($18))|0;
$21 = (($0) + ($20)|0);
HEAP32[$1>>2] = $21;
}
tempRet0 = ($13);
STACKTOP = sp;return ($12|0);
}
function ___shlim($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 104|0);
HEAP32[$2>>2] = $1;
$3 = ((($0)) + 8|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($0)) + 4|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($4) - ($6))|0;
$8 = ((($0)) + 108|0);
HEAP32[$8>>2] = $7;
$9 = ($1|0)!=(0);
$10 = ($7|0)>($1|0);
$or$cond = $9 & $10;
if ($or$cond) {
$11 = $6;
$12 = (($11) + ($1)|0);
$13 = ((($0)) + 100|0);
HEAP32[$13>>2] = $12;
} else {
$14 = ((($0)) + 100|0);
HEAP32[$14>>2] = $4;
}
return;
}
function ___intscan($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155188 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156206 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162$lcssa = 0, $$3162211 = 0, $$4163$be = 0, $$4163$lcssa = 0;
var $$5$be = 0, $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7194 = 0, $$8 = 0, $$9$be = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0;
var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0;
var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0;
var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0;
var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0;
var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0;
var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0;
var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0;
var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0;
var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0;
var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0;
var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond183 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = ($1>>>0)>(36);
L1: do {
if ($5) {
$8 = (___errno_location()|0);
HEAP32[$8>>2] = 22;
$289 = 0;$290 = 0;
} else {
$6 = ((($0)) + 4|0);
$7 = ((($0)) + 100|0);
while(1) {
$9 = HEAP32[$6>>2]|0;
$10 = HEAP32[$7>>2]|0;
$11 = ($9>>>0)<($10>>>0);
if ($11) {
$12 = ((($9)) + 1|0);
HEAP32[$6>>2] = $12;
$13 = HEAP8[$9>>0]|0;
$14 = $13&255;
$16 = $14;
} else {
$15 = (___shgetc($0)|0);
$16 = $15;
}
$17 = (_isspace($16)|0);
$18 = ($17|0)==(0);
if ($18) {
break;
}
}
$19 = ($16|0)==(45);
L11: do {
switch ($16|0) {
case 43: case 45: {
$20 = $19 << 31 >> 31;
$21 = HEAP32[$6>>2]|0;
$22 = HEAP32[$7>>2]|0;
$23 = ($21>>>0)<($22>>>0);
if ($23) {
$24 = ((($21)) + 1|0);
HEAP32[$6>>2] = $24;
$25 = HEAP8[$21>>0]|0;
$26 = $25&255;
$$0157 = $20;$$0159 = $26;
break L11;
} else {
$27 = (___shgetc($0)|0);
$$0157 = $20;$$0159 = $27;
break L11;
}
break;
}
default: {
$$0157 = 0;$$0159 = $16;
}
}
} while(0);
$28 = ($1|0)==(0);
$29 = $1 | 16;
$30 = ($29|0)==(16);
$31 = ($$0159|0)==(48);
$or$cond5 = $30 & $31;
do {
if ($or$cond5) {
$32 = HEAP32[$6>>2]|0;
$33 = HEAP32[$7>>2]|0;
$34 = ($32>>>0)<($33>>>0);
if ($34) {
$35 = ((($32)) + 1|0);
HEAP32[$6>>2] = $35;
$36 = HEAP8[$32>>0]|0;
$37 = $36&255;
$40 = $37;
} else {
$38 = (___shgetc($0)|0);
$40 = $38;
}
$39 = $40 | 32;
$41 = ($39|0)==(120);
if (!($41)) {
if ($28) {
$$1160169 = $40;$$1165168 = 8;
label = 46;
break;
} else {
$$1160 = $40;$$1165 = $1;
label = 32;
break;
}
}
$42 = HEAP32[$6>>2]|0;
$43 = HEAP32[$7>>2]|0;
$44 = ($42>>>0)<($43>>>0);
if ($44) {
$45 = ((($42)) + 1|0);
HEAP32[$6>>2] = $45;
$46 = HEAP8[$42>>0]|0;
$47 = $46&255;
$50 = $47;
} else {
$48 = (___shgetc($0)|0);
$50 = $48;
}
$49 = ((28551) + ($50)|0);
$51 = HEAP8[$49>>0]|0;
$52 = ($51&255)>(15);
if ($52) {
$53 = HEAP32[$7>>2]|0;
$54 = ($53|0)==(0|0);
if (!($54)) {
$55 = HEAP32[$6>>2]|0;
$56 = ((($55)) + -1|0);
HEAP32[$6>>2] = $56;
}
$57 = ($2|0)==(0);
if ($57) {
___shlim($0,0);
$289 = 0;$290 = 0;
break L1;
}
if ($54) {
$289 = 0;$290 = 0;
break L1;
}
$58 = HEAP32[$6>>2]|0;
$59 = ((($58)) + -1|0);
HEAP32[$6>>2] = $59;
$289 = 0;$290 = 0;
break L1;
} else {
$$1160169 = $50;$$1165168 = 16;
label = 46;
}
} else {
$$166 = $28 ? 10 : $1;
$60 = ((28551) + ($$0159)|0);
$61 = HEAP8[$60>>0]|0;
$62 = $61&255;
$63 = ($62>>>0)<($$166>>>0);
if ($63) {
$$1160 = $$0159;$$1165 = $$166;
label = 32;
} else {
$64 = HEAP32[$7>>2]|0;
$65 = ($64|0)==(0|0);
if (!($65)) {
$66 = HEAP32[$6>>2]|0;
$67 = ((($66)) + -1|0);
HEAP32[$6>>2] = $67;
}
___shlim($0,0);
$68 = (___errno_location()|0);
HEAP32[$68>>2] = 22;
$289 = 0;$290 = 0;
break L1;
}
}
} while(0);
if ((label|0) == 32) {
$69 = ($$1165|0)==(10);
if ($69) {
$70 = (($$1160) + -48)|0;
$71 = ($70>>>0)<(10);
if ($71) {
$$0154222 = 0;$74 = $70;
while(1) {
$72 = ($$0154222*10)|0;
$73 = (($72) + ($74))|0;
$75 = HEAP32[$6>>2]|0;
$76 = HEAP32[$7>>2]|0;
$77 = ($75>>>0)<($76>>>0);
if ($77) {
$78 = ((($75)) + 1|0);
HEAP32[$6>>2] = $78;
$79 = HEAP8[$75>>0]|0;
$80 = $79&255;
$$2161$be = $80;
} else {
$81 = (___shgetc($0)|0);
$$2161$be = $81;
}
$82 = (($$2161$be) + -48)|0;
$83 = ($82>>>0)<(10);
$84 = ($73>>>0)<(429496729);
$85 = $83 & $84;
if ($85) {
$$0154222 = $73;$74 = $82;
} else {
break;
}
}
$$2161$lcssa = $$2161$be;$291 = $73;$292 = 0;
} else {
$$2161$lcssa = $$1160;$291 = 0;$292 = 0;
}
$86 = (($$2161$lcssa) + -48)|0;
$87 = ($86>>>0)<(10);
if ($87) {
$$3162211 = $$2161$lcssa;$88 = $291;$89 = $292;$92 = $86;
while(1) {
$90 = (___muldi3(($88|0),($89|0),10,0)|0);
$91 = tempRet0;
$93 = ($92|0)<(0);
$94 = $93 << 31 >> 31;
$95 = $92 ^ -1;
$96 = $94 ^ -1;
$97 = ($91>>>0)>($96>>>0);
$98 = ($90>>>0)>($95>>>0);
$99 = ($91|0)==($96|0);
$100 = $99 & $98;
$101 = $97 | $100;
if ($101) {
$$3162$lcssa = $$3162211;$$lcssa = $92;$293 = $88;$294 = $89;
break;
}
$102 = (_i64Add(($90|0),($91|0),($92|0),($94|0))|0);
$103 = tempRet0;
$104 = HEAP32[$6>>2]|0;
$105 = HEAP32[$7>>2]|0;
$106 = ($104>>>0)<($105>>>0);
if ($106) {
$107 = ((($104)) + 1|0);
HEAP32[$6>>2] = $107;
$108 = HEAP8[$104>>0]|0;
$109 = $108&255;
$$3162$be = $109;
} else {
$110 = (___shgetc($0)|0);
$$3162$be = $110;
}
$111 = (($$3162$be) + -48)|0;
$112 = ($111>>>0)<(10);
$113 = ($103>>>0)<(429496729);
$114 = ($102>>>0)<(2576980378);
$115 = ($103|0)==(429496729);
$116 = $115 & $114;
$117 = $113 | $116;
$or$cond7 = $112 & $117;
if ($or$cond7) {
$$3162211 = $$3162$be;$88 = $102;$89 = $103;$92 = $111;
} else {
$$3162$lcssa = $$3162$be;$$lcssa = $111;$293 = $102;$294 = $103;
break;
}
}
$118 = ($$lcssa>>>0)>(9);
if ($118) {
$$1158 = $$0157;$262 = $294;$264 = $293;
} else {
$$1165167 = 10;$$8 = $$3162$lcssa;$295 = $293;$296 = $294;
label = 72;
}
} else {
$$1158 = $$0157;$262 = $292;$264 = $291;
}
} else {
$$1160169 = $$1160;$$1165168 = $$1165;
label = 46;
}
}
L63: do {
if ((label|0) == 46) {
$119 = (($$1165168) + -1)|0;
$120 = $119 & $$1165168;
$121 = ($120|0)==(0);
if ($121) {
$126 = ($$1165168*23)|0;
$127 = $126 >>> 5;
$128 = $127 & 7;
$129 = (28807 + ($128)|0);
$130 = HEAP8[$129>>0]|0;
$131 = $130 << 24 >> 24;
$132 = ((28551) + ($$1160169)|0);
$133 = HEAP8[$132>>0]|0;
$134 = $133&255;
$135 = ($134>>>0)<($$1165168>>>0);
if ($135) {
$$1155188 = 0;$138 = $134;
while(1) {
$136 = $$1155188 << $131;
$137 = $138 | $136;
$139 = HEAP32[$6>>2]|0;
$140 = HEAP32[$7>>2]|0;
$141 = ($139>>>0)<($140>>>0);
if ($141) {
$142 = ((($139)) + 1|0);
HEAP32[$6>>2] = $142;
$143 = HEAP8[$139>>0]|0;
$144 = $143&255;
$$4163$be = $144;
} else {
$145 = (___shgetc($0)|0);
$$4163$be = $145;
}
$146 = ((28551) + ($$4163$be)|0);
$147 = HEAP8[$146>>0]|0;
$148 = $147&255;
$149 = ($148>>>0)<($$1165168>>>0);
$150 = ($137>>>0)<(134217728);
$151 = $150 & $149;
if ($151) {
$$1155188 = $137;$138 = $148;
} else {
break;
}
}
$$4163$lcssa = $$4163$be;$155 = $147;$157 = 0;$159 = $137;
} else {
$$4163$lcssa = $$1160169;$155 = $133;$157 = 0;$159 = 0;
}
$152 = (_bitshift64Lshr(-1,-1,($131|0))|0);
$153 = tempRet0;
$154 = $155&255;
$156 = ($154>>>0)>=($$1165168>>>0);
$158 = ($157>>>0)>($153>>>0);
$160 = ($159>>>0)>($152>>>0);
$161 = ($157|0)==($153|0);
$162 = $161 & $160;
$163 = $158 | $162;
$or$cond183 = $156 | $163;
if ($or$cond183) {
$$1165167 = $$1165168;$$8 = $$4163$lcssa;$295 = $159;$296 = $157;
label = 72;
break;
} else {
$164 = $159;$165 = $157;$169 = $155;
}
while(1) {
$166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0);
$167 = tempRet0;
$168 = $169&255;
$170 = $168 | $166;
$171 = HEAP32[$6>>2]|0;
$172 = HEAP32[$7>>2]|0;
$173 = ($171>>>0)<($172>>>0);
if ($173) {
$174 = ((($171)) + 1|0);
HEAP32[$6>>2] = $174;
$175 = HEAP8[$171>>0]|0;
$176 = $175&255;
$$5$be = $176;
} else {
$177 = (___shgetc($0)|0);
$$5$be = $177;
}
$178 = ((28551) + ($$5$be)|0);
$179 = HEAP8[$178>>0]|0;
$180 = $179&255;
$181 = ($180>>>0)>=($$1165168>>>0);
$182 = ($167>>>0)>($153>>>0);
$183 = ($170>>>0)>($152>>>0);
$184 = ($167|0)==($153|0);
$185 = $184 & $183;
$186 = $182 | $185;
$or$cond = $181 | $186;
if ($or$cond) {
$$1165167 = $$1165168;$$8 = $$5$be;$295 = $170;$296 = $167;
label = 72;
break L63;
} else {
$164 = $170;$165 = $167;$169 = $179;
}
}
}
$122 = ((28551) + ($$1160169)|0);
$123 = HEAP8[$122>>0]|0;
$124 = $123&255;
$125 = ($124>>>0)<($$1165168>>>0);
if ($125) {
$$2156206 = 0;$189 = $124;
while(1) {
$187 = Math_imul($$2156206, $$1165168)|0;
$188 = (($189) + ($187))|0;
$190 = HEAP32[$6>>2]|0;
$191 = HEAP32[$7>>2]|0;
$192 = ($190>>>0)<($191>>>0);
if ($192) {
$193 = ((($190)) + 1|0);
HEAP32[$6>>2] = $193;
$194 = HEAP8[$190>>0]|0;
$195 = $194&255;
$$6$be = $195;
} else {
$196 = (___shgetc($0)|0);
$$6$be = $196;
}
$197 = ((28551) + ($$6$be)|0);
$198 = HEAP8[$197>>0]|0;
$199 = $198&255;
$200 = ($199>>>0)<($$1165168>>>0);
$201 = ($188>>>0)<(119304647);
$202 = $201 & $200;
if ($202) {
$$2156206 = $188;$189 = $199;
} else {
break;
}
}
$$6$lcssa = $$6$be;$204 = $198;$297 = $188;$298 = 0;
} else {
$$6$lcssa = $$1160169;$204 = $123;$297 = 0;$298 = 0;
}
$203 = $204&255;
$205 = ($203>>>0)<($$1165168>>>0);
if ($205) {
$206 = (___udivdi3(-1,-1,($$1165168|0),0)|0);
$207 = tempRet0;
$$7194 = $$6$lcssa;$208 = $298;$210 = $297;$218 = $204;
while(1) {
$209 = ($208>>>0)>($207>>>0);
$211 = ($210>>>0)>($206>>>0);
$212 = ($208|0)==($207|0);
$213 = $212 & $211;
$214 = $209 | $213;
if ($214) {
$$1165167 = $$1165168;$$8 = $$7194;$295 = $210;$296 = $208;
label = 72;
break L63;
}
$215 = (___muldi3(($210|0),($208|0),($$1165168|0),0)|0);
$216 = tempRet0;
$217 = $218&255;
$219 = $217 ^ -1;
$220 = ($216>>>0)>(4294967295);
$221 = ($215>>>0)>($219>>>0);
$222 = ($216|0)==(-1);
$223 = $222 & $221;
$224 = $220 | $223;
if ($224) {
$$1165167 = $$1165168;$$8 = $$7194;$295 = $210;$296 = $208;
label = 72;
break L63;
}
$225 = (_i64Add(($217|0),0,($215|0),($216|0))|0);
$226 = tempRet0;
$227 = HEAP32[$6>>2]|0;
$228 = HEAP32[$7>>2]|0;
$229 = ($227>>>0)<($228>>>0);
if ($229) {
$230 = ((($227)) + 1|0);
HEAP32[$6>>2] = $230;
$231 = HEAP8[$227>>0]|0;
$232 = $231&255;
$$7$be = $232;
} else {
$233 = (___shgetc($0)|0);
$$7$be = $233;
}
$234 = ((28551) + ($$7$be)|0);
$235 = HEAP8[$234>>0]|0;
$236 = $235&255;
$237 = ($236>>>0)<($$1165168>>>0);
if ($237) {
$$7194 = $$7$be;$208 = $226;$210 = $225;$218 = $235;
} else {
$$1165167 = $$1165168;$$8 = $$7$be;$295 = $225;$296 = $226;
label = 72;
break;
}
}
} else {
$$1165167 = $$1165168;$$8 = $$6$lcssa;$295 = $297;$296 = $298;
label = 72;
}
}
} while(0);
if ((label|0) == 72) {
$238 = ((28551) + ($$8)|0);
$239 = HEAP8[$238>>0]|0;
$240 = $239&255;
$241 = ($240>>>0)<($$1165167>>>0);
if ($241) {
while(1) {
$242 = HEAP32[$6>>2]|0;
$243 = HEAP32[$7>>2]|0;
$244 = ($242>>>0)<($243>>>0);
if ($244) {
$245 = ((($242)) + 1|0);
HEAP32[$6>>2] = $245;
$246 = HEAP8[$242>>0]|0;
$247 = $246&255;
$$9$be = $247;
} else {
$248 = (___shgetc($0)|0);
$$9$be = $248;
}
$249 = ((28551) + ($$9$be)|0);
$250 = HEAP8[$249>>0]|0;
$251 = $250&255;
$252 = ($251>>>0)<($$1165167>>>0);
if (!($252)) {
break;
}
}
$253 = (___errno_location()|0);
HEAP32[$253>>2] = 34;
$254 = $3 & 1;
$255 = ($254|0)==(0);
$256 = (0)==(0);
$257 = $255 & $256;
$$0157$ = $257 ? $$0157 : 0;
$$1158 = $$0157$;$262 = $4;$264 = $3;
} else {
$$1158 = $$0157;$262 = $296;$264 = $295;
}
}
$258 = HEAP32[$7>>2]|0;
$259 = ($258|0)==(0|0);
if (!($259)) {
$260 = HEAP32[$6>>2]|0;
$261 = ((($260)) + -1|0);
HEAP32[$6>>2] = $261;
}
$263 = ($262>>>0)<($4>>>0);
$265 = ($264>>>0)<($3>>>0);
$266 = ($262|0)==($4|0);
$267 = $266 & $265;
$268 = $263 | $267;
if (!($268)) {
$269 = $3 & 1;
$270 = ($269|0)!=(0);
$271 = (0)!=(0);
$272 = $270 | $271;
$273 = ($$1158|0)!=(0);
$or$cond12 = $272 | $273;
if (!($or$cond12)) {
$274 = (___errno_location()|0);
HEAP32[$274>>2] = 34;
$275 = (_i64Add(($3|0),($4|0),-1,-1)|0);
$276 = tempRet0;
$289 = $276;$290 = $275;
break;
}
$277 = ($262>>>0)>($4>>>0);
$278 = ($264>>>0)>($3>>>0);
$279 = ($262|0)==($4|0);
$280 = $279 & $278;
$281 = $277 | $280;
if ($281) {
$282 = (___errno_location()|0);
HEAP32[$282>>2] = 34;
$289 = $4;$290 = $3;
break;
}
}
$283 = ($$1158|0)<(0);
$284 = $283 << 31 >> 31;
$285 = $264 ^ $$1158;
$286 = $262 ^ $284;
$287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0);
$288 = tempRet0;
$289 = $288;$290 = $287;
}
} while(0);
tempRet0 = ($289);
return ($290|0);
}
function ___shgetc($0) {
$0 = $0|0;
var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28 = 0, $$pre = 0, $$pre29 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 104|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)==(0);
if ($3) {
label = 3;
} else {
$4 = ((($0)) + 108|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)<($2|0);
if ($6) {
label = 3;
} else {
label = 4;
}
}
if ((label|0) == 3) {
$7 = (___uflow($0)|0);
$8 = ($7|0)<(0);
if ($8) {
label = 4;
} else {
$10 = HEAP32[$1>>2]|0;
$11 = ($10|0)==(0);
$$phi$trans$insert = ((($0)) + 8|0);
$$pre = HEAP32[$$phi$trans$insert>>2]|0;
if ($11) {
$12 = $$pre;
$42 = $12;
label = 9;
} else {
$13 = ((($0)) + 4|0);
$14 = HEAP32[$13>>2]|0;
$15 = $14;
$16 = (($$pre) - ($15))|0;
$17 = ((($0)) + 108|0);
$18 = HEAP32[$17>>2]|0;
$19 = (($10) - ($18))|0;
$20 = ($16|0)<($19|0);
$21 = $$pre;
if ($20) {
$42 = $21;
label = 9;
} else {
$22 = (($19) + -1)|0;
$23 = (($14) + ($22)|0);
$24 = ((($0)) + 100|0);
HEAP32[$24>>2] = $23;
$26 = $21;
}
}
if ((label|0) == 9) {
$25 = ((($0)) + 100|0);
HEAP32[$25>>2] = $$pre;
$26 = $42;
}
$27 = ($26|0)==(0|0);
$$phi$trans$insert28 = ((($0)) + 4|0);
if ($27) {
$$pre29 = HEAP32[$$phi$trans$insert28>>2]|0;
$37 = $$pre29;
} else {
$28 = HEAP32[$$phi$trans$insert28>>2]|0;
$29 = $26;
$30 = ((($0)) + 108|0);
$31 = HEAP32[$30>>2]|0;
$32 = (($29) + 1)|0;
$33 = (($32) - ($28))|0;
$34 = (($33) + ($31))|0;
HEAP32[$30>>2] = $34;
$35 = $28;
$37 = $35;
}
$36 = ((($37)) + -1|0);
$38 = HEAP8[$36>>0]|0;
$39 = $38&255;
$40 = ($39|0)==($7|0);
if ($40) {
$$0 = $7;
} else {
$41 = $7&255;
HEAP8[$36>>0] = $41;
$$0 = $7;
}
}
}
if ((label|0) == 4) {
$9 = ((($0)) + 100|0);
HEAP32[$9>>2] = 0;
$$0 = -1;
}
return ($$0|0);
}
function _isspace($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(32);
$2 = (($0) + -9)|0;
$3 = ($2>>>0)<(5);
$4 = $1 | $3;
$5 = $4&1;
return ($5|0);
}
function ___uflow($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = ((($0)) + 8|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)==(0|0);
if ($4) {
$5 = (___toread($0)|0);
$6 = ($5|0)==(0);
if ($6) {
label = 3;
} else {
$$0 = -1;
}
} else {
label = 3;
}
if ((label|0) == 3) {
$7 = ((($0)) + 32|0);
$8 = HEAP32[$7>>2]|0;
$9 = (FUNCTION_TABLE_iiii[$8 & 127]($0,$1,1)|0);
$10 = ($9|0)==(1);
if ($10) {
$11 = HEAP8[$1>>0]|0;
$12 = $11&255;
$$0 = $12;
} else {
$$0 = -1;
}
}
STACKTOP = sp;return ($$0|0);
}
function ___toread($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 74|0);
$2 = HEAP8[$1>>0]|0;
$3 = $2 << 24 >> 24;
$4 = (($3) + 255)|0;
$5 = $4 | $3;
$6 = $5&255;
HEAP8[$1>>0] = $6;
$7 = ((($0)) + 20|0);
$8 = HEAP32[$7>>2]|0;
$9 = ((($0)) + 44|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($8>>>0)>($10>>>0);
if ($11) {
$12 = ((($0)) + 36|0);
$13 = HEAP32[$12>>2]|0;
(FUNCTION_TABLE_iiii[$13 & 127]($0,0,0)|0);
}
$14 = ((($0)) + 16|0);
HEAP32[$14>>2] = 0;
$15 = ((($0)) + 28|0);
HEAP32[$15>>2] = 0;
HEAP32[$7>>2] = 0;
$16 = HEAP32[$0>>2]|0;
$17 = $16 & 20;
$18 = ($17|0)==(0);
if ($18) {
$22 = HEAP32[$9>>2]|0;
$23 = ((($0)) + 8|0);
HEAP32[$23>>2] = $22;
$24 = ((($0)) + 4|0);
HEAP32[$24>>2] = $22;
$$0 = 0;
} else {
$19 = $16 & 4;
$20 = ($19|0)==(0);
if ($20) {
$$0 = -1;
} else {
$21 = $16 | 32;
HEAP32[$0>>2] = $21;
$$0 = -1;
}
}
return ($$0|0);
}
function _vsnprintf($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
$4 = sp + 112|0;
$5 = sp;
dest=$5; src=10540; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
$6 = (($1) + -1)|0;
$7 = ($6>>>0)>(2147483646);
if ($7) {
$8 = ($1|0)==(0);
if ($8) {
$$014 = $4;$$015 = 1;
label = 4;
} else {
$9 = (___errno_location()|0);
HEAP32[$9>>2] = 75;
$$0 = -1;
}
} else {
$$014 = $0;$$015 = $1;
label = 4;
}
if ((label|0) == 4) {
$10 = $$014;
$11 = (-2 - ($10))|0;
$12 = ($$015>>>0)>($11>>>0);
$$$015 = $12 ? $11 : $$015;
$13 = ((($5)) + 48|0);
HEAP32[$13>>2] = $$$015;
$14 = ((($5)) + 20|0);
HEAP32[$14>>2] = $$014;
$15 = ((($5)) + 44|0);
HEAP32[$15>>2] = $$014;
$16 = (($$014) + ($$$015)|0);
$17 = ((($5)) + 16|0);
HEAP32[$17>>2] = $16;
$18 = ((($5)) + 28|0);
HEAP32[$18>>2] = $16;
$19 = (_vfprintf($5,$2,$3)|0);
$20 = ($$$015|0)==(0);
if ($20) {
$$0 = $19;
} else {
$21 = HEAP32[$14>>2]|0;
$22 = HEAP32[$17>>2]|0;
$23 = ($21|0)==($22|0);
$24 = $23 << 31 >> 31;
$25 = (($21) + ($24)|0);
HEAP8[$25>>0] = 0;
$$0 = $19;
}
}
STACKTOP = sp;return ($$0|0);
}
function _vfprintf($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
$3 = sp + 120|0;
$4 = sp + 80|0;
$5 = sp;
$6 = sp + 136|0;
dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$vacopy_currentptr = HEAP32[$2>>2]|0;
HEAP32[$3>>2] = $vacopy_currentptr;
$7 = (_printf_core(0,$1,$3,$5,$4)|0);
$8 = ($7|0)<(0);
if ($8) {
$$0 = -1;
} else {
$9 = ((($0)) + 76|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10|0)>(-1);
if ($11) {
$12 = (___lockfile($0)|0);
$39 = $12;
} else {
$39 = 0;
}
$13 = HEAP32[$0>>2]|0;
$14 = $13 & 32;
$15 = ((($0)) + 74|0);
$16 = HEAP8[$15>>0]|0;
$17 = ($16<<24>>24)<(1);
if ($17) {
$18 = $13 & -33;
HEAP32[$0>>2] = $18;
}
$19 = ((($0)) + 48|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($20|0)==(0);
if ($21) {
$23 = ((($0)) + 44|0);
$24 = HEAP32[$23>>2]|0;
HEAP32[$23>>2] = $6;
$25 = ((($0)) + 28|0);
HEAP32[$25>>2] = $6;
$26 = ((($0)) + 20|0);
HEAP32[$26>>2] = $6;
HEAP32[$19>>2] = 80;
$27 = ((($6)) + 80|0);
$28 = ((($0)) + 16|0);
HEAP32[$28>>2] = $27;
$29 = (_printf_core($0,$1,$3,$5,$4)|0);
$30 = ($24|0)==(0|0);
if ($30) {
$$1 = $29;
} else {
$31 = ((($0)) + 36|0);
$32 = HEAP32[$31>>2]|0;
(FUNCTION_TABLE_iiii[$32 & 127]($0,0,0)|0);
$33 = HEAP32[$26>>2]|0;
$34 = ($33|0)==(0|0);
$$ = $34 ? -1 : $29;
HEAP32[$23>>2] = $24;
HEAP32[$19>>2] = 0;
HEAP32[$28>>2] = 0;
HEAP32[$25>>2] = 0;
HEAP32[$26>>2] = 0;
$$1 = $$;
}
} else {
$22 = (_printf_core($0,$1,$3,$5,$4)|0);
$$1 = $22;
}
$35 = HEAP32[$0>>2]|0;
$36 = $35 & 32;
$37 = ($36|0)==(0);
$$1$ = $37 ? $$1 : -1;
$38 = $35 | $14;
HEAP32[$0>>2] = $38;
$40 = ($39|0)==(0);
if (!($40)) {
___unlockfile($0);
}
$$0 = $$1$;
}
STACKTOP = sp;return ($$0|0);
}
function _printf_core($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$3484$i = 0, $$$3484705$i = 0, $$$3484706$i = 0, $$$3501$i = 0, $$$4266 = 0, $$$4502$i = 0, $$$5 = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$lcssa$i300 = 0, $$0228 = 0, $$0229396 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0;
var $$0240$lcssa = 0, $$0240$lcssa460 = 0, $$0240395 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0, $$0249383 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$ = 0, $$0259 = 0, $$0262342 = 0, $$0262390 = 0, $$0269 = 0, $$0269$phi = 0, $$0321 = 0, $$0463$lcssa$i = 0, $$0463594$i = 0, $$0464603$i = 0;
var $$0466$i = 0.0, $$0470$i = 0, $$0471$i = 0.0, $$0479$i = 0, $$0487652$i = 0, $$0488$i = 0, $$0488663$i = 0, $$0488665$i = 0, $$0496$$9$i = 0, $$0497664$i = 0, $$0498$i = 0, $$05$lcssa$i = 0, $$0509592$i = 0.0, $$0510$i = 0, $$0511$i = 0, $$0514647$i = 0, $$0520$i = 0, $$0522$$i = 0, $$0522$i = 0, $$0524$i = 0;
var $$0526$i = 0, $$0528$i = 0, $$0528639$i = 0, $$0528641$i = 0, $$0531646$i = 0, $$056$i = 0, $$06$i = 0, $$06$i290 = 0, $$06$i298 = 0, $$1 = 0, $$1230407 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241406 = 0, $$1244394 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0, $$1260 = 0;
var $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$1322 = 0, $$1465$i = 0, $$1467$i = 0.0, $$1469$i = 0.0, $$1472$i = 0.0, $$1480$i = 0, $$1482$lcssa$i = 0, $$1482671$i = 0, $$1489651$i = 0, $$1499$lcssa$i = 0, $$1499670$i = 0, $$1508593$i = 0, $$1512$lcssa$i = 0, $$1512617$i = 0, $$1515$i = 0, $$1521$i = 0, $$1525$i = 0;
var $$1527$i = 0, $$1529624$i = 0, $$1532$lcssa$i = 0, $$1532640$i = 0, $$1607$i = 0, $$2 = 0, $$2$i = 0, $$2234 = 0, $$2239 = 0, $$2242381 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2261 = 0, $$2271 = 0, $$2323$lcssa = 0, $$2323382 = 0, $$2473$i = 0.0, $$2476$$545$i = 0;
var $$2476$$547$i = 0, $$2476$i = 0, $$2483$ph$i = 0, $$2490$lcssa$i = 0, $$2490632$i = 0, $$2500$i = 0, $$2513$i = 0, $$2516628$i = 0, $$2530$i = 0, $$2533627$i = 0, $$3$i = 0.0, $$3257 = 0, $$3265 = 0, $$3272 = 0, $$331 = 0, $$332 = 0, $$333 = 0, $$3379 = 0, $$3477$i = 0, $$3484$lcssa$i = 0;
var $$3484658$i = 0, $$3501$lcssa$i = 0, $$3501657$i = 0, $$3534623$i = 0, $$4$i = 0.0, $$4258458 = 0, $$4266 = 0, $$4325 = 0, $$4478$lcssa$i = 0, $$4478600$i = 0, $$4492$i = 0, $$4502$i = 0, $$4518$i = 0, $$5 = 0, $$5$lcssa$i = 0, $$537$i = 0, $$538$$i = 0, $$538$i = 0, $$541$i = 0.0, $$544$i = 0;
var $$546$i = 0, $$5486$lcssa$i = 0, $$5486633$i = 0, $$5493606$i = 0, $$5519$ph$i = 0, $$553$i = 0, $$554$i = 0, $$557$i = 0.0, $$5611$i = 0, $$6 = 0, $$6$i = 0, $$6268 = 0, $$6494599$i = 0, $$7 = 0, $$7495610$i = 0, $$7505$$i = 0, $$7505$i = 0, $$7505$ph$i = 0, $$8$i = 0, $$9$ph$i = 0;
var $$lcssa683$i = 0, $$neg$i = 0, $$neg572$i = 0, $$pn$i = 0, $$pr = 0, $$pr$i = 0, $$pr571$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi704$iZ2D = 0, $$pre452 = 0, $$pre453 = 0, $$pre454 = 0, $$pre697$i = 0, $$pre700$i = 0, $$pre703$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0;
var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0;
var $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0;
var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0;
var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0;
var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0;
var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0.0, $372 = 0, $373 = 0, $374 = 0, $375 = 0.0;
var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0;
var $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0.0, $404 = 0.0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0;
var $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0.0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0.0, $424 = 0.0, $425 = 0.0, $426 = 0.0, $427 = 0.0, $428 = 0.0, $429 = 0, $43 = 0;
var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0;
var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0.0, $455 = 0.0, $456 = 0.0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0;
var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0;
var $485 = 0, $486 = 0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0.0, $494 = 0.0, $495 = 0.0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0;
var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0;
var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0;
var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0;
var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0;
var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0;
var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0.0, $606 = 0.0, $607 = 0, $608 = 0.0, $609 = 0, $61 = 0;
var $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0;
var $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0;
var $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0;
var $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0;
var $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0;
var $700 = 0, $701 = 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, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0;
var $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0;
var $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0;
var $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 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, $771 = 0, $772 = 0;
var $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0;
var $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0;
var $809 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $exitcond$i = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit$i = 0, $isdigit$i292 = 0, $isdigit275 = 0;
var $isdigit277 = 0, $isdigit5$i = 0, $isdigit5$i288 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp$i = 0, $isdigittmp$i291 = 0, $isdigittmp274 = 0, $isdigittmp276 = 0, $isdigittmp4$i = 0, $isdigittmp4$i287 = 0, $isdigittmp7$i = 0, $isdigittmp7$i289 = 0, $notlhs$i = 0, $notrhs$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond280 = 0, $or$cond282 = 0, $or$cond285 = 0;
var $or$cond3$not$i = 0, $or$cond412 = 0, $or$cond540$i = 0, $or$cond543$i = 0, $or$cond552$i = 0, $or$cond6$i = 0, $scevgep694$i = 0, $scevgep694695$i = 0, $storemerge = 0, $storemerge273345 = 0, $storemerge273389 = 0, $storemerge278 = 0, $sum = 0, $trunc = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 624|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(624|0);
$5 = sp + 24|0;
$6 = sp + 16|0;
$7 = sp + 588|0;
$8 = sp + 576|0;
$9 = sp;
$10 = sp + 536|0;
$11 = sp + 8|0;
$12 = sp + 528|0;
$13 = ($0|0)!=(0|0);
$14 = ((($10)) + 40|0);
$15 = $14;
$16 = ((($10)) + 39|0);
$17 = ((($11)) + 4|0);
$18 = $7;
$19 = (0 - ($18))|0;
$20 = ((($8)) + 12|0);
$21 = ((($8)) + 11|0);
$22 = $20;
$23 = (($22) - ($18))|0;
$24 = (-2 - ($18))|0;
$25 = (($22) + 2)|0;
$26 = ((($5)) + 288|0);
$27 = ((($7)) + 9|0);
$28 = $27;
$29 = ((($7)) + 8|0);
$$0243 = 0;$$0247 = 0;$$0269 = 0;$$0321 = $1;
L1: while(1) {
$30 = ($$0247|0)>(-1);
do {
if ($30) {
$31 = (2147483647 - ($$0247))|0;
$32 = ($$0243|0)>($31|0);
if ($32) {
$33 = (___errno_location()|0);
HEAP32[$33>>2] = 75;
$$1248 = -1;
break;
} else {
$34 = (($$0243) + ($$0247))|0;
$$1248 = $34;
break;
}
} else {
$$1248 = $$0247;
}
} while(0);
$35 = HEAP8[$$0321>>0]|0;
$36 = ($35<<24>>24)==(0);
if ($36) {
label = 243;
break;
} else {
$$1322 = $$0321;$37 = $35;
}
L9: while(1) {
switch ($37<<24>>24) {
case 37: {
$$0249383 = $$1322;$$2323382 = $$1322;
label = 9;
break L9;
break;
}
case 0: {
$$0249$lcssa = $$1322;$$2323$lcssa = $$1322;
break L9;
break;
}
default: {
}
}
$38 = ((($$1322)) + 1|0);
$$pre = HEAP8[$38>>0]|0;
$$1322 = $38;$37 = $$pre;
}
L12: do {
if ((label|0) == 9) {
while(1) {
label = 0;
$39 = ((($$2323382)) + 1|0);
$40 = HEAP8[$39>>0]|0;
$41 = ($40<<24>>24)==(37);
if (!($41)) {
$$0249$lcssa = $$0249383;$$2323$lcssa = $$2323382;
break L12;
}
$42 = ((($$0249383)) + 1|0);
$43 = ((($$2323382)) + 2|0);
$44 = HEAP8[$43>>0]|0;
$45 = ($44<<24>>24)==(37);
if ($45) {
$$0249383 = $42;$$2323382 = $43;
label = 9;
} else {
$$0249$lcssa = $42;$$2323$lcssa = $43;
break;
}
}
}
} while(0);
$46 = $$0249$lcssa;
$47 = $$0321;
$48 = (($46) - ($47))|0;
if ($13) {
$49 = HEAP32[$0>>2]|0;
$50 = $49 & 32;
$51 = ($50|0)==(0);
if ($51) {
(___fwritex($$0321,$48,$0)|0);
}
}
$52 = ($48|0)==(0);
if (!($52)) {
$$0269$phi = $$0269;$$0243 = $48;$$0247 = $$1248;$$0321 = $$2323$lcssa;$$0269 = $$0269$phi;
continue;
}
$53 = ((($$2323$lcssa)) + 1|0);
$54 = HEAP8[$53>>0]|0;
$55 = $54 << 24 >> 24;
$isdigittmp = (($55) + -48)|0;
$isdigit = ($isdigittmp>>>0)<(10);
if ($isdigit) {
$56 = ((($$2323$lcssa)) + 2|0);
$57 = HEAP8[$56>>0]|0;
$58 = ($57<<24>>24)==(36);
$59 = ((($$2323$lcssa)) + 3|0);
$$331 = $58 ? $59 : $53;
$$$0269 = $58 ? 1 : $$0269;
$isdigittmp$ = $58 ? $isdigittmp : -1;
$$pre452 = HEAP8[$$331>>0]|0;
$$0253 = $isdigittmp$;$$1270 = $$$0269;$61 = $$pre452;$storemerge = $$331;
} else {
$$0253 = -1;$$1270 = $$0269;$61 = $54;$storemerge = $53;
}
$60 = $61 << 24 >> 24;
$62 = (($60) + -32)|0;
$63 = ($62>>>0)<(32);
L25: do {
if ($63) {
$$0262390 = 0;$65 = $62;$69 = $61;$storemerge273389 = $storemerge;
while(1) {
$64 = 1 << $65;
$66 = $64 & 75913;
$67 = ($66|0)==(0);
if ($67) {
$$0262342 = $$0262390;$78 = $69;$storemerge273345 = $storemerge273389;
break L25;
}
$68 = $69 << 24 >> 24;
$70 = (($68) + -32)|0;
$71 = 1 << $70;
$72 = $71 | $$0262390;
$73 = ((($storemerge273389)) + 1|0);
$74 = HEAP8[$73>>0]|0;
$75 = $74 << 24 >> 24;
$76 = (($75) + -32)|0;
$77 = ($76>>>0)<(32);
if ($77) {
$$0262390 = $72;$65 = $76;$69 = $74;$storemerge273389 = $73;
} else {
$$0262342 = $72;$78 = $74;$storemerge273345 = $73;
break;
}
}
} else {
$$0262342 = 0;$78 = $61;$storemerge273345 = $storemerge;
}
} while(0);
$79 = ($78<<24>>24)==(42);
do {
if ($79) {
$80 = ((($storemerge273345)) + 1|0);
$81 = HEAP8[$80>>0]|0;
$82 = $81 << 24 >> 24;
$isdigittmp276 = (($82) + -48)|0;
$isdigit277 = ($isdigittmp276>>>0)<(10);
if ($isdigit277) {
$83 = ((($storemerge273345)) + 2|0);
$84 = HEAP8[$83>>0]|0;
$85 = ($84<<24>>24)==(36);
if ($85) {
$86 = (($4) + ($isdigittmp276<<2)|0);
HEAP32[$86>>2] = 10;
$87 = HEAP8[$80>>0]|0;
$88 = $87 << 24 >> 24;
$89 = (($88) + -48)|0;
$90 = (($3) + ($89<<3)|0);
$91 = $90;
$92 = $91;
$93 = HEAP32[$92>>2]|0;
$94 = (($91) + 4)|0;
$95 = $94;
$96 = HEAP32[$95>>2]|0;
$97 = ((($storemerge273345)) + 3|0);
$$0259 = $93;$$2271 = 1;$storemerge278 = $97;
} else {
label = 24;
}
} else {
label = 24;
}
if ((label|0) == 24) {
label = 0;
$98 = ($$1270|0)==(0);
if (!($98)) {
$$0 = -1;
break L1;
}
if (!($13)) {
$$1260 = 0;$$1263 = $$0262342;$$3272 = 0;$$4325 = $80;$$pr = $81;
break;
}
$arglist_current = HEAP32[$2>>2]|0;
$99 = $arglist_current;
$100 = ((0) + 4|0);
$expanded4 = $100;
$expanded = (($expanded4) - 1)|0;
$101 = (($99) + ($expanded))|0;
$102 = ((0) + 4|0);
$expanded8 = $102;
$expanded7 = (($expanded8) - 1)|0;
$expanded6 = $expanded7 ^ -1;
$103 = $101 & $expanded6;
$104 = $103;
$105 = HEAP32[$104>>2]|0;
$arglist_next = ((($104)) + 4|0);
HEAP32[$2>>2] = $arglist_next;
$$0259 = $105;$$2271 = 0;$storemerge278 = $80;
}
$106 = ($$0259|0)<(0);
$107 = $$0262342 | 8192;
$108 = (0 - ($$0259))|0;
$$$0262 = $106 ? $107 : $$0262342;
$$$0259 = $106 ? $108 : $$0259;
$$pre453 = HEAP8[$storemerge278>>0]|0;
$$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$$4325 = $storemerge278;$$pr = $$pre453;
} else {
$109 = $78 << 24 >> 24;
$isdigittmp4$i = (($109) + -48)|0;
$isdigit5$i = ($isdigittmp4$i>>>0)<(10);
if ($isdigit5$i) {
$$06$i = 0;$113 = $storemerge273345;$isdigittmp7$i = $isdigittmp4$i;
while(1) {
$110 = ($$06$i*10)|0;
$111 = (($110) + ($isdigittmp7$i))|0;
$112 = ((($113)) + 1|0);
$114 = HEAP8[$112>>0]|0;
$115 = $114 << 24 >> 24;
$isdigittmp$i = (($115) + -48)|0;
$isdigit$i = ($isdigittmp$i>>>0)<(10);
if ($isdigit$i) {
$$06$i = $111;$113 = $112;$isdigittmp7$i = $isdigittmp$i;
} else {
break;
}
}
$116 = ($111|0)<(0);
if ($116) {
$$0 = -1;
break L1;
} else {
$$1260 = $111;$$1263 = $$0262342;$$3272 = $$1270;$$4325 = $112;$$pr = $114;
}
} else {
$$1260 = 0;$$1263 = $$0262342;$$3272 = $$1270;$$4325 = $storemerge273345;$$pr = $78;
}
}
} while(0);
$117 = ($$pr<<24>>24)==(46);
L45: do {
if ($117) {
$118 = ((($$4325)) + 1|0);
$119 = HEAP8[$118>>0]|0;
$120 = ($119<<24>>24)==(42);
if (!($120)) {
$147 = $119 << 24 >> 24;
$isdigittmp4$i287 = (($147) + -48)|0;
$isdigit5$i288 = ($isdigittmp4$i287>>>0)<(10);
if ($isdigit5$i288) {
$$06$i290 = 0;$151 = $118;$isdigittmp7$i289 = $isdigittmp4$i287;
} else {
$$0254 = 0;$$6 = $118;
break;
}
while(1) {
$148 = ($$06$i290*10)|0;
$149 = (($148) + ($isdigittmp7$i289))|0;
$150 = ((($151)) + 1|0);
$152 = HEAP8[$150>>0]|0;
$153 = $152 << 24 >> 24;
$isdigittmp$i291 = (($153) + -48)|0;
$isdigit$i292 = ($isdigittmp$i291>>>0)<(10);
if ($isdigit$i292) {
$$06$i290 = $149;$151 = $150;$isdigittmp7$i289 = $isdigittmp$i291;
} else {
$$0254 = $149;$$6 = $150;
break L45;
}
}
}
$121 = ((($$4325)) + 2|0);
$122 = HEAP8[$121>>0]|0;
$123 = $122 << 24 >> 24;
$isdigittmp274 = (($123) + -48)|0;
$isdigit275 = ($isdigittmp274>>>0)<(10);
if ($isdigit275) {
$124 = ((($$4325)) + 3|0);
$125 = HEAP8[$124>>0]|0;
$126 = ($125<<24>>24)==(36);
if ($126) {
$127 = (($4) + ($isdigittmp274<<2)|0);
HEAP32[$127>>2] = 10;
$128 = HEAP8[$121>>0]|0;
$129 = $128 << 24 >> 24;
$130 = (($129) + -48)|0;
$131 = (($3) + ($130<<3)|0);
$132 = $131;
$133 = $132;
$134 = HEAP32[$133>>2]|0;
$135 = (($132) + 4)|0;
$136 = $135;
$137 = HEAP32[$136>>2]|0;
$138 = ((($$4325)) + 4|0);
$$0254 = $134;$$6 = $138;
break;
}
}
$139 = ($$3272|0)==(0);
if (!($139)) {
$$0 = -1;
break L1;
}
if ($13) {
$arglist_current2 = HEAP32[$2>>2]|0;
$140 = $arglist_current2;
$141 = ((0) + 4|0);
$expanded11 = $141;
$expanded10 = (($expanded11) - 1)|0;
$142 = (($140) + ($expanded10))|0;
$143 = ((0) + 4|0);
$expanded15 = $143;
$expanded14 = (($expanded15) - 1)|0;
$expanded13 = $expanded14 ^ -1;
$144 = $142 & $expanded13;
$145 = $144;
$146 = HEAP32[$145>>2]|0;
$arglist_next3 = ((($145)) + 4|0);
HEAP32[$2>>2] = $arglist_next3;
$$0254 = $146;$$6 = $121;
} else {
$$0254 = 0;$$6 = $121;
}
} else {
$$0254 = -1;$$6 = $$4325;
}
} while(0);
$$0252 = 0;$$7 = $$6;
while(1) {
$154 = HEAP8[$$7>>0]|0;
$155 = $154 << 24 >> 24;
$156 = (($155) + -65)|0;
$157 = ($156>>>0)>(57);
if ($157) {
$$0 = -1;
break L1;
}
$158 = ((($$7)) + 1|0);
$159 = ((28816 + (($$0252*58)|0)|0) + ($156)|0);
$160 = HEAP8[$159>>0]|0;
$161 = $160&255;
$162 = (($161) + -1)|0;
$163 = ($162>>>0)<(8);
if ($163) {
$$0252 = $161;$$7 = $158;
} else {
break;
}
}
$164 = ($160<<24>>24)==(0);
if ($164) {
$$0 = -1;
break;
}
$165 = ($160<<24>>24)==(19);
$166 = ($$0253|0)>(-1);
do {
if ($165) {
if ($166) {
$$0 = -1;
break L1;
} else {
label = 51;
}
} else {
if ($166) {
$167 = (($4) + ($$0253<<2)|0);
HEAP32[$167>>2] = $161;
$168 = (($3) + ($$0253<<3)|0);
$169 = $168;
$170 = $169;
$171 = HEAP32[$170>>2]|0;
$172 = (($169) + 4)|0;
$173 = $172;
$174 = HEAP32[$173>>2]|0;
$175 = $9;
$176 = $175;
HEAP32[$176>>2] = $171;
$177 = (($175) + 4)|0;
$178 = $177;
HEAP32[$178>>2] = $174;
label = 51;
break;
}
if (!($13)) {
$$0 = 0;
break L1;
}
_pop_arg($9,$161,$2);
}
} while(0);
if ((label|0) == 51) {
label = 0;
if (!($13)) {
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue;
}
}
$179 = HEAP8[$$7>>0]|0;
$180 = $179 << 24 >> 24;
$181 = ($$0252|0)!=(0);
$182 = $180 & 15;
$183 = ($182|0)==(3);
$or$cond280 = $181 & $183;
$184 = $180 & -33;
$$0235 = $or$cond280 ? $184 : $180;
$185 = $$1263 & 8192;
$186 = ($185|0)==(0);
$187 = $$1263 & -65537;
$$1263$ = $186 ? $$1263 : $187;
L74: do {
switch ($$0235|0) {
case 110: {
$trunc = $$0252&255;
switch ($trunc<<24>>24) {
case 0: {
$194 = HEAP32[$9>>2]|0;
HEAP32[$194>>2] = $$1248;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
break;
}
case 1: {
$195 = HEAP32[$9>>2]|0;
HEAP32[$195>>2] = $$1248;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
break;
}
case 2: {
$196 = ($$1248|0)<(0);
$197 = $196 << 31 >> 31;
$198 = HEAP32[$9>>2]|0;
$199 = $198;
$200 = $199;
HEAP32[$200>>2] = $$1248;
$201 = (($199) + 4)|0;
$202 = $201;
HEAP32[$202>>2] = $197;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
break;
}
case 3: {
$203 = $$1248&65535;
$204 = HEAP32[$9>>2]|0;
HEAP16[$204>>1] = $203;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
break;
}
case 4: {
$205 = $$1248&255;
$206 = HEAP32[$9>>2]|0;
HEAP8[$206>>0] = $205;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
break;
}
case 6: {
$207 = HEAP32[$9>>2]|0;
HEAP32[$207>>2] = $$1248;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
break;
}
case 7: {
$208 = ($$1248|0)<(0);
$209 = $208 << 31 >> 31;
$210 = HEAP32[$9>>2]|0;
$211 = $210;
$212 = $211;
HEAP32[$212>>2] = $$1248;
$213 = (($211) + 4)|0;
$214 = $213;
HEAP32[$214>>2] = $209;
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
break;
}
default: {
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
}
}
break;
}
case 112: {
$215 = ($$0254>>>0)>(8);
$216 = $215 ? $$0254 : 8;
$217 = $$1263$ | 8;
$$1236 = 120;$$1255 = $216;$$3265 = $217;
label = 63;
break;
}
case 88: case 120: {
$$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$;
label = 63;
break;
}
case 111: {
$257 = $9;
$258 = $257;
$259 = HEAP32[$258>>2]|0;
$260 = (($257) + 4)|0;
$261 = $260;
$262 = HEAP32[$261>>2]|0;
$263 = ($259|0)==(0);
$264 = ($262|0)==(0);
$265 = $263 & $264;
if ($265) {
$$0$lcssa$i300 = $14;
} else {
$$06$i298 = $14;$267 = $259;$271 = $262;
while(1) {
$266 = $267 & 7;
$268 = $266 | 48;
$269 = $268&255;
$270 = ((($$06$i298)) + -1|0);
HEAP8[$270>>0] = $269;
$272 = (_bitshift64Lshr(($267|0),($271|0),3)|0);
$273 = tempRet0;
$274 = ($272|0)==(0);
$275 = ($273|0)==(0);
$276 = $274 & $275;
if ($276) {
$$0$lcssa$i300 = $270;
break;
} else {
$$06$i298 = $270;$267 = $272;$271 = $273;
}
}
}
$277 = $$1263$ & 8;
$278 = ($277|0)==(0);
if ($278) {
$$0228 = $$0$lcssa$i300;$$1233 = 0;$$1238 = 29296;$$2256 = $$0254;$$4266 = $$1263$;
label = 76;
} else {
$279 = $$0$lcssa$i300;
$280 = (($15) - ($279))|0;
$281 = ($$0254|0)>($280|0);
$282 = (($280) + 1)|0;
$$0254$ = $281 ? $$0254 : $282;
$$0228 = $$0$lcssa$i300;$$1233 = 0;$$1238 = 29296;$$2256 = $$0254$;$$4266 = $$1263$;
label = 76;
}
break;
}
case 105: case 100: {
$283 = $9;
$284 = $283;
$285 = HEAP32[$284>>2]|0;
$286 = (($283) + 4)|0;
$287 = $286;
$288 = HEAP32[$287>>2]|0;
$289 = ($288|0)<(0);
if ($289) {
$290 = (_i64Subtract(0,0,($285|0),($288|0))|0);
$291 = tempRet0;
$292 = $9;
$293 = $292;
HEAP32[$293>>2] = $290;
$294 = (($292) + 4)|0;
$295 = $294;
HEAP32[$295>>2] = $291;
$$0232 = 1;$$0237 = 29296;$300 = $290;$301 = $291;
label = 75;
break L74;
}
$296 = $$1263$ & 2048;
$297 = ($296|0)==(0);
if ($297) {
$298 = $$1263$ & 1;
$299 = ($298|0)==(0);
$$ = $299 ? 29296 : (29298);
$$0232 = $298;$$0237 = $$;$300 = $285;$301 = $288;
label = 75;
} else {
$$0232 = 1;$$0237 = (29297);$300 = $285;$301 = $288;
label = 75;
}
break;
}
case 117: {
$188 = $9;
$189 = $188;
$190 = HEAP32[$189>>2]|0;
$191 = (($188) + 4)|0;
$192 = $191;
$193 = HEAP32[$192>>2]|0;
$$0232 = 0;$$0237 = 29296;$300 = $190;$301 = $193;
label = 75;
break;
}
case 99: {
$321 = $9;
$322 = $321;
$323 = HEAP32[$322>>2]|0;
$324 = (($321) + 4)|0;
$325 = $324;
$326 = HEAP32[$325>>2]|0;
$327 = $323&255;
HEAP8[$16>>0] = $327;
$$2 = $16;$$2234 = 0;$$2239 = 29296;$$2251 = $14;$$5 = 1;$$6268 = $187;
break;
}
case 109: {
$328 = (___errno_location()|0);
$329 = HEAP32[$328>>2]|0;
$330 = (_strerror($329)|0);
$$1 = $330;
label = 81;
break;
}
case 115: {
$331 = HEAP32[$9>>2]|0;
$332 = ($331|0)!=(0|0);
$333 = $332 ? $331 : 29306;
$$1 = $333;
label = 81;
break;
}
case 67: {
$340 = $9;
$341 = $340;
$342 = HEAP32[$341>>2]|0;
$343 = (($340) + 4)|0;
$344 = $343;
$345 = HEAP32[$344>>2]|0;
HEAP32[$11>>2] = $342;
HEAP32[$17>>2] = 0;
HEAP32[$9>>2] = $11;
$$4258458 = -1;$809 = $11;
label = 85;
break;
}
case 83: {
$$pre454 = HEAP32[$9>>2]|0;
$346 = ($$0254|0)==(0);
if ($346) {
_pad($0,32,$$1260,0,$$1263$);
$$0240$lcssa460 = 0;
label = 96;
} else {
$$4258458 = $$0254;$809 = $$pre454;
label = 85;
}
break;
}
case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: {
$371 = +HEAPF64[$9>>3];
HEAP32[$6>>2] = 0;
HEAPF64[tempDoublePtr>>3] = $371;$372 = HEAP32[tempDoublePtr>>2]|0;
$373 = HEAP32[tempDoublePtr+4>>2]|0;
$374 = ($373|0)<(0);
if ($374) {
$375 = -$371;
$$0471$i = $375;$$0520$i = 1;$$0522$i = 29313;
} else {
$376 = $$1263$ & 2048;
$377 = ($376|0)==(0);
$378 = $$1263$ & 1;
if ($377) {
$379 = ($378|0)==(0);
$$$i = $379 ? (29314) : (29319);
$$0471$i = $371;$$0520$i = $378;$$0522$i = $$$i;
} else {
$$0471$i = $371;$$0520$i = 1;$$0522$i = (29316);
}
}
HEAPF64[tempDoublePtr>>3] = $$0471$i;$380 = HEAP32[tempDoublePtr>>2]|0;
$381 = HEAP32[tempDoublePtr+4>>2]|0;
$382 = $381 & 2146435072;
$383 = ($382>>>0)<(2146435072);
$384 = (0)<(0);
$385 = ($382|0)==(2146435072);
$386 = $385 & $384;
$387 = $383 | $386;
do {
if ($387) {
$403 = (+_frexpl($$0471$i,$6));
$404 = $403 * 2.0;
$405 = $404 != 0.0;
if ($405) {
$406 = HEAP32[$6>>2]|0;
$407 = (($406) + -1)|0;
HEAP32[$6>>2] = $407;
}
$408 = $$0235 | 32;
$409 = ($408|0)==(97);
if ($409) {
$410 = $$0235 & 32;
$411 = ($410|0)==(0);
$412 = ((($$0522$i)) + 9|0);
$$0522$$i = $411 ? $$0522$i : $412;
$413 = $$0520$i | 2;
$414 = ($$0254>>>0)>(11);
$415 = (12 - ($$0254))|0;
$416 = ($415|0)==(0);
$417 = $414 | $416;
do {
if ($417) {
$$1472$i = $404;
} else {
$$0509592$i = 8.0;$$1508593$i = $415;
while(1) {
$418 = (($$1508593$i) + -1)|0;
$419 = $$0509592$i * 16.0;
$420 = ($418|0)==(0);
if ($420) {
break;
} else {
$$0509592$i = $419;$$1508593$i = $418;
}
}
$421 = HEAP8[$$0522$$i>>0]|0;
$422 = ($421<<24>>24)==(45);
if ($422) {
$423 = -$404;
$424 = $423 - $419;
$425 = $419 + $424;
$426 = -$425;
$$1472$i = $426;
break;
} else {
$427 = $404 + $419;
$428 = $427 - $419;
$$1472$i = $428;
break;
}
}
} while(0);
$429 = HEAP32[$6>>2]|0;
$430 = ($429|0)<(0);
$431 = (0 - ($429))|0;
$432 = $430 ? $431 : $429;
$433 = ($432|0)<(0);
$434 = $433 << 31 >> 31;
$435 = (_fmt_u($432,$434,$20)|0);
$436 = ($435|0)==($20|0);
if ($436) {
HEAP8[$21>>0] = 48;
$$0511$i = $21;
} else {
$$0511$i = $435;
}
$437 = $429 >> 31;
$438 = $437 & 2;
$439 = (($438) + 43)|0;
$440 = $439&255;
$441 = ((($$0511$i)) + -1|0);
HEAP8[$441>>0] = $440;
$442 = (($$0235) + 15)|0;
$443 = $442&255;
$444 = ((($$0511$i)) + -2|0);
HEAP8[$444>>0] = $443;
$notrhs$i = ($$0254|0)<(1);
$445 = $$1263$ & 8;
$446 = ($445|0)==(0);
$$0524$i = $7;$$2473$i = $$1472$i;
while(1) {
$447 = (~~(($$2473$i)));
$448 = (29280 + ($447)|0);
$449 = HEAP8[$448>>0]|0;
$450 = $449&255;
$451 = $450 | $410;
$452 = $451&255;
$453 = ((($$0524$i)) + 1|0);
HEAP8[$$0524$i>>0] = $452;
$454 = (+($447|0));
$455 = $$2473$i - $454;
$456 = $455 * 16.0;
$457 = $453;
$458 = (($457) - ($18))|0;
$459 = ($458|0)==(1);
do {
if ($459) {
$notlhs$i = $456 == 0.0;
$or$cond3$not$i = $notrhs$i & $notlhs$i;
$or$cond$i = $446 & $or$cond3$not$i;
if ($or$cond$i) {
$$1525$i = $453;
break;
}
$460 = ((($$0524$i)) + 2|0);
HEAP8[$453>>0] = 46;
$$1525$i = $460;
} else {
$$1525$i = $453;
}
} while(0);
$461 = $456 != 0.0;
if ($461) {
$$0524$i = $$1525$i;$$2473$i = $456;
} else {
break;
}
}
$462 = ($$0254|0)!=(0);
$$pre700$i = $$1525$i;
$463 = (($24) + ($$pre700$i))|0;
$464 = ($463|0)<($$0254|0);
$or$cond412 = $462 & $464;
$465 = $444;
$466 = (($25) + ($$0254))|0;
$467 = (($466) - ($465))|0;
$468 = (($23) - ($465))|0;
$469 = (($468) + ($$pre700$i))|0;
$$0526$i = $or$cond412 ? $467 : $469;
$470 = (($$0526$i) + ($413))|0;
_pad($0,32,$$1260,$470,$$1263$);
$471 = HEAP32[$0>>2]|0;
$472 = $471 & 32;
$473 = ($472|0)==(0);
if ($473) {
(___fwritex($$0522$$i,$413,$0)|0);
}
$474 = $$1263$ ^ 65536;
_pad($0,48,$$1260,$470,$474);
$475 = (($$pre700$i) - ($18))|0;
$476 = HEAP32[$0>>2]|0;
$477 = $476 & 32;
$478 = ($477|0)==(0);
if ($478) {
(___fwritex($7,$475,$0)|0);
}
$479 = (($22) - ($465))|0;
$sum = (($475) + ($479))|0;
$480 = (($$0526$i) - ($sum))|0;
_pad($0,48,$480,0,0);
$481 = HEAP32[$0>>2]|0;
$482 = $481 & 32;
$483 = ($482|0)==(0);
if ($483) {
(___fwritex($444,$479,$0)|0);
}
$484 = $$1263$ ^ 8192;
_pad($0,32,$$1260,$470,$484);
$485 = ($470|0)<($$1260|0);
$$537$i = $485 ? $$1260 : $470;
$$0470$i = $$537$i;
break;
}
$486 = ($$0254|0)<(0);
$$538$i = $486 ? 6 : $$0254;
if ($405) {
$487 = $404 * 268435456.0;
$488 = HEAP32[$6>>2]|0;
$489 = (($488) + -28)|0;
HEAP32[$6>>2] = $489;
$$3$i = $487;$$pr$i = $489;
} else {
$$pre697$i = HEAP32[$6>>2]|0;
$$3$i = $404;$$pr$i = $$pre697$i;
}
$490 = ($$pr$i|0)<(0);
$$554$i = $490 ? $5 : $26;
$$0498$i = $$554$i;$$4$i = $$3$i;
while(1) {
$491 = (~~(($$4$i))>>>0);
HEAP32[$$0498$i>>2] = $491;
$492 = ((($$0498$i)) + 4|0);
$493 = (+($491>>>0));
$494 = $$4$i - $493;
$495 = $494 * 1.0E+9;
$496 = $495 != 0.0;
if ($496) {
$$0498$i = $492;$$4$i = $495;
} else {
break;
}
}
$497 = ($$pr$i|0)>(0);
if ($497) {
$$1482671$i = $$554$i;$$1499670$i = $492;$498 = $$pr$i;
while(1) {
$499 = ($498|0)>(29);
$500 = $499 ? 29 : $498;
$$0488663$i = ((($$1499670$i)) + -4|0);
$501 = ($$0488663$i>>>0)<($$1482671$i>>>0);
do {
if ($501) {
$$2483$ph$i = $$1482671$i;
} else {
$$0488665$i = $$0488663$i;$$0497664$i = 0;
while(1) {
$502 = HEAP32[$$0488665$i>>2]|0;
$503 = (_bitshift64Shl(($502|0),0,($500|0))|0);
$504 = tempRet0;
$505 = (_i64Add(($503|0),($504|0),($$0497664$i|0),0)|0);
$506 = tempRet0;
$507 = (___uremdi3(($505|0),($506|0),1000000000,0)|0);
$508 = tempRet0;
HEAP32[$$0488665$i>>2] = $507;
$509 = (___udivdi3(($505|0),($506|0),1000000000,0)|0);
$510 = tempRet0;
$$0488$i = ((($$0488665$i)) + -4|0);
$511 = ($$0488$i>>>0)<($$1482671$i>>>0);
if ($511) {
break;
} else {
$$0488665$i = $$0488$i;$$0497664$i = $509;
}
}
$512 = ($509|0)==(0);
if ($512) {
$$2483$ph$i = $$1482671$i;
break;
}
$513 = ((($$1482671$i)) + -4|0);
HEAP32[$513>>2] = $509;
$$2483$ph$i = $513;
}
} while(0);
$$2500$i = $$1499670$i;
while(1) {
$514 = ($$2500$i>>>0)>($$2483$ph$i>>>0);
if (!($514)) {
break;
}
$515 = ((($$2500$i)) + -4|0);
$516 = HEAP32[$515>>2]|0;
$517 = ($516|0)==(0);
if ($517) {
$$2500$i = $515;
} else {
break;
}
}
$518 = HEAP32[$6>>2]|0;
$519 = (($518) - ($500))|0;
HEAP32[$6>>2] = $519;
$520 = ($519|0)>(0);
if ($520) {
$$1482671$i = $$2483$ph$i;$$1499670$i = $$2500$i;$498 = $519;
} else {
$$1482$lcssa$i = $$2483$ph$i;$$1499$lcssa$i = $$2500$i;$$pr571$i = $519;
break;
}
}
} else {
$$1482$lcssa$i = $$554$i;$$1499$lcssa$i = $492;$$pr571$i = $$pr$i;
}
$521 = ($$pr571$i|0)<(0);
if ($521) {
$522 = (($$538$i) + 25)|0;
$523 = (($522|0) / 9)&-1;
$524 = (($523) + 1)|0;
$525 = ($408|0)==(102);
$$3484658$i = $$1482$lcssa$i;$$3501657$i = $$1499$lcssa$i;$527 = $$pr571$i;
while(1) {
$526 = (0 - ($527))|0;
$528 = ($526|0)>(9);
$529 = $528 ? 9 : $526;
$530 = ($$3484658$i>>>0)<($$3501657$i>>>0);
do {
if ($530) {
$534 = 1 << $529;
$535 = (($534) + -1)|0;
$536 = 1000000000 >>> $529;
$$0487652$i = 0;$$1489651$i = $$3484658$i;
while(1) {
$537 = HEAP32[$$1489651$i>>2]|0;
$538 = $537 & $535;
$539 = $537 >>> $529;
$540 = (($539) + ($$0487652$i))|0;
HEAP32[$$1489651$i>>2] = $540;
$541 = Math_imul($538, $536)|0;
$542 = ((($$1489651$i)) + 4|0);
$543 = ($542>>>0)<($$3501657$i>>>0);
if ($543) {
$$0487652$i = $541;$$1489651$i = $542;
} else {
break;
}
}
$544 = HEAP32[$$3484658$i>>2]|0;
$545 = ($544|0)==(0);
$546 = ((($$3484658$i)) + 4|0);
$$$3484$i = $545 ? $546 : $$3484658$i;
$547 = ($541|0)==(0);
if ($547) {
$$$3484706$i = $$$3484$i;$$4502$i = $$3501657$i;
break;
}
$548 = ((($$3501657$i)) + 4|0);
HEAP32[$$3501657$i>>2] = $541;
$$$3484706$i = $$$3484$i;$$4502$i = $548;
} else {
$531 = HEAP32[$$3484658$i>>2]|0;
$532 = ($531|0)==(0);
$533 = ((($$3484658$i)) + 4|0);
$$$3484705$i = $532 ? $533 : $$3484658$i;
$$$3484706$i = $$$3484705$i;$$4502$i = $$3501657$i;
}
} while(0);
$549 = $525 ? $$554$i : $$$3484706$i;
$550 = $$4502$i;
$551 = $549;
$552 = (($550) - ($551))|0;
$553 = $552 >> 2;
$554 = ($553|0)>($524|0);
$555 = (($549) + ($524<<2)|0);
$$$4502$i = $554 ? $555 : $$4502$i;
$556 = HEAP32[$6>>2]|0;
$557 = (($556) + ($529))|0;
HEAP32[$6>>2] = $557;
$558 = ($557|0)<(0);
if ($558) {
$$3484658$i = $$$3484706$i;$$3501657$i = $$$4502$i;$527 = $557;
} else {
$$3484$lcssa$i = $$$3484706$i;$$3501$lcssa$i = $$$4502$i;
break;
}
}
} else {
$$3484$lcssa$i = $$1482$lcssa$i;$$3501$lcssa$i = $$1499$lcssa$i;
}
$559 = ($$3484$lcssa$i>>>0)<($$3501$lcssa$i>>>0);
$560 = $$554$i;
do {
if ($559) {
$561 = $$3484$lcssa$i;
$562 = (($560) - ($561))|0;
$563 = $562 >> 2;
$564 = ($563*9)|0;
$565 = HEAP32[$$3484$lcssa$i>>2]|0;
$566 = ($565>>>0)<(10);
if ($566) {
$$1515$i = $564;
break;
} else {
$$0514647$i = $564;$$0531646$i = 10;
}
while(1) {
$567 = ($$0531646$i*10)|0;
$568 = (($$0514647$i) + 1)|0;
$569 = ($565>>>0)<($567>>>0);
if ($569) {
$$1515$i = $568;
break;
} else {
$$0514647$i = $568;$$0531646$i = $567;
}
}
} else {
$$1515$i = 0;
}
} while(0);
$570 = ($408|0)!=(102);
$571 = $570 ? $$1515$i : 0;
$572 = (($$538$i) - ($571))|0;
$573 = ($408|0)==(103);
$574 = ($$538$i|0)!=(0);
$575 = $574 & $573;
$$neg$i = $575 << 31 >> 31;
$576 = (($572) + ($$neg$i))|0;
$577 = $$3501$lcssa$i;
$578 = (($577) - ($560))|0;
$579 = $578 >> 2;
$580 = ($579*9)|0;
$581 = (($580) + -9)|0;
$582 = ($576|0)<($581|0);
if ($582) {
$583 = ((($$554$i)) + 4|0);
$584 = (($576) + 9216)|0;
$585 = (($584|0) / 9)&-1;
$586 = (($585) + -1024)|0;
$587 = (($583) + ($586<<2)|0);
$588 = (($584|0) % 9)&-1;
$$0528639$i = (($588) + 1)|0;
$589 = ($$0528639$i|0)<(9);
if ($589) {
$$0528641$i = $$0528639$i;$$1532640$i = 10;
while(1) {
$590 = ($$1532640$i*10)|0;
$$0528$i = (($$0528641$i) + 1)|0;
$exitcond$i = ($$0528$i|0)==(9);
if ($exitcond$i) {
$$1532$lcssa$i = $590;
break;
} else {
$$0528641$i = $$0528$i;$$1532640$i = $590;
}
}
} else {
$$1532$lcssa$i = 10;
}
$591 = HEAP32[$587>>2]|0;
$592 = (($591>>>0) % ($$1532$lcssa$i>>>0))&-1;
$593 = ($592|0)==(0);
$594 = ((($587)) + 4|0);
$595 = ($594|0)==($$3501$lcssa$i|0);
$or$cond540$i = $595 & $593;
do {
if ($or$cond540$i) {
$$4492$i = $587;$$4518$i = $$1515$i;$$8$i = $$3484$lcssa$i;
} else {
$596 = (($591>>>0) / ($$1532$lcssa$i>>>0))&-1;
$597 = $596 & 1;
$598 = ($597|0)==(0);
$$541$i = $598 ? 9007199254740992.0 : 9007199254740994.0;
$599 = (($$1532$lcssa$i|0) / 2)&-1;
$600 = ($592>>>0)<($599>>>0);
if ($600) {
$$0466$i = 0.5;
} else {
$601 = ($592|0)==($599|0);
$or$cond543$i = $595 & $601;
$$557$i = $or$cond543$i ? 1.0 : 1.5;
$$0466$i = $$557$i;
}
$602 = ($$0520$i|0)==(0);
do {
if ($602) {
$$1467$i = $$0466$i;$$1469$i = $$541$i;
} else {
$603 = HEAP8[$$0522$i>>0]|0;
$604 = ($603<<24>>24)==(45);
if (!($604)) {
$$1467$i = $$0466$i;$$1469$i = $$541$i;
break;
}
$605 = -$$541$i;
$606 = -$$0466$i;
$$1467$i = $606;$$1469$i = $605;
}
} while(0);
$607 = (($591) - ($592))|0;
HEAP32[$587>>2] = $607;
$608 = $$1469$i + $$1467$i;
$609 = $608 != $$1469$i;
if (!($609)) {
$$4492$i = $587;$$4518$i = $$1515$i;$$8$i = $$3484$lcssa$i;
break;
}
$610 = (($607) + ($$1532$lcssa$i))|0;
HEAP32[$587>>2] = $610;
$611 = ($610>>>0)>(999999999);
if ($611) {
$$2490632$i = $587;$$5486633$i = $$3484$lcssa$i;
while(1) {
$612 = ((($$2490632$i)) + -4|0);
HEAP32[$$2490632$i>>2] = 0;
$613 = ($612>>>0)<($$5486633$i>>>0);
if ($613) {
$614 = ((($$5486633$i)) + -4|0);
HEAP32[$614>>2] = 0;
$$6$i = $614;
} else {
$$6$i = $$5486633$i;
}
$615 = HEAP32[$612>>2]|0;
$616 = (($615) + 1)|0;
HEAP32[$612>>2] = $616;
$617 = ($616>>>0)>(999999999);
if ($617) {
$$2490632$i = $612;$$5486633$i = $$6$i;
} else {
$$2490$lcssa$i = $612;$$5486$lcssa$i = $$6$i;
break;
}
}
} else {
$$2490$lcssa$i = $587;$$5486$lcssa$i = $$3484$lcssa$i;
}
$618 = $$5486$lcssa$i;
$619 = (($560) - ($618))|0;
$620 = $619 >> 2;
$621 = ($620*9)|0;
$622 = HEAP32[$$5486$lcssa$i>>2]|0;
$623 = ($622>>>0)<(10);
if ($623) {
$$4492$i = $$2490$lcssa$i;$$4518$i = $621;$$8$i = $$5486$lcssa$i;
break;
} else {
$$2516628$i = $621;$$2533627$i = 10;
}
while(1) {
$624 = ($$2533627$i*10)|0;
$625 = (($$2516628$i) + 1)|0;
$626 = ($622>>>0)<($624>>>0);
if ($626) {
$$4492$i = $$2490$lcssa$i;$$4518$i = $625;$$8$i = $$5486$lcssa$i;
break;
} else {
$$2516628$i = $625;$$2533627$i = $624;
}
}
}
} while(0);
$627 = ((($$4492$i)) + 4|0);
$628 = ($$3501$lcssa$i>>>0)>($627>>>0);
$$$3501$i = $628 ? $627 : $$3501$lcssa$i;
$$5519$ph$i = $$4518$i;$$7505$ph$i = $$$3501$i;$$9$ph$i = $$8$i;
} else {
$$5519$ph$i = $$1515$i;$$7505$ph$i = $$3501$lcssa$i;$$9$ph$i = $$3484$lcssa$i;
}
$629 = (0 - ($$5519$ph$i))|0;
$$7505$i = $$7505$ph$i;
while(1) {
$630 = ($$7505$i>>>0)>($$9$ph$i>>>0);
if (!($630)) {
$$lcssa683$i = 0;
break;
}
$631 = ((($$7505$i)) + -4|0);
$632 = HEAP32[$631>>2]|0;
$633 = ($632|0)==(0);
if ($633) {
$$7505$i = $631;
} else {
$$lcssa683$i = 1;
break;
}
}
do {
if ($573) {
$634 = $574&1;
$635 = $634 ^ 1;
$$538$$i = (($635) + ($$538$i))|0;
$636 = ($$538$$i|0)>($$5519$ph$i|0);
$637 = ($$5519$ph$i|0)>(-5);
$or$cond6$i = $636 & $637;
if ($or$cond6$i) {
$638 = (($$0235) + -1)|0;
$$neg572$i = (($$538$$i) + -1)|0;
$639 = (($$neg572$i) - ($$5519$ph$i))|0;
$$0479$i = $638;$$2476$i = $639;
} else {
$640 = (($$0235) + -2)|0;
$641 = (($$538$$i) + -1)|0;
$$0479$i = $640;$$2476$i = $641;
}
$642 = $$1263$ & 8;
$643 = ($642|0)==(0);
if (!($643)) {
$$1480$i = $$0479$i;$$3477$i = $$2476$i;$$pre$phi704$iZ2D = $642;
break;
}
do {
if ($$lcssa683$i) {
$644 = ((($$7505$i)) + -4|0);
$645 = HEAP32[$644>>2]|0;
$646 = ($645|0)==(0);
if ($646) {
$$2530$i = 9;
break;
}
$647 = (($645>>>0) % 10)&-1;
$648 = ($647|0)==(0);
if ($648) {
$$1529624$i = 0;$$3534623$i = 10;
} else {
$$2530$i = 0;
break;
}
while(1) {
$649 = ($$3534623$i*10)|0;
$650 = (($$1529624$i) + 1)|0;
$651 = (($645>>>0) % ($649>>>0))&-1;
$652 = ($651|0)==(0);
if ($652) {
$$1529624$i = $650;$$3534623$i = $649;
} else {
$$2530$i = $650;
break;
}
}
} else {
$$2530$i = 9;
}
} while(0);
$653 = $$0479$i | 32;
$654 = ($653|0)==(102);
$655 = $$7505$i;
$656 = (($655) - ($560))|0;
$657 = $656 >> 2;
$658 = ($657*9)|0;
$659 = (($658) + -9)|0;
if ($654) {
$660 = (($659) - ($$2530$i))|0;
$661 = ($660|0)<(0);
$$544$i = $661 ? 0 : $660;
$662 = ($$2476$i|0)<($$544$i|0);
$$2476$$545$i = $662 ? $$2476$i : $$544$i;
$$1480$i = $$0479$i;$$3477$i = $$2476$$545$i;$$pre$phi704$iZ2D = 0;
break;
} else {
$663 = (($659) + ($$5519$ph$i))|0;
$664 = (($663) - ($$2530$i))|0;
$665 = ($664|0)<(0);
$$546$i = $665 ? 0 : $664;
$666 = ($$2476$i|0)<($$546$i|0);
$$2476$$547$i = $666 ? $$2476$i : $$546$i;
$$1480$i = $$0479$i;$$3477$i = $$2476$$547$i;$$pre$phi704$iZ2D = 0;
break;
}
} else {
$$pre703$i = $$1263$ & 8;
$$1480$i = $$0235;$$3477$i = $$538$i;$$pre$phi704$iZ2D = $$pre703$i;
}
} while(0);
$667 = $$3477$i | $$pre$phi704$iZ2D;
$668 = ($667|0)!=(0);
$669 = $668&1;
$670 = $$1480$i | 32;
$671 = ($670|0)==(102);
if ($671) {
$672 = ($$5519$ph$i|0)>(0);
$673 = $672 ? $$5519$ph$i : 0;
$$2513$i = 0;$$pn$i = $673;
} else {
$674 = ($$5519$ph$i|0)<(0);
$675 = $674 ? $629 : $$5519$ph$i;
$676 = ($675|0)<(0);
$677 = $676 << 31 >> 31;
$678 = (_fmt_u($675,$677,$20)|0);
$679 = $678;
$680 = (($22) - ($679))|0;
$681 = ($680|0)<(2);
if ($681) {
$$1512617$i = $678;
while(1) {
$682 = ((($$1512617$i)) + -1|0);
HEAP8[$682>>0] = 48;
$683 = $682;
$684 = (($22) - ($683))|0;
$685 = ($684|0)<(2);
if ($685) {
$$1512617$i = $682;
} else {
$$1512$lcssa$i = $682;
break;
}
}
} else {
$$1512$lcssa$i = $678;
}
$686 = $$5519$ph$i >> 31;
$687 = $686 & 2;
$688 = (($687) + 43)|0;
$689 = $688&255;
$690 = ((($$1512$lcssa$i)) + -1|0);
HEAP8[$690>>0] = $689;
$691 = $$1480$i&255;
$692 = ((($$1512$lcssa$i)) + -2|0);
HEAP8[$692>>0] = $691;
$693 = $692;
$694 = (($22) - ($693))|0;
$$2513$i = $692;$$pn$i = $694;
}
$695 = (($$0520$i) + 1)|0;
$696 = (($695) + ($$3477$i))|0;
$$1527$i = (($696) + ($669))|0;
$697 = (($$1527$i) + ($$pn$i))|0;
_pad($0,32,$$1260,$697,$$1263$);
$698 = HEAP32[$0>>2]|0;
$699 = $698 & 32;
$700 = ($699|0)==(0);
if ($700) {
(___fwritex($$0522$i,$$0520$i,$0)|0);
}
$701 = $$1263$ ^ 65536;
_pad($0,48,$$1260,$697,$701);
do {
if ($671) {
$702 = ($$9$ph$i>>>0)>($$554$i>>>0);
$$0496$$9$i = $702 ? $$554$i : $$9$ph$i;
$$5493606$i = $$0496$$9$i;
while(1) {
$703 = HEAP32[$$5493606$i>>2]|0;
$704 = (_fmt_u($703,0,$27)|0);
$705 = ($$5493606$i|0)==($$0496$$9$i|0);
do {
if ($705) {
$711 = ($704|0)==($27|0);
if (!($711)) {
$$1465$i = $704;
break;
}
HEAP8[$29>>0] = 48;
$$1465$i = $29;
} else {
$706 = ($704>>>0)>($7>>>0);
if (!($706)) {
$$1465$i = $704;
break;
}
$707 = $704;
$708 = (($707) - ($18))|0;
_memset(($7|0),48,($708|0))|0;
$$0464603$i = $704;
while(1) {
$709 = ((($$0464603$i)) + -1|0);
$710 = ($709>>>0)>($7>>>0);
if ($710) {
$$0464603$i = $709;
} else {
$$1465$i = $709;
break;
}
}
}
} while(0);
$712 = HEAP32[$0>>2]|0;
$713 = $712 & 32;
$714 = ($713|0)==(0);
if ($714) {
$715 = $$1465$i;
$716 = (($28) - ($715))|0;
(___fwritex($$1465$i,$716,$0)|0);
}
$717 = ((($$5493606$i)) + 4|0);
$718 = ($717>>>0)>($$554$i>>>0);
if ($718) {
break;
} else {
$$5493606$i = $717;
}
}
$719 = ($667|0)==(0);
do {
if (!($719)) {
$720 = HEAP32[$0>>2]|0;
$721 = $720 & 32;
$722 = ($721|0)==(0);
if (!($722)) {
break;
}
(___fwritex(29344,1,$0)|0);
}
} while(0);
$723 = ($717>>>0)<($$7505$i>>>0);
$724 = ($$3477$i|0)>(0);
$725 = $724 & $723;
if ($725) {
$$4478600$i = $$3477$i;$$6494599$i = $717;
while(1) {
$726 = HEAP32[$$6494599$i>>2]|0;
$727 = (_fmt_u($726,0,$27)|0);
$728 = ($727>>>0)>($7>>>0);
if ($728) {
$729 = $727;
$730 = (($729) - ($18))|0;
_memset(($7|0),48,($730|0))|0;
$$0463594$i = $727;
while(1) {
$731 = ((($$0463594$i)) + -1|0);
$732 = ($731>>>0)>($7>>>0);
if ($732) {
$$0463594$i = $731;
} else {
$$0463$lcssa$i = $731;
break;
}
}
} else {
$$0463$lcssa$i = $727;
}
$733 = HEAP32[$0>>2]|0;
$734 = $733 & 32;
$735 = ($734|0)==(0);
if ($735) {
$736 = ($$4478600$i|0)>(9);
$737 = $736 ? 9 : $$4478600$i;
(___fwritex($$0463$lcssa$i,$737,$0)|0);
}
$738 = ((($$6494599$i)) + 4|0);
$739 = (($$4478600$i) + -9)|0;
$740 = ($738>>>0)<($$7505$i>>>0);
$741 = ($$4478600$i|0)>(9);
$742 = $741 & $740;
if ($742) {
$$4478600$i = $739;$$6494599$i = $738;
} else {
$$4478$lcssa$i = $739;
break;
}
}
} else {
$$4478$lcssa$i = $$3477$i;
}
$743 = (($$4478$lcssa$i) + 9)|0;
_pad($0,48,$743,9,0);
} else {
$744 = ((($$9$ph$i)) + 4|0);
$$7505$$i = $$lcssa683$i ? $$7505$i : $744;
$745 = ($$3477$i|0)>(-1);
if ($745) {
$746 = ($$pre$phi704$iZ2D|0)==(0);
$$5611$i = $$3477$i;$$7495610$i = $$9$ph$i;
while(1) {
$747 = HEAP32[$$7495610$i>>2]|0;
$748 = (_fmt_u($747,0,$27)|0);
$749 = ($748|0)==($27|0);
if ($749) {
HEAP8[$29>>0] = 48;
$$0$i = $29;
} else {
$$0$i = $748;
}
$750 = ($$7495610$i|0)==($$9$ph$i|0);
do {
if ($750) {
$754 = ((($$0$i)) + 1|0);
$755 = HEAP32[$0>>2]|0;
$756 = $755 & 32;
$757 = ($756|0)==(0);
if ($757) {
(___fwritex($$0$i,1,$0)|0);
}
$758 = ($$5611$i|0)<(1);
$or$cond552$i = $746 & $758;
if ($or$cond552$i) {
$$2$i = $754;
break;
}
$759 = HEAP32[$0>>2]|0;
$760 = $759 & 32;
$761 = ($760|0)==(0);
if (!($761)) {
$$2$i = $754;
break;
}
(___fwritex(29344,1,$0)|0);
$$2$i = $754;
} else {
$751 = ($$0$i>>>0)>($7>>>0);
if (!($751)) {
$$2$i = $$0$i;
break;
}
$scevgep694$i = (($$0$i) + ($19)|0);
$scevgep694695$i = $scevgep694$i;
_memset(($7|0),48,($scevgep694695$i|0))|0;
$$1607$i = $$0$i;
while(1) {
$752 = ((($$1607$i)) + -1|0);
$753 = ($752>>>0)>($7>>>0);
if ($753) {
$$1607$i = $752;
} else {
$$2$i = $752;
break;
}
}
}
} while(0);
$762 = $$2$i;
$763 = (($28) - ($762))|0;
$764 = HEAP32[$0>>2]|0;
$765 = $764 & 32;
$766 = ($765|0)==(0);
if ($766) {
$767 = ($$5611$i|0)>($763|0);
$768 = $767 ? $763 : $$5611$i;
(___fwritex($$2$i,$768,$0)|0);
}
$769 = (($$5611$i) - ($763))|0;
$770 = ((($$7495610$i)) + 4|0);
$771 = ($770>>>0)<($$7505$$i>>>0);
$772 = ($769|0)>(-1);
$773 = $771 & $772;
if ($773) {
$$5611$i = $769;$$7495610$i = $770;
} else {
$$5$lcssa$i = $769;
break;
}
}
} else {
$$5$lcssa$i = $$3477$i;
}
$774 = (($$5$lcssa$i) + 18)|0;
_pad($0,48,$774,18,0);
$775 = HEAP32[$0>>2]|0;
$776 = $775 & 32;
$777 = ($776|0)==(0);
if (!($777)) {
break;
}
$778 = $$2513$i;
$779 = (($22) - ($778))|0;
(___fwritex($$2513$i,$779,$0)|0);
}
} while(0);
$780 = $$1263$ ^ 8192;
_pad($0,32,$$1260,$697,$780);
$781 = ($697|0)<($$1260|0);
$$553$i = $781 ? $$1260 : $697;
$$0470$i = $$553$i;
} else {
$388 = $$0235 & 32;
$389 = ($388|0)!=(0);
$390 = $389 ? 29332 : 29336;
$391 = ($$0471$i != $$0471$i) | (0.0 != 0.0);
$392 = $389 ? 31247 : 29340;
$$1521$i = $391 ? 0 : $$0520$i;
$$0510$i = $391 ? $392 : $390;
$393 = (($$1521$i) + 3)|0;
_pad($0,32,$$1260,$393,$187);
$394 = HEAP32[$0>>2]|0;
$395 = $394 & 32;
$396 = ($395|0)==(0);
if ($396) {
(___fwritex($$0522$i,$$1521$i,$0)|0);
$$pre$i = HEAP32[$0>>2]|0;
$398 = $$pre$i;
} else {
$398 = $394;
}
$397 = $398 & 32;
$399 = ($397|0)==(0);
if ($399) {
(___fwritex($$0510$i,3,$0)|0);
}
$400 = $$1263$ ^ 8192;
_pad($0,32,$$1260,$393,$400);
$401 = ($393|0)<($$1260|0);
$402 = $401 ? $$1260 : $393;
$$0470$i = $402;
}
} while(0);
$$0243 = $$0470$i;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue L1;
break;
}
default: {
$$2 = $$0321;$$2234 = 0;$$2239 = 29296;$$2251 = $14;$$5 = $$0254;$$6268 = $$1263$;
}
}
} while(0);
L310: do {
if ((label|0) == 63) {
label = 0;
$218 = $9;
$219 = $218;
$220 = HEAP32[$219>>2]|0;
$221 = (($218) + 4)|0;
$222 = $221;
$223 = HEAP32[$222>>2]|0;
$224 = $$1236 & 32;
$225 = ($220|0)==(0);
$226 = ($223|0)==(0);
$227 = $225 & $226;
if ($227) {
$$05$lcssa$i = $14;$248 = 0;$250 = 0;
} else {
$$056$i = $14;$229 = $220;$236 = $223;
while(1) {
$228 = $229 & 15;
$230 = (29280 + ($228)|0);
$231 = HEAP8[$230>>0]|0;
$232 = $231&255;
$233 = $232 | $224;
$234 = $233&255;
$235 = ((($$056$i)) + -1|0);
HEAP8[$235>>0] = $234;
$237 = (_bitshift64Lshr(($229|0),($236|0),4)|0);
$238 = tempRet0;
$239 = ($237|0)==(0);
$240 = ($238|0)==(0);
$241 = $239 & $240;
if ($241) {
break;
} else {
$$056$i = $235;$229 = $237;$236 = $238;
}
}
$242 = $9;
$243 = $242;
$244 = HEAP32[$243>>2]|0;
$245 = (($242) + 4)|0;
$246 = $245;
$247 = HEAP32[$246>>2]|0;
$$05$lcssa$i = $235;$248 = $244;$250 = $247;
}
$249 = ($248|0)==(0);
$251 = ($250|0)==(0);
$252 = $249 & $251;
$253 = $$3265 & 8;
$254 = ($253|0)==(0);
$or$cond282 = $254 | $252;
$255 = $$1236 >> 4;
$256 = (29296 + ($255)|0);
$$332 = $or$cond282 ? 29296 : $256;
$$333 = $or$cond282 ? 0 : 2;
$$0228 = $$05$lcssa$i;$$1233 = $$333;$$1238 = $$332;$$2256 = $$1255;$$4266 = $$3265;
label = 76;
}
else if ((label|0) == 75) {
label = 0;
$302 = (_fmt_u($300,$301,$14)|0);
$$0228 = $302;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;
label = 76;
}
else if ((label|0) == 81) {
label = 0;
$334 = (_memchr($$1,0,$$0254)|0);
$335 = ($334|0)==(0|0);
$336 = $334;
$337 = $$1;
$338 = (($336) - ($337))|0;
$339 = (($$1) + ($$0254)|0);
$$3257 = $335 ? $$0254 : $338;
$$1250 = $335 ? $339 : $334;
$$2 = $$1;$$2234 = 0;$$2239 = 29296;$$2251 = $$1250;$$5 = $$3257;$$6268 = $187;
}
else if ((label|0) == 85) {
label = 0;
$$0229396 = $809;$$0240395 = 0;$$1244394 = 0;
while(1) {
$347 = HEAP32[$$0229396>>2]|0;
$348 = ($347|0)==(0);
if ($348) {
$$0240$lcssa = $$0240395;$$2245 = $$1244394;
break;
}
$349 = (_wctomb($12,$347)|0);
$350 = ($349|0)<(0);
$351 = (($$4258458) - ($$0240395))|0;
$352 = ($349>>>0)>($351>>>0);
$or$cond285 = $350 | $352;
if ($or$cond285) {
$$0240$lcssa = $$0240395;$$2245 = $349;
break;
}
$353 = ((($$0229396)) + 4|0);
$354 = (($349) + ($$0240395))|0;
$355 = ($$4258458>>>0)>($354>>>0);
if ($355) {
$$0229396 = $353;$$0240395 = $354;$$1244394 = $349;
} else {
$$0240$lcssa = $354;$$2245 = $349;
break;
}
}
$356 = ($$2245|0)<(0);
if ($356) {
$$0 = -1;
break L1;
}
_pad($0,32,$$1260,$$0240$lcssa,$$1263$);
$357 = ($$0240$lcssa|0)==(0);
if ($357) {
$$0240$lcssa460 = 0;
label = 96;
} else {
$$1230407 = $809;$$1241406 = 0;
while(1) {
$358 = HEAP32[$$1230407>>2]|0;
$359 = ($358|0)==(0);
if ($359) {
$$0240$lcssa460 = $$0240$lcssa;
label = 96;
break L310;
}
$360 = ((($$1230407)) + 4|0);
$361 = (_wctomb($12,$358)|0);
$362 = (($361) + ($$1241406))|0;
$363 = ($362|0)>($$0240$lcssa|0);
if ($363) {
$$0240$lcssa460 = $$0240$lcssa;
label = 96;
break L310;
}
$364 = HEAP32[$0>>2]|0;
$365 = $364 & 32;
$366 = ($365|0)==(0);
if ($366) {
(___fwritex($12,$361,$0)|0);
}
$367 = ($362>>>0)<($$0240$lcssa>>>0);
if ($367) {
$$1230407 = $360;$$1241406 = $362;
} else {
$$0240$lcssa460 = $$0240$lcssa;
label = 96;
break;
}
}
}
}
} while(0);
if ((label|0) == 96) {
label = 0;
$368 = $$1263$ ^ 8192;
_pad($0,32,$$1260,$$0240$lcssa460,$368);
$369 = ($$1260|0)>($$0240$lcssa460|0);
$370 = $369 ? $$1260 : $$0240$lcssa460;
$$0243 = $370;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
continue;
}
if ((label|0) == 76) {
label = 0;
$303 = ($$2256|0)>(-1);
$304 = $$4266 & -65537;
$$$4266 = $303 ? $304 : $$4266;
$305 = $9;
$306 = $305;
$307 = HEAP32[$306>>2]|0;
$308 = (($305) + 4)|0;
$309 = $308;
$310 = HEAP32[$309>>2]|0;
$311 = ($307|0)!=(0);
$312 = ($310|0)!=(0);
$313 = $311 | $312;
$314 = ($$2256|0)!=(0);
$or$cond = $314 | $313;
if ($or$cond) {
$315 = $$0228;
$316 = (($15) - ($315))|0;
$317 = $313&1;
$318 = $317 ^ 1;
$319 = (($318) + ($316))|0;
$320 = ($$2256|0)>($319|0);
$$2256$ = $320 ? $$2256 : $319;
$$2 = $$0228;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $14;$$5 = $$2256$;$$6268 = $$$4266;
} else {
$$2 = $14;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $14;$$5 = 0;$$6268 = $$$4266;
}
}
$782 = $$2251;
$783 = $$2;
$784 = (($782) - ($783))|0;
$785 = ($$5|0)<($784|0);
$$$5 = $785 ? $784 : $$5;
$786 = (($$$5) + ($$2234))|0;
$787 = ($$1260|0)<($786|0);
$$2261 = $787 ? $786 : $$1260;
_pad($0,32,$$2261,$786,$$6268);
$788 = HEAP32[$0>>2]|0;
$789 = $788 & 32;
$790 = ($789|0)==(0);
if ($790) {
(___fwritex($$2239,$$2234,$0)|0);
}
$791 = $$6268 ^ 65536;
_pad($0,48,$$2261,$786,$791);
_pad($0,48,$$$5,$784,0);
$792 = HEAP32[$0>>2]|0;
$793 = $792 & 32;
$794 = ($793|0)==(0);
if ($794) {
(___fwritex($$2,$784,$0)|0);
}
$795 = $$6268 ^ 8192;
_pad($0,32,$$2261,$786,$795);
$$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$$0321 = $158;
}
L345: do {
if ((label|0) == 243) {
$796 = ($0|0)==(0|0);
if ($796) {
$797 = ($$0269|0)==(0);
if ($797) {
$$0 = 0;
} else {
$$2242381 = 1;
while(1) {
$798 = (($4) + ($$2242381<<2)|0);
$799 = HEAP32[$798>>2]|0;
$800 = ($799|0)==(0);
if ($800) {
$$3379 = $$2242381;
break;
}
$801 = (($3) + ($$2242381<<3)|0);
_pop_arg($801,$799,$2);
$802 = (($$2242381) + 1)|0;
$803 = ($802|0)<(10);
if ($803) {
$$2242381 = $802;
} else {
$$0 = 1;
break L345;
}
}
while(1) {
$806 = (($4) + ($$3379<<2)|0);
$807 = HEAP32[$806>>2]|0;
$808 = ($807|0)==(0);
$804 = (($$3379) + 1)|0;
if (!($808)) {
$$0 = -1;
break L345;
}
$805 = ($804|0)<(10);
if ($805) {
$$3379 = $804;
} else {
$$0 = 1;
break;
}
}
}
} else {
$$0 = $$1248;
}
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function ___lockfile($0) {
$0 = $0|0;
var label = 0, sp = 0;
sp = STACKTOP;
return 0;
}
function ___fwritex($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$032 = 0, $$033 = 0, $$034 = 0, $$1 = 0, $$pre = 0, $$pre38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($2)) + 16|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($4|0)==(0|0);
if ($5) {
$7 = (___towrite($2)|0);
$8 = ($7|0)==(0);
if ($8) {
$$pre = HEAP32[$3>>2]|0;
$12 = $$pre;
label = 5;
} else {
$$032 = 0;
}
} else {
$6 = $4;
$12 = $6;
label = 5;
}
L5: do {
if ((label|0) == 5) {
$9 = ((($2)) + 20|0);
$10 = HEAP32[$9>>2]|0;
$11 = (($12) - ($10))|0;
$13 = ($11>>>0)<($1>>>0);
$14 = $10;
if ($13) {
$15 = ((($2)) + 36|0);
$16 = HEAP32[$15>>2]|0;
$17 = (FUNCTION_TABLE_iiii[$16 & 127]($2,$0,$1)|0);
$$032 = $17;
break;
}
$18 = ((($2)) + 75|0);
$19 = HEAP8[$18>>0]|0;
$20 = ($19<<24>>24)>(-1);
L10: do {
if ($20) {
$$0 = $1;
while(1) {
$21 = ($$0|0)==(0);
if ($21) {
$$033 = $1;$$034 = $0;$$1 = 0;$32 = $14;
break L10;
}
$22 = (($$0) + -1)|0;
$23 = (($0) + ($22)|0);
$24 = HEAP8[$23>>0]|0;
$25 = ($24<<24>>24)==(10);
if ($25) {
break;
} else {
$$0 = $22;
}
}
$26 = ((($2)) + 36|0);
$27 = HEAP32[$26>>2]|0;
$28 = (FUNCTION_TABLE_iiii[$27 & 127]($2,$0,$$0)|0);
$29 = ($28>>>0)<($$0>>>0);
if ($29) {
$$032 = $$0;
break L5;
}
$30 = (($0) + ($$0)|0);
$31 = (($1) - ($$0))|0;
$$pre38 = HEAP32[$9>>2]|0;
$$033 = $31;$$034 = $30;$$1 = $$0;$32 = $$pre38;
} else {
$$033 = $1;$$034 = $0;$$1 = 0;$32 = $14;
}
} while(0);
_memcpy(($32|0),($$034|0),($$033|0))|0;
$33 = HEAP32[$9>>2]|0;
$34 = (($33) + ($$033)|0);
HEAP32[$9>>2] = $34;
$35 = (($$1) + ($$033))|0;
$$032 = $35;
}
} while(0);
return ($$032|0);
}
function _pop_arg($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0;
var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0;
var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0;
var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0;
var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($1>>>0)>(20);
L1: do {
if (!($3)) {
do {
switch ($1|0) {
case 9: {
$arglist_current = HEAP32[$2>>2]|0;
$4 = $arglist_current;
$5 = ((0) + 4|0);
$expanded28 = $5;
$expanded = (($expanded28) - 1)|0;
$6 = (($4) + ($expanded))|0;
$7 = ((0) + 4|0);
$expanded32 = $7;
$expanded31 = (($expanded32) - 1)|0;
$expanded30 = $expanded31 ^ -1;
$8 = $6 & $expanded30;
$9 = $8;
$10 = HEAP32[$9>>2]|0;
$arglist_next = ((($9)) + 4|0);
HEAP32[$2>>2] = $arglist_next;
HEAP32[$0>>2] = $10;
break L1;
break;
}
case 10: {
$arglist_current2 = HEAP32[$2>>2]|0;
$11 = $arglist_current2;
$12 = ((0) + 4|0);
$expanded35 = $12;
$expanded34 = (($expanded35) - 1)|0;
$13 = (($11) + ($expanded34))|0;
$14 = ((0) + 4|0);
$expanded39 = $14;
$expanded38 = (($expanded39) - 1)|0;
$expanded37 = $expanded38 ^ -1;
$15 = $13 & $expanded37;
$16 = $15;
$17 = HEAP32[$16>>2]|0;
$arglist_next3 = ((($16)) + 4|0);
HEAP32[$2>>2] = $arglist_next3;
$18 = ($17|0)<(0);
$19 = $18 << 31 >> 31;
$20 = $0;
$21 = $20;
HEAP32[$21>>2] = $17;
$22 = (($20) + 4)|0;
$23 = $22;
HEAP32[$23>>2] = $19;
break L1;
break;
}
case 11: {
$arglist_current5 = HEAP32[$2>>2]|0;
$24 = $arglist_current5;
$25 = ((0) + 4|0);
$expanded42 = $25;
$expanded41 = (($expanded42) - 1)|0;
$26 = (($24) + ($expanded41))|0;
$27 = ((0) + 4|0);
$expanded46 = $27;
$expanded45 = (($expanded46) - 1)|0;
$expanded44 = $expanded45 ^ -1;
$28 = $26 & $expanded44;
$29 = $28;
$30 = HEAP32[$29>>2]|0;
$arglist_next6 = ((($29)) + 4|0);
HEAP32[$2>>2] = $arglist_next6;
$31 = $0;
$32 = $31;
HEAP32[$32>>2] = $30;
$33 = (($31) + 4)|0;
$34 = $33;
HEAP32[$34>>2] = 0;
break L1;
break;
}
case 12: {
$arglist_current8 = HEAP32[$2>>2]|0;
$35 = $arglist_current8;
$36 = ((0) + 8|0);
$expanded49 = $36;
$expanded48 = (($expanded49) - 1)|0;
$37 = (($35) + ($expanded48))|0;
$38 = ((0) + 8|0);
$expanded53 = $38;
$expanded52 = (($expanded53) - 1)|0;
$expanded51 = $expanded52 ^ -1;
$39 = $37 & $expanded51;
$40 = $39;
$41 = $40;
$42 = $41;
$43 = HEAP32[$42>>2]|0;
$44 = (($41) + 4)|0;
$45 = $44;
$46 = HEAP32[$45>>2]|0;
$arglist_next9 = ((($40)) + 8|0);
HEAP32[$2>>2] = $arglist_next9;
$47 = $0;
$48 = $47;
HEAP32[$48>>2] = $43;
$49 = (($47) + 4)|0;
$50 = $49;
HEAP32[$50>>2] = $46;
break L1;
break;
}
case 13: {
$arglist_current11 = HEAP32[$2>>2]|0;
$51 = $arglist_current11;
$52 = ((0) + 4|0);
$expanded56 = $52;
$expanded55 = (($expanded56) - 1)|0;
$53 = (($51) + ($expanded55))|0;
$54 = ((0) + 4|0);
$expanded60 = $54;
$expanded59 = (($expanded60) - 1)|0;
$expanded58 = $expanded59 ^ -1;
$55 = $53 & $expanded58;
$56 = $55;
$57 = HEAP32[$56>>2]|0;
$arglist_next12 = ((($56)) + 4|0);
HEAP32[$2>>2] = $arglist_next12;
$58 = $57&65535;
$59 = $58 << 16 >> 16;
$60 = ($59|0)<(0);
$61 = $60 << 31 >> 31;
$62 = $0;
$63 = $62;
HEAP32[$63>>2] = $59;
$64 = (($62) + 4)|0;
$65 = $64;
HEAP32[$65>>2] = $61;
break L1;
break;
}
case 14: {
$arglist_current14 = HEAP32[$2>>2]|0;
$66 = $arglist_current14;
$67 = ((0) + 4|0);
$expanded63 = $67;
$expanded62 = (($expanded63) - 1)|0;
$68 = (($66) + ($expanded62))|0;
$69 = ((0) + 4|0);
$expanded67 = $69;
$expanded66 = (($expanded67) - 1)|0;
$expanded65 = $expanded66 ^ -1;
$70 = $68 & $expanded65;
$71 = $70;
$72 = HEAP32[$71>>2]|0;
$arglist_next15 = ((($71)) + 4|0);
HEAP32[$2>>2] = $arglist_next15;
$$mask31 = $72 & 65535;
$73 = $0;
$74 = $73;
HEAP32[$74>>2] = $$mask31;
$75 = (($73) + 4)|0;
$76 = $75;
HEAP32[$76>>2] = 0;
break L1;
break;
}
case 15: {
$arglist_current17 = HEAP32[$2>>2]|0;
$77 = $arglist_current17;
$78 = ((0) + 4|0);
$expanded70 = $78;
$expanded69 = (($expanded70) - 1)|0;
$79 = (($77) + ($expanded69))|0;
$80 = ((0) + 4|0);
$expanded74 = $80;
$expanded73 = (($expanded74) - 1)|0;
$expanded72 = $expanded73 ^ -1;
$81 = $79 & $expanded72;
$82 = $81;
$83 = HEAP32[$82>>2]|0;
$arglist_next18 = ((($82)) + 4|0);
HEAP32[$2>>2] = $arglist_next18;
$84 = $83&255;
$85 = $84 << 24 >> 24;
$86 = ($85|0)<(0);
$87 = $86 << 31 >> 31;
$88 = $0;
$89 = $88;
HEAP32[$89>>2] = $85;
$90 = (($88) + 4)|0;
$91 = $90;
HEAP32[$91>>2] = $87;
break L1;
break;
}
case 16: {
$arglist_current20 = HEAP32[$2>>2]|0;
$92 = $arglist_current20;
$93 = ((0) + 4|0);
$expanded77 = $93;
$expanded76 = (($expanded77) - 1)|0;
$94 = (($92) + ($expanded76))|0;
$95 = ((0) + 4|0);
$expanded81 = $95;
$expanded80 = (($expanded81) - 1)|0;
$expanded79 = $expanded80 ^ -1;
$96 = $94 & $expanded79;
$97 = $96;
$98 = HEAP32[$97>>2]|0;
$arglist_next21 = ((($97)) + 4|0);
HEAP32[$2>>2] = $arglist_next21;
$$mask = $98 & 255;
$99 = $0;
$100 = $99;
HEAP32[$100>>2] = $$mask;
$101 = (($99) + 4)|0;
$102 = $101;
HEAP32[$102>>2] = 0;
break L1;
break;
}
case 17: {
$arglist_current23 = HEAP32[$2>>2]|0;
$103 = $arglist_current23;
$104 = ((0) + 8|0);
$expanded84 = $104;
$expanded83 = (($expanded84) - 1)|0;
$105 = (($103) + ($expanded83))|0;
$106 = ((0) + 8|0);
$expanded88 = $106;
$expanded87 = (($expanded88) - 1)|0;
$expanded86 = $expanded87 ^ -1;
$107 = $105 & $expanded86;
$108 = $107;
$109 = +HEAPF64[$108>>3];
$arglist_next24 = ((($108)) + 8|0);
HEAP32[$2>>2] = $arglist_next24;
HEAPF64[$0>>3] = $109;
break L1;
break;
}
case 18: {
$arglist_current26 = HEAP32[$2>>2]|0;
$110 = $arglist_current26;
$111 = ((0) + 8|0);
$expanded91 = $111;
$expanded90 = (($expanded91) - 1)|0;
$112 = (($110) + ($expanded90))|0;
$113 = ((0) + 8|0);
$expanded95 = $113;
$expanded94 = (($expanded95) - 1)|0;
$expanded93 = $expanded94 ^ -1;
$114 = $112 & $expanded93;
$115 = $114;
$116 = +HEAPF64[$115>>3];
$arglist_next27 = ((($115)) + 8|0);
HEAP32[$2>>2] = $arglist_next27;
HEAPF64[$0>>3] = $116;
break L1;
break;
}
default: {
break L1;
}
}
} while(0);
}
} while(0);
return;
}
function _fmt_u($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($1>>>0)>(0);
$4 = ($0>>>0)>(4294967295);
$5 = ($1|0)==(0);
$6 = $5 & $4;
$7 = $3 | $6;
if ($7) {
$$0914 = $2;$8 = $0;$9 = $1;
while(1) {
$10 = (___uremdi3(($8|0),($9|0),10,0)|0);
$11 = tempRet0;
$12 = $10 | 48;
$13 = $12&255;
$14 = ((($$0914)) + -1|0);
HEAP8[$14>>0] = $13;
$15 = (___udivdi3(($8|0),($9|0),10,0)|0);
$16 = tempRet0;
$17 = ($9>>>0)>(9);
$18 = ($8>>>0)>(4294967295);
$19 = ($9|0)==(9);
$20 = $19 & $18;
$21 = $17 | $20;
if ($21) {
$$0914 = $14;$8 = $15;$9 = $16;
} else {
break;
}
}
$$010$lcssa$off0 = $15;$$09$lcssa = $14;
} else {
$$010$lcssa$off0 = $0;$$09$lcssa = $2;
}
$22 = ($$010$lcssa$off0|0)==(0);
if ($22) {
$$1$lcssa = $$09$lcssa;
} else {
$$012 = $$010$lcssa$off0;$$111 = $$09$lcssa;
while(1) {
$23 = (($$012>>>0) % 10)&-1;
$24 = $23 | 48;
$25 = $24&255;
$26 = ((($$111)) + -1|0);
HEAP8[$26>>0] = $25;
$27 = (($$012>>>0) / 10)&-1;
$28 = ($$012>>>0)<(10);
if ($28) {
$$1$lcssa = $26;
break;
} else {
$$012 = $27;$$111 = $26;
}
}
}
return ($$1$lcssa|0);
}
function _strerror($0) {
$0 = $0|0;
var $$011$lcssa = 0, $$01113 = 0, $$015 = 0, $$112 = 0, $$114 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$015 = 0;
while(1) {
$2 = (29346 + ($$015)|0);
$3 = HEAP8[$2>>0]|0;
$4 = $3&255;
$5 = ($4|0)==($0|0);
if ($5) {
label = 2;
break;
}
$6 = (($$015) + 1)|0;
$7 = ($6|0)==(87);
if ($7) {
$$01113 = 29434;$$114 = 87;
label = 5;
break;
} else {
$$015 = $6;
}
}
if ((label|0) == 2) {
$1 = ($$015|0)==(0);
if ($1) {
$$011$lcssa = 29434;
} else {
$$01113 = 29434;$$114 = $$015;
label = 5;
}
}
if ((label|0) == 5) {
while(1) {
label = 0;
$$112 = $$01113;
while(1) {
$8 = HEAP8[$$112>>0]|0;
$9 = ($8<<24>>24)==(0);
$10 = ((($$112)) + 1|0);
if ($9) {
break;
} else {
$$112 = $10;
}
}
$11 = (($$114) + -1)|0;
$12 = ($11|0)==(0);
if ($12) {
$$011$lcssa = $10;
break;
} else {
$$01113 = $10;$$114 = $11;
label = 5;
}
}
}
return ($$011$lcssa|0);
}
function _memchr($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $1 & 255;
$4 = $0;
$5 = $4 & 3;
$6 = ($5|0)!=(0);
$7 = ($2|0)!=(0);
$or$cond53 = $7 & $6;
L1: do {
if ($or$cond53) {
$8 = $1&255;
$$03555 = $0;$$03654 = $2;
while(1) {
$9 = HEAP8[$$03555>>0]|0;
$10 = ($9<<24>>24)==($8<<24>>24);
if ($10) {
$$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654;
label = 6;
break L1;
}
$11 = ((($$03555)) + 1|0);
$12 = (($$03654) + -1)|0;
$13 = $11;
$14 = $13 & 3;
$15 = ($14|0)!=(0);
$16 = ($12|0)!=(0);
$or$cond = $16 & $15;
if ($or$cond) {
$$03555 = $11;$$03654 = $12;
} else {
$$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16;
label = 5;
break;
}
}
} else {
$$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7;
label = 5;
}
} while(0);
if ((label|0) == 5) {
if ($$lcssa) {
$$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa;
label = 6;
} else {
$$2 = $$035$lcssa;$$3 = 0;
}
}
L8: do {
if ((label|0) == 6) {
$17 = HEAP8[$$035$lcssa65>>0]|0;
$18 = $1&255;
$19 = ($17<<24>>24)==($18<<24>>24);
if ($19) {
$$2 = $$035$lcssa65;$$3 = $$036$lcssa64;
} else {
$20 = Math_imul($3, 16843009)|0;
$21 = ($$036$lcssa64>>>0)>(3);
L11: do {
if ($21) {
$$046 = $$035$lcssa65;$$13745 = $$036$lcssa64;
while(1) {
$22 = HEAP32[$$046>>2]|0;
$23 = $22 ^ $20;
$24 = (($23) + -16843009)|0;
$25 = $23 & -2139062144;
$26 = $25 ^ -2139062144;
$27 = $26 & $24;
$28 = ($27|0)==(0);
if (!($28)) {
break;
}
$29 = ((($$046)) + 4|0);
$30 = (($$13745) + -4)|0;
$31 = ($30>>>0)>(3);
if ($31) {
$$046 = $29;$$13745 = $30;
} else {
$$0$lcssa = $29;$$137$lcssa = $30;
label = 11;
break L11;
}
}
$$140 = $$046;$$23839 = $$13745;
} else {
$$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64;
label = 11;
}
} while(0);
if ((label|0) == 11) {
$32 = ($$137$lcssa|0)==(0);
if ($32) {
$$2 = $$0$lcssa;$$3 = 0;
break;
} else {
$$140 = $$0$lcssa;$$23839 = $$137$lcssa;
}
}
while(1) {
$33 = HEAP8[$$140>>0]|0;
$34 = ($33<<24>>24)==($18<<24>>24);
if ($34) {
$$2 = $$140;$$3 = $$23839;
break L8;
}
$35 = ((($$140)) + 1|0);
$36 = (($$23839) + -1)|0;
$37 = ($36|0)==(0);
if ($37) {
$$2 = $35;$$3 = 0;
break;
} else {
$$140 = $35;$$23839 = $36;
}
}
}
}
} while(0);
$38 = ($$3|0)!=(0);
$39 = $38 ? $$2 : 0;
return ($39|0);
}
function _pad($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$lcssa16 = 0, $$012 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
$5 = sp;
$6 = $4 & 73728;
$7 = ($6|0)==(0);
$8 = ($2|0)>($3|0);
$or$cond = $8 & $7;
do {
if ($or$cond) {
$9 = (($2) - ($3))|0;
$10 = ($9>>>0)>(256);
$11 = $10 ? 256 : $9;
_memset(($5|0),($1|0),($11|0))|0;
$12 = ($9>>>0)>(255);
$13 = HEAP32[$0>>2]|0;
$14 = $13 & 32;
$15 = ($14|0)==(0);
if ($12) {
$16 = (($2) - ($3))|0;
$$012 = $9;$23 = $13;$24 = $15;
while(1) {
if ($24) {
(___fwritex($5,256,$0)|0);
$$pre = HEAP32[$0>>2]|0;
$20 = $$pre;
} else {
$20 = $23;
}
$17 = (($$012) + -256)|0;
$18 = ($17>>>0)>(255);
$19 = $20 & 32;
$21 = ($19|0)==(0);
if ($18) {
$$012 = $17;$23 = $20;$24 = $21;
} else {
break;
}
}
$22 = $16 & 255;
if ($21) {
$$0$lcssa16 = $22;
} else {
break;
}
} else {
if ($15) {
$$0$lcssa16 = $9;
} else {
break;
}
}
(___fwritex($5,$$0$lcssa16,$0)|0);
}
} while(0);
STACKTOP = sp;return;
}
function _wctomb($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$$0 = 0;
} else {
$3 = (_wcrtomb($0,$1,0)|0);
$$0 = $3;
}
return ($$0|0);
}
function _frexpl($0,$1) {
$0 = +$0;
$1 = $1|0;
var $2 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (+_frexp($0,$1));
return (+$2);
}
function _frexp($0,$1) {
$0 = +$0;
$1 = $1|0;
var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0;
var sp = 0;
sp = STACKTOP;
HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
$3 = HEAP32[tempDoublePtr+4>>2]|0;
$4 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
$5 = tempRet0;
$6 = $4&65535;
$trunc$clear = $6 & 2047;
switch ($trunc$clear<<16>>16) {
case 0: {
$7 = $0 != 0.0;
if ($7) {
$8 = $0 * 1.8446744073709552E+19;
$9 = (+_frexp($8,$1));
$10 = HEAP32[$1>>2]|0;
$11 = (($10) + -64)|0;
$$016 = $9;$storemerge = $11;
} else {
$$016 = $0;$storemerge = 0;
}
HEAP32[$1>>2] = $storemerge;
$$0 = $$016;
break;
}
case 2047: {
$$0 = $0;
break;
}
default: {
$12 = $4 & 2047;
$13 = (($12) + -1022)|0;
HEAP32[$1>>2] = $13;
$14 = $3 & -2146435073;
$15 = $14 | 1071644672;
HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3];
$$0 = $16;
}
}
return (+$$0);
}
function _wcrtomb($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($0|0)==(0|0);
do {
if ($3) {
$$0 = 1;
} else {
$4 = ($1>>>0)<(128);
if ($4) {
$5 = $1&255;
HEAP8[$0>>0] = $5;
$$0 = 1;
break;
}
$6 = ($1>>>0)<(2048);
if ($6) {
$7 = $1 >>> 6;
$8 = $7 | 192;
$9 = $8&255;
$10 = ((($0)) + 1|0);
HEAP8[$0>>0] = $9;
$11 = $1 & 63;
$12 = $11 | 128;
$13 = $12&255;
HEAP8[$10>>0] = $13;
$$0 = 2;
break;
}
$14 = ($1>>>0)<(55296);
$15 = $1 & -8192;
$16 = ($15|0)==(57344);
$or$cond = $14 | $16;
if ($or$cond) {
$17 = $1 >>> 12;
$18 = $17 | 224;
$19 = $18&255;
$20 = ((($0)) + 1|0);
HEAP8[$0>>0] = $19;
$21 = $1 >>> 6;
$22 = $21 & 63;
$23 = $22 | 128;
$24 = $23&255;
$25 = ((($0)) + 2|0);
HEAP8[$20>>0] = $24;
$26 = $1 & 63;
$27 = $26 | 128;
$28 = $27&255;
HEAP8[$25>>0] = $28;
$$0 = 3;
break;
}
$29 = (($1) + -65536)|0;
$30 = ($29>>>0)<(1048576);
if ($30) {
$31 = $1 >>> 18;
$32 = $31 | 240;
$33 = $32&255;
$34 = ((($0)) + 1|0);
HEAP8[$0>>0] = $33;
$35 = $1 >>> 12;
$36 = $35 & 63;
$37 = $36 | 128;
$38 = $37&255;
$39 = ((($0)) + 2|0);
HEAP8[$34>>0] = $38;
$40 = $1 >>> 6;
$41 = $40 & 63;
$42 = $41 | 128;
$43 = $42&255;
$44 = ((($0)) + 3|0);
HEAP8[$39>>0] = $43;
$45 = $1 & 63;
$46 = $45 | 128;
$47 = $46&255;
HEAP8[$44>>0] = $47;
$$0 = 4;
break;
} else {
$48 = (___errno_location()|0);
HEAP32[$48>>2] = 84;
$$0 = -1;
break;
}
}
} while(0);
return ($$0|0);
}
function ___towrite($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 74|0);
$2 = HEAP8[$1>>0]|0;
$3 = $2 << 24 >> 24;
$4 = (($3) + 255)|0;
$5 = $4 | $3;
$6 = $5&255;
HEAP8[$1>>0] = $6;
$7 = HEAP32[$0>>2]|0;
$8 = $7 & 8;
$9 = ($8|0)==(0);
if ($9) {
$11 = ((($0)) + 8|0);
HEAP32[$11>>2] = 0;
$12 = ((($0)) + 4|0);
HEAP32[$12>>2] = 0;
$13 = ((($0)) + 44|0);
$14 = HEAP32[$13>>2]|0;
$15 = ((($0)) + 28|0);
HEAP32[$15>>2] = $14;
$16 = ((($0)) + 20|0);
HEAP32[$16>>2] = $14;
$17 = $14;
$18 = ((($0)) + 48|0);
$19 = HEAP32[$18>>2]|0;
$20 = (($17) + ($19)|0);
$21 = ((($0)) + 16|0);
HEAP32[$21>>2] = $20;
$$0 = 0;
} else {
$10 = $7 | 32;
HEAP32[$0>>2] = $10;
$$0 = -1;
}
return ($$0|0);
}
function _sn_write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$cast = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ((($0)) + 16|0);
$4 = HEAP32[$3>>2]|0;
$5 = ((($0)) + 20|0);
$6 = HEAP32[$5>>2]|0;
$7 = (($4) - ($6))|0;
$8 = ($7>>>0)>($2>>>0);
$$ = $8 ? $2 : $7;
$$cast = $6;
_memcpy(($$cast|0),($1|0),($$|0))|0;
$9 = HEAP32[$5>>2]|0;
$10 = (($9) + ($$)|0);
HEAP32[$5>>2] = $10;
return ($2|0);
}
function _strncpy($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var label = 0, sp = 0;
sp = STACKTOP;
(___stpncpy($0,$1,$2)|0);
return ($0|0);
}
function ___stpncpy($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$037$lcssa = 0, $$03753 = 0, $$038$lcssa = 0, $$038$lcssa79 = 0, $$03866 = 0, $$039$lcssa = 0, $$039$lcssa78 = 0, $$03965 = 0, $$041$lcssa = 0, $$041$lcssa77 = 0, $$04164 = 0, $$054 = 0, $$1$lcssa = 0, $$140$ph = 0, $$14046 = 0, $$142$ph = 0, $$14245 = 0, $$152 = 0, $$2$ph = 0;
var $$243 = 0, $$247 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $or$cond = 0, $or$cond63 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $1;
$4 = $0;
$5 = $3 ^ $4;
$6 = $5 & 3;
$7 = ($6|0)==(0);
do {
if ($7) {
$8 = $3 & 3;
$9 = ($8|0)!=(0);
$10 = ($2|0)!=(0);
$or$cond63 = $10 & $9;
L3: do {
if ($or$cond63) {
$$03866 = $2;$$03965 = $1;$$04164 = $0;
while(1) {
$11 = HEAP8[$$03965>>0]|0;
HEAP8[$$04164>>0] = $11;
$12 = ($11<<24>>24)==(0);
if ($12) {
$$038$lcssa79 = $$03866;$$039$lcssa78 = $$03965;$$041$lcssa77 = $$04164;
break L3;
}
$13 = (($$03866) + -1)|0;
$14 = ((($$03965)) + 1|0);
$15 = ((($$04164)) + 1|0);
$16 = $14;
$17 = $16 & 3;
$18 = ($17|0)!=(0);
$19 = ($13|0)!=(0);
$or$cond = $19 & $18;
if ($or$cond) {
$$03866 = $13;$$03965 = $14;$$04164 = $15;
} else {
$$038$lcssa = $13;$$039$lcssa = $14;$$041$lcssa = $15;$$lcssa = $19;
label = 5;
break;
}
}
} else {
$$038$lcssa = $2;$$039$lcssa = $1;$$041$lcssa = $0;$$lcssa = $10;
label = 5;
}
} while(0);
if ((label|0) == 5) {
if ($$lcssa) {
$$038$lcssa79 = $$038$lcssa;$$039$lcssa78 = $$039$lcssa;$$041$lcssa77 = $$041$lcssa;
} else {
$$243 = $$041$lcssa;$$3 = 0;
break;
}
}
$20 = HEAP8[$$039$lcssa78>>0]|0;
$21 = ($20<<24>>24)==(0);
if ($21) {
$$243 = $$041$lcssa77;$$3 = $$038$lcssa79;
} else {
$22 = ($$038$lcssa79>>>0)>(3);
L11: do {
if ($22) {
$$03753 = $$041$lcssa77;$$054 = $$039$lcssa78;$$152 = $$038$lcssa79;
while(1) {
$23 = HEAP32[$$054>>2]|0;
$24 = (($23) + -16843009)|0;
$25 = $23 & -2139062144;
$26 = $25 ^ -2139062144;
$27 = $26 & $24;
$28 = ($27|0)==(0);
if (!($28)) {
$$0$lcssa = $$054;$$037$lcssa = $$03753;$$1$lcssa = $$152;
break L11;
}
HEAP32[$$03753>>2] = $23;
$29 = (($$152) + -4)|0;
$30 = ((($$054)) + 4|0);
$31 = ((($$03753)) + 4|0);
$32 = ($29>>>0)>(3);
if ($32) {
$$03753 = $31;$$054 = $30;$$152 = $29;
} else {
$$0$lcssa = $30;$$037$lcssa = $31;$$1$lcssa = $29;
break;
}
}
} else {
$$0$lcssa = $$039$lcssa78;$$037$lcssa = $$041$lcssa77;$$1$lcssa = $$038$lcssa79;
}
} while(0);
$$140$ph = $$0$lcssa;$$142$ph = $$037$lcssa;$$2$ph = $$1$lcssa;
label = 11;
}
} else {
$$140$ph = $1;$$142$ph = $0;$$2$ph = $2;
label = 11;
}
} while(0);
L16: do {
if ((label|0) == 11) {
$33 = ($$2$ph|0)==(0);
if ($33) {
$$243 = $$142$ph;$$3 = 0;
} else {
$$14046 = $$140$ph;$$14245 = $$142$ph;$$247 = $$2$ph;
while(1) {
$34 = HEAP8[$$14046>>0]|0;
HEAP8[$$14245>>0] = $34;
$35 = ($34<<24>>24)==(0);
if ($35) {
$$243 = $$14245;$$3 = $$247;
break L16;
}
$36 = (($$247) + -1)|0;
$37 = ((($$14046)) + 1|0);
$38 = ((($$14245)) + 1|0);
$39 = ($36|0)==(0);
if ($39) {
$$243 = $38;$$3 = 0;
break;
} else {
$$14046 = $37;$$14245 = $38;$$247 = $36;
}
}
}
}
} while(0);
_memset(($$243|0),0,($$3|0))|0;
return ($$243|0);
}
function _strcmp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0;
var sp = 0;
sp = STACKTOP;
$2 = HEAP8[$0>>0]|0;
$3 = HEAP8[$1>>0]|0;
$4 = ($2<<24>>24)!=($3<<24>>24);
$5 = ($2<<24>>24)==(0);
$or$cond9 = $5 | $4;
if ($or$cond9) {
$$lcssa = $3;$$lcssa8 = $2;
} else {
$$011 = $1;$$0710 = $0;
while(1) {
$6 = ((($$0710)) + 1|0);
$7 = ((($$011)) + 1|0);
$8 = HEAP8[$6>>0]|0;
$9 = HEAP8[$7>>0]|0;
$10 = ($8<<24>>24)!=($9<<24>>24);
$11 = ($8<<24>>24)==(0);
$or$cond = $11 | $10;
if ($or$cond) {
$$lcssa = $9;$$lcssa8 = $8;
break;
} else {
$$011 = $7;$$0710 = $6;
}
}
}
$12 = $$lcssa8&255;
$13 = $$lcssa&255;
$14 = (($12) - ($13))|0;
return ($14|0);
}
function _fprintf($0,$1,$varargs) {
$0 = $0|0;
$1 = $1|0;
$varargs = $varargs|0;
var $2 = 0, $3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
HEAP32[$2>>2] = $varargs;
$3 = (_vfprintf($0,$1,$2)|0);
STACKTOP = sp;return ($3|0);
}
function _strcpy($0,$1) {
$0 = $0|0;
$1 = $1|0;
var label = 0, sp = 0;
sp = STACKTOP;
(___stpcpy($0,$1)|0);
return ($0|0);
}
function ___stpcpy($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $1;
$3 = $0;
$4 = $2 ^ $3;
$5 = $4 & 3;
$6 = ($5|0)==(0);
L1: do {
if ($6) {
$7 = $2 & 3;
$8 = ($7|0)==(0);
if ($8) {
$$026$lcssa = $1;$$027$lcssa = $0;
} else {
$$02642 = $1;$$02741 = $0;
while(1) {
$9 = HEAP8[$$02642>>0]|0;
HEAP8[$$02741>>0] = $9;
$10 = ($9<<24>>24)==(0);
if ($10) {
$$029 = $$02741;
break L1;
}
$11 = ((($$02642)) + 1|0);
$12 = ((($$02741)) + 1|0);
$13 = $11;
$14 = $13 & 3;
$15 = ($14|0)==(0);
if ($15) {
$$026$lcssa = $11;$$027$lcssa = $12;
break;
} else {
$$02642 = $11;$$02741 = $12;
}
}
}
$16 = HEAP32[$$026$lcssa>>2]|0;
$17 = (($16) + -16843009)|0;
$18 = $16 & -2139062144;
$19 = $18 ^ -2139062144;
$20 = $19 & $17;
$21 = ($20|0)==(0);
if ($21) {
$$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16;
while(1) {
$22 = ((($$037)) + 4|0);
$23 = ((($$02536)) + 4|0);
HEAP32[$$02536>>2] = $24;
$25 = HEAP32[$22>>2]|0;
$26 = (($25) + -16843009)|0;
$27 = $25 & -2139062144;
$28 = $27 ^ -2139062144;
$29 = $28 & $26;
$30 = ($29|0)==(0);
if ($30) {
$$02536 = $23;$$037 = $22;$24 = $25;
} else {
$$0$lcssa = $22;$$025$lcssa = $23;
break;
}
}
} else {
$$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa;
}
$$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa;
label = 8;
} else {
$$1$ph = $1;$$128$ph = $0;
label = 8;
}
} while(0);
if ((label|0) == 8) {
$31 = HEAP8[$$1$ph>>0]|0;
HEAP8[$$128$ph>>0] = $31;
$32 = ($31<<24>>24)==(0);
if ($32) {
$$029 = $$128$ph;
} else {
$$12834 = $$128$ph;$$135 = $$1$ph;
while(1) {
$33 = ((($$135)) + 1|0);
$34 = ((($$12834)) + 1|0);
$35 = HEAP8[$33>>0]|0;
HEAP8[$34>>0] = $35;
$36 = ($35<<24>>24)==(0);
if ($36) {
$$029 = $34;
break;
} else {
$$12834 = $34;$$135 = $33;
}
}
}
}
return ($$029|0);
}
function _fopen($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$2 = HEAP8[$1>>0]|0;
$3 = $2 << 24 >> 24;
$memchr = (_memchr(31251,$3,4)|0);
$4 = ($memchr|0)==(0|0);
if ($4) {
$5 = (___errno_location()|0);
HEAP32[$5>>2] = 22;
$$0 = 0;
} else {
$6 = (___fmodeflags($1)|0);
$7 = $6 | 32768;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $7;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 438;
$8 = (___syscall5(5,($vararg_buffer|0))|0);
$9 = (___syscall_ret($8)|0);
$10 = ($9|0)<(0);
if ($10) {
$$0 = 0;
} else {
$11 = (___fdopen($9,$1)|0);
$12 = ($11|0)==(0|0);
if ($12) {
HEAP32[$vararg_buffer3>>2] = $9;
(___syscall6(6,($vararg_buffer3|0))|0);
$$0 = 0;
} else {
$$0 = $11;
}
}
}
STACKTOP = sp;return ($$0|0);
}
function _fclose($0) {
$0 = $0|0;
var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 76|0);
$2 = HEAP32[$1>>2]|0;
$3 = ($2|0)>(-1);
if ($3) {
}
$4 = HEAP32[$0>>2]|0;
$5 = $4 & 1;
$6 = ($5|0)!=(0);
if (!($6)) {
___lock(((31352)|0));
$7 = ((($0)) + 52|0);
$8 = HEAP32[$7>>2]|0;
$9 = ($8|0)==(0|0);
$10 = $8;
$$pre = ((($0)) + 56|0);
if (!($9)) {
$11 = HEAP32[$$pre>>2]|0;
$12 = ((($8)) + 56|0);
HEAP32[$12>>2] = $11;
}
$13 = HEAP32[$$pre>>2]|0;
$14 = ($13|0)==(0|0);
$15 = $13;
if (!($14)) {
$16 = ((($13)) + 52|0);
HEAP32[$16>>2] = $10;
}
$17 = HEAP32[(31348)>>2]|0;
$18 = ($17|0)==($0|0);
if ($18) {
HEAP32[(31348)>>2] = $15;
}
___unlock(((31352)|0));
}
$19 = (_fflush($0)|0);
$20 = ((($0)) + 12|0);
$21 = HEAP32[$20>>2]|0;
$22 = (FUNCTION_TABLE_ii[$21 & 63]($0)|0);
$23 = $22 | $19;
$24 = ((($0)) + 92|0);
$25 = HEAP32[$24>>2]|0;
$26 = ($25|0)==(0|0);
if (!($26)) {
_free($25);
}
if (!($6)) {
_free($0);
}
return ($23|0);
}
function _fflush($0) {
$0 = $0|0;
var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
do {
if ($1) {
$8 = HEAP32[2605]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$28 = 0;
} else {
$10 = HEAP32[2605]|0;
$11 = (_fflush($10)|0);
$28 = $11;
}
___lock(((31352)|0));
$$02325 = HEAP32[(31348)>>2]|0;
$12 = ($$02325|0)==(0|0);
if ($12) {
$$024$lcssa = $28;
} else {
$$02327 = $$02325;$$02426 = $28;
while(1) {
$13 = ((($$02327)) + 76|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($14|0)>(-1);
if ($15) {
$16 = (___lockfile($$02327)|0);
$24 = $16;
} else {
$24 = 0;
}
$17 = ((($$02327)) + 20|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($$02327)) + 28|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($18>>>0)>($20>>>0);
if ($21) {
$22 = (___fflush_unlocked($$02327)|0);
$23 = $22 | $$02426;
$$1 = $23;
} else {
$$1 = $$02426;
}
$25 = ($24|0)==(0);
if (!($25)) {
___unlockfile($$02327);
}
$26 = ((($$02327)) + 56|0);
$$023 = HEAP32[$26>>2]|0;
$27 = ($$023|0)==(0|0);
if ($27) {
$$024$lcssa = $$1;
break;
} else {
$$02327 = $$023;$$02426 = $$1;
}
}
}
___unlock(((31352)|0));
$$0 = $$024$lcssa;
} else {
$2 = ((($0)) + 76|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)>(-1);
if (!($4)) {
$5 = (___fflush_unlocked($0)|0);
$$0 = $5;
break;
}
$6 = (___lockfile($0)|0);
$phitmp = ($6|0)==(0);
$7 = (___fflush_unlocked($0)|0);
if ($phitmp) {
$$0 = $7;
} else {
___unlockfile($0);
$$0 = $7;
}
}
} while(0);
return ($$0|0);
}
function ___fflush_unlocked($0) {
$0 = $0|0;
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ((($0)) + 20|0);
$2 = HEAP32[$1>>2]|0;
$3 = ((($0)) + 28|0);
$4 = HEAP32[$3>>2]|0;
$5 = ($2>>>0)>($4>>>0);
if ($5) {
$6 = ((($0)) + 36|0);
$7 = HEAP32[$6>>2]|0;
(FUNCTION_TABLE_iiii[$7 & 127]($0,0,0)|0);
$8 = HEAP32[$1>>2]|0;
$9 = ($8|0)==(0|0);
if ($9) {
$$0 = -1;
} else {
label = 3;
}
} else {
label = 3;
}
if ((label|0) == 3) {
$10 = ((($0)) + 4|0);
$11 = HEAP32[$10>>2]|0;
$12 = ((($0)) + 8|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($11>>>0)<($13>>>0);
if ($14) {
$15 = ((($0)) + 40|0);
$16 = HEAP32[$15>>2]|0;
$17 = $11;
$18 = $13;
$19 = (($17) - ($18))|0;
(FUNCTION_TABLE_iiii[$16 & 127]($0,$19,1)|0);
}
$20 = ((($0)) + 16|0);
HEAP32[$20>>2] = 0;
HEAP32[$3>>2] = 0;
HEAP32[$1>>2] = 0;
HEAP32[$12>>2] = 0;
HEAP32[$10>>2] = 0;
$$0 = 0;
}
return ($$0|0);
}
function ___floatscan($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$$0340$i = 0, $$$0345$i = 0, $$$0380$i = 0, $$$0396$i = 0, $$$5350$i = 0, $$$5385$i = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107163 = 0, $$0113 = 0, $$0114 = 0.0, $$0133$i = 0, $$0142$i = 0, $$0146$i = 0, $$0148$i = 0, $$0151$i = 0.0;
var $$0152$i = 0.0, $$0155$i = 0.0, $$0159$i = 0, $$0166$i = 0, $$0166169$i = 0, $$0166170$i = 0, $$0324$i = 0, $$0327480$i = 0, $$0328$i = 0, $$0329$i = 0, $$0331476$i = 0, $$0335486$i = 0, $$0336$lcssa$i = 0, $$0336453$i = 0, $$0336454$i = 0, $$0336455$i = 0, $$0336503$i = 0, $$0340$lcssa$i = 0, $$0340457$i = 0, $$0340458$i = 0;
var $$0340459$i = 0, $$0340502$i = 0, $$0345$lcssa545$i = 0, $$0345484$i = 0, $$0355$i = 0.0, $$0356$i = 0.0, $$0360474$i = 0.0, $$0364$i = 0, $$0367$i = 0, $$0375$i = 0, $$0375$ph$i = 0, $$0380$lcssa544$i = 0, $$0380483$i = 0, $$0388$i = 0, $$0391$i = 0, $$0396$lcssa$i = 0, $$0396463$i = 0, $$0396464$i = 0, $$0396465$i = 0, $$0396499$i = 0;
var $$1$i = 0.0, $$1$lcssa = 0, $$1$ph$i = 0, $$10$i = 0, $$1108 = 0, $$1147$i = 0, $$1149$i = 0, $$1153$i = 0.0, $$1156$i = 0.0, $$1160$i = 0, $$1164 = 0, $$1325$be$i = 0, $$1325$ph$i = 0, $$1330$i = 0, $$1332$i = 0, $$1357$i = 0.0, $$1361$i = 0.0, $$1365$i = 0, $$1368$i = 0, $$1368$ph438$i = 0;
var $$1376$i = 0, $$1376$ph$i = 0, $$1376$ph549$i = 0, $$1389$lcssa$i = 0, $$1389501$i = 0, $$2 = 0, $$2$i = 0, $$2$i117 = 0, $$2$lcssa$i = 0, $$2109161 = 0, $$2144$i = 0, $$2150$i = 0, $$2154$i = 0.0, $$2157$i = 0.0, $$2161$i = 0, $$2338$i = 0, $$2342$i = 0, $$2347$ph439$i = 0, $$2362$i = 0.0, $$2366$i = 0;
var $$2369$i = 0, $$2382$ph437$i = 0, $$2390$i = 0, $$2393$i = 0, $$2398$i = 0, $$3$be$i = 0, $$3$lcssa$i = 0, $$3110 = 0, $$3145$i = 0, $$3158$lcssa$i = 0.0, $$3158179$i = 0.0, $$3162 = 0, $$3162$lcssa$i = 0, $$3162183$i = 0, $$3339493$i = 0, $$3343$i = 0, $$3359$i = 0.0, $$3363$i = 0.0, $$3370$i = 0, $$3378$i = 0;
var $$3394$lcssa$i = 0, $$3394500$i = 0, $$3504$i = 0, $$4 = 0, $$4$i = 0.0, $$408$i = 0, $$4111 = 0, $$416$i = 0, $$4163$lcssa$i = 0, $$4163178$i = 0, $$4344485$i = 0, $$4349$i = 0, $$4349$ph$i = 0, $$4349$ph550$i = 0, $$4371$i = 0, $$4379$i = 0, $$4384$ph$i = 0, $$4384$ph435$i = 0, $$4395$i = 0, $$4475$i = 0;
var $$5 = 0, $$5$$2369$i = 0, $$5$i = 0.0, $$5$i121 = 0, $$5$in$i = 0, $$5164$i = 0, $$5350478$i = 0, $$5385477$i = 0, $$6 = 0, $$6$i = 0, $$6373$ph$i = 0, $$6479$i = 0, $$9473$i = 0, $$in = 0, $$neg432$i = 0, $$neg433$i = 0, $$old8 = 0, $$pn$i = 0.0, $$pre$i = 0, $$pre$i119 = 0;
var $$pre$phi202$iZ2D = 0.0, $$pre201$i = 0.0, $$promoted$i = 0, $$sink$off0$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0.0;
var $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0, $192 = 0.0, $193 = 0.0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0.0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0;
var $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0;
var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0;
var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0.0;
var $313 = 0.0, $314 = 0.0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0, $327 = 0, $328 = 0.0, $329 = 0, $33 = 0, $330 = 0;
var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0;
var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0;
var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0;
var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0;
var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0;
var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0.0, $428 = 0.0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0;
var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0.0, $445 = 0.0, $446 = 0.0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0.0, $457 = 0.0;
var $458 = 0.0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0.0, $469 = 0.0, $47 = 0, $470 = 0.0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0;
var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0.0, $483 = 0, $484 = 0.0, $485 = 0.0, $486 = 0, $487 = 0.0, $488 = 0, $489 = 0.0, $49 = 0, $490 = 0.0, $491 = 0, $492 = 0, $493 = 0;
var $494 = 0.0, $495 = 0.0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0.0, $501 = 0.0, $502 = 0.0, $503 = 0, $504 = 0, $505 = 0, $506 = 0.0, $507 = 0.0, $508 = 0, $509 = 0, $51 = 0, $510 = 0;
var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0;
var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0.0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0;
var $548 = 0, $549 = 0, $55 = 0.0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0.0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0;
var $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0;
var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0;
var $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0;
var $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0.0, $63 = 0, $630 = 0, $631 = 0, $632 = 0.0, $633 = 0.0, $634 = 0, $635 = 0.0, $636 = 0.0, $637 = 0;
var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0.0, $644 = 0.0, $645 = 0, $646 = 0.0, $647 = 0.0, $648 = 0.0, $649 = 0.0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0;
var $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0.0, $661 = 0.0, $662 = 0, $663 = 0.0, $664 = 0.0, $665 = 0, $666 = 0, $667 = 0, $668 = 0.0, $669 = 0.0, $67 = 0, $670 = 0.0, $671 = 0.0, $672 = 0, $673 = 0;
var $674 = 0.0, $675 = 0, $676 = 0.0, $677 = 0.0, $678 = 0.0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0.0, $683 = 0, $684 = 0, $685 = 0, $686 = 0.0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0;
var $692 = 0.0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0;
var $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond$i = 0, $exitcond$i = 0;
var $exitcond541$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i118 = 0, $or$cond168$i = 0, $or$cond3$i = 0, $or$cond4$i = 0, $or$cond410$i = 0, $or$cond412$i = 0, $or$cond413$i = 0, $or$cond414$i = 0, $or$cond417$i = 0, $or$cond418$i = 0, $or$cond5 = 0, $or$cond571$i = 0, $or$cond6$i = 0, $or$cond6$i122 = 0, $or$cond7 = 0, $or$cond9 = 0, $or$cond9$i = 0;
var $storemerge$i = 0, $sum$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0);
$3 = sp;
switch ($1|0) {
case 0: {
$$0105$ph = -149;$$0106$ph = 24;
label = 4;
break;
}
case 1: {
$$0105$ph = -1074;$$0106$ph = 53;
label = 4;
break;
}
case 2: {
$$0105$ph = -1074;$$0106$ph = 53;
label = 4;
break;
}
default: {
$$0114 = 0.0;
}
}
L4: do {
if ((label|0) == 4) {
$4 = ((($0)) + 4|0);
$5 = ((($0)) + 100|0);
while(1) {
$6 = HEAP32[$4>>2]|0;
$7 = HEAP32[$5>>2]|0;
$8 = ($6>>>0)<($7>>>0);
if ($8) {
$9 = ((($6)) + 1|0);
HEAP32[$4>>2] = $9;
$10 = HEAP8[$6>>0]|0;
$11 = $10&255;
$13 = $11;
} else {
$12 = (___shgetc($0)|0);
$13 = $12;
}
$14 = (_isspace($13)|0);
$15 = ($14|0)==(0);
if ($15) {
break;
}
}
$16 = ($13|0)==(45);
L13: do {
switch ($13|0) {
case 43: case 45: {
$17 = $16&1;
$18 = $17 << 1;
$19 = (1 - ($18))|0;
$20 = HEAP32[$4>>2]|0;
$21 = HEAP32[$5>>2]|0;
$22 = ($20>>>0)<($21>>>0);
if ($22) {
$23 = ((($20)) + 1|0);
HEAP32[$4>>2] = $23;
$24 = HEAP8[$20>>0]|0;
$25 = $24&255;
$$0 = $25;$$0113 = $19;
break L13;
} else {
$26 = (___shgetc($0)|0);
$$0 = $26;$$0113 = $19;
break L13;
}
break;
}
default: {
$$0 = $13;$$0113 = 1;
}
}
} while(0);
$$0107163 = 0;$$1164 = $$0;
while(1) {
$27 = $$1164 | 32;
$28 = (31238 + ($$0107163)|0);
$29 = HEAP8[$28>>0]|0;
$30 = $29 << 24 >> 24;
$31 = ($27|0)==($30|0);
if (!($31)) {
$$0107$lcssa = $$0107163;$$1$lcssa = $$1164;
break;
}
$32 = ($$0107163>>>0)<(7);
do {
if ($32) {
$33 = HEAP32[$4>>2]|0;
$34 = HEAP32[$5>>2]|0;
$35 = ($33>>>0)<($34>>>0);
if ($35) {
$36 = ((($33)) + 1|0);
HEAP32[$4>>2] = $36;
$37 = HEAP8[$33>>0]|0;
$38 = $37&255;
$$2 = $38;
break;
} else {
$39 = (___shgetc($0)|0);
$$2 = $39;
break;
}
} else {
$$2 = $$1164;
}
} while(0);
$40 = (($$0107163) + 1)|0;
$41 = ($40>>>0)<(8);
if ($41) {
$$0107163 = $40;$$1164 = $$2;
} else {
$$0107$lcssa = $40;$$1$lcssa = $$2;
break;
}
}
L29: do {
switch ($$0107$lcssa|0) {
case 8: {
break;
}
case 3: {
label = 23;
break;
}
default: {
$42 = ($$0107$lcssa>>>0)>(3);
$43 = ($2|0)!=(0);
$or$cond5 = $43 & $42;
if ($or$cond5) {
$44 = ($$0107$lcssa|0)==(8);
if ($44) {
break L29;
} else {
label = 23;
break L29;
}
}
$57 = ($$0107$lcssa|0)==(0);
L34: do {
if ($57) {
$$2109161 = 0;$$3162 = $$1$lcssa;
while(1) {
$58 = $$3162 | 32;
$59 = (31247 + ($$2109161)|0);
$60 = HEAP8[$59>>0]|0;
$61 = $60 << 24 >> 24;
$62 = ($58|0)==($61|0);
if (!($62)) {
$$3110 = $$2109161;$$5 = $$3162;
break L34;
}
$63 = ($$2109161>>>0)<(2);
do {
if ($63) {
$64 = HEAP32[$4>>2]|0;
$65 = HEAP32[$5>>2]|0;
$66 = ($64>>>0)<($65>>>0);
if ($66) {
$67 = ((($64)) + 1|0);
HEAP32[$4>>2] = $67;
$68 = HEAP8[$64>>0]|0;
$69 = $68&255;
$$4 = $69;
break;
} else {
$70 = (___shgetc($0)|0);
$$4 = $70;
break;
}
} else {
$$4 = $$3162;
}
} while(0);
$71 = (($$2109161) + 1)|0;
$72 = ($71>>>0)<(3);
if ($72) {
$$2109161 = $71;$$3162 = $$4;
} else {
$$3110 = $71;$$5 = $$4;
break;
}
}
} else {
$$3110 = $$0107$lcssa;$$5 = $$1$lcssa;
}
} while(0);
switch ($$3110|0) {
case 3: {
$73 = HEAP32[$4>>2]|0;
$74 = HEAP32[$5>>2]|0;
$75 = ($73>>>0)<($74>>>0);
if ($75) {
$76 = ((($73)) + 1|0);
HEAP32[$4>>2] = $76;
$77 = HEAP8[$73>>0]|0;
$78 = $77&255;
$80 = $78;
} else {
$79 = (___shgetc($0)|0);
$80 = $79;
}
$81 = ($80|0)==(40);
if ($81) {
$$4111 = 1;
} else {
$82 = HEAP32[$5>>2]|0;
$83 = ($82|0)==(0|0);
if ($83) {
$$0114 = nan;
break L4;
}
$84 = HEAP32[$4>>2]|0;
$85 = ((($84)) + -1|0);
HEAP32[$4>>2] = $85;
$$0114 = nan;
break L4;
}
while(1) {
$86 = HEAP32[$4>>2]|0;
$87 = HEAP32[$5>>2]|0;
$88 = ($86>>>0)<($87>>>0);
if ($88) {
$89 = ((($86)) + 1|0);
HEAP32[$4>>2] = $89;
$90 = HEAP8[$86>>0]|0;
$91 = $90&255;
$94 = $91;
} else {
$92 = (___shgetc($0)|0);
$94 = $92;
}
$93 = (($94) + -48)|0;
$95 = ($93>>>0)<(10);
$96 = (($94) + -65)|0;
$97 = ($96>>>0)<(26);
$or$cond = $95 | $97;
if (!($or$cond)) {
$98 = (($94) + -97)|0;
$99 = ($98>>>0)<(26);
$100 = ($94|0)==(95);
$or$cond7 = $100 | $99;
if (!($or$cond7)) {
break;
}
}
$112 = (($$4111) + 1)|0;
$$4111 = $112;
}
$101 = ($94|0)==(41);
if ($101) {
$$0114 = nan;
break L4;
}
$102 = HEAP32[$5>>2]|0;
$103 = ($102|0)==(0|0);
if (!($103)) {
$104 = HEAP32[$4>>2]|0;
$105 = ((($104)) + -1|0);
HEAP32[$4>>2] = $105;
}
if (!($43)) {
$107 = (___errno_location()|0);
HEAP32[$107>>2] = 22;
___shlim($0,0);
$$0114 = 0.0;
break L4;
}
$106 = ($$4111|0)==(0);
if ($106) {
$$0114 = nan;
break L4;
} else {
$$in = $$4111;
}
while(1) {
$108 = (($$in) + -1)|0;
if (!($103)) {
$109 = HEAP32[$4>>2]|0;
$110 = ((($109)) + -1|0);
HEAP32[$4>>2] = $110;
}
$111 = ($108|0)==(0);
if ($111) {
$$0114 = nan;
break L4;
} else {
$$in = $108;
}
}
break;
}
case 0: {
$118 = ($$5|0)==(48);
do {
if ($118) {
$119 = HEAP32[$4>>2]|0;
$120 = HEAP32[$5>>2]|0;
$121 = ($119>>>0)<($120>>>0);
if ($121) {
$122 = ((($119)) + 1|0);
HEAP32[$4>>2] = $122;
$123 = HEAP8[$119>>0]|0;
$124 = $123&255;
$127 = $124;
} else {
$125 = (___shgetc($0)|0);
$127 = $125;
}
$126 = $127 | 32;
$128 = ($126|0)==(120);
if (!($128)) {
$329 = HEAP32[$5>>2]|0;
$330 = ($329|0)==(0|0);
if ($330) {
$$6 = 48;
break;
}
$331 = HEAP32[$4>>2]|0;
$332 = ((($331)) + -1|0);
HEAP32[$4>>2] = $332;
$$6 = 48;
break;
}
$129 = HEAP32[$4>>2]|0;
$130 = HEAP32[$5>>2]|0;
$131 = ($129>>>0)<($130>>>0);
if ($131) {
$132 = ((($129)) + 1|0);
HEAP32[$4>>2] = $132;
$133 = HEAP8[$129>>0]|0;
$134 = $133&255;
$$0$i = $134;$$0142$i = 0;
} else {
$135 = (___shgetc($0)|0);
$$0$i = $135;$$0142$i = 0;
}
L94: while(1) {
switch ($$0$i|0) {
case 46: {
label = 74;
break L94;
break;
}
case 48: {
break;
}
default: {
$$0146$i = 0;$$0148$i = 0;$$0152$i = 1.0;$$0155$i = 0.0;$$0159$i = 0;$$2$i = $$0$i;$$2144$i = $$0142$i;$172 = 0;$174 = 0;$216 = 0;$218 = 0;
break L94;
}
}
$136 = HEAP32[$4>>2]|0;
$137 = HEAP32[$5>>2]|0;
$138 = ($136>>>0)<($137>>>0);
if ($138) {
$139 = ((($136)) + 1|0);
HEAP32[$4>>2] = $139;
$140 = HEAP8[$136>>0]|0;
$141 = $140&255;
$$0$i = $141;$$0142$i = 1;
continue;
} else {
$142 = (___shgetc($0)|0);
$$0$i = $142;$$0142$i = 1;
continue;
}
}
if ((label|0) == 74) {
$143 = HEAP32[$4>>2]|0;
$144 = HEAP32[$5>>2]|0;
$145 = ($143>>>0)<($144>>>0);
if ($145) {
$146 = ((($143)) + 1|0);
HEAP32[$4>>2] = $146;
$147 = HEAP8[$143>>0]|0;
$148 = $147&255;
$$1$ph$i = $148;
} else {
$149 = (___shgetc($0)|0);
$$1$ph$i = $149;
}
$150 = ($$1$ph$i|0)==(48);
if ($150) {
$158 = 0;$159 = 0;
while(1) {
$151 = HEAP32[$4>>2]|0;
$152 = HEAP32[$5>>2]|0;
$153 = ($151>>>0)<($152>>>0);
if ($153) {
$154 = ((($151)) + 1|0);
HEAP32[$4>>2] = $154;
$155 = HEAP8[$151>>0]|0;
$156 = $155&255;
$162 = $156;
} else {
$157 = (___shgetc($0)|0);
$162 = $157;
}
$160 = (_i64Add(($158|0),($159|0),-1,-1)|0);
$161 = tempRet0;
$163 = ($162|0)==(48);
if ($163) {
$158 = $160;$159 = $161;
} else {
$$0146$i = 1;$$0148$i = 0;$$0152$i = 1.0;$$0155$i = 0.0;$$0159$i = 0;$$2$i = $162;$$2144$i = 1;$172 = 0;$174 = 0;$216 = $160;$218 = $161;
break;
}
}
} else {
$$0146$i = 1;$$0148$i = 0;$$0152$i = 1.0;$$0155$i = 0.0;$$0159$i = 0;$$2$i = $$1$ph$i;$$2144$i = $$0142$i;$172 = 0;$174 = 0;$216 = 0;$218 = 0;
}
}
while(1) {
$164 = (($$2$i) + -48)|0;
$165 = ($164>>>0)<(10);
$$pre$i = $$2$i | 32;
if ($165) {
label = 86;
} else {
$166 = (($$pre$i) + -97)|0;
$167 = ($166>>>0)<(6);
$168 = ($$2$i|0)==(46);
$or$cond6$i = $168 | $167;
if (!($or$cond6$i)) {
$$2$lcssa$i = $$2$i;
break;
}
if ($168) {
$169 = ($$0146$i|0)==(0);
if ($169) {
$$1147$i = 1;$$2150$i = $$0148$i;$$2154$i = $$0152$i;$$2157$i = $$0155$i;$$2161$i = $$0159$i;$$3145$i = $$2144$i;$693 = $174;$694 = $172;$695 = $174;$696 = $172;
} else {
$$2$lcssa$i = 46;
break;
}
} else {
label = 86;
}
}
if ((label|0) == 86) {
label = 0;
$170 = ($$2$i|0)>(57);
$171 = (($$pre$i) + -87)|0;
$$0133$i = $170 ? $171 : $164;
$173 = ($172|0)<(0);
$175 = ($174>>>0)<(8);
$176 = ($172|0)==(0);
$177 = $176 & $175;
$178 = $173 | $177;
do {
if ($178) {
$179 = $$0159$i << 4;
$180 = (($$0133$i) + ($179))|0;
$$1149$i = $$0148$i;$$1153$i = $$0152$i;$$1156$i = $$0155$i;$$1160$i = $180;
} else {
$181 = ($172|0)<(0);
$182 = ($174>>>0)<(14);
$183 = ($172|0)==(0);
$184 = $183 & $182;
$185 = $181 | $184;
if ($185) {
$186 = (+($$0133$i|0));
$187 = $$0152$i * 0.0625;
$188 = $187 * $186;
$189 = $$0155$i + $188;
$$1149$i = $$0148$i;$$1153$i = $187;$$1156$i = $189;$$1160$i = $$0159$i;
break;
}
$190 = ($$0133$i|0)==(0);
$191 = ($$0148$i|0)!=(0);
$or$cond$i = $191 | $190;
if ($or$cond$i) {
$$1149$i = $$0148$i;$$1153$i = $$0152$i;$$1156$i = $$0155$i;$$1160$i = $$0159$i;
} else {
$192 = $$0152$i * 0.5;
$193 = $$0155$i + $192;
$$1149$i = 1;$$1153$i = $$0152$i;$$1156$i = $193;$$1160$i = $$0159$i;
}
}
} while(0);
$194 = (_i64Add(($174|0),($172|0),1,0)|0);
$195 = tempRet0;
$$1147$i = $$0146$i;$$2150$i = $$1149$i;$$2154$i = $$1153$i;$$2157$i = $$1156$i;$$2161$i = $$1160$i;$$3145$i = 1;$693 = $216;$694 = $218;$695 = $194;$696 = $195;
}
$196 = HEAP32[$4>>2]|0;
$197 = HEAP32[$5>>2]|0;
$198 = ($196>>>0)<($197>>>0);
if ($198) {
$199 = ((($196)) + 1|0);
HEAP32[$4>>2] = $199;
$200 = HEAP8[$196>>0]|0;
$201 = $200&255;
$$0146$i = $$1147$i;$$0148$i = $$2150$i;$$0152$i = $$2154$i;$$0155$i = $$2157$i;$$0159$i = $$2161$i;$$2$i = $201;$$2144$i = $$3145$i;$172 = $696;$174 = $695;$216 = $693;$218 = $694;
continue;
} else {
$202 = (___shgetc($0)|0);
$$0146$i = $$1147$i;$$0148$i = $$2150$i;$$0152$i = $$2154$i;$$0155$i = $$2157$i;$$0159$i = $$2161$i;$$2$i = $202;$$2144$i = $$3145$i;$172 = $696;$174 = $695;$216 = $693;$218 = $694;
continue;
}
}
$203 = ($$2144$i|0)==(0);
if ($203) {
$204 = HEAP32[$5>>2]|0;
$205 = ($204|0)==(0|0);
if (!($205)) {
$206 = HEAP32[$4>>2]|0;
$207 = ((($206)) + -1|0);
HEAP32[$4>>2] = $207;
}
$208 = ($2|0)==(0);
if ($208) {
___shlim($0,0);
} else {
if (!($205)) {
$209 = HEAP32[$4>>2]|0;
$210 = ((($209)) + -1|0);
HEAP32[$4>>2] = $210;
$211 = ($$0146$i|0)==(0);
if (!($211)) {
$212 = ((($209)) + -2|0);
HEAP32[$4>>2] = $212;
}
}
}
$213 = (+($$0113|0));
$214 = $213 * 0.0;
$$0114 = $214;
break L4;
}
$215 = ($$0146$i|0)==(0);
$217 = $215 ? $174 : $216;
$219 = $215 ? $172 : $218;
$220 = ($172|0)<(0);
$221 = ($174>>>0)<(8);
$222 = ($172|0)==(0);
$223 = $222 & $221;
$224 = $220 | $223;
if ($224) {
$$3162183$i = $$0159$i;$226 = $174;$227 = $172;
while(1) {
$225 = $$3162183$i << 4;
$228 = (_i64Add(($226|0),($227|0),1,0)|0);
$229 = tempRet0;
$230 = ($229|0)<(0);
$231 = ($228>>>0)<(8);
$232 = ($229|0)==(0);
$233 = $232 & $231;
$234 = $230 | $233;
if ($234) {
$$3162183$i = $225;$226 = $228;$227 = $229;
} else {
$$3162$lcssa$i = $225;
break;
}
}
} else {
$$3162$lcssa$i = $$0159$i;
}
$235 = $$2$lcssa$i | 32;
$236 = ($235|0)==(112);
if ($236) {
$237 = (_scanexp($0,$2)|0);
$238 = tempRet0;
$239 = ($237|0)==(0);
$240 = ($238|0)==(-2147483648);
$241 = $239 & $240;
if ($241) {
$242 = ($2|0)==(0);
if ($242) {
___shlim($0,0);
$$0114 = 0.0;
break L4;
}
$243 = HEAP32[$5>>2]|0;
$244 = ($243|0)==(0|0);
if ($244) {
$255 = 0;$256 = 0;
} else {
$245 = HEAP32[$4>>2]|0;
$246 = ((($245)) + -1|0);
HEAP32[$4>>2] = $246;
$255 = 0;$256 = 0;
}
} else {
$255 = $237;$256 = $238;
}
} else {
$247 = HEAP32[$5>>2]|0;
$248 = ($247|0)==(0|0);
if ($248) {
$255 = 0;$256 = 0;
} else {
$249 = HEAP32[$4>>2]|0;
$250 = ((($249)) + -1|0);
HEAP32[$4>>2] = $250;
$255 = 0;$256 = 0;
}
}
$251 = (_bitshift64Shl(($217|0),($219|0),2)|0);
$252 = tempRet0;
$253 = (_i64Add(($251|0),($252|0),-32,-1)|0);
$254 = tempRet0;
$257 = (_i64Add(($253|0),($254|0),($255|0),($256|0))|0);
$258 = tempRet0;
$259 = ($$3162$lcssa$i|0)==(0);
if ($259) {
$260 = (+($$0113|0));
$261 = $260 * 0.0;
$$0114 = $261;
break L4;
}
$262 = (0 - ($$0105$ph))|0;
$263 = ($258|0)>(0);
$264 = ($257>>>0)>($262>>>0);
$265 = ($258|0)==(0);
$266 = $265 & $264;
$267 = $263 | $266;
if ($267) {
$268 = (___errno_location()|0);
HEAP32[$268>>2] = 34;
$269 = (+($$0113|0));
$270 = $269 * 1.7976931348623157E+308;
$271 = $270 * 1.7976931348623157E+308;
$$0114 = $271;
break L4;
}
$272 = (($$0105$ph) + -106)|0;
$273 = ($272|0)<(0);
$274 = $273 << 31 >> 31;
$275 = ($258|0)<($274|0);
$276 = ($257>>>0)<($272>>>0);
$277 = ($258|0)==($274|0);
$278 = $277 & $276;
$279 = $275 | $278;
if ($279) {
$281 = (___errno_location()|0);
HEAP32[$281>>2] = 34;
$282 = (+($$0113|0));
$283 = $282 * 2.2250738585072014E-308;
$284 = $283 * 2.2250738585072014E-308;
$$0114 = $284;
break L4;
}
$280 = ($$3162$lcssa$i|0)>(-1);
if ($280) {
$$3158179$i = $$0155$i;$$4163178$i = $$3162$lcssa$i;$290 = $257;$291 = $258;
while(1) {
$285 = !($$3158179$i >= 0.5);
$286 = $$4163178$i << 1;
$287 = $$3158179$i + -1.0;
$288 = $285&1;
$289 = $288 | $286;
$$5164$i = $289 ^ 1;
$$pn$i = $285 ? $$3158179$i : $287;
$$4$i = $$3158179$i + $$pn$i;
$292 = (_i64Add(($290|0),($291|0),-1,-1)|0);
$293 = tempRet0;
$294 = ($289|0)>(-1);
if ($294) {
$$3158179$i = $$4$i;$$4163178$i = $$5164$i;$290 = $292;$291 = $293;
} else {
$$3158$lcssa$i = $$4$i;$$4163$lcssa$i = $$5164$i;$299 = $292;$300 = $293;
break;
}
}
} else {
$$3158$lcssa$i = $$0155$i;$$4163$lcssa$i = $$3162$lcssa$i;$299 = $257;$300 = $258;
}
$295 = ($$0105$ph|0)<(0);
$296 = $295 << 31 >> 31;
$297 = (_i64Subtract(32,0,($$0105$ph|0),($296|0))|0);
$298 = tempRet0;
$301 = (_i64Add(($299|0),($300|0),($297|0),($298|0))|0);
$302 = tempRet0;
$303 = (0)>($302|0);
$304 = ($$0106$ph>>>0)>($301>>>0);
$305 = (0)==($302|0);
$306 = $305 & $304;
$307 = $303 | $306;
if ($307) {
$308 = ($301|0)<(0);
if ($308) {
$$0166170$i = 0;$311 = 84;
label = 127;
} else {
$$0166$i = $301;
label = 125;
}
} else {
$$0166$i = $$0106$ph;
label = 125;
}
if ((label|0) == 125) {
$309 = ($$0166$i|0)<(53);
$310 = (84 - ($$0166$i))|0;
if ($309) {
$$0166170$i = $$0166$i;$311 = $310;
label = 127;
} else {
$$pre201$i = (+($$0113|0));
$$0151$i = 0.0;$$0166169$i = $$0166$i;$$pre$phi202$iZ2D = $$pre201$i;
}
}
if ((label|0) == 127) {
$312 = (+_scalbn(1.0,$311));
$313 = (+($$0113|0));
$314 = (+_copysignl($312,$313));
$$0151$i = $314;$$0166169$i = $$0166170$i;$$pre$phi202$iZ2D = $313;
}
$315 = ($$0166169$i|0)<(32);
$316 = $$3158$lcssa$i != 0.0;
$or$cond4$i = $316 & $315;
$317 = $$4163$lcssa$i & 1;
$318 = ($317|0)==(0);
$or$cond168$i = $318 & $or$cond4$i;
$319 = $or$cond168$i&1;
$$6$i = (($319) + ($$4163$lcssa$i))|0;
$$5$i = $or$cond168$i ? 0.0 : $$3158$lcssa$i;
$320 = (+($$6$i>>>0));
$321 = $$pre$phi202$iZ2D * $320;
$322 = $$0151$i + $321;
$323 = $$pre$phi202$iZ2D * $$5$i;
$324 = $323 + $322;
$325 = $324 - $$0151$i;
$326 = $325 != 0.0;
if (!($326)) {
$327 = (___errno_location()|0);
HEAP32[$327>>2] = 34;
}
$328 = (+_scalbnl($325,$299));
$$0114 = $328;
break L4;
} else {
$$6 = $$5;
}
} while(0);
$sum$i = (($$0105$ph) + ($$0106$ph))|0;
$333 = (0 - ($sum$i))|0;
$$0324$i = $$6;$$0391$i = 0;
L184: while(1) {
switch ($$0324$i|0) {
case 46: {
label = 138;
break L184;
break;
}
case 48: {
break;
}
default: {
$$0388$i = 0;$$2$i117 = $$0324$i;$$2393$i = $$0391$i;$697 = 0;$698 = 0;
break L184;
}
}
$334 = HEAP32[$4>>2]|0;
$335 = HEAP32[$5>>2]|0;
$336 = ($334>>>0)<($335>>>0);
if ($336) {
$337 = ((($334)) + 1|0);
HEAP32[$4>>2] = $337;
$338 = HEAP8[$334>>0]|0;
$339 = $338&255;
$$0324$i = $339;$$0391$i = 1;
continue;
} else {
$340 = (___shgetc($0)|0);
$$0324$i = $340;$$0391$i = 1;
continue;
}
}
if ((label|0) == 138) {
$341 = HEAP32[$4>>2]|0;
$342 = HEAP32[$5>>2]|0;
$343 = ($341>>>0)<($342>>>0);
if ($343) {
$344 = ((($341)) + 1|0);
HEAP32[$4>>2] = $344;
$345 = HEAP8[$341>>0]|0;
$346 = $345&255;
$$1325$ph$i = $346;
} else {
$347 = (___shgetc($0)|0);
$$1325$ph$i = $347;
}
$348 = ($$1325$ph$i|0)==(48);
if ($348) {
$349 = 0;$350 = 0;
while(1) {
$351 = (_i64Add(($349|0),($350|0),-1,-1)|0);
$352 = tempRet0;
$353 = HEAP32[$4>>2]|0;
$354 = HEAP32[$5>>2]|0;
$355 = ($353>>>0)<($354>>>0);
if ($355) {
$356 = ((($353)) + 1|0);
HEAP32[$4>>2] = $356;
$357 = HEAP8[$353>>0]|0;
$358 = $357&255;
$$1325$be$i = $358;
} else {
$359 = (___shgetc($0)|0);
$$1325$be$i = $359;
}
$360 = ($$1325$be$i|0)==(48);
if ($360) {
$349 = $351;$350 = $352;
} else {
$$0388$i = 1;$$2$i117 = $$1325$be$i;$$2393$i = 1;$697 = $351;$698 = $352;
break;
}
}
} else {
$$0388$i = 1;$$2$i117 = $$1325$ph$i;$$2393$i = $$0391$i;$697 = 0;$698 = 0;
}
}
HEAP32[$3>>2] = 0;
$361 = (($$2$i117) + -48)|0;
$362 = ($361>>>0)<(10);
$363 = ($$2$i117|0)==(46);
$364 = $363 | $362;
L203: do {
if ($364) {
$365 = ((($3)) + 496|0);
$$0336503$i = 0;$$0340502$i = 0;$$0396499$i = 0;$$1389501$i = $$0388$i;$$3394500$i = $$2393$i;$$3504$i = $$2$i117;$368 = 0;$369 = 0;$699 = $363;$700 = $361;$701 = $697;$702 = $698;
L205: while(1) {
do {
if ($699) {
$cond$i = ($$1389501$i|0)==(0);
if ($cond$i) {
$$2338$i = $$0336503$i;$$2342$i = $$0340502$i;$$2390$i = 1;$$2398$i = $$0396499$i;$$4395$i = $$3394500$i;$703 = $368;$704 = $369;$705 = $368;$706 = $369;
} else {
break L205;
}
} else {
$367 = ($$0340502$i|0)<(125);
$370 = (_i64Add(($368|0),($369|0),1,0)|0);
$371 = tempRet0;
$372 = ($$3504$i|0)!=(48);
if (!($367)) {
if (!($372)) {
$$2338$i = $$0336503$i;$$2342$i = $$0340502$i;$$2390$i = $$1389501$i;$$2398$i = $$0396499$i;$$4395$i = $$3394500$i;$703 = $701;$704 = $702;$705 = $370;$706 = $371;
break;
}
$382 = HEAP32[$365>>2]|0;
$383 = $382 | 1;
HEAP32[$365>>2] = $383;
$$2338$i = $$0336503$i;$$2342$i = $$0340502$i;$$2390$i = $$1389501$i;$$2398$i = $$0396499$i;$$4395$i = $$3394500$i;$703 = $701;$704 = $702;$705 = $370;$706 = $371;
break;
}
$$$0396$i = $372 ? $370 : $$0396499$i;
$373 = ($$0336503$i|0)==(0);
$374 = (($3) + ($$0340502$i<<2)|0);
if ($373) {
$storemerge$i = $700;
} else {
$375 = (($$3504$i) + -48)|0;
$376 = HEAP32[$374>>2]|0;
$377 = ($376*10)|0;
$378 = (($375) + ($377))|0;
$storemerge$i = $378;
}
HEAP32[$374>>2] = $storemerge$i;
$379 = (($$0336503$i) + 1)|0;
$380 = ($379|0)==(9);
$381 = $380&1;
$$$0340$i = (($381) + ($$0340502$i))|0;
$$408$i = $380 ? 0 : $379;
$$2338$i = $$408$i;$$2342$i = $$$0340$i;$$2390$i = $$1389501$i;$$2398$i = $$$0396$i;$$4395$i = 1;$703 = $701;$704 = $702;$705 = $370;$706 = $371;
}
} while(0);
$384 = HEAP32[$4>>2]|0;
$385 = HEAP32[$5>>2]|0;
$386 = ($384>>>0)<($385>>>0);
if ($386) {
$387 = ((($384)) + 1|0);
HEAP32[$4>>2] = $387;
$388 = HEAP8[$384>>0]|0;
$389 = $388&255;
$$3$be$i = $389;
} else {
$390 = (___shgetc($0)|0);
$$3$be$i = $390;
}
$391 = (($$3$be$i) + -48)|0;
$392 = ($391>>>0)<(10);
$393 = ($$3$be$i|0)==(46);
$394 = $393 | $392;
if ($394) {
$$0336503$i = $$2338$i;$$0340502$i = $$2342$i;$$0396499$i = $$2398$i;$$1389501$i = $$2390$i;$$3394500$i = $$4395$i;$$3504$i = $$3$be$i;$368 = $705;$369 = $706;$699 = $393;$700 = $391;$701 = $703;$702 = $704;
} else {
$$0336$lcssa$i = $$2338$i;$$0340$lcssa$i = $$2342$i;$$0396$lcssa$i = $$2398$i;$$1389$lcssa$i = $$2390$i;$$3$lcssa$i = $$3$be$i;$$3394$lcssa$i = $$4395$i;$396 = $703;$397 = $705;$399 = $704;$400 = $706;
label = 161;
break L203;
}
}
$366 = ($$3394500$i|0)!=(0);
$$0336455$i = $$0336503$i;$$0340459$i = $$0340502$i;$$0396465$i = $$0396499$i;$707 = $368;$708 = $369;$709 = $701;$710 = $702;$711 = $366;
label = 169;
} else {
$$0336$lcssa$i = 0;$$0340$lcssa$i = 0;$$0396$lcssa$i = 0;$$1389$lcssa$i = $$0388$i;$$3$lcssa$i = $$2$i117;$$3394$lcssa$i = $$2393$i;$396 = $697;$397 = 0;$399 = $698;$400 = 0;
label = 161;
}
} while(0);
do {
if ((label|0) == 161) {
$395 = ($$1389$lcssa$i|0)==(0);
$398 = $395 ? $397 : $396;
$401 = $395 ? $400 : $399;
$402 = ($$3394$lcssa$i|0)!=(0);
$403 = $$3$lcssa$i | 32;
$404 = ($403|0)==(101);
$or$cond410$i = $402 & $404;
if (!($or$cond410$i)) {
$419 = ($$3$lcssa$i|0)>(-1);
if ($419) {
$$0336455$i = $$0336$lcssa$i;$$0340459$i = $$0340$lcssa$i;$$0396465$i = $$0396$lcssa$i;$707 = $397;$708 = $400;$709 = $398;$710 = $401;$711 = $402;
label = 169;
break;
} else {
$$0336454$i = $$0336$lcssa$i;$$0340458$i = $$0340$lcssa$i;$$0396464$i = $$0396$lcssa$i;$712 = $397;$713 = $400;$714 = $402;$715 = $398;$716 = $401;
label = 171;
break;
}
}
$405 = (_scanexp($0,$2)|0);
$406 = tempRet0;
$407 = ($405|0)==(0);
$408 = ($406|0)==(-2147483648);
$409 = $407 & $408;
if ($409) {
$410 = ($2|0)==(0);
if ($410) {
___shlim($0,0);
$$1$i = 0.0;
break;
}
$411 = HEAP32[$5>>2]|0;
$412 = ($411|0)==(0|0);
if ($412) {
$415 = 0;$416 = 0;
} else {
$413 = HEAP32[$4>>2]|0;
$414 = ((($413)) + -1|0);
HEAP32[$4>>2] = $414;
$415 = 0;$416 = 0;
}
} else {
$415 = $405;$416 = $406;
}
$417 = (_i64Add(($415|0),($416|0),($398|0),($401|0))|0);
$418 = tempRet0;
$$0336453$i = $$0336$lcssa$i;$$0340457$i = $$0340$lcssa$i;$$0396463$i = $$0396$lcssa$i;$429 = $417;$431 = $397;$432 = $418;$434 = $400;
label = 173;
}
} while(0);
if ((label|0) == 169) {
$420 = HEAP32[$5>>2]|0;
$421 = ($420|0)==(0|0);
if ($421) {
$$0336454$i = $$0336455$i;$$0340458$i = $$0340459$i;$$0396464$i = $$0396465$i;$712 = $707;$713 = $708;$714 = $711;$715 = $709;$716 = $710;
label = 171;
} else {
$422 = HEAP32[$4>>2]|0;
$423 = ((($422)) + -1|0);
HEAP32[$4>>2] = $423;
if ($711) {
$$0336453$i = $$0336455$i;$$0340457$i = $$0340459$i;$$0396463$i = $$0396465$i;$429 = $709;$431 = $707;$432 = $710;$434 = $708;
label = 173;
} else {
label = 172;
}
}
}
if ((label|0) == 171) {
if ($714) {
$$0336453$i = $$0336454$i;$$0340457$i = $$0340458$i;$$0396463$i = $$0396464$i;$429 = $715;$431 = $712;$432 = $716;$434 = $713;
label = 173;
} else {
label = 172;
}
}
do {
if ((label|0) == 172) {
$424 = (___errno_location()|0);
HEAP32[$424>>2] = 22;
___shlim($0,0);
$$1$i = 0.0;
}
else if ((label|0) == 173) {
$425 = HEAP32[$3>>2]|0;
$426 = ($425|0)==(0);
if ($426) {
$427 = (+($$0113|0));
$428 = $427 * 0.0;
$$1$i = $428;
break;
}
$430 = ($429|0)==($431|0);
$433 = ($432|0)==($434|0);
$435 = $430 & $433;
$436 = ($434|0)<(0);
$437 = ($431>>>0)<(10);
$438 = ($434|0)==(0);
$439 = $438 & $437;
$440 = $436 | $439;
$or$cond$i118 = $440 & $435;
if ($or$cond$i118) {
$441 = ($$0106$ph>>>0)>(30);
$442 = $425 >>> $$0106$ph;
$443 = ($442|0)==(0);
$or$cond412$i = $441 | $443;
if ($or$cond412$i) {
$444 = (+($$0113|0));
$445 = (+($425>>>0));
$446 = $444 * $445;
$$1$i = $446;
break;
}
}
$447 = (($$0105$ph|0) / -2)&-1;
$448 = ($447|0)<(0);
$449 = $448 << 31 >> 31;
$450 = ($432|0)>($449|0);
$451 = ($429>>>0)>($447>>>0);
$452 = ($432|0)==($449|0);
$453 = $452 & $451;
$454 = $450 | $453;
if ($454) {
$455 = (___errno_location()|0);
HEAP32[$455>>2] = 34;
$456 = (+($$0113|0));
$457 = $456 * 1.7976931348623157E+308;
$458 = $457 * 1.7976931348623157E+308;
$$1$i = $458;
break;
}
$459 = (($$0105$ph) + -106)|0;
$460 = ($459|0)<(0);
$461 = $460 << 31 >> 31;
$462 = ($432|0)<($461|0);
$463 = ($429>>>0)<($459>>>0);
$464 = ($432|0)==($461|0);
$465 = $464 & $463;
$466 = $462 | $465;
if ($466) {
$467 = (___errno_location()|0);
HEAP32[$467>>2] = 34;
$468 = (+($$0113|0));
$469 = $468 * 2.2250738585072014E-308;
$470 = $469 * 2.2250738585072014E-308;
$$1$i = $470;
break;
}
$471 = ($$0336453$i|0)==(0);
if ($471) {
$$3343$i = $$0340457$i;
} else {
$472 = ($$0336453$i|0)<(9);
if ($472) {
$473 = (($3) + ($$0340457$i<<2)|0);
$$promoted$i = HEAP32[$473>>2]|0;
$$3339493$i = $$0336453$i;$475 = $$promoted$i;
while(1) {
$474 = ($475*10)|0;
$476 = (($$3339493$i) + 1)|0;
$exitcond541$i = ($476|0)==(9);
if ($exitcond541$i) {
break;
} else {
$$3339493$i = $476;$475 = $474;
}
}
HEAP32[$473>>2] = $474;
}
$477 = (($$0340457$i) + 1)|0;
$$3343$i = $477;
}
$478 = ($$0396463$i|0)<(9);
if ($478) {
$479 = ($$0396463$i|0)<=($429|0);
$480 = ($429|0)<(18);
$or$cond3$i = $479 & $480;
if ($or$cond3$i) {
$481 = ($429|0)==(9);
if ($481) {
$482 = (+($$0113|0));
$483 = HEAP32[$3>>2]|0;
$484 = (+($483>>>0));
$485 = $482 * $484;
$$1$i = $485;
break;
}
$486 = ($429|0)<(9);
if ($486) {
$487 = (+($$0113|0));
$488 = HEAP32[$3>>2]|0;
$489 = (+($488>>>0));
$490 = $487 * $489;
$491 = (8 - ($429))|0;
$492 = (10652 + ($491<<2)|0);
$493 = HEAP32[$492>>2]|0;
$494 = (+($493|0));
$495 = $490 / $494;
$$1$i = $495;
break;
}
$$neg432$i = Math_imul($429, -3)|0;
$$neg433$i = (($$0106$ph) + 27)|0;
$496 = (($$neg433$i) + ($$neg432$i))|0;
$497 = ($496|0)>(30);
$$pre$i119 = HEAP32[$3>>2]|0;
$498 = $$pre$i119 >>> $496;
$499 = ($498|0)==(0);
$or$cond571$i = $497 | $499;
if ($or$cond571$i) {
$500 = (+($$0113|0));
$501 = (+($$pre$i119>>>0));
$502 = $500 * $501;
$503 = (($429) + -10)|0;
$504 = (10652 + ($503<<2)|0);
$505 = HEAP32[$504>>2]|0;
$506 = (+($505|0));
$507 = $502 * $506;
$$1$i = $507;
break;
}
}
}
$508 = (($429|0) % 9)&-1;
$509 = ($508|0)==(0);
if ($509) {
$$0375$ph$i = 0;$$1368$ph438$i = $$3343$i;$$2347$ph439$i = 0;$$2382$ph437$i = $429;
} else {
$510 = ($429|0)>(-1);
$511 = (($508) + 9)|0;
$512 = $510 ? $508 : $511;
$513 = (8 - ($512))|0;
$514 = (10652 + ($513<<2)|0);
$515 = HEAP32[$514>>2]|0;
$516 = ($$3343$i|0)==(0);
if ($516) {
$$0345$lcssa545$i = 0;$$0367$i = 0;$$0380$lcssa544$i = $429;
} else {
$517 = (1000000000 / ($515|0))&-1;
$$0335486$i = 0;$$0345484$i = 0;$$0380483$i = $429;$$4344485$i = 0;
while(1) {
$518 = (($3) + ($$4344485$i<<2)|0);
$519 = HEAP32[$518>>2]|0;
$520 = (($519>>>0) % ($515>>>0))&-1;
$521 = (($519>>>0) / ($515>>>0))&-1;
$522 = (($521) + ($$0335486$i))|0;
HEAP32[$518>>2] = $522;
$523 = Math_imul($520, $517)|0;
$524 = ($$4344485$i|0)==($$0345484$i|0);
$525 = ($522|0)==(0);
$or$cond413$i = $524 & $525;
$526 = (($$0345484$i) + 1)|0;
$527 = $526 & 127;
$528 = (($$0380483$i) + -9)|0;
$$$0380$i = $or$cond413$i ? $528 : $$0380483$i;
$$$0345$i = $or$cond413$i ? $527 : $$0345484$i;
$529 = (($$4344485$i) + 1)|0;
$530 = ($529|0)==($$3343$i|0);
if ($530) {
break;
} else {
$$0335486$i = $523;$$0345484$i = $$$0345$i;$$0380483$i = $$$0380$i;$$4344485$i = $529;
}
}
$531 = ($523|0)==(0);
if ($531) {
$$0345$lcssa545$i = $$$0345$i;$$0367$i = $$3343$i;$$0380$lcssa544$i = $$$0380$i;
} else {
$532 = (($$3343$i) + 1)|0;
$533 = (($3) + ($$3343$i<<2)|0);
HEAP32[$533>>2] = $523;
$$0345$lcssa545$i = $$$0345$i;$$0367$i = $532;$$0380$lcssa544$i = $$$0380$i;
}
}
$534 = (9 - ($512))|0;
$535 = (($534) + ($$0380$lcssa544$i))|0;
$$0375$ph$i = 0;$$1368$ph438$i = $$0367$i;$$2347$ph439$i = $$0345$lcssa545$i;$$2382$ph437$i = $535;
}
L284: while(1) {
$536 = ($$2382$ph437$i|0)<(18);
$537 = ($$2382$ph437$i|0)==(18);
$538 = (($3) + ($$2347$ph439$i<<2)|0);
$$0375$i = $$0375$ph$i;$$1368$i = $$1368$ph438$i;
while(1) {
if (!($536)) {
if (!($537)) {
$$1376$ph$i = $$0375$i;$$4349$ph$i = $$2347$ph439$i;$$4384$ph435$i = $$2382$ph437$i;$$6373$ph$i = $$1368$i;
break L284;
}
$539 = HEAP32[$538>>2]|0;
$540 = ($539>>>0)<(9007199);
if (!($540)) {
$$1376$ph$i = $$0375$i;$$4349$ph$i = $$2347$ph439$i;$$4384$ph435$i = 18;$$6373$ph$i = $$1368$i;
break L284;
}
}
$541 = (($$1368$i) + 127)|0;
$$0329$i = 0;$$2369$i = $$1368$i;$$5$in$i = $541;
while(1) {
$$5$i121 = $$5$in$i & 127;
$542 = (($3) + ($$5$i121<<2)|0);
$543 = HEAP32[$542>>2]|0;
$544 = (_bitshift64Shl(($543|0),0,29)|0);
$545 = tempRet0;
$546 = (_i64Add(($544|0),($545|0),($$0329$i|0),0)|0);
$547 = tempRet0;
$548 = ($547>>>0)>(0);
$549 = ($546>>>0)>(1000000000);
$550 = ($547|0)==(0);
$551 = $550 & $549;
$552 = $548 | $551;
if ($552) {
$553 = (___udivdi3(($546|0),($547|0),1000000000,0)|0);
$554 = tempRet0;
$555 = (___uremdi3(($546|0),($547|0),1000000000,0)|0);
$556 = tempRet0;
$$1330$i = $553;$$sink$off0$i = $555;
} else {
$$1330$i = 0;$$sink$off0$i = $546;
}
HEAP32[$542>>2] = $$sink$off0$i;
$557 = (($$2369$i) + 127)|0;
$558 = $557 & 127;
$559 = ($$5$i121|0)!=($558|0);
$560 = ($$5$i121|0)==($$2347$ph439$i|0);
$or$cond414$i = $559 | $560;
$561 = ($$sink$off0$i|0)==(0);
$$5$$2369$i = $561 ? $$5$i121 : $$2369$i;
$$3370$i = $or$cond414$i ? $$2369$i : $$5$$2369$i;
$562 = (($$5$i121) + -1)|0;
if ($560) {
break;
} else {
$$0329$i = $$1330$i;$$2369$i = $$3370$i;$$5$in$i = $562;
}
}
$563 = (($$0375$i) + -29)|0;
$564 = ($$1330$i|0)==(0);
if ($564) {
$$0375$i = $563;$$1368$i = $$3370$i;
} else {
break;
}
}
$565 = (($$2382$ph437$i) + 9)|0;
$566 = (($$2347$ph439$i) + 127)|0;
$567 = $566 & 127;
$568 = ($567|0)==($$3370$i|0);
$569 = (($$3370$i) + 127)|0;
$570 = $569 & 127;
$571 = (($$3370$i) + 126)|0;
$572 = $571 & 127;
$573 = (($3) + ($572<<2)|0);
if ($568) {
$574 = (($3) + ($570<<2)|0);
$575 = HEAP32[$574>>2]|0;
$576 = HEAP32[$573>>2]|0;
$577 = $576 | $575;
HEAP32[$573>>2] = $577;
$$4371$i = $570;
} else {
$$4371$i = $$3370$i;
}
$578 = (($3) + ($567<<2)|0);
HEAP32[$578>>2] = $$1330$i;
$$0375$ph$i = $563;$$1368$ph438$i = $$4371$i;$$2347$ph439$i = $567;$$2382$ph437$i = $565;
}
L302: while(1) {
$615 = (($$6373$ph$i) + 1)|0;
$612 = $615 & 127;
$616 = (($$6373$ph$i) + 127)|0;
$617 = $616 & 127;
$618 = (($3) + ($617<<2)|0);
$$1376$ph549$i = $$1376$ph$i;$$4349$ph550$i = $$4349$ph$i;$$4384$ph$i = $$4384$ph435$i;
while(1) {
$591 = ($$4384$ph$i|0)==(18);
$619 = ($$4384$ph$i|0)>(27);
$$416$i = $619 ? 9 : 1;
$$1376$i = $$1376$ph549$i;$$4349$i = $$4349$ph550$i;
while(1) {
$$0331476$i = 0;
while(1) {
$579 = (($$0331476$i) + ($$4349$i))|0;
$580 = $579 & 127;
$581 = ($580|0)==($$6373$ph$i|0);
if ($581) {
$$1332$i = 2;
label = 220;
break;
}
$582 = (($3) + ($580<<2)|0);
$583 = HEAP32[$582>>2]|0;
$584 = (10684 + ($$0331476$i<<2)|0);
$585 = HEAP32[$584>>2]|0;
$586 = ($583>>>0)<($585>>>0);
if ($586) {
$$1332$i = 2;
label = 220;
break;
}
$587 = ($583>>>0)>($585>>>0);
if ($587) {
break;
}
$588 = (($$0331476$i) + 1)|0;
$589 = ($588|0)<(2);
if ($589) {
$$0331476$i = $588;
} else {
$$1332$i = $588;
label = 220;
break;
}
}
if ((label|0) == 220) {
label = 0;
$590 = ($$1332$i|0)==(2);
$or$cond6$i122 = $591 & $590;
if ($or$cond6$i122) {
$$0360474$i = 0.0;$$4475$i = 0;$$9473$i = $$6373$ph$i;
break L302;
}
}
$592 = (($$1376$i) + ($$416$i))|0;
$593 = ($$4349$i|0)==($$6373$ph$i|0);
if ($593) {
$$1376$i = $592;$$4349$i = $$6373$ph$i;
} else {
break;
}
}
$594 = 1 << $$416$i;
$595 = (($594) + -1)|0;
$596 = 1000000000 >>> $$416$i;
$$0327480$i = 0;$$5350478$i = $$4349$i;$$5385477$i = $$4384$ph$i;$$6479$i = $$4349$i;
while(1) {
$597 = (($3) + ($$6479$i<<2)|0);
$598 = HEAP32[$597>>2]|0;
$599 = $598 & $595;
$600 = $598 >>> $$416$i;
$601 = (($600) + ($$0327480$i))|0;
HEAP32[$597>>2] = $601;
$602 = Math_imul($599, $596)|0;
$603 = ($$6479$i|0)==($$5350478$i|0);
$604 = ($601|0)==(0);
$or$cond417$i = $603 & $604;
$605 = (($$5350478$i) + 1)|0;
$606 = $605 & 127;
$607 = (($$5385477$i) + -9)|0;
$$$5385$i = $or$cond417$i ? $607 : $$5385477$i;
$$$5350$i = $or$cond417$i ? $606 : $$5350478$i;
$608 = (($$6479$i) + 1)|0;
$609 = $608 & 127;
$610 = ($609|0)==($$6373$ph$i|0);
if ($610) {
break;
} else {
$$0327480$i = $602;$$5350478$i = $$$5350$i;$$5385477$i = $$$5385$i;$$6479$i = $609;
}
}
$611 = ($602|0)==(0);
if ($611) {
$$1376$ph549$i = $592;$$4349$ph550$i = $$$5350$i;$$4384$ph$i = $$$5385$i;
continue;
}
$613 = ($612|0)==($$$5350$i|0);
if (!($613)) {
break;
}
$620 = HEAP32[$618>>2]|0;
$621 = $620 | 1;
HEAP32[$618>>2] = $621;
$$1376$ph549$i = $592;$$4349$ph550$i = $$$5350$i;$$4384$ph$i = $$$5385$i;
}
$614 = (($3) + ($$6373$ph$i<<2)|0);
HEAP32[$614>>2] = $602;
$$1376$ph$i = $592;$$4349$ph$i = $$$5350$i;$$4384$ph435$i = $$$5385$i;$$6373$ph$i = $612;
}
while(1) {
$622 = (($$4475$i) + ($$4349$i))|0;
$623 = $622 & 127;
$624 = ($623|0)==($$9473$i|0);
$625 = (($$9473$i) + 1)|0;
$626 = $625 & 127;
if ($624) {
$627 = (($626) + -1)|0;
$628 = (($3) + ($627<<2)|0);
HEAP32[$628>>2] = 0;
$$10$i = $626;
} else {
$$10$i = $$9473$i;
}
$629 = $$0360474$i * 1.0E+9;
$630 = (($3) + ($623<<2)|0);
$631 = HEAP32[$630>>2]|0;
$632 = (+($631>>>0));
$633 = $629 + $632;
$634 = (($$4475$i) + 1)|0;
$exitcond$i = ($634|0)==(2);
if ($exitcond$i) {
break;
} else {
$$0360474$i = $633;$$4475$i = $634;$$9473$i = $$10$i;
}
}
$635 = (+($$0113|0));
$636 = $635 * $633;
$637 = (($$1376$i) + 53)|0;
$638 = (($637) - ($$0105$ph))|0;
$639 = ($638|0)<($$0106$ph|0);
$640 = ($638|0)<(0);
$$$i = $640 ? 0 : $638;
$$0364$i = $639&1;
$$0328$i = $639 ? $$$i : $$0106$ph;
$641 = ($$0328$i|0)<(53);
if ($641) {
$642 = (105 - ($$0328$i))|0;
$643 = (+_scalbn(1.0,$642));
$644 = (+_copysignl($643,$636));
$645 = (53 - ($$0328$i))|0;
$646 = (+_scalbn(1.0,$645));
$647 = (+_fmodl($636,$646));
$648 = $636 - $647;
$649 = $644 + $648;
$$0355$i = $644;$$0356$i = $647;$$1361$i = $649;
} else {
$$0355$i = 0.0;$$0356$i = 0.0;$$1361$i = $636;
}
$650 = (($$4349$i) + 2)|0;
$651 = $650 & 127;
$652 = ($651|0)==($$10$i|0);
do {
if ($652) {
$$3359$i = $$0356$i;
} else {
$653 = (($3) + ($651<<2)|0);
$654 = HEAP32[$653>>2]|0;
$655 = ($654>>>0)<(500000000);
do {
if ($655) {
$656 = ($654|0)==(0);
if ($656) {
$657 = (($$4349$i) + 3)|0;
$658 = $657 & 127;
$659 = ($658|0)==($$10$i|0);
if ($659) {
$$1357$i = $$0356$i;
break;
}
}
$660 = $635 * 0.25;
$661 = $660 + $$0356$i;
$$1357$i = $661;
} else {
$662 = ($654|0)==(500000000);
if (!($662)) {
$663 = $635 * 0.75;
$664 = $663 + $$0356$i;
$$1357$i = $664;
break;
}
$665 = (($$4349$i) + 3)|0;
$666 = $665 & 127;
$667 = ($666|0)==($$10$i|0);
if ($667) {
$668 = $635 * 0.5;
$669 = $668 + $$0356$i;
$$1357$i = $669;
break;
} else {
$670 = $635 * 0.75;
$671 = $670 + $$0356$i;
$$1357$i = $671;
break;
}
}
} while(0);
$672 = (53 - ($$0328$i))|0;
$673 = ($672|0)>(1);
if ($673) {
$674 = (+_fmodl($$1357$i,1.0));
$675 = $674 != 0.0;
if ($675) {
$$3359$i = $$1357$i;
break;
}
$676 = $$1357$i + 1.0;
$$3359$i = $676;
} else {
$$3359$i = $$1357$i;
}
}
} while(0);
$677 = $$1361$i + $$3359$i;
$678 = $677 - $$0355$i;
$679 = $637 & 2147483647;
$680 = (-2 - ($sum$i))|0;
$681 = ($679|0)>($680|0);
do {
if ($681) {
$682 = (+Math_abs((+$678)));
$683 = !($682 >= 9007199254740992.0);
if ($683) {
$$2362$i = $678;$$2366$i = $$0364$i;$$3378$i = $$1376$i;
} else {
$684 = (($$1376$i) + 1)|0;
$685 = ($$0328$i|0)==($638|0);
$or$cond418$i = $639 & $685;
$$1365$i = $or$cond418$i ? 0 : $$0364$i;
$686 = $678 * 0.5;
$$2362$i = $686;$$2366$i = $$1365$i;$$3378$i = $684;
}
$687 = (($$3378$i) + 50)|0;
$688 = ($687|0)>($333|0);
if (!($688)) {
$689 = ($$2366$i|0)!=(0);
$690 = $$3359$i != 0.0;
$or$cond9$i = $690 & $689;
if (!($or$cond9$i)) {
$$3363$i = $$2362$i;$$4379$i = $$3378$i;
break;
}
}
$691 = (___errno_location()|0);
HEAP32[$691>>2] = 34;
$$3363$i = $$2362$i;$$4379$i = $$3378$i;
} else {
$$3363$i = $678;$$4379$i = $$1376$i;
}
} while(0);
$692 = (+_scalbnl($$3363$i,$$4379$i));
$$1$i = $692;
}
} while(0);
$$0114 = $$1$i;
break L4;
break;
}
default: {
$113 = HEAP32[$5>>2]|0;
$114 = ($113|0)==(0|0);
if (!($114)) {
$115 = HEAP32[$4>>2]|0;
$116 = ((($115)) + -1|0);
HEAP32[$4>>2] = $116;
}
$117 = (___errno_location()|0);
HEAP32[$117>>2] = 22;
___shlim($0,0);
$$0114 = 0.0;
break L4;
}
}
}
}
} while(0);
if ((label|0) == 23) {
$45 = HEAP32[$5>>2]|0;
$46 = ($45|0)==(0|0);
if (!($46)) {
$47 = HEAP32[$4>>2]|0;
$48 = ((($47)) + -1|0);
HEAP32[$4>>2] = $48;
}
$49 = ($2|0)!=(0);
$50 = ($$0107$lcssa>>>0)>(3);
$or$cond9 = $49 & $50;
if ($or$cond9) {
$$1108 = $$0107$lcssa;
while(1) {
if (!($46)) {
$51 = HEAP32[$4>>2]|0;
$52 = ((($51)) + -1|0);
HEAP32[$4>>2] = $52;
}
$53 = (($$1108) + -1)|0;
$$old8 = ($53>>>0)>(3);
if ($$old8) {
$$1108 = $53;
} else {
break;
}
}
}
}
$54 = (+($$0113|0));
$55 = $54 * inf;
$56 = $55;
$$0114 = $56;
}
} while(0);
STACKTOP = sp;return (+$$0114);
}
function _scanexp($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$04860 = 0, $$049 = 0, $$1$be = 0, $$159 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = ((($0)) + 100|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($3>>>0)<($5>>>0);
if ($6) {
$7 = ((($3)) + 1|0);
HEAP32[$2>>2] = $7;
$8 = HEAP8[$3>>0]|0;
$9 = $8&255;
$11 = $9;
} else {
$10 = (___shgetc($0)|0);
$11 = $10;
}
$12 = ($11|0)==(45);
switch ($11|0) {
case 43: case 45: {
$13 = $12&1;
$14 = HEAP32[$2>>2]|0;
$15 = HEAP32[$4>>2]|0;
$16 = ($14>>>0)<($15>>>0);
if ($16) {
$17 = ((($14)) + 1|0);
HEAP32[$2>>2] = $17;
$18 = HEAP8[$14>>0]|0;
$19 = $18&255;
$22 = $19;
} else {
$20 = (___shgetc($0)|0);
$22 = $20;
}
$21 = (($22) + -48)|0;
$23 = ($21>>>0)>(9);
$24 = ($1|0)!=(0);
$or$cond3 = $24 & $23;
if ($or$cond3) {
$25 = HEAP32[$4>>2]|0;
$26 = ($25|0)==(0|0);
if ($26) {
$$0 = $13;$$049 = $22;
} else {
$27 = HEAP32[$2>>2]|0;
$28 = ((($27)) + -1|0);
HEAP32[$2>>2] = $28;
$$0 = $13;$$049 = $22;
}
} else {
$$0 = $13;$$049 = $22;
}
break;
}
default: {
$$0 = 0;$$049 = $11;
}
}
$29 = (($$049) + -48)|0;
$30 = ($29>>>0)>(9);
if ($30) {
$31 = HEAP32[$4>>2]|0;
$32 = ($31|0)==(0|0);
if ($32) {
$100 = -2147483648;$101 = 0;
} else {
$33 = HEAP32[$2>>2]|0;
$34 = ((($33)) + -1|0);
HEAP32[$2>>2] = $34;
$100 = -2147483648;$101 = 0;
}
} else {
$$04860 = 0;$$159 = $$049;
while(1) {
$35 = ($$04860*10)|0;
$36 = (($$159) + -48)|0;
$37 = (($36) + ($35))|0;
$38 = HEAP32[$2>>2]|0;
$39 = HEAP32[$4>>2]|0;
$40 = ($38>>>0)<($39>>>0);
if ($40) {
$41 = ((($38)) + 1|0);
HEAP32[$2>>2] = $41;
$42 = HEAP8[$38>>0]|0;
$43 = $42&255;
$$1$be = $43;
} else {
$44 = (___shgetc($0)|0);
$$1$be = $44;
}
$45 = (($$1$be) + -48)|0;
$46 = ($45>>>0)<(10);
$47 = ($37|0)<(214748364);
$48 = $46 & $47;
if ($48) {
$$04860 = $37;$$159 = $$1$be;
} else {
break;
}
}
$49 = ($37|0)<(0);
$50 = $49 << 31 >> 31;
$51 = (($$1$be) + -48)|0;
$52 = ($51>>>0)<(10);
if ($52) {
$$254 = $$1$be;$55 = $37;$56 = $50;
while(1) {
$57 = (___muldi3(($55|0),($56|0),10,0)|0);
$58 = tempRet0;
$59 = ($$254|0)<(0);
$60 = $59 << 31 >> 31;
$61 = (_i64Add(($$254|0),($60|0),-48,-1)|0);
$62 = tempRet0;
$63 = (_i64Add(($61|0),($62|0),($57|0),($58|0))|0);
$64 = tempRet0;
$65 = HEAP32[$2>>2]|0;
$66 = HEAP32[$4>>2]|0;
$67 = ($65>>>0)<($66>>>0);
if ($67) {
$68 = ((($65)) + 1|0);
HEAP32[$2>>2] = $68;
$69 = HEAP8[$65>>0]|0;
$70 = $69&255;
$$2$be = $70;
} else {
$71 = (___shgetc($0)|0);
$$2$be = $71;
}
$72 = (($$2$be) + -48)|0;
$73 = ($72>>>0)<(10);
$74 = ($64|0)<(21474836);
$75 = ($63>>>0)<(2061584302);
$76 = ($64|0)==(21474836);
$77 = $76 & $75;
$78 = $74 | $77;
$79 = $73 & $78;
if ($79) {
$$254 = $$2$be;$55 = $63;$56 = $64;
} else {
$$2$lcssa = $$2$be;$94 = $63;$95 = $64;
break;
}
}
} else {
$$2$lcssa = $$1$be;$94 = $37;$95 = $50;
}
$53 = (($$2$lcssa) + -48)|0;
$54 = ($53>>>0)<(10);
if ($54) {
while(1) {
$80 = HEAP32[$2>>2]|0;
$81 = HEAP32[$4>>2]|0;
$82 = ($80>>>0)<($81>>>0);
if ($82) {
$83 = ((($80)) + 1|0);
HEAP32[$2>>2] = $83;
$84 = HEAP8[$80>>0]|0;
$85 = $84&255;
$$3$be = $85;
} else {
$86 = (___shgetc($0)|0);
$$3$be = $86;
}
$87 = (($$3$be) + -48)|0;
$88 = ($87>>>0)<(10);
if (!($88)) {
break;
}
}
}
$89 = HEAP32[$4>>2]|0;
$90 = ($89|0)==(0|0);
if (!($90)) {
$91 = HEAP32[$2>>2]|0;
$92 = ((($91)) + -1|0);
HEAP32[$2>>2] = $92;
}
$93 = ($$0|0)!=(0);
$96 = (_i64Subtract(0,0,($94|0),($95|0))|0);
$97 = tempRet0;
$98 = $93 ? $96 : $94;
$99 = $93 ? $97 : $95;
$100 = $99;$101 = $98;
}
tempRet0 = ($100);
return ($101|0);
}
function _scalbn($0,$1) {
$0 = +$0;
$1 = $1|0;
var $$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($1|0)>(1023);
if ($2) {
$3 = $0 * 8.9884656743115795E+307;
$4 = (($1) + -1023)|0;
$5 = ($4|0)>(1023);
$6 = (($1) + -2046)|0;
if ($5) {
$7 = $3 * 8.9884656743115795E+307;
$8 = ($6|0)>(1023);
$$ = $8 ? 1023 : $6;
$$0 = $7;$$020 = $$;
} else {
$$0 = $3;$$020 = $4;
}
} else {
$9 = ($1|0)<(-1022);
if ($9) {
$10 = $0 * 2.2250738585072014E-308;
$11 = (($1) + 1022)|0;
$12 = ($11|0)<(-1022);
$13 = (($1) + 2044)|0;
if ($12) {
$14 = $10 * 2.2250738585072014E-308;
$15 = ($13|0)<(-1022);
$$1 = $15 ? -1022 : $13;
$$0 = $14;$$020 = $$1;
} else {
$$0 = $10;$$020 = $11;
}
} else {
$$0 = $0;$$020 = $1;
}
}
$16 = (($$020) + 1023)|0;
$17 = (_bitshift64Shl(($16|0),0,52)|0);
$18 = tempRet0;
HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3];
$20 = $$0 * $19;
return (+$20);
}
function _copysignl($0,$1) {
$0 = +$0;
$1 = +$1;
var $2 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (+_copysign($0,$1));
return (+$2);
}
function _scalbnl($0,$1) {
$0 = +$0;
$1 = $1|0;
var $2 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (+_scalbn($0,$1));
return (+$2);
}
function _fmodl($0,$1) {
$0 = +$0;
$1 = +$1;
var $2 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (+_fmod($0,$1));
return (+$2);
}
function _fmod($0,$1) {
$0 = +$0;
$1 = +$1;
var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07195 = 0, $$073$lcssa = 0, $$073101 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27587 = 0, $$376$lcssa = 0, $$37684 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
var $124 = 0, $125 = 0, $126 = 0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0.0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0;
var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
var $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
sp = STACKTOP;
HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
$3 = HEAP32[tempDoublePtr+4>>2]|0;
HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0;
$5 = HEAP32[tempDoublePtr+4>>2]|0;
$6 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
$7 = tempRet0;
$8 = $6 & 2047;
$9 = (_bitshift64Lshr(($4|0),($5|0),52)|0);
$10 = tempRet0;
$11 = $9 & 2047;
$12 = $3 & -2147483648;
$13 = (_bitshift64Shl(($4|0),($5|0),1)|0);
$14 = tempRet0;
$15 = ($13|0)==(0);
$16 = ($14|0)==(0);
$17 = $15 & $16;
L1: do {
if ($17) {
label = 3;
} else {
$18 = $5 & 2147483647;
$19 = ($18>>>0)>(2146435072);
$20 = ($4>>>0)>(0);
$21 = ($18|0)==(2146435072);
$22 = $21 & $20;
$23 = $19 | $22;
$24 = ($8|0)==(2047);
$or$cond = $23 | $24;
if ($or$cond) {
label = 3;
} else {
$27 = (_bitshift64Shl(($2|0),($3|0),1)|0);
$28 = tempRet0;
$29 = ($28>>>0)>($14>>>0);
$30 = ($27>>>0)>($13>>>0);
$31 = ($28|0)==($14|0);
$32 = $31 & $30;
$33 = $29 | $32;
if (!($33)) {
$34 = ($27|0)==($13|0);
$35 = ($28|0)==($14|0);
$36 = $34 & $35;
$37 = $0 * 0.0;
$$ = $36 ? $37 : $0;
return (+$$);
}
$38 = ($8|0)==(0);
if ($38) {
$39 = (_bitshift64Shl(($2|0),($3|0),12)|0);
$40 = tempRet0;
$41 = ($40|0)>(-1);
$42 = ($39>>>0)>(4294967295);
$43 = ($40|0)==(-1);
$44 = $43 & $42;
$45 = $41 | $44;
if ($45) {
$$073101 = 0;$47 = $39;$48 = $40;
while(1) {
$46 = (($$073101) + -1)|0;
$49 = (_bitshift64Shl(($47|0),($48|0),1)|0);
$50 = tempRet0;
$51 = ($50|0)>(-1);
$52 = ($49>>>0)>(4294967295);
$53 = ($50|0)==(-1);
$54 = $53 & $52;
$55 = $51 | $54;
if ($55) {
$$073101 = $46;$47 = $49;$48 = $50;
} else {
$$073$lcssa = $46;
break;
}
}
} else {
$$073$lcssa = 0;
}
$56 = (1 - ($$073$lcssa))|0;
$57 = (_bitshift64Shl(($2|0),($3|0),($56|0))|0);
$58 = tempRet0;
$$174 = $$073$lcssa;$85 = $57;$86 = $58;
} else {
$59 = $3 & 1048575;
$60 = $59 | 1048576;
$$174 = $8;$85 = $2;$86 = $60;
}
$61 = ($11|0)==(0);
if ($61) {
$62 = (_bitshift64Shl(($4|0),($5|0),12)|0);
$63 = tempRet0;
$64 = ($63|0)>(-1);
$65 = ($62>>>0)>(4294967295);
$66 = ($63|0)==(-1);
$67 = $66 & $65;
$68 = $64 | $67;
if ($68) {
$$07195 = 0;$70 = $62;$71 = $63;
while(1) {
$69 = (($$07195) + -1)|0;
$72 = (_bitshift64Shl(($70|0),($71|0),1)|0);
$73 = tempRet0;
$74 = ($73|0)>(-1);
$75 = ($72>>>0)>(4294967295);
$76 = ($73|0)==(-1);
$77 = $76 & $75;
$78 = $74 | $77;
if ($78) {
$$07195 = $69;$70 = $72;$71 = $73;
} else {
$$071$lcssa = $69;
break;
}
}
} else {
$$071$lcssa = 0;
}
$79 = (1 - ($$071$lcssa))|0;
$80 = (_bitshift64Shl(($4|0),($5|0),($79|0))|0);
$81 = tempRet0;
$$172$ph = $$071$lcssa;$87 = $80;$88 = $81;
} else {
$82 = $5 & 1048575;
$83 = $82 | 1048576;
$$172$ph = $11;$87 = $4;$88 = $83;
}
$84 = ($$174|0)>($$172$ph|0);
$89 = (_i64Subtract(($85|0),($86|0),($87|0),($88|0))|0);
$90 = tempRet0;
$91 = ($90|0)>(-1);
$92 = ($89>>>0)>(4294967295);
$93 = ($90|0)==(-1);
$94 = $93 & $92;
$95 = $91 | $94;
L23: do {
if ($84) {
$$27587 = $$174;$154 = $95;$155 = $85;$156 = $86;$96 = $89;$98 = $90;
while(1) {
if ($154) {
$97 = ($96|0)==(0);
$99 = ($98|0)==(0);
$100 = $97 & $99;
if ($100) {
break;
} else {
$102 = $96;$103 = $98;
}
} else {
$102 = $155;$103 = $156;
}
$104 = (_bitshift64Shl(($102|0),($103|0),1)|0);
$105 = tempRet0;
$106 = (($$27587) + -1)|0;
$107 = ($106|0)>($$172$ph|0);
$108 = (_i64Subtract(($104|0),($105|0),($87|0),($88|0))|0);
$109 = tempRet0;
$110 = ($109|0)>(-1);
$111 = ($108>>>0)>(4294967295);
$112 = ($109|0)==(-1);
$113 = $112 & $111;
$114 = $110 | $113;
if ($107) {
$$27587 = $106;$154 = $114;$155 = $104;$156 = $105;$96 = $108;$98 = $109;
} else {
$$275$lcssa = $106;$$lcssa = $114;$115 = $108;$117 = $109;$157 = $104;$158 = $105;
break L23;
}
}
$101 = $0 * 0.0;
$$070 = $101;
break L1;
} else {
$$275$lcssa = $$174;$$lcssa = $95;$115 = $89;$117 = $90;$157 = $85;$158 = $86;
}
} while(0);
if ($$lcssa) {
$116 = ($115|0)==(0);
$118 = ($117|0)==(0);
$119 = $116 & $118;
if ($119) {
$127 = $0 * 0.0;
$$070 = $127;
break;
} else {
$120 = $117;$122 = $115;
}
} else {
$120 = $158;$122 = $157;
}
$121 = ($120>>>0)<(1048576);
$123 = ($122>>>0)<(0);
$124 = ($120|0)==(1048576);
$125 = $124 & $123;
$126 = $121 | $125;
if ($126) {
$$37684 = $$275$lcssa;$128 = $122;$129 = $120;
while(1) {
$130 = (_bitshift64Shl(($128|0),($129|0),1)|0);
$131 = tempRet0;
$132 = (($$37684) + -1)|0;
$133 = ($131>>>0)<(1048576);
$134 = ($130>>>0)<(0);
$135 = ($131|0)==(1048576);
$136 = $135 & $134;
$137 = $133 | $136;
if ($137) {
$$37684 = $132;$128 = $130;$129 = $131;
} else {
$$376$lcssa = $132;$139 = $130;$140 = $131;
break;
}
}
} else {
$$376$lcssa = $$275$lcssa;$139 = $122;$140 = $120;
}
$138 = ($$376$lcssa|0)>(0);
if ($138) {
$141 = (_i64Add(($139|0),($140|0),0,-1048576)|0);
$142 = tempRet0;
$143 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0);
$144 = tempRet0;
$145 = $141 | $143;
$146 = $142 | $144;
$151 = $146;$153 = $145;
} else {
$147 = (1 - ($$376$lcssa))|0;
$148 = (_bitshift64Lshr(($139|0),($140|0),($147|0))|0);
$149 = tempRet0;
$151 = $149;$153 = $148;
}
$150 = $151 | $12;
HEAP32[tempDoublePtr>>2] = $153;HEAP32[tempDoublePtr+4>>2] = $150;$152 = +HEAPF64[tempDoublePtr>>3];
$$070 = $152;
}
}
} while(0);
if ((label|0) == 3) {
$25 = $0 * $1;
$26 = $25 / $25;
$$070 = $26;
}
return (+$$070);
}
function _copysign($0,$1) {
$0 = +$0;
$1 = +$1;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
$3 = HEAP32[tempDoublePtr+4>>2]|0;
HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0;
$5 = HEAP32[tempDoublePtr+4>>2]|0;
$6 = $3 & 2147483647;
$7 = $5 & -2147483648;
$8 = $7 | $6;
HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3];
return (+$9);
}
function ___fmodeflags($0) {
$0 = $0|0;
var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (_strchr($0,43)|0);
$2 = ($1|0)==(0|0);
$3 = HEAP8[$0>>0]|0;
$not$ = ($3<<24>>24)!=(114);
$$ = $not$&1;
$$0 = $2 ? $$ : 2;
$4 = (_strchr($0,120)|0);
$5 = ($4|0)==(0|0);
$6 = $$0 | 128;
$$0$ = $5 ? $$0 : $6;
$7 = (_strchr($0,101)|0);
$8 = ($7|0)==(0|0);
$9 = $$0$ | 524288;
$$2 = $8 ? $$0$ : $9;
$10 = ($3<<24>>24)==(114);
$11 = $$2 | 64;
$$2$ = $10 ? $$2 : $11;
$12 = ($3<<24>>24)==(119);
$13 = $$2$ | 512;
$$4 = $12 ? $13 : $$2$;
$14 = ($3<<24>>24)==(97);
$15 = $$4 | 1024;
$$$4 = $14 ? $15 : $$4;
return ($$$4|0);
}
function ___fdopen($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$cast = 0, $$pre = 0, $$pre34 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0;
var sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$vararg_buffer12 = sp + 40|0;
$vararg_buffer7 = sp + 24|0;
$vararg_buffer3 = sp + 16|0;
$vararg_buffer = sp;
$2 = sp + 52|0;
$3 = HEAP8[$1>>0]|0;
$4 = $3 << 24 >> 24;
$memchr = (_memchr(31251,$4,4)|0);
$5 = ($memchr|0)==(0|0);
if ($5) {
$6 = (___errno_location()|0);
HEAP32[$6>>2] = 22;
$$0 = 0;
} else {
$7 = (_malloc(1144)|0);
$8 = ($7|0)==(0|0);
if ($8) {
$$0 = 0;
} else {
dest=$7; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$9 = (_strchr($1,43)|0);
$10 = ($9|0)==(0|0);
if ($10) {
$11 = ($3<<24>>24)==(114);
$12 = $11 ? 8 : 4;
HEAP32[$7>>2] = $12;
}
$13 = (_strchr($1,101)|0);
$14 = ($13|0)==(0|0);
if ($14) {
$15 = $3;
} else {
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = 2;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = 1;
(___syscall221(221,($vararg_buffer|0))|0);
$$pre = HEAP8[$1>>0]|0;
$15 = $$pre;
}
$16 = ($15<<24>>24)==(97);
if ($16) {
HEAP32[$vararg_buffer3>>2] = $0;
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
HEAP32[$vararg_ptr6>>2] = 3;
$17 = (___syscall221(221,($vararg_buffer3|0))|0);
$18 = $17 & 1024;
$19 = ($18|0)==(0);
if ($19) {
$20 = $17 | 1024;
HEAP32[$vararg_buffer7>>2] = $0;
$vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
HEAP32[$vararg_ptr10>>2] = 4;
$vararg_ptr11 = ((($vararg_buffer7)) + 8|0);
HEAP32[$vararg_ptr11>>2] = $20;
(___syscall221(221,($vararg_buffer7|0))|0);
}
$21 = HEAP32[$7>>2]|0;
$22 = $21 | 128;
HEAP32[$7>>2] = $22;
$29 = $22;
} else {
$$pre34 = HEAP32[$7>>2]|0;
$29 = $$pre34;
}
$23 = ((($7)) + 60|0);
HEAP32[$23>>2] = $0;
$24 = ((($7)) + 120|0);
$25 = ((($7)) + 44|0);
HEAP32[$25>>2] = $24;
$26 = ((($7)) + 48|0);
HEAP32[$26>>2] = 1024;
$27 = ((($7)) + 75|0);
HEAP8[$27>>0] = -1;
$28 = $29 & 8;
$30 = ($28|0)==(0);
if ($30) {
HEAP32[$vararg_buffer12>>2] = $0;
$vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
HEAP32[$vararg_ptr15>>2] = 21505;
$vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
HEAP32[$vararg_ptr16>>2] = $2;
$31 = (___syscall54(54,($vararg_buffer12|0))|0);
$32 = ($31|0)==(0);
if ($32) {
HEAP8[$27>>0] = 10;
}
}
$33 = ((($7)) + 32|0);
HEAP32[$33>>2] = 5;
$34 = ((($7)) + 36|0);
HEAP32[$34>>2] = 8;
$35 = ((($7)) + 40|0);
HEAP32[$35>>2] = 6;
$36 = ((($7)) + 12|0);
HEAP32[$36>>2] = 4;
$37 = HEAP32[(31328)>>2]|0;
$38 = ($37|0)==(0);
if ($38) {
$39 = ((($7)) + 76|0);
HEAP32[$39>>2] = -1;
}
___lock(((31352)|0));
$40 = HEAP32[(31348)>>2]|0;
$41 = ((($7)) + 56|0);
HEAP32[$41>>2] = $40;
$42 = ($40|0)==(0);
if (!($42)) {
$$cast = $40;
$43 = ((($$cast)) + 52|0);
HEAP32[$43>>2] = $7;
}
HEAP32[(31348)>>2] = $7;
___unlock(((31352)|0));
$$0 = $7;
}
}
STACKTOP = sp;return ($$0|0);
}
function _strchr($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (___strchrnul($0,$1)|0);
$3 = HEAP8[$2>>0]|0;
$4 = $1&255;
$5 = ($3<<24>>24)==($4<<24>>24);
$6 = $5 ? $2 : 0;
return ($6|0);
}
function ___strchrnul($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = $1 & 255;
$3 = ($2|0)==(0);
L1: do {
if ($3) {
$8 = (_strlen($0)|0);
$9 = (($0) + ($8)|0);
$$0 = $9;
} else {
$4 = $0;
$5 = $4 & 3;
$6 = ($5|0)==(0);
if ($6) {
$$030$lcssa = $0;
} else {
$7 = $1&255;
$$03039 = $0;
while(1) {
$10 = HEAP8[$$03039>>0]|0;
$11 = ($10<<24>>24)==(0);
$12 = ($10<<24>>24)==($7<<24>>24);
$or$cond = $11 | $12;
if ($or$cond) {
$$0 = $$03039;
break L1;
}
$13 = ((($$03039)) + 1|0);
$14 = $13;
$15 = $14 & 3;
$16 = ($15|0)==(0);
if ($16) {
$$030$lcssa = $13;
break;
} else {
$$03039 = $13;
}
}
}
$17 = Math_imul($2, 16843009)|0;
$18 = HEAP32[$$030$lcssa>>2]|0;
$19 = (($18) + -16843009)|0;
$20 = $18 & -2139062144;
$21 = $20 ^ -2139062144;
$22 = $21 & $19;
$23 = ($22|0)==(0);
L10: do {
if ($23) {
$$02936 = $$030$lcssa;$25 = $18;
while(1) {
$24 = $25 ^ $17;
$26 = (($24) + -16843009)|0;
$27 = $24 & -2139062144;
$28 = $27 ^ -2139062144;
$29 = $28 & $26;
$30 = ($29|0)==(0);
if (!($30)) {
$$029$lcssa = $$02936;
break L10;
}
$31 = ((($$02936)) + 4|0);
$32 = HEAP32[$31>>2]|0;
$33 = (($32) + -16843009)|0;
$34 = $32 & -2139062144;
$35 = $34 ^ -2139062144;
$36 = $35 & $33;
$37 = ($36|0)==(0);
if ($37) {
$$02936 = $31;$25 = $32;
} else {
$$029$lcssa = $31;
break;
}
}
} else {
$$029$lcssa = $$030$lcssa;
}
} while(0);
$38 = $1&255;
$$1 = $$029$lcssa;
while(1) {
$39 = HEAP8[$$1>>0]|0;
$40 = ($39<<24>>24)==(0);
$41 = ($39<<24>>24)==($38<<24>>24);
$or$cond33 = $40 | $41;
$42 = ((($$1)) + 1|0);
if ($or$cond33) {
$$0 = $$1;
break;
} else {
$$1 = $42;
}
}
}
} while(0);
return ($$0|0);
}
function _strncmp($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0$lcssa = 0, $$01823 = 0, $$01925 = 0, $$01925$in = 0, $$020 = 0, $$024 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = ($2|0)==(0);
if ($3) {
$$020 = 0;
} else {
$4 = HEAP8[$0>>0]|0;
$5 = ($4<<24>>24)==(0);
L3: do {
if ($5) {
$$0$lcssa = $1;$16 = 0;
} else {
$$01823 = $0;$$01925$in = $2;$$024 = $1;$9 = $4;
while(1) {
$$01925 = (($$01925$in) + -1)|0;
$6 = HEAP8[$$024>>0]|0;
$7 = ($6<<24>>24)!=(0);
$8 = ($$01925|0)!=(0);
$or$cond = $8 & $7;
$10 = ($9<<24>>24)==($6<<24>>24);
$or$cond21 = $10 & $or$cond;
if (!($or$cond21)) {
$$0$lcssa = $$024;$16 = $9;
break L3;
}
$11 = ((($$01823)) + 1|0);
$12 = ((($$024)) + 1|0);
$13 = HEAP8[$11>>0]|0;
$14 = ($13<<24>>24)==(0);
if ($14) {
$$0$lcssa = $12;$16 = 0;
break;
} else {
$$01823 = $11;$$01925$in = $$01925;$$024 = $12;$9 = $13;
}
}
}
} while(0);
$15 = $16&255;
$17 = HEAP8[$$0$lcssa>>0]|0;
$18 = $17&255;
$19 = (($15) - ($18))|0;
$$020 = $19;
}
return ($$020|0);
}
function _strrchr($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_strlen($0)|0);
$3 = (($2) + 1)|0;
$4 = (___memrchr($0,$1,$3)|0);
return ($4|0);
}
function ___memrchr($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = $1&255;
$$09 = $2;
while(1) {
$4 = (($$09) + -1)|0;
$5 = ($$09|0)==(0);
if ($5) {
$$0 = 0;
break;
}
$6 = (($0) + ($4)|0);
$7 = HEAP8[$6>>0]|0;
$8 = ($7<<24>>24)==($3<<24>>24);
if ($8) {
$$0 = $6;
break;
} else {
$$09 = $4;
}
}
return ($$0|0);
}
function _getopt($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$0 = 0, $$039$lcssa = 0, $$03941 = 0, $$040 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $or$cond = 0;
var $or$cond3 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp + 4|0;
$4 = sp;
$5 = HEAP32[2494]|0;
$6 = ($5|0)==(0);
$7 = HEAP32[7827]|0;
$8 = ($7|0)!=(0);
$or$cond = $6 | $8;
if ($or$cond) {
HEAP32[7827] = 0;
HEAP32[7828] = 0;
HEAP32[2494] = 1;
$9 = 1;
} else {
$9 = $5;
}
$10 = ($9|0)<($0|0);
L4: do {
if ($10) {
$11 = (($1) + ($9<<2)|0);
$12 = HEAP32[$11>>2]|0;
$13 = ($12|0)==(0|0);
if ($13) {
$$0 = -1;
} else {
$14 = HEAP8[$12>>0]|0;
$15 = ($14<<24>>24)==(45);
if ($15) {
$16 = ((($12)) + 1|0);
$17 = HEAP8[$16>>0]|0;
switch ($17<<24>>24) {
case 0: {
$$0 = -1;
break L4;
break;
}
case 45: {
$18 = ((($12)) + 2|0);
$19 = HEAP8[$18>>0]|0;
$20 = ($19<<24>>24)==(0);
if ($20) {
$21 = (($9) + 1)|0;
HEAP32[2494] = $21;
$$0 = -1;
break L4;
}
break;
}
default: {
}
}
$22 = HEAP32[7828]|0;
$23 = ($22|0)==(0);
if ($23) {
HEAP32[7828] = 1;
$25 = 1;
} else {
$25 = $22;
}
$24 = (($12) + ($25)|0);
$26 = (_mbtowc($3,$24,4)|0);
$27 = ($26|0)<(0);
if ($27) {
HEAP32[$3>>2] = 65533;
$$040 = 1;$33 = 65533;
} else {
$$pre = HEAP32[$3>>2]|0;
$$040 = $26;$33 = $$pre;
}
$28 = HEAP32[2494]|0;
$29 = (($1) + ($28<<2)|0);
$30 = HEAP32[$29>>2]|0;
$31 = HEAP32[7828]|0;
$32 = (($30) + ($31)|0);
HEAP32[7829] = $33;
$34 = (($31) + ($$040))|0;
HEAP32[7828] = $34;
$35 = (($30) + ($34)|0);
$36 = HEAP8[$35>>0]|0;
$37 = ($36<<24>>24)==(0);
if ($37) {
$38 = (($28) + 1)|0;
HEAP32[2494] = $38;
HEAP32[7828] = 0;
}
$39 = (_mbtowc($4,$2,4)|0);
$40 = ($39|0)==(0);
L22: do {
if ($40) {
$$039$lcssa = 0;
} else {
$$03941 = 0;$44 = $39;
while(1) {
$41 = HEAP32[$4>>2]|0;
$42 = HEAP32[$3>>2]|0;
$43 = ($41|0)==($42|0);
if ($43) {
$$039$lcssa = $$03941;
break L22;
}
$45 = ($44|0)<(1);
$46 = $45 ? 1 : $44;
$47 = (($46) + ($$03941))|0;
$48 = (($2) + ($47)|0);
$49 = (_mbtowc($4,$48,4)|0);
$50 = ($49|0)==(0);
if ($50) {
$$039$lcssa = $47;
break;
} else {
$$03941 = $47;$44 = $49;
}
}
}
} while(0);
$51 = HEAP32[$4>>2]|0;
$52 = HEAP32[$3>>2]|0;
$53 = ($51|0)==($52|0);
if (!($53)) {
$54 = HEAP8[$2>>0]|0;
$55 = ($54<<24>>24)!=(58);
$56 = HEAP32[2495]|0;
$57 = ($56|0)!=(0);
$or$cond3 = $55 & $57;
if (!($or$cond3)) {
$$0 = 63;
break;
}
$58 = HEAP32[$1>>2]|0;
$59 = (_strlen($58)|0);
(_write(2,$58,$59)|0);
(_write(2,31255,18)|0);
(_write(2,$32,$$040)|0);
(_write(2,31274,1)|0);
$$0 = 63;
break;
}
$60 = (($$039$lcssa) + 1)|0;
$61 = (($2) + ($60)|0);
$62 = HEAP8[$61>>0]|0;
$63 = ($62<<24>>24)==(58);
if ($63) {
$64 = HEAP32[2494]|0;
$65 = ($64|0)<($0|0);
if ($65) {
$72 = (($64) + 1)|0;
HEAP32[2494] = $72;
$73 = (($1) + ($64<<2)|0);
$74 = HEAP32[$73>>2]|0;
$75 = HEAP32[7828]|0;
$76 = (($74) + ($75)|0);
HEAP32[7830] = $76;
HEAP32[7828] = 0;
$$0 = $51;
break;
}
$66 = HEAP8[$2>>0]|0;
$67 = ($66<<24>>24)==(58);
if ($67) {
$$0 = 58;
} else {
$68 = HEAP32[2495]|0;
$69 = ($68|0)==(0);
if ($69) {
$$0 = 63;
} else {
$70 = HEAP32[$1>>2]|0;
$71 = (_strlen($70)|0);
(_write(2,$70,$71)|0);
(_write(2,31276,31)|0);
(_write(2,$32,$$040)|0);
(_write(2,31274,1)|0);
$$0 = 63;
}
}
} else {
$$0 = $51;
}
} else {
$$0 = -1;
}
}
} else {
$$0 = -1;
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _mbtowc($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$3 = sp;
$4 = ($1|0)==(0|0);
L1: do {
if ($4) {
$$0 = 0;
} else {
$5 = ($2|0)==(0);
do {
if (!($5)) {
$6 = ($0|0)==(0|0);
$$ = $6 ? $3 : $0;
$7 = HEAP8[$1>>0]|0;
$8 = $7&255;
$9 = ($7<<24>>24)>(-1);
if ($9) {
HEAP32[$$>>2] = $8;
$10 = ($7<<24>>24)!=(0);
$11 = $10&1;
$$0 = $11;
break L1;
}
$12 = (($8) + -194)|0;
$13 = ($12>>>0)>(50);
if (!($13)) {
$14 = ((($1)) + 1|0);
$15 = (9984 + ($12<<2)|0);
$16 = HEAP32[$15>>2]|0;
$17 = ($2>>>0)<(4);
if ($17) {
$18 = ($2*6)|0;
$19 = (($18) + -6)|0;
$20 = -2147483648 >>> $19;
$21 = $16 & $20;
$22 = ($21|0)==(0);
if (!($22)) {
break;
}
}
$23 = HEAP8[$14>>0]|0;
$24 = $23&255;
$25 = $24 >>> 3;
$26 = (($25) + -16)|0;
$27 = $16 >> 26;
$28 = (($25) + ($27))|0;
$29 = $26 | $28;
$30 = ($29>>>0)>(7);
if (!($30)) {
$31 = $16 << 6;
$32 = (($24) + -128)|0;
$33 = $32 | $31;
$34 = ($33|0)<(0);
if (!($34)) {
HEAP32[$$>>2] = $33;
$$0 = 2;
break L1;
}
$35 = ((($1)) + 2|0);
$36 = HEAP8[$35>>0]|0;
$37 = $36&255;
$38 = (($37) + -128)|0;
$39 = ($38>>>0)>(63);
if (!($39)) {
$40 = $33 << 6;
$41 = $38 | $40;
$42 = ($41|0)<(0);
if (!($42)) {
HEAP32[$$>>2] = $41;
$$0 = 3;
break L1;
}
$43 = ((($1)) + 3|0);
$44 = HEAP8[$43>>0]|0;
$45 = $44&255;
$46 = (($45) + -128)|0;
$47 = ($46>>>0)>(63);
if (!($47)) {
$48 = $41 << 6;
$49 = $46 | $48;
HEAP32[$$>>2] = $49;
$$0 = 4;
break L1;
}
}
}
}
}
} while(0);
$50 = (___errno_location()|0);
HEAP32[$50>>2] = 84;
$$0 = -1;
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _write($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$vararg_ptr2 = ((($vararg_buffer)) + 8|0);
HEAP32[$vararg_ptr2>>2] = $2;
$3 = (___syscall4(4,($vararg_buffer|0))|0);
$4 = (___syscall_ret($3)|0);
STACKTOP = sp;return ($4|0);
}
function _getopt_long($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $5 = 0, label = 0, sp = 0;
sp = STACKTOP;
$5 = (___getopt_long($0,$1,$2,$3,$4,0)|0);
return ($5|0);
}
function ___getopt_long($0,$1,$2,$3,$4,$5) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
var $$ = 0, $$04956 = 0, $$04970 = 0, $$05069 = 0, $$05171 = 0, $$3 = 0, $$phi$trans$insert = 0, $$pr = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
var $60 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$6 = HEAP32[2494]|0;
$7 = ($6|0)==(0);
$8 = HEAP32[7827]|0;
$9 = ($8|0)!=(0);
$or$cond = $7 | $9;
if ($or$cond) {
HEAP32[7827] = 0;
HEAP32[7828] = 0;
HEAP32[2494] = 1;
$10 = 1;
} else {
$10 = $6;
}
$11 = ($10|0)<($0|0);
L4: do {
if ($11) {
$12 = (($1) + ($10<<2)|0);
$13 = HEAP32[$12>>2]|0;
$14 = ($13|0)==(0|0);
if ($14) {
$$3 = -1;
} else {
$15 = HEAP8[$13>>0]|0;
$16 = ($15<<24>>24)==(45);
if ($16) {
$17 = ($5|0)==(0);
$$phi$trans$insert = ((($13)) + 1|0);
$$pre = HEAP8[$$phi$trans$insert>>0]|0;
if ($17) {
$phitmp = ($$pre<<24>>24)==(45);
if ($phitmp) {
$19 = ((($13)) + 2|0);
$20 = HEAP8[$19>>0]|0;
$21 = ($20<<24>>24)==(0);
if (!($21)) {
$24 = 45;
label = 10;
}
}
} else {
$18 = ($$pre<<24>>24)==(0);
if (!($18)) {
$24 = $$pre;
label = 10;
}
}
if ((label|0) == 10) {
$22 = HEAP32[$3>>2]|0;
$23 = ($22|0)==(0|0);
$25 = ($24<<24>>24)==(45);
L14: do {
if (!($23)) {
$26 = ((($13)) + 2|0);
$$ = $25 ? $26 : $$phi$trans$insert;
$$05171 = 0;$28 = $22;
L16: while(1) {
$27 = HEAP8[$28>>0]|0;
$29 = ($27<<24>>24)==(0);
L18: do {
if ($29) {
$$04956 = $$;
label = 15;
} else {
$$04970 = $$;$$05069 = $28;$$pr = $27;
while(1) {
$30 = HEAP8[$$04970>>0]|0;
$31 = ($$pr<<24>>24)==($30<<24>>24);
if (!($31)) {
break L18;
}
$32 = ((($$05069)) + 1|0);
$33 = ((($$04970)) + 1|0);
$34 = HEAP8[$32>>0]|0;
$35 = ($34<<24>>24)==(0);
if ($35) {
$$04956 = $33;
label = 15;
break;
} else {
$$04970 = $33;$$05069 = $32;$$pr = $34;
}
}
}
} while(0);
L22: do {
if ((label|0) == 15) {
label = 0;
$36 = HEAP8[$$04956>>0]|0;
switch ($36<<24>>24) {
case 61: case 0: {
break;
}
default: {
break L22;
}
}
$37 = ($36<<24>>24)==(61);
$38 = (((($3) + ($$05171<<4)|0)) + 4|0);
$39 = HEAP32[$38>>2]|0;
if (!($37)) {
label = 19;
break L16;
}
$40 = ($39|0)==(0);
if (!($40)) {
label = 18;
break L16;
}
}
} while(0);
$55 = (($$05171) + 1)|0;
$56 = (($3) + ($55<<4)|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==(0|0);
if ($58) {
break L14;
} else {
$$05171 = $55;$28 = $57;
}
}
do {
if ((label|0) == 18) {
$41 = ((($$04956)) + 1|0);
HEAP32[7830] = $41;
$48 = $10;
}
else if ((label|0) == 19) {
$42 = ($39|0)==(1);
if ($42) {
$43 = (($10) + 1)|0;
HEAP32[2494] = $43;
$44 = (($1) + ($43<<2)|0);
$45 = HEAP32[$44>>2]|0;
HEAP32[7830] = $45;
$46 = ($45|0)==(0|0);
if ($46) {
$$3 = 58;
break L4;
} else {
$48 = $43;
break;
}
} else {
HEAP32[7830] = 0;
$48 = $10;
break;
}
}
} while(0);
$47 = (($48) + 1)|0;
HEAP32[2494] = $47;
$49 = ($4|0)==(0|0);
if (!($49)) {
HEAP32[$4>>2] = $$05171;
}
$50 = (((($3) + ($$05171<<4)|0)) + 8|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51|0)==(0|0);
$53 = (((($3) + ($$05171<<4)|0)) + 12|0);
$54 = HEAP32[$53>>2]|0;
if ($52) {
$$3 = $54;
break L4;
}
HEAP32[$51>>2] = $54;
$$3 = 0;
break L4;
}
} while(0);
if ($25) {
$59 = (($10) + 1)|0;
HEAP32[2494] = $59;
$$3 = 63;
break;
}
}
$60 = (_getopt($0,$1,$2)|0);
$$3 = $60;
} else {
$$3 = -1;
}
}
} else {
$$3 = -1;
}
} while(0);
return ($$3|0);
}
function _rename($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = $0;
$vararg_ptr1 = ((($vararg_buffer)) + 4|0);
HEAP32[$vararg_ptr1>>2] = $1;
$2 = (___syscall38(38,($vararg_buffer|0))|0);
$3 = (___syscall_ret($2)|0);
STACKTOP = sp;return ($3|0);
}
function ___overflow($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$2 = sp;
$3 = $1&255;
HEAP8[$2>>0] = $3;
$4 = ((($0)) + 16|0);
$5 = HEAP32[$4>>2]|0;
$6 = ($5|0)==(0|0);
if ($6) {
$7 = (___towrite($0)|0);
$8 = ($7|0)==(0);
if ($8) {
$$pre = HEAP32[$4>>2]|0;
$12 = $$pre;
label = 4;
} else {
$$0 = -1;
}
} else {
$12 = $5;
label = 4;
}
do {
if ((label|0) == 4) {
$9 = ((($0)) + 20|0);
$10 = HEAP32[$9>>2]|0;
$11 = ($10>>>0)<($12>>>0);
if ($11) {
$13 = $1 & 255;
$14 = ((($0)) + 75|0);
$15 = HEAP8[$14>>0]|0;
$16 = $15 << 24 >> 24;
$17 = ($13|0)==($16|0);
if (!($17)) {
$18 = ((($10)) + 1|0);
HEAP32[$9>>2] = $18;
HEAP8[$10>>0] = $3;
$$0 = $13;
break;
}
}
$19 = ((($0)) + 36|0);
$20 = HEAP32[$19>>2]|0;
$21 = (FUNCTION_TABLE_iiii[$20 & 127]($0,$2,1)|0);
$22 = ($21|0)==(1);
if ($22) {
$23 = HEAP8[$2>>0]|0;
$24 = $23&255;
$$0 = $24;
} else {
$$0 = -1;
}
}
} while(0);
STACKTOP = sp;return ($$0|0);
}
function _fputs($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (_strlen($0)|0);
$3 = (_fwrite($0,$2,1,$1)|0);
$4 = (($3) + -1)|0;
return ($4|0);
}
function _fwrite($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = Math_imul($2, $1)|0;
$5 = ((($3)) + 76|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)>(-1);
if ($7) {
$9 = (___lockfile($3)|0);
$phitmp = ($9|0)==(0);
$10 = (___fwritex($0,$4,$3)|0);
if ($phitmp) {
$11 = $10;
} else {
___unlockfile($3);
$11 = $10;
}
} else {
$8 = (___fwritex($0,$4,$3)|0);
$11 = $8;
}
$12 = ($11|0)==($4|0);
if ($12) {
$14 = $2;
} else {
$13 = (($11>>>0) / ($1>>>0))&-1;
$14 = $13;
}
return ($14|0);
}
function _fputc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($1)) + 76|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)<(0);
if ($4) {
label = 3;
} else {
$5 = (___lockfile($1)|0);
$6 = ($5|0)==(0);
if ($6) {
label = 3;
} else {
$20 = ((($1)) + 75|0);
$21 = HEAP8[$20>>0]|0;
$22 = $21 << 24 >> 24;
$23 = ($22|0)==($0|0);
if ($23) {
label = 10;
} else {
$24 = ((($1)) + 20|0);
$25 = HEAP32[$24>>2]|0;
$26 = ((($1)) + 16|0);
$27 = HEAP32[$26>>2]|0;
$28 = ($25>>>0)<($27>>>0);
if ($28) {
$29 = $0&255;
$30 = ((($25)) + 1|0);
HEAP32[$24>>2] = $30;
HEAP8[$25>>0] = $29;
$31 = $0 & 255;
$33 = $31;
} else {
label = 10;
}
}
if ((label|0) == 10) {
$32 = (___overflow($1,$0)|0);
$33 = $32;
}
___unlockfile($1);
$$0 = $33;
}
}
do {
if ((label|0) == 3) {
$7 = ((($1)) + 75|0);
$8 = HEAP8[$7>>0]|0;
$9 = $8 << 24 >> 24;
$10 = ($9|0)==($0|0);
if (!($10)) {
$11 = ((($1)) + 20|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($1)) + 16|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($12>>>0)<($14>>>0);
if ($15) {
$16 = $0&255;
$17 = ((($12)) + 1|0);
HEAP32[$11>>2] = $17;
HEAP8[$12>>0] = $16;
$18 = $0 & 255;
$$0 = $18;
break;
}
}
$19 = (___overflow($1,$0)|0);
$$0 = $19;
}
} while(0);
return ($$0|0);
}
function _fread($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$ = 0, $$0 = 0, $$053$ph = 0, $$05357 = 0, $$054$ph = 0, $$05456 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$4 = Math_imul($2, $1)|0;
$5 = ((($3)) + 76|0);
$6 = HEAP32[$5>>2]|0;
$7 = ($6|0)>(-1);
if ($7) {
$8 = (___lockfile($3)|0);
$34 = $8;
} else {
$34 = 0;
}
$9 = ((($3)) + 74|0);
$10 = HEAP8[$9>>0]|0;
$11 = $10 << 24 >> 24;
$12 = (($11) + 255)|0;
$13 = $12 | $11;
$14 = $13&255;
HEAP8[$9>>0] = $14;
$15 = ((($3)) + 8|0);
$16 = HEAP32[$15>>2]|0;
$17 = ((($3)) + 4|0);
$18 = HEAP32[$17>>2]|0;
$19 = (($16) - ($18))|0;
$20 = ($19|0)>(0);
$21 = $18;
if ($20) {
$22 = ($19>>>0)<($4>>>0);
$$ = $22 ? $19 : $4;
_memcpy(($0|0),($21|0),($$|0))|0;
$23 = (($21) + ($$)|0);
HEAP32[$17>>2] = $23;
$24 = (($0) + ($$)|0);
$25 = (($4) - ($$))|0;
$$053$ph = $25;$$054$ph = $24;
} else {
$$053$ph = $4;$$054$ph = $0;
}
$26 = ($$053$ph|0)==(0);
L7: do {
if ($26) {
label = 13;
} else {
$27 = ((($3)) + 32|0);
$$05357 = $$053$ph;$$05456 = $$054$ph;
while(1) {
$28 = (___toread($3)|0);
$29 = ($28|0)==(0);
if (!($29)) {
break;
}
$30 = HEAP32[$27>>2]|0;
$31 = (FUNCTION_TABLE_iiii[$30 & 127]($3,$$05456,$$05357)|0);
$32 = (($31) + 1)|0;
$33 = ($32>>>0)<(2);
if ($33) {
break;
}
$38 = (($$05357) - ($31))|0;
$39 = (($$05456) + ($31)|0);
$40 = ($38|0)==(0);
if ($40) {
label = 13;
break L7;
} else {
$$05357 = $38;$$05456 = $39;
}
}
$35 = ($34|0)==(0);
if (!($35)) {
___unlockfile($3);
}
$36 = (($4) - ($$05357))|0;
$37 = (($36>>>0) / ($1>>>0))&-1;
$$0 = $37;
}
} while(0);
if ((label|0) == 13) {
$41 = ($34|0)==(0);
if ($41) {
$$0 = $2;
} else {
___unlockfile($3);
$$0 = $2;
}
}
return ($$0|0);
}
function _puts($0) {
$0 = $0|0;
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
var $9 = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = HEAP32[2576]|0;
$2 = ((($1)) + 76|0);
$3 = HEAP32[$2>>2]|0;
$4 = ($3|0)>(-1);
if ($4) {
$5 = (___lockfile($1)|0);
$20 = $5;
} else {
$20 = 0;
}
$6 = (_fputs($0,$1)|0);
$7 = ($6|0)<(0);
do {
if ($7) {
$19 = 1;
} else {
$8 = ((($1)) + 75|0);
$9 = HEAP8[$8>>0]|0;
$10 = ($9<<24>>24)==(10);
if (!($10)) {
$11 = ((($1)) + 20|0);
$12 = HEAP32[$11>>2]|0;
$13 = ((($1)) + 16|0);
$14 = HEAP32[$13>>2]|0;
$15 = ($12>>>0)<($14>>>0);
if ($15) {
$16 = ((($12)) + 1|0);
HEAP32[$11>>2] = $16;
HEAP8[$12>>0] = 10;
$19 = 0;
break;
}
}
$17 = (___overflow($1,10)|0);
$phitmp = ($17|0)<(0);
$19 = $phitmp;
}
} while(0);
$18 = $19 << 31 >> 31;
$21 = ($20|0)==(0);
if (!($21)) {
___unlockfile($1);
}
return ($18|0);
}
function _unlink($0) {
$0 = $0|0;
var $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$vararg_buffer = sp;
HEAP32[$vararg_buffer>>2] = $0;
$1 = (___syscall10(10,($vararg_buffer|0))|0);
$2 = (___syscall_ret($1)|0);
STACKTOP = sp;return ($2|0);
}
function _atoi($0) {
$0 = $0|0;
var $$0 = 0, $$010$lcssa = 0, $$01016 = 0, $$011 = 0, $$1$ph = 0, $$112$ph = 0, $$11215 = 0, $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
var $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit14 = 0, $isdigittmp = 0, $isdigittmp13 = 0, $isdigittmp17 = 0, label = 0, sp = 0;
sp = STACKTOP;
$$011 = $0;
while(1) {
$1 = HEAP8[$$011>>0]|0;
$2 = $1 << 24 >> 24;
$3 = (_isspace($2)|0);
$4 = ($3|0)==(0);
$5 = ((($$011)) + 1|0);
if ($4) {
break;
} else {
$$011 = $5;
}
}
switch ($2|0) {
case 45: {
$$0 = 1;
label = 5;
break;
}
case 43: {
$$0 = 0;
label = 5;
break;
}
default: {
$$1$ph = 0;$$112$ph = $$011;$7 = $1;
}
}
if ((label|0) == 5) {
$$pre = HEAP8[$5>>0]|0;
$$1$ph = $$0;$$112$ph = $5;$7 = $$pre;
}
$6 = $7 << 24 >> 24;
$isdigittmp13 = (($6) + -48)|0;
$isdigit14 = ($isdigittmp13>>>0)<(10);
if ($isdigit14) {
$$01016 = 0;$$11215 = $$112$ph;$isdigittmp17 = $isdigittmp13;
while(1) {
$8 = ($$01016*10)|0;
$9 = ((($$11215)) + 1|0);
$10 = (($8) - ($isdigittmp17))|0;
$11 = HEAP8[$9>>0]|0;
$12 = $11 << 24 >> 24;
$isdigittmp = (($12) + -48)|0;
$isdigit = ($isdigittmp>>>0)<(10);
if ($isdigit) {
$$01016 = $10;$$11215 = $9;$isdigittmp17 = $isdigittmp;
} else {
$$010$lcssa = $10;
break;
}
}
} else {
$$010$lcssa = 0;
}
$13 = ($$1$ph|0)!=(0);
$14 = (0 - ($$010$lcssa))|0;
$15 = $13 ? $$010$lcssa : $14;
return ($15|0);
}
function _qsort($0,$1,$2,$3) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
var $$0 = 0, $$0$i = 0, $$0$i88 = 0, $$067$lcssa = 0, $$06793 = 0, $$068$i$i = 0, $$068$i8$i = 0, $$068$lcssa = 0, $$06892 = 0, $$07$i10$i$ph = 0, $$09$i$i = 0, $$09$i7$i = 0, $$1 = 0, $$169$be = 0, $$169108 = 0, $$2$be = 0, $$2109 = 0, $$pre = 0, $$pre$i = 0, $$pre$i71 = 0;
var $$pre$i73 = 0, $$pre$i75 = 0, $$pre11$i = 0, $$pre11$i72 = 0, $$pre11$i74 = 0, $$pre11$i76 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $18 = 0;
var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond106 = 0, $or$cond97 = 0, $or$cond97107 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0);
$4 = sp + 8|0;
$5 = sp;
$6 = Math_imul($2, $1)|0;
$7 = $5;
$8 = $7;
HEAP32[$8>>2] = 1;
$9 = (($7) + 4)|0;
$10 = $9;
HEAP32[$10>>2] = 0;
$11 = ($6|0)==(0);
if (!($11)) {
$12 = (0 - ($2))|0;
$13 = ((($4)) + 4|0);
HEAP32[$13>>2] = $2;
HEAP32[$4>>2] = $2;
$$0 = 2;$15 = $2;$17 = $2;
while(1) {
$14 = (($15) + ($2))|0;
$16 = (($14) + ($17))|0;
$18 = (($4) + ($$0<<2)|0);
HEAP32[$18>>2] = $16;
$19 = ($16>>>0)<($6>>>0);
$20 = (($$0) + 1)|0;
if ($19) {
$15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi;
} else {
break;
}
}
$21 = (($0) + ($6)|0);
$22 = (($21) + ($12)|0);
$23 = ($22>>>0)>($0>>>0);
$24 = ((($5)) + 4|0);
if ($23) {
$25 = $22;
$$06793 = 1;$$06892 = $0;$27 = 1;
while(1) {
$26 = $27 & 3;
$28 = ($26|0)==(3);
do {
if ($28) {
_sift($$06892,$2,$3,$$06793,$4);
$$pre$i = HEAP32[$5>>2]|0;
$$pre11$i = HEAP32[$24>>2]|0;
$29 = $$pre$i >>> 2;
$30 = $$pre11$i << 30;
$31 = $30 | $29;
HEAP32[$5>>2] = $31;
$32 = $$pre11$i >>> 2;
HEAP32[$24>>2] = $32;
$33 = (($$06793) + 2)|0;
$$1 = $33;$56 = $31;
} else {
$34 = (($$06793) + -1)|0;
$35 = (($4) + ($34<<2)|0);
$36 = HEAP32[$35>>2]|0;
$37 = $$06892;
$38 = (($25) - ($37))|0;
$39 = ($36>>>0)<($38>>>0);
if ($39) {
_sift($$06892,$2,$3,$$06793,$4);
} else {
_trinkle($$06892,$2,$3,$5,$$06793,0,$4);
}
$40 = ($$06793|0)==(1);
if ($40) {
$$pre$i71 = HEAP32[$24>>2]|0;
$$pre11$i72 = HEAP32[$5>>2]|0;
$41 = $$pre$i71 << 1;
$42 = $$pre11$i72 >>> 31;
$43 = $42 | $41;
HEAP32[$24>>2] = $43;
$44 = $$pre11$i72 << 1;
HEAP32[$5>>2] = $44;
$$1 = 0;$56 = $44;
break;
}
$45 = ($34>>>0)>(31);
if ($45) {
$46 = (($$06793) + -33)|0;
$47 = HEAP32[$5>>2]|0;
HEAP32[$24>>2] = $47;
HEAP32[$5>>2] = 0;
$$0$i = $46;$49 = $47;$52 = 0;
} else {
$$pre$i75 = HEAP32[$24>>2]|0;
$$pre11$i76 = HEAP32[$5>>2]|0;
$$0$i = $34;$49 = $$pre$i75;$52 = $$pre11$i76;
}
$48 = $49 << $$0$i;
$50 = (32 - ($$0$i))|0;
$51 = $52 >>> $50;
$53 = $51 | $48;
HEAP32[$24>>2] = $53;
$54 = $52 << $$0$i;
HEAP32[$5>>2] = $54;
$$1 = 1;$56 = $54;
}
} while(0);
$55 = $56 | 1;
HEAP32[$5>>2] = $55;
$57 = (($$06892) + ($2)|0);
$58 = ($57>>>0)<($22>>>0);
if ($58) {
$$06793 = $$1;$$06892 = $57;$27 = $55;
} else {
$$067$lcssa = $$1;$$068$lcssa = $57;
break;
}
}
} else {
$$067$lcssa = 1;$$068$lcssa = $0;
}
_trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4);
$59 = ((($5)) + 4|0);
$60 = ($$067$lcssa|0)==(1);
$61 = HEAP32[$5>>2]|0;
$62 = ($61|0)==(1);
$or$cond106 = $60 & $62;
$63 = HEAP32[$59>>2]|0;
$64 = ($63|0)==(0);
$or$cond97107 = $or$cond106 & $64;
if (!($or$cond97107)) {
$$169108 = $$068$lcssa;$$2109 = $$067$lcssa;$123 = $64;$67 = $61;$76 = $63;
while(1) {
$65 = ($$2109|0)<(2);
if ($65) {
$66 = (($67) + -1)|0;
$68 = ($66|0)==(0);
do {
if ($68) {
$86 = 32;
label = 28;
} else {
$69 = $66 & 1;
$70 = ($69|0)==(0);
if ($70) {
$$068$i$i = $66;$$09$i$i = 0;
while(1) {
$71 = (($$09$i$i) + 1)|0;
$72 = $$068$i$i >>> 1;
$73 = $72 & 1;
$74 = ($73|0)==(0);
if ($74) {
$$068$i$i = $72;$$09$i$i = $71;
} else {
$83 = $71;
break;
}
}
} else {
if ($123) {
$$07$i10$i$ph = 32;
} else {
$75 = $76 & 1;
$77 = ($75|0)==(0);
if ($77) {
$$068$i8$i = $76;$$09$i7$i = 0;
} else {
$$0$i88 = 0;$88 = $67;$91 = $76;$95 = 0;
break;
}
while(1) {
$78 = (($$09$i7$i) + 1)|0;
$79 = $$068$i8$i >>> 1;
$80 = $79 & 1;
$81 = ($80|0)==(0);
if ($81) {
$$068$i8$i = $79;$$09$i7$i = $78;
} else {
$$07$i10$i$ph = $78;
break;
}
}
}
$82 = (($$07$i10$i$ph) + 32)|0;
$83 = $82;
}
$84 = ($83>>>0)>(31);
if ($84) {
$86 = $83;
label = 28;
} else {
$$0$i88 = $83;$88 = $67;$91 = $76;$95 = $83;
}
}
} while(0);
if ((label|0) == 28) {
label = 0;
$85 = (($86) + -32)|0;
HEAP32[$5>>2] = $76;
HEAP32[$24>>2] = 0;
$$0$i88 = $85;$88 = $76;$91 = 0;$95 = $86;
}
$87 = $88 >>> $$0$i88;
$89 = (32 - ($$0$i88))|0;
$90 = $91 << $89;
$92 = $90 | $87;
HEAP32[$5>>2] = $92;
$93 = $91 >>> $$0$i88;
HEAP32[$24>>2] = $93;
$94 = (($95) + ($$2109))|0;
$$pre = (($$169108) + ($12)|0);
$$169$be = $$pre;$$2$be = $94;
} else {
$96 = $76 << 2;
$97 = $67 >>> 30;
$98 = $97 | $96;
$99 = (($$2109) + -2)|0;
$100 = $67 << 1;
$101 = $100 & 2147483646;
$102 = $97 << 31;
$103 = $101 | $102;
$104 = $103 ^ 3;
HEAP32[$5>>2] = $104;
$105 = $98 >>> 1;
HEAP32[$24>>2] = $105;
$106 = (($4) + ($99<<2)|0);
$107 = HEAP32[$106>>2]|0;
$108 = (0 - ($107))|0;
$109 = (($$169108) + ($108)|0);
$110 = (($109) + ($12)|0);
$111 = (($$2109) + -1)|0;
_trinkle($110,$2,$3,$5,$111,1,$4);
$$pre$i73 = HEAP32[$24>>2]|0;
$$pre11$i74 = HEAP32[$5>>2]|0;
$112 = $$pre$i73 << 1;
$113 = $$pre11$i74 >>> 31;
$114 = $113 | $112;
HEAP32[$24>>2] = $114;
$115 = $$pre11$i74 << 1;
$116 = $115 | 1;
HEAP32[$5>>2] = $116;
$117 = (($$169108) + ($12)|0);
_trinkle($117,$2,$3,$5,$99,1,$4);
$$169$be = $117;$$2$be = $99;
}
$118 = ($$2$be|0)==(1);
$119 = HEAP32[$5>>2]|0;
$120 = ($119|0)==(1);
$or$cond = $118 & $120;
$121 = HEAP32[$59>>2]|0;
$122 = ($121|0)==(0);
$or$cond97 = $or$cond & $122;
if ($or$cond97) {
break;
} else {
$$169108 = $$169$be;$$2109 = $$2$be;$123 = $122;$67 = $119;$76 = $121;
}
}
}
}
STACKTOP = sp;return;
}
function _sift($0,$1,$2,$3,$4) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0);
$5 = sp;
HEAP32[$5>>2] = $0;
$6 = ($3|0)>(1);
L1: do {
if ($6) {
$7 = (0 - ($1))|0;
$$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0;
while(1) {
$8 = (($$02932) + ($7)|0);
$9 = (($$03031) + -2)|0;
$10 = (($4) + ($9<<2)|0);
$11 = HEAP32[$10>>2]|0;
$12 = (0 - ($11))|0;
$13 = (($8) + ($12)|0);
$15 = (FUNCTION_TABLE_iii[$2 & 63]($14,$13)|0);
$16 = ($15|0)>(-1);
if ($16) {
$17 = (FUNCTION_TABLE_iii[$2 & 63]($14,$8)|0);
$18 = ($17|0)>(-1);
if ($18) {
$$0$lcssa = $$033;
break L1;
}
}
$19 = (FUNCTION_TABLE_iii[$2 & 63]($13,$8)|0);
$20 = ($19|0)>(-1);
$21 = (($$033) + 1)|0;
$22 = (($5) + ($$033<<2)|0);
if ($20) {
HEAP32[$22>>2] = $13;
$23 = (($$03031) + -1)|0;
$$029$be = $13;$$030$be = $23;
} else {
HEAP32[$22>>2] = $8;
$$029$be = $8;$$030$be = $9;
}
$24 = ($$030$be|0)>(1);
if (!($24)) {
$$0$lcssa = $21;
break L1;
}
$$pre = HEAP32[$5>>2]|0;
$$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre;
}
} else {
$$0$lcssa = 1;
}
} while(0);
_cycle($1,$5,$$0$lcssa);
STACKTOP = sp;return;
}
function _trinkle($0,$1,$2,$3,$4,$5,$6) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
$3 = $3|0;
$4 = $4|0;
$5 = $5|0;
$6 = $6|0;
var $$0$i = 0, $$0$lcssa = 0, $$0$lcssa84 = 0, $$045$lcssa = 0, $$045$lcssa83 = 0, $$0456196 = 0, $$046$lcssa = 0, $$046$lcssa82 = 0, $$0466097 = 0, $$047$lcssa = 0, $$0475998 = 0, $$06295 = 0, $$06295$phi = 0, $$068$i$i = 0, $$068$i8$i = 0, $$07$i10$i$ph = 0, $$09$i$i = 0, $$09$i7$i = 0, $$pre = 0, $$sroa$0$05899 = 0;
var $$sroa$8$056100 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
var $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0);
$7 = sp;
$8 = HEAP32[$3>>2]|0;
$9 = ((($3)) + 4|0);
$10 = HEAP32[$9>>2]|0;
HEAP32[$7>>2] = $0;
$11 = (0 - ($1))|0;
$12 = ($8|0)!=(1);
$13 = ($10|0)!=(0);
$14 = $13 | $12;
L1: do {
if ($14) {
$15 = (($6) + ($4<<2)|0);
$16 = HEAP32[$15>>2]|0;
$17 = (0 - ($16))|0;
$18 = (($0) + ($17)|0);
$19 = (FUNCTION_TABLE_iii[$2 & 63]($18,$0)|0);
$20 = ($19|0)<(1);
if ($20) {
$$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5;
label = 18;
} else {
$phitmp = ($5|0)==(0);
$$0456196 = 1;$$0466097 = $4;$$0475998 = $phitmp;$$06295 = $0;$$sroa$0$05899 = $8;$$sroa$8$056100 = $10;$26 = $18;
while(1) {
$21 = ($$0466097|0)>(1);
$or$cond = $$0475998 & $21;
if ($or$cond) {
$22 = (($$06295) + ($11)|0);
$23 = (($$0466097) + -2)|0;
$24 = (($6) + ($23<<2)|0);
$25 = HEAP32[$24>>2]|0;
$27 = (FUNCTION_TABLE_iii[$2 & 63]($22,$26)|0);
$28 = ($27|0)>(-1);
if ($28) {
$$0$lcssa84 = $$06295;$$045$lcssa83 = $$0456196;$$046$lcssa82 = $$0466097;
label = 19;
break L1;
}
$29 = (0 - ($25))|0;
$30 = (($22) + ($29)|0);
$31 = (FUNCTION_TABLE_iii[$2 & 63]($30,$26)|0);
$32 = ($31|0)>(-1);
if ($32) {
$$0$lcssa84 = $$06295;$$045$lcssa83 = $$0456196;$$046$lcssa82 = $$0466097;
label = 19;
break L1;
}
}
$33 = (($$0456196) + 1)|0;
$34 = (($7) + ($$0456196<<2)|0);
HEAP32[$34>>2] = $26;
$35 = (($$sroa$0$05899) + -1)|0;
$36 = ($35|0)==(0);
do {
if ($36) {
$73 = 0;$74 = 32;
label = 15;
} else {
$37 = $35 & 1;
$38 = ($37|0)==(0);
if ($38) {
$$068$i$i = $35;$$09$i$i = 0;
while(1) {
$39 = (($$09$i$i) + 1)|0;
$40 = $$068$i$i >>> 1;
$41 = $40 & 1;
$42 = ($41|0)==(0);
if ($42) {
$$068$i$i = $40;$$09$i$i = $39;
} else {
$51 = $39;
break;
}
}
} else {
$43 = ($$sroa$8$056100|0)==(0);
if ($43) {
$$07$i10$i$ph = 32;
} else {
$44 = $$sroa$8$056100 & 1;
$45 = ($44|0)==(0);
if ($45) {
$$068$i8$i = $$sroa$8$056100;$$09$i7$i = 0;
} else {
$$0$i = 0;$55 = $$sroa$0$05899;$58 = $$sroa$8$056100;$62 = 0;
break;
}
while(1) {
$46 = (($$09$i7$i) + 1)|0;
$47 = $$068$i8$i >>> 1;
$48 = $47 & 1;
$49 = ($48|0)==(0);
if ($49) {
$$068$i8$i = $47;$$09$i7$i = $46;
} else {
$$07$i10$i$ph = $46;
break;
}
}
}
$50 = (($$07$i10$i$ph) + 32)|0;
$51 = $50;
}
$52 = ($51>>>0)>(31);
$53 = (($51) + -32)|0;
if ($52) {
$73 = $53;$74 = $51;
label = 15;
} else {
$$0$i = $51;$55 = $$sroa$0$05899;$58 = $$sroa$8$056100;$62 = $51;
}
}
} while(0);
if ((label|0) == 15) {
label = 0;
$$0$i = $73;$55 = $$sroa$8$056100;$58 = 0;$62 = $74;
}
$54 = $55 >>> $$0$i;
$56 = (32 - ($$0$i))|0;
$57 = $58 << $56;
$59 = $57 | $54;
$60 = $58 >>> $$0$i;
$61 = (($62) + ($$0466097))|0;
$63 = ($59|0)!=(1);
$64 = ($60|0)!=(0);
$65 = $64 | $63;
if (!($65)) {
$$0$lcssa84 = $26;$$045$lcssa83 = $33;$$046$lcssa82 = $61;
label = 19;
break L1;
}
$$pre = HEAP32[$7>>2]|0;
$66 = (($6) + ($61<<2)|0);
$67 = HEAP32[$66>>2]|0;
$68 = (0 - ($67))|0;
$69 = (($26) + ($68)|0);
$70 = (FUNCTION_TABLE_iii[$2 & 63]($69,$$pre)|0);
$71 = ($70|0)<(1);
if ($71) {
$$0$lcssa = $26;$$045$lcssa = $33;$$046$lcssa = $61;$$047$lcssa = 0;
label = 18;
break;
} else {
$$06295$phi = $26;$$0456196 = $33;$$0466097 = $61;$$0475998 = 1;$$sroa$0$05899 = $59;$$sroa$8$056100 = $60;$26 = $69;$$06295 = $$06295$phi;
}
}
}
} else {
$$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5;
label = 18;
}
} while(0);
if ((label|0) == 18) {
$72 = ($$047$lcssa|0)==(0);
if ($72) {
$$0$lcssa84 = $$0$lcssa;$$045$lcssa83 = $$045$lcssa;$$046$lcssa82 = $$046$lcssa;
label = 19;
}
}
if ((label|0) == 19) {
_cycle($1,$7,$$045$lcssa83);
_sift($$0$lcssa84,$1,$2,$$046$lcssa82,$6);
}
STACKTOP = sp;return;
}
function _cycle($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $$02527 = 0, $$026 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
var $exitcond = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
$3 = sp;
$4 = ($2|0)<(2);
L1: do {
if (!($4)) {
$5 = (($1) + ($2<<2)|0);
HEAP32[$5>>2] = $3;
$6 = ($0|0)==(0);
if (!($6)) {
$$02527 = $0;$10 = $3;
while(1) {
$7 = ($$02527>>>0)>(256);
$8 = $7 ? 256 : $$02527;
$9 = HEAP32[$1>>2]|0;
_memcpy(($10|0),($9|0),($8|0))|0;
$$026 = 0;
while(1) {
$11 = (($1) + ($$026<<2)|0);
$12 = HEAP32[$11>>2]|0;
$13 = (($$026) + 1)|0;
$14 = (($1) + ($13<<2)|0);
$15 = HEAP32[$14>>2]|0;
_memcpy(($12|0),($15|0),($8|0))|0;
$16 = HEAP32[$11>>2]|0;
$17 = (($16) + ($8)|0);
HEAP32[$11>>2] = $17;
$exitcond = ($13|0)==($2|0);
if ($exitcond) {
break;
} else {
$$026 = $13;
}
}
$18 = (($$02527) - ($8))|0;
$19 = ($18|0)==(0);
if ($19) {
break L1;
}
$$pre = HEAP32[$5>>2]|0;
$$02527 = $18;$10 = $$pre;
}
}
}
} while(0);
STACKTOP = sp;return;
}
function _strtox($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
$3 = sp;
dest=$3; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
$4 = ((($3)) + 4|0);
HEAP32[$4>>2] = $0;
$5 = ((($3)) + 8|0);
HEAP32[$5>>2] = (-1);
$6 = ((($3)) + 44|0);
HEAP32[$6>>2] = $0;
$7 = ((($3)) + 76|0);
HEAP32[$7>>2] = -1;
___shlim($3,0);
$8 = (+___floatscan($3,$2,1));
$9 = ((($3)) + 108|0);
$10 = HEAP32[$9>>2]|0;
$11 = HEAP32[$4>>2]|0;
$12 = HEAP32[$5>>2]|0;
$13 = (($11) - ($12))|0;
$14 = (($13) + ($10))|0;
$15 = ($1|0)==(0|0);
if (!($15)) {
$16 = ($14|0)!=(0);
$17 = (($0) + ($14)|0);
$18 = $16 ? $17 : $0;
HEAP32[$1>>2] = $18;
}
STACKTOP = sp;return (+$8);
}
function _strtod($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $2 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (+_strtox($0,$1,1));
return (+$2);
}
function _strtol($0,$1,$2) {
$0 = $0|0;
$1 = $1|0;
$2 = $2|0;
var $3 = 0, $4 = 0, label = 0, sp = 0;
sp = STACKTOP;
$3 = (_strtox_339($0,$1,$2,-2147483648,0)|0);
$4 = tempRet0;
return ($3|0);
}
function _atof($0) {
$0 = $0|0;
var $1 = 0.0, label = 0, sp = 0;
sp = STACKTOP;
$1 = (+_strtod($0,0));
return (+$1);
}
function _malloc($0) {
$0 = $0|0;
var $$$0190$i = 0, $$$0191$i = 0, $$$4349$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0187$i = 0, $$0189$i = 0, $$0190$i = 0, $$0191$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0, $$0212$i$i = 0;
var $$024370$i = 0, $$0286$i$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0294$i$i = 0, $$0295$i$i = 0, $$0340$i = 0, $$0342$i = 0, $$0343$i = 0, $$0345$i = 0, $$0351$i = 0, $$0356$i = 0, $$0357$$i = 0, $$0357$i = 0, $$0359$i = 0, $$0360$i = 0, $$0366$i = 0, $$1194$i = 0, $$1196$i = 0, $$124469$i = 0;
var $$1290$i$i = 0, $$1292$i$i = 0, $$1341$i = 0, $$1346$i = 0, $$1361$i = 0, $$1368$i = 0, $$1372$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2353$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3348$i = 0, $$3370$i = 0, $$4$lcssa$i = 0, $$413$i = 0, $$4349$lcssa$i = 0, $$434912$i = 0, $$4355$$4$i = 0;
var $$4355$ph$i = 0, $$435511$i = 0, $$5256$i = 0, $$723947$i = 0, $$748$i = 0, $$not$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i205 = 0, $$pre$i208 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i206Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi10$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre9$i$i = 0, $1 = 0;
var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0;
var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0;
var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0;
var $1053 = 0, $1054 = 0, $1055 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0;
var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0;
var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0;
var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0;
var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0;
var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0;
var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0;
var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0;
var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0;
var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0;
var $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0;
var $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0;
var $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0;
var $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0;
var $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0;
var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0;
var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0;
var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0;
var $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0;
var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0;
var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0;
var $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0;
var $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0;
var $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0;
var $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0;
var $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0;
var $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 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, $713 = 0, $714 = 0, $715 = 0;
var $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0;
var $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0;
var $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 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;
var $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0;
var $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0;
var $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0;
var $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0;
var $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0;
var $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0;
var $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0;
var $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0;
var $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0;
var $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0;
var $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0;
var $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0;
var $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i204 = 0, $exitcond$i$i = 0, $not$$i$i = 0, $not$$i22$i = 0;
var $not$7$i = 0, $or$cond$i = 0, $or$cond$i211 = 0, $or$cond1$i = 0, $or$cond1$i210 = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond7$i = 0, label = 0, sp = 0;
sp = STACKTOP;
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
$1 = sp;
$2 = ($0>>>0)<(245);
do {
if ($2) {
$3 = ($0>>>0)<(11);
$4 = (($0) + 11)|0;
$5 = $4 & -8;
$6 = $3 ? 16 : $5;
$7 = $6 >>> 3;
$8 = HEAP32[7843]|0;
$9 = $8 >>> $7;
$10 = $9 & 3;
$11 = ($10|0)==(0);
if (!($11)) {
$12 = $9 & 1;
$13 = $12 ^ 1;
$14 = (($13) + ($7))|0;
$15 = $14 << 1;
$16 = (31412 + ($15<<2)|0);
$17 = ((($16)) + 8|0);
$18 = HEAP32[$17>>2]|0;
$19 = ((($18)) + 8|0);
$20 = HEAP32[$19>>2]|0;
$21 = ($16|0)==($20|0);
do {
if ($21) {
$22 = 1 << $14;
$23 = $22 ^ -1;
$24 = $8 & $23;
HEAP32[7843] = $24;
} else {
$25 = HEAP32[(31388)>>2]|0;
$26 = ($20>>>0)<($25>>>0);
if ($26) {
_abort();
// unreachable;
}
$27 = ((($20)) + 12|0);
$28 = HEAP32[$27>>2]|0;
$29 = ($28|0)==($18|0);
if ($29) {
HEAP32[$27>>2] = $16;
HEAP32[$17>>2] = $20;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$30 = $14 << 3;
$31 = $30 | 3;
$32 = ((($18)) + 4|0);
HEAP32[$32>>2] = $31;
$33 = (($18) + ($30)|0);
$34 = ((($33)) + 4|0);
$35 = HEAP32[$34>>2]|0;
$36 = $35 | 1;
HEAP32[$34>>2] = $36;
$$0 = $19;
STACKTOP = sp;return ($$0|0);
}
$37 = HEAP32[(31380)>>2]|0;
$38 = ($6>>>0)>($37>>>0);
if ($38) {
$39 = ($9|0)==(0);
if (!($39)) {
$40 = $9 << $7;
$41 = 2 << $7;
$42 = (0 - ($41))|0;
$43 = $41 | $42;
$44 = $40 & $43;
$45 = (0 - ($44))|0;
$46 = $44 & $45;
$47 = (($46) + -1)|0;
$48 = $47 >>> 12;
$49 = $48 & 16;
$50 = $47 >>> $49;
$51 = $50 >>> 5;
$52 = $51 & 8;
$53 = $52 | $49;
$54 = $50 >>> $52;
$55 = $54 >>> 2;
$56 = $55 & 4;
$57 = $53 | $56;
$58 = $54 >>> $56;
$59 = $58 >>> 1;
$60 = $59 & 2;
$61 = $57 | $60;
$62 = $58 >>> $60;
$63 = $62 >>> 1;
$64 = $63 & 1;
$65 = $61 | $64;
$66 = $62 >>> $64;
$67 = (($65) + ($66))|0;
$68 = $67 << 1;
$69 = (31412 + ($68<<2)|0);
$70 = ((($69)) + 8|0);
$71 = HEAP32[$70>>2]|0;
$72 = ((($71)) + 8|0);
$73 = HEAP32[$72>>2]|0;
$74 = ($69|0)==($73|0);
do {
if ($74) {
$75 = 1 << $67;
$76 = $75 ^ -1;
$77 = $8 & $76;
HEAP32[7843] = $77;
$98 = $77;
} else {
$78 = HEAP32[(31388)>>2]|0;
$79 = ($73>>>0)<($78>>>0);
if ($79) {
_abort();
// unreachable;
}
$80 = ((($73)) + 12|0);
$81 = HEAP32[$80>>2]|0;
$82 = ($81|0)==($71|0);
if ($82) {
HEAP32[$80>>2] = $69;
HEAP32[$70>>2] = $73;
$98 = $8;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$83 = $67 << 3;
$84 = (($83) - ($6))|0;
$85 = $6 | 3;
$86 = ((($71)) + 4|0);
HEAP32[$86>>2] = $85;
$87 = (($71) + ($6)|0);
$88 = $84 | 1;
$89 = ((($87)) + 4|0);
HEAP32[$89>>2] = $88;
$90 = (($87) + ($84)|0);
HEAP32[$90>>2] = $84;
$91 = ($37|0)==(0);
if (!($91)) {
$92 = HEAP32[(31392)>>2]|0;
$93 = $37 >>> 3;
$94 = $93 << 1;
$95 = (31412 + ($94<<2)|0);
$96 = 1 << $93;
$97 = $98 & $96;
$99 = ($97|0)==(0);
if ($99) {
$100 = $98 | $96;
HEAP32[7843] = $100;
$$pre = ((($95)) + 8|0);
$$0199 = $95;$$pre$phiZ2D = $$pre;
} else {
$101 = ((($95)) + 8|0);
$102 = HEAP32[$101>>2]|0;
$103 = HEAP32[(31388)>>2]|0;
$104 = ($102>>>0)<($103>>>0);
if ($104) {
_abort();
// unreachable;
} else {
$$0199 = $102;$$pre$phiZ2D = $101;
}
}
HEAP32[$$pre$phiZ2D>>2] = $92;
$105 = ((($$0199)) + 12|0);
HEAP32[$105>>2] = $92;
$106 = ((($92)) + 8|0);
HEAP32[$106>>2] = $$0199;
$107 = ((($92)) + 12|0);
HEAP32[$107>>2] = $95;
}
HEAP32[(31380)>>2] = $84;
HEAP32[(31392)>>2] = $87;
$$0 = $72;
STACKTOP = sp;return ($$0|0);
}
$108 = HEAP32[(31376)>>2]|0;
$109 = ($108|0)==(0);
if ($109) {
$$0197 = $6;
} else {
$110 = (0 - ($108))|0;
$111 = $108 & $110;
$112 = (($111) + -1)|0;
$113 = $112 >>> 12;
$114 = $113 & 16;
$115 = $112 >>> $114;
$116 = $115 >>> 5;
$117 = $116 & 8;
$118 = $117 | $114;
$119 = $115 >>> $117;
$120 = $119 >>> 2;
$121 = $120 & 4;
$122 = $118 | $121;
$123 = $119 >>> $121;
$124 = $123 >>> 1;
$125 = $124 & 2;
$126 = $122 | $125;
$127 = $123 >>> $125;
$128 = $127 >>> 1;
$129 = $128 & 1;
$130 = $126 | $129;
$131 = $127 >>> $129;
$132 = (($130) + ($131))|0;
$133 = (31676 + ($132<<2)|0);
$134 = HEAP32[$133>>2]|0;
$135 = ((($134)) + 4|0);
$136 = HEAP32[$135>>2]|0;
$137 = $136 & -8;
$138 = (($137) - ($6))|0;
$$0189$i = $134;$$0190$i = $134;$$0191$i = $138;
while(1) {
$139 = ((($$0189$i)) + 16|0);
$140 = HEAP32[$139>>2]|0;
$141 = ($140|0)==(0|0);
if ($141) {
$142 = ((($$0189$i)) + 20|0);
$143 = HEAP32[$142>>2]|0;
$144 = ($143|0)==(0|0);
if ($144) {
break;
} else {
$146 = $143;
}
} else {
$146 = $140;
}
$145 = ((($146)) + 4|0);
$147 = HEAP32[$145>>2]|0;
$148 = $147 & -8;
$149 = (($148) - ($6))|0;
$150 = ($149>>>0)<($$0191$i>>>0);
$$$0191$i = $150 ? $149 : $$0191$i;
$$$0190$i = $150 ? $146 : $$0190$i;
$$0189$i = $146;$$0190$i = $$$0190$i;$$0191$i = $$$0191$i;
}
$151 = HEAP32[(31388)>>2]|0;
$152 = ($$0190$i>>>0)<($151>>>0);
if ($152) {
_abort();
// unreachable;
}
$153 = (($$0190$i) + ($6)|0);
$154 = ($$0190$i>>>0)<($153>>>0);
if (!($154)) {
_abort();
// unreachable;
}
$155 = ((($$0190$i)) + 24|0);
$156 = HEAP32[$155>>2]|0;
$157 = ((($$0190$i)) + 12|0);
$158 = HEAP32[$157>>2]|0;
$159 = ($158|0)==($$0190$i|0);
do {
if ($159) {
$169 = ((($$0190$i)) + 20|0);
$170 = HEAP32[$169>>2]|0;
$171 = ($170|0)==(0|0);
if ($171) {
$172 = ((($$0190$i)) + 16|0);
$173 = HEAP32[$172>>2]|0;
$174 = ($173|0)==(0|0);
if ($174) {
$$3$i = 0;
break;
} else {
$$1194$i = $173;$$1196$i = $172;
}
} else {
$$1194$i = $170;$$1196$i = $169;
}
while(1) {
$175 = ((($$1194$i)) + 20|0);
$176 = HEAP32[$175>>2]|0;
$177 = ($176|0)==(0|0);
if (!($177)) {
$$1194$i = $176;$$1196$i = $175;
continue;
}
$178 = ((($$1194$i)) + 16|0);
$179 = HEAP32[$178>>2]|0;
$180 = ($179|0)==(0|0);
if ($180) {
break;
} else {
$$1194$i = $179;$$1196$i = $178;
}
}
$181 = ($$1196$i>>>0)<($151>>>0);
if ($181) {
_abort();
// unreachable;
} else {
HEAP32[$$1196$i>>2] = 0;
$$3$i = $$1194$i;
break;
}
} else {
$160 = ((($$0190$i)) + 8|0);
$161 = HEAP32[$160>>2]|0;
$162 = ($161>>>0)<($151>>>0);
if ($162) {
_abort();
// unreachable;
}
$163 = ((($161)) + 12|0);
$164 = HEAP32[$163>>2]|0;
$165 = ($164|0)==($$0190$i|0);
if (!($165)) {
_abort();
// unreachable;
}
$166 = ((($158)) + 8|0);
$167 = HEAP32[$166>>2]|0;
$168 = ($167|0)==($$0190$i|0);
if ($168) {
HEAP32[$163>>2] = $158;
HEAP32[$166>>2] = $161;
$$3$i = $158;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$182 = ($156|0)==(0|0);
do {
if (!($182)) {
$183 = ((($$0190$i)) + 28|0);
$184 = HEAP32[$183>>2]|0;
$185 = (31676 + ($184<<2)|0);
$186 = HEAP32[$185>>2]|0;
$187 = ($$0190$i|0)==($186|0);
if ($187) {
HEAP32[$185>>2] = $$3$i;
$cond$i = ($$3$i|0)==(0|0);
if ($cond$i) {
$188 = 1 << $184;
$189 = $188 ^ -1;
$190 = $108 & $189;
HEAP32[(31376)>>2] = $190;
break;
}
} else {
$191 = HEAP32[(31388)>>2]|0;
$192 = ($156>>>0)<($191>>>0);
if ($192) {
_abort();
// unreachable;
}
$193 = ((($156)) + 16|0);
$194 = HEAP32[$193>>2]|0;
$195 = ($194|0)==($$0190$i|0);
if ($195) {
HEAP32[$193>>2] = $$3$i;
} else {
$196 = ((($156)) + 20|0);
HEAP32[$196>>2] = $$3$i;
}
$197 = ($$3$i|0)==(0|0);
if ($197) {
break;
}
}
$198 = HEAP32[(31388)>>2]|0;
$199 = ($$3$i>>>0)<($198>>>0);
if ($199) {
_abort();
// unreachable;
}
$200 = ((($$3$i)) + 24|0);
HEAP32[$200>>2] = $156;
$201 = ((($$0190$i)) + 16|0);
$202 = HEAP32[$201>>2]|0;
$203 = ($202|0)==(0|0);
do {
if (!($203)) {
$204 = ($202>>>0)<($198>>>0);
if ($204) {
_abort();
// unreachable;
} else {
$205 = ((($$3$i)) + 16|0);
HEAP32[$205>>2] = $202;
$206 = ((($202)) + 24|0);
HEAP32[$206>>2] = $$3$i;
break;
}
}
} while(0);
$207 = ((($$0190$i)) + 20|0);
$208 = HEAP32[$207>>2]|0;
$209 = ($208|0)==(0|0);
if (!($209)) {
$210 = HEAP32[(31388)>>2]|0;
$211 = ($208>>>0)<($210>>>0);
if ($211) {
_abort();
// unreachable;
} else {
$212 = ((($$3$i)) + 20|0);
HEAP32[$212>>2] = $208;
$213 = ((($208)) + 24|0);
HEAP32[$213>>2] = $$3$i;
break;
}
}
}
} while(0);
$214 = ($$0191$i>>>0)<(16);
if ($214) {
$215 = (($$0191$i) + ($6))|0;
$216 = $215 | 3;
$217 = ((($$0190$i)) + 4|0);
HEAP32[$217>>2] = $216;
$218 = (($$0190$i) + ($215)|0);
$219 = ((($218)) + 4|0);
$220 = HEAP32[$219>>2]|0;
$221 = $220 | 1;
HEAP32[$219>>2] = $221;
} else {
$222 = $6 | 3;
$223 = ((($$0190$i)) + 4|0);
HEAP32[$223>>2] = $222;
$224 = $$0191$i | 1;
$225 = ((($153)) + 4|0);
HEAP32[$225>>2] = $224;
$226 = (($153) + ($$0191$i)|0);
HEAP32[$226>>2] = $$0191$i;
$227 = ($37|0)==(0);
if (!($227)) {
$228 = HEAP32[(31392)>>2]|0;
$229 = $37 >>> 3;
$230 = $229 << 1;
$231 = (31412 + ($230<<2)|0);
$232 = 1 << $229;
$233 = $8 & $232;
$234 = ($233|0)==(0);
if ($234) {
$235 = $8 | $232;
HEAP32[7843] = $235;
$$pre$i = ((($231)) + 8|0);
$$0187$i = $231;$$pre$phi$iZ2D = $$pre$i;
} else {
$236 = ((($231)) + 8|0);
$237 = HEAP32[$236>>2]|0;
$238 = HEAP32[(31388)>>2]|0;
$239 = ($237>>>0)<($238>>>0);
if ($239) {
_abort();
// unreachable;
} else {
$$0187$i = $237;$$pre$phi$iZ2D = $236;
}
}
HEAP32[$$pre$phi$iZ2D>>2] = $228;
$240 = ((($$0187$i)) + 12|0);
HEAP32[$240>>2] = $228;
$241 = ((($228)) + 8|0);
HEAP32[$241>>2] = $$0187$i;
$242 = ((($228)) + 12|0);
HEAP32[$242>>2] = $231;
}
HEAP32[(31380)>>2] = $$0191$i;
HEAP32[(31392)>>2] = $153;
}
$243 = ((($$0190$i)) + 8|0);
$$0 = $243;
STACKTOP = sp;return ($$0|0);
}
} else {
$$0197 = $6;
}
} else {
$244 = ($0>>>0)>(4294967231);
if ($244) {
$$0197 = -1;
} else {
$245 = (($0) + 11)|0;
$246 = $245 & -8;
$247 = HEAP32[(31376)>>2]|0;
$248 = ($247|0)==(0);
if ($248) {
$$0197 = $246;
} else {
$249 = (0 - ($246))|0;
$250 = $245 >>> 8;
$251 = ($250|0)==(0);
if ($251) {
$$0356$i = 0;
} else {
$252 = ($246>>>0)>(16777215);
if ($252) {
$$0356$i = 31;
} else {
$253 = (($250) + 1048320)|0;
$254 = $253 >>> 16;
$255 = $254 & 8;
$256 = $250 << $255;
$257 = (($256) + 520192)|0;
$258 = $257 >>> 16;
$259 = $258 & 4;
$260 = $259 | $255;
$261 = $256 << $259;
$262 = (($261) + 245760)|0;
$263 = $262 >>> 16;
$264 = $263 & 2;
$265 = $260 | $264;
$266 = (14 - ($265))|0;
$267 = $261 << $264;
$268 = $267 >>> 15;
$269 = (($266) + ($268))|0;
$270 = $269 << 1;
$271 = (($269) + 7)|0;
$272 = $246 >>> $271;
$273 = $272 & 1;
$274 = $273 | $270;
$$0356$i = $274;
}
}
$275 = (31676 + ($$0356$i<<2)|0);
$276 = HEAP32[$275>>2]|0;
$277 = ($276|0)==(0|0);
L123: do {
if ($277) {
$$2353$i = 0;$$3$i201 = 0;$$3348$i = $249;
label = 86;
} else {
$278 = ($$0356$i|0)==(31);
$279 = $$0356$i >>> 1;
$280 = (25 - ($279))|0;
$281 = $278 ? 0 : $280;
$282 = $246 << $281;
$$0340$i = 0;$$0345$i = $249;$$0351$i = $276;$$0357$i = $282;$$0360$i = 0;
while(1) {
$283 = ((($$0351$i)) + 4|0);
$284 = HEAP32[$283>>2]|0;
$285 = $284 & -8;
$286 = (($285) - ($246))|0;
$287 = ($286>>>0)<($$0345$i>>>0);
if ($287) {
$288 = ($286|0)==(0);
if ($288) {
$$413$i = $$0351$i;$$434912$i = 0;$$435511$i = $$0351$i;
label = 90;
break L123;
} else {
$$1341$i = $$0351$i;$$1346$i = $286;
}
} else {
$$1341$i = $$0340$i;$$1346$i = $$0345$i;
}
$289 = ((($$0351$i)) + 20|0);
$290 = HEAP32[$289>>2]|0;
$291 = $$0357$i >>> 31;
$292 = (((($$0351$i)) + 16|0) + ($291<<2)|0);
$293 = HEAP32[$292>>2]|0;
$294 = ($290|0)==(0|0);
$295 = ($290|0)==($293|0);
$or$cond1$i = $294 | $295;
$$1361$i = $or$cond1$i ? $$0360$i : $290;
$296 = ($293|0)==(0|0);
$297 = $296&1;
$298 = $297 ^ 1;
$$0357$$i = $$0357$i << $298;
if ($296) {
$$2353$i = $$1361$i;$$3$i201 = $$1341$i;$$3348$i = $$1346$i;
label = 86;
break;
} else {
$$0340$i = $$1341$i;$$0345$i = $$1346$i;$$0351$i = $293;$$0357$i = $$0357$$i;$$0360$i = $$1361$i;
}
}
}
} while(0);
if ((label|0) == 86) {
$299 = ($$2353$i|0)==(0|0);
$300 = ($$3$i201|0)==(0|0);
$or$cond$i = $299 & $300;
if ($or$cond$i) {
$301 = 2 << $$0356$i;
$302 = (0 - ($301))|0;
$303 = $301 | $302;
$304 = $247 & $303;
$305 = ($304|0)==(0);
if ($305) {
$$0197 = $246;
break;
}
$306 = (0 - ($304))|0;
$307 = $304 & $306;
$308 = (($307) + -1)|0;
$309 = $308 >>> 12;
$310 = $309 & 16;
$311 = $308 >>> $310;
$312 = $311 >>> 5;
$313 = $312 & 8;
$314 = $313 | $310;
$315 = $311 >>> $313;
$316 = $315 >>> 2;
$317 = $316 & 4;
$318 = $314 | $317;
$319 = $315 >>> $317;
$320 = $319 >>> 1;
$321 = $320 & 2;
$322 = $318 | $321;
$323 = $319 >>> $321;
$324 = $323 >>> 1;
$325 = $324 & 1;
$326 = $322 | $325;
$327 = $323 >>> $325;
$328 = (($326) + ($327))|0;
$329 = (31676 + ($328<<2)|0);
$330 = HEAP32[$329>>2]|0;
$$4355$ph$i = $330;
} else {
$$4355$ph$i = $$2353$i;
}
$331 = ($$4355$ph$i|0)==(0|0);
if ($331) {
$$4$lcssa$i = $$3$i201;$$4349$lcssa$i = $$3348$i;
} else {
$$413$i = $$3$i201;$$434912$i = $$3348$i;$$435511$i = $$4355$ph$i;
label = 90;
}
}
if ((label|0) == 90) {
while(1) {
label = 0;
$332 = ((($$435511$i)) + 4|0);
$333 = HEAP32[$332>>2]|0;
$334 = $333 & -8;
$335 = (($334) - ($246))|0;
$336 = ($335>>>0)<($$434912$i>>>0);
$$$4349$i = $336 ? $335 : $$434912$i;
$$4355$$4$i = $336 ? $$435511$i : $$413$i;
$337 = ((($$435511$i)) + 16|0);
$338 = HEAP32[$337>>2]|0;
$339 = ($338|0)==(0|0);
if (!($339)) {
$$413$i = $$4355$$4$i;$$434912$i = $$$4349$i;$$435511$i = $338;
label = 90;
continue;
}
$340 = ((($$435511$i)) + 20|0);
$341 = HEAP32[$340>>2]|0;
$342 = ($341|0)==(0|0);
if ($342) {
$$4$lcssa$i = $$4355$$4$i;$$4349$lcssa$i = $$$4349$i;
break;
} else {
$$413$i = $$4355$$4$i;$$434912$i = $$$4349$i;$$435511$i = $341;
label = 90;
}
}
}
$343 = ($$4$lcssa$i|0)==(0|0);
if ($343) {
$$0197 = $246;
} else {
$344 = HEAP32[(31380)>>2]|0;
$345 = (($344) - ($246))|0;
$346 = ($$4349$lcssa$i>>>0)<($345>>>0);
if ($346) {
$347 = HEAP32[(31388)>>2]|0;
$348 = ($$4$lcssa$i>>>0)<($347>>>0);
if ($348) {
_abort();
// unreachable;
}
$349 = (($$4$lcssa$i) + ($246)|0);
$350 = ($$4$lcssa$i>>>0)<($349>>>0);
if (!($350)) {
_abort();
// unreachable;
}
$351 = ((($$4$lcssa$i)) + 24|0);
$352 = HEAP32[$351>>2]|0;
$353 = ((($$4$lcssa$i)) + 12|0);
$354 = HEAP32[$353>>2]|0;
$355 = ($354|0)==($$4$lcssa$i|0);
do {
if ($355) {
$365 = ((($$4$lcssa$i)) + 20|0);
$366 = HEAP32[$365>>2]|0;
$367 = ($366|0)==(0|0);
if ($367) {
$368 = ((($$4$lcssa$i)) + 16|0);
$369 = HEAP32[$368>>2]|0;
$370 = ($369|0)==(0|0);
if ($370) {
$$3370$i = 0;
break;
} else {
$$1368$i = $369;$$1372$i = $368;
}
} else {
$$1368$i = $366;$$1372$i = $365;
}
while(1) {
$371 = ((($$1368$i)) + 20|0);
$372 = HEAP32[$371>>2]|0;
$373 = ($372|0)==(0|0);
if (!($373)) {
$$1368$i = $372;$$1372$i = $371;
continue;
}
$374 = ((($$1368$i)) + 16|0);
$375 = HEAP32[$374>>2]|0;
$376 = ($375|0)==(0|0);
if ($376) {
break;
} else {
$$1368$i = $375;$$1372$i = $374;
}
}
$377 = ($$1372$i>>>0)<($347>>>0);
if ($377) {
_abort();
// unreachable;
} else {
HEAP32[$$1372$i>>2] = 0;
$$3370$i = $$1368$i;
break;
}
} else {
$356 = ((($$4$lcssa$i)) + 8|0);
$357 = HEAP32[$356>>2]|0;
$358 = ($357>>>0)<($347>>>0);
if ($358) {
_abort();
// unreachable;
}
$359 = ((($357)) + 12|0);
$360 = HEAP32[$359>>2]|0;
$361 = ($360|0)==($$4$lcssa$i|0);
if (!($361)) {
_abort();
// unreachable;
}
$362 = ((($354)) + 8|0);
$363 = HEAP32[$362>>2]|0;
$364 = ($363|0)==($$4$lcssa$i|0);
if ($364) {
HEAP32[$359>>2] = $354;
HEAP32[$362>>2] = $357;
$$3370$i = $354;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$378 = ($352|0)==(0|0);
do {
if ($378) {
$470 = $247;
} else {
$379 = ((($$4$lcssa$i)) + 28|0);
$380 = HEAP32[$379>>2]|0;
$381 = (31676 + ($380<<2)|0);
$382 = HEAP32[$381>>2]|0;
$383 = ($$4$lcssa$i|0)==($382|0);
if ($383) {
HEAP32[$381>>2] = $$3370$i;
$cond$i204 = ($$3370$i|0)==(0|0);
if ($cond$i204) {
$384 = 1 << $380;
$385 = $384 ^ -1;
$386 = $247 & $385;
HEAP32[(31376)>>2] = $386;
$470 = $386;
break;
}
} else {
$387 = HEAP32[(31388)>>2]|0;
$388 = ($352>>>0)<($387>>>0);
if ($388) {
_abort();
// unreachable;
}
$389 = ((($352)) + 16|0);
$390 = HEAP32[$389>>2]|0;
$391 = ($390|0)==($$4$lcssa$i|0);
if ($391) {
HEAP32[$389>>2] = $$3370$i;
} else {
$392 = ((($352)) + 20|0);
HEAP32[$392>>2] = $$3370$i;
}
$393 = ($$3370$i|0)==(0|0);
if ($393) {
$470 = $247;
break;
}
}
$394 = HEAP32[(31388)>>2]|0;
$395 = ($$3370$i>>>0)<($394>>>0);
if ($395) {
_abort();
// unreachable;
}
$396 = ((($$3370$i)) + 24|0);
HEAP32[$396>>2] = $352;
$397 = ((($$4$lcssa$i)) + 16|0);
$398 = HEAP32[$397>>2]|0;
$399 = ($398|0)==(0|0);
do {
if (!($399)) {
$400 = ($398>>>0)<($394>>>0);
if ($400) {
_abort();
// unreachable;
} else {
$401 = ((($$3370$i)) + 16|0);
HEAP32[$401>>2] = $398;
$402 = ((($398)) + 24|0);
HEAP32[$402>>2] = $$3370$i;
break;
}
}
} while(0);
$403 = ((($$4$lcssa$i)) + 20|0);
$404 = HEAP32[$403>>2]|0;
$405 = ($404|0)==(0|0);
if ($405) {
$470 = $247;
} else {
$406 = HEAP32[(31388)>>2]|0;
$407 = ($404>>>0)<($406>>>0);
if ($407) {
_abort();
// unreachable;
} else {
$408 = ((($$3370$i)) + 20|0);
HEAP32[$408>>2] = $404;
$409 = ((($404)) + 24|0);
HEAP32[$409>>2] = $$3370$i;
$470 = $247;
break;
}
}
}
} while(0);
$410 = ($$4349$lcssa$i>>>0)<(16);
do {
if ($410) {
$411 = (($$4349$lcssa$i) + ($246))|0;
$412 = $411 | 3;
$413 = ((($$4$lcssa$i)) + 4|0);
HEAP32[$413>>2] = $412;
$414 = (($$4$lcssa$i) + ($411)|0);
$415 = ((($414)) + 4|0);
$416 = HEAP32[$415>>2]|0;
$417 = $416 | 1;
HEAP32[$415>>2] = $417;
} else {
$418 = $246 | 3;
$419 = ((($$4$lcssa$i)) + 4|0);
HEAP32[$419>>2] = $418;
$420 = $$4349$lcssa$i | 1;
$421 = ((($349)) + 4|0);
HEAP32[$421>>2] = $420;
$422 = (($349) + ($$4349$lcssa$i)|0);
HEAP32[$422>>2] = $$4349$lcssa$i;
$423 = $$4349$lcssa$i >>> 3;
$424 = ($$4349$lcssa$i>>>0)<(256);
if ($424) {
$425 = $423 << 1;
$426 = (31412 + ($425<<2)|0);
$427 = HEAP32[7843]|0;
$428 = 1 << $423;
$429 = $427 & $428;
$430 = ($429|0)==(0);
if ($430) {
$431 = $427 | $428;
HEAP32[7843] = $431;
$$pre$i205 = ((($426)) + 8|0);
$$0366$i = $426;$$pre$phi$i206Z2D = $$pre$i205;
} else {
$432 = ((($426)) + 8|0);
$433 = HEAP32[$432>>2]|0;
$434 = HEAP32[(31388)>>2]|0;
$435 = ($433>>>0)<($434>>>0);
if ($435) {
_abort();
// unreachable;
} else {
$$0366$i = $433;$$pre$phi$i206Z2D = $432;
}
}
HEAP32[$$pre$phi$i206Z2D>>2] = $349;
$436 = ((($$0366$i)) + 12|0);
HEAP32[$436>>2] = $349;
$437 = ((($349)) + 8|0);
HEAP32[$437>>2] = $$0366$i;
$438 = ((($349)) + 12|0);
HEAP32[$438>>2] = $426;
break;
}
$439 = $$4349$lcssa$i >>> 8;
$440 = ($439|0)==(0);
if ($440) {
$$0359$i = 0;
} else {
$441 = ($$4349$lcssa$i>>>0)>(16777215);
if ($441) {
$$0359$i = 31;
} else {
$442 = (($439) + 1048320)|0;
$443 = $442 >>> 16;
$444 = $443 & 8;
$445 = $439 << $444;
$446 = (($445) + 520192)|0;
$447 = $446 >>> 16;
$448 = $447 & 4;
$449 = $448 | $444;
$450 = $445 << $448;
$451 = (($450) + 245760)|0;
$452 = $451 >>> 16;
$453 = $452 & 2;
$454 = $449 | $453;
$455 = (14 - ($454))|0;
$456 = $450 << $453;
$457 = $456 >>> 15;
$458 = (($455) + ($457))|0;
$459 = $458 << 1;
$460 = (($458) + 7)|0;
$461 = $$4349$lcssa$i >>> $460;
$462 = $461 & 1;
$463 = $462 | $459;
$$0359$i = $463;
}
}
$464 = (31676 + ($$0359$i<<2)|0);
$465 = ((($349)) + 28|0);
HEAP32[$465>>2] = $$0359$i;
$466 = ((($349)) + 16|0);
$467 = ((($466)) + 4|0);
HEAP32[$467>>2] = 0;
HEAP32[$466>>2] = 0;
$468 = 1 << $$0359$i;
$469 = $470 & $468;
$471 = ($469|0)==(0);
if ($471) {
$472 = $470 | $468;
HEAP32[(31376)>>2] = $472;
HEAP32[$464>>2] = $349;
$473 = ((($349)) + 24|0);
HEAP32[$473>>2] = $464;
$474 = ((($349)) + 12|0);
HEAP32[$474>>2] = $349;
$475 = ((($349)) + 8|0);
HEAP32[$475>>2] = $349;
break;
}
$476 = HEAP32[$464>>2]|0;
$477 = ($$0359$i|0)==(31);
$478 = $$0359$i >>> 1;
$479 = (25 - ($478))|0;
$480 = $477 ? 0 : $479;
$481 = $$4349$lcssa$i << $480;
$$0342$i = $481;$$0343$i = $476;
while(1) {
$482 = ((($$0343$i)) + 4|0);
$483 = HEAP32[$482>>2]|0;
$484 = $483 & -8;
$485 = ($484|0)==($$4349$lcssa$i|0);
if ($485) {
label = 148;
break;
}
$486 = $$0342$i >>> 31;
$487 = (((($$0343$i)) + 16|0) + ($486<<2)|0);
$488 = $$0342$i << 1;
$489 = HEAP32[$487>>2]|0;
$490 = ($489|0)==(0|0);
if ($490) {
label = 145;
break;
} else {
$$0342$i = $488;$$0343$i = $489;
}
}
if ((label|0) == 145) {
$491 = HEAP32[(31388)>>2]|0;
$492 = ($487>>>0)<($491>>>0);
if ($492) {
_abort();
// unreachable;
} else {
HEAP32[$487>>2] = $349;
$493 = ((($349)) + 24|0);
HEAP32[$493>>2] = $$0343$i;
$494 = ((($349)) + 12|0);
HEAP32[$494>>2] = $349;
$495 = ((($349)) + 8|0);
HEAP32[$495>>2] = $349;
break;
}
}
else if ((label|0) == 148) {
$496 = ((($$0343$i)) + 8|0);
$497 = HEAP32[$496>>2]|0;
$498 = HEAP32[(31388)>>2]|0;
$499 = ($497>>>0)>=($498>>>0);
$not$7$i = ($$0343$i>>>0)>=($498>>>0);
$500 = $499 & $not$7$i;
if ($500) {
$501 = ((($497)) + 12|0);
HEAP32[$501>>2] = $349;
HEAP32[$496>>2] = $349;
$502 = ((($349)) + 8|0);
HEAP32[$502>>2] = $497;
$503 = ((($349)) + 12|0);
HEAP32[$503>>2] = $$0343$i;
$504 = ((($349)) + 24|0);
HEAP32[$504>>2] = 0;
break;
} else {
_abort();
// unreachable;
}
}
}
} while(0);
$505 = ((($$4$lcssa$i)) + 8|0);
$$0 = $505;
STACKTOP = sp;return ($$0|0);
} else {
$$0197 = $246;
}
}
}
}
}
} while(0);
$506 = HEAP32[(31380)>>2]|0;
$507 = ($506>>>0)<($$0197>>>0);
if (!($507)) {
$508 = (($506) - ($$0197))|0;
$509 = HEAP32[(31392)>>2]|0;
$510 = ($508>>>0)>(15);
if ($510) {
$511 = (($509) + ($$0197)|0);
HEAP32[(31392)>>2] = $511;
HEAP32[(31380)>>2] = $508;
$512 = $508 | 1;
$513 = ((($511)) + 4|0);
HEAP32[$513>>2] = $512;
$514 = (($511) + ($508)|0);
HEAP32[$514>>2] = $508;
$515 = $$0197 | 3;
$516 = ((($509)) + 4|0);
HEAP32[$516>>2] = $515;
} else {
HEAP32[(31380)>>2] = 0;
HEAP32[(31392)>>2] = 0;
$517 = $506 | 3;
$518 = ((($509)) + 4|0);
HEAP32[$518>>2] = $517;
$519 = (($509) + ($506)|0);
$520 = ((($519)) + 4|0);
$521 = HEAP32[$520>>2]|0;
$522 = $521 | 1;
HEAP32[$520>>2] = $522;
}
$523 = ((($509)) + 8|0);
$$0 = $523;
STACKTOP = sp;return ($$0|0);
}
$524 = HEAP32[(31384)>>2]|0;
$525 = ($524>>>0)>($$0197>>>0);
if ($525) {
$526 = (($524) - ($$0197))|0;
HEAP32[(31384)>>2] = $526;
$527 = HEAP32[(31396)>>2]|0;
$528 = (($527) + ($$0197)|0);
HEAP32[(31396)>>2] = $528;
$529 = $526 | 1;
$530 = ((($528)) + 4|0);
HEAP32[$530>>2] = $529;
$531 = $$0197 | 3;
$532 = ((($527)) + 4|0);
HEAP32[$532>>2] = $531;
$533 = ((($527)) + 8|0);
$$0 = $533;
STACKTOP = sp;return ($$0|0);
}
$534 = HEAP32[7961]|0;
$535 = ($534|0)==(0);
if ($535) {
HEAP32[(31852)>>2] = 4096;
HEAP32[(31848)>>2] = 4096;
HEAP32[(31856)>>2] = -1;
HEAP32[(31860)>>2] = -1;
HEAP32[(31864)>>2] = 0;
HEAP32[(31816)>>2] = 0;
$536 = $1;
$537 = $536 & -16;
$538 = $537 ^ 1431655768;
HEAP32[$1>>2] = $538;
HEAP32[7961] = $538;
$542 = 4096;
} else {
$$pre$i208 = HEAP32[(31852)>>2]|0;
$542 = $$pre$i208;
}
$539 = (($$0197) + 48)|0;
$540 = (($$0197) + 47)|0;
$541 = (($542) + ($540))|0;
$543 = (0 - ($542))|0;
$544 = $541 & $543;
$545 = ($544>>>0)>($$0197>>>0);
if (!($545)) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
$546 = HEAP32[(31812)>>2]|0;
$547 = ($546|0)==(0);
if (!($547)) {
$548 = HEAP32[(31804)>>2]|0;
$549 = (($548) + ($544))|0;
$550 = ($549>>>0)<=($548>>>0);
$551 = ($549>>>0)>($546>>>0);
$or$cond1$i210 = $550 | $551;
if ($or$cond1$i210) {
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
}
$552 = HEAP32[(31816)>>2]|0;
$553 = $552 & 4;
$554 = ($553|0)==(0);
L255: do {
if ($554) {
$555 = HEAP32[(31396)>>2]|0;
$556 = ($555|0)==(0|0);
L257: do {
if ($556) {
label = 172;
} else {
$$0$i17$i = (31820);
while(1) {
$557 = HEAP32[$$0$i17$i>>2]|0;
$558 = ($557>>>0)>($555>>>0);
if (!($558)) {
$559 = ((($$0$i17$i)) + 4|0);
$560 = HEAP32[$559>>2]|0;
$561 = (($557) + ($560)|0);
$562 = ($561>>>0)>($555>>>0);
if ($562) {
break;
}
}
$563 = ((($$0$i17$i)) + 8|0);
$564 = HEAP32[$563>>2]|0;
$565 = ($564|0)==(0|0);
if ($565) {
label = 172;
break L257;
} else {
$$0$i17$i = $564;
}
}
$588 = (($541) - ($524))|0;
$589 = $588 & $543;
$590 = ($589>>>0)<(2147483647);
if ($590) {
$591 = (_sbrk(($589|0))|0);
$592 = HEAP32[$$0$i17$i>>2]|0;
$593 = HEAP32[$559>>2]|0;
$594 = (($592) + ($593)|0);
$595 = ($591|0)==($594|0);
if ($595) {
$596 = ($591|0)==((-1)|0);
if (!($596)) {
$$723947$i = $589;$$748$i = $591;
label = 190;
break L255;
}
} else {
$$2247$ph$i = $591;$$2253$ph$i = $589;
label = 180;
}
}
}
} while(0);
do {
if ((label|0) == 172) {
$566 = (_sbrk(0)|0);
$567 = ($566|0)==((-1)|0);
if (!($567)) {
$568 = $566;
$569 = HEAP32[(31848)>>2]|0;
$570 = (($569) + -1)|0;
$571 = $570 & $568;
$572 = ($571|0)==(0);
$573 = (($570) + ($568))|0;
$574 = (0 - ($569))|0;
$575 = $573 & $574;
$576 = (($575) - ($568))|0;
$577 = $572 ? 0 : $576;
$$$i = (($577) + ($544))|0;
$578 = HEAP32[(31804)>>2]|0;
$579 = (($$$i) + ($578))|0;
$580 = ($$$i>>>0)>($$0197>>>0);
$581 = ($$$i>>>0)<(2147483647);
$or$cond$i211 = $580 & $581;
if ($or$cond$i211) {
$582 = HEAP32[(31812)>>2]|0;
$583 = ($582|0)==(0);
if (!($583)) {
$584 = ($579>>>0)<=($578>>>0);
$585 = ($579>>>0)>($582>>>0);
$or$cond2$i = $584 | $585;
if ($or$cond2$i) {
break;
}
}
$586 = (_sbrk(($$$i|0))|0);
$587 = ($586|0)==($566|0);
if ($587) {
$$723947$i = $$$i;$$748$i = $566;
label = 190;
break L255;
} else {
$$2247$ph$i = $586;$$2253$ph$i = $$$i;
label = 180;
}
}
}
}
} while(0);
L274: do {
if ((label|0) == 180) {
$597 = (0 - ($$2253$ph$i))|0;
$598 = ($$2247$ph$i|0)!=((-1)|0);
$599 = ($$2253$ph$i>>>0)<(2147483647);
$or$cond7$i = $599 & $598;
$600 = ($539>>>0)>($$2253$ph$i>>>0);
$or$cond10$i = $600 & $or$cond7$i;
do {
if ($or$cond10$i) {
$601 = HEAP32[(31852)>>2]|0;
$602 = (($540) - ($$2253$ph$i))|0;
$603 = (($602) + ($601))|0;
$604 = (0 - ($601))|0;
$605 = $603 & $604;
$606 = ($605>>>0)<(2147483647);
if ($606) {
$607 = (_sbrk(($605|0))|0);
$608 = ($607|0)==((-1)|0);
if ($608) {
(_sbrk(($597|0))|0);
break L274;
} else {
$609 = (($605) + ($$2253$ph$i))|0;
$$5256$i = $609;
break;
}
} else {
$$5256$i = $$2253$ph$i;
}
} else {
$$5256$i = $$2253$ph$i;
}
} while(0);
$610 = ($$2247$ph$i|0)==((-1)|0);
if (!($610)) {
$$723947$i = $$5256$i;$$748$i = $$2247$ph$i;
label = 190;
break L255;
}
}
} while(0);
$611 = HEAP32[(31816)>>2]|0;
$612 = $611 | 4;
HEAP32[(31816)>>2] = $612;
label = 187;
} else {
label = 187;
}
} while(0);
if ((label|0) == 187) {
$613 = ($544>>>0)<(2147483647);
if ($613) {
$614 = (_sbrk(($544|0))|0);
$615 = (_sbrk(0)|0);
$616 = ($614|0)!=((-1)|0);
$617 = ($615|0)!=((-1)|0);
$or$cond5$i = $616 & $617;
$618 = ($614>>>0)<($615>>>0);
$or$cond11$i = $618 & $or$cond5$i;
if ($or$cond11$i) {
$619 = $615;
$620 = $614;
$621 = (($619) - ($620))|0;
$622 = (($$0197) + 40)|0;
$$not$i = ($621>>>0)>($622>>>0);
if ($$not$i) {
$$723947$i = $621;$$748$i = $614;
label = 190;
}
}
}
}
if ((label|0) == 190) {
$623 = HEAP32[(31804)>>2]|0;
$624 = (($623) + ($$723947$i))|0;
HEAP32[(31804)>>2] = $624;
$625 = HEAP32[(31808)>>2]|0;
$626 = ($624>>>0)>($625>>>0);
if ($626) {
HEAP32[(31808)>>2] = $624;
}
$627 = HEAP32[(31396)>>2]|0;
$628 = ($627|0)==(0|0);
do {
if ($628) {
$629 = HEAP32[(31388)>>2]|0;
$630 = ($629|0)==(0|0);
$631 = ($$748$i>>>0)<($629>>>0);
$or$cond12$i = $630 | $631;
if ($or$cond12$i) {
HEAP32[(31388)>>2] = $$748$i;
}
HEAP32[(31820)>>2] = $$748$i;
HEAP32[(31824)>>2] = $$723947$i;
HEAP32[(31832)>>2] = 0;
$632 = HEAP32[7961]|0;
HEAP32[(31408)>>2] = $632;
HEAP32[(31404)>>2] = -1;
$$01$i$i = 0;
while(1) {
$633 = $$01$i$i << 1;
$634 = (31412 + ($633<<2)|0);
$635 = ((($634)) + 12|0);
HEAP32[$635>>2] = $634;
$636 = ((($634)) + 8|0);
HEAP32[$636>>2] = $634;
$637 = (($$01$i$i) + 1)|0;
$exitcond$i$i = ($637|0)==(32);
if ($exitcond$i$i) {
break;
} else {
$$01$i$i = $637;
}
}
$638 = (($$723947$i) + -40)|0;
$639 = ((($$748$i)) + 8|0);
$640 = $639;
$641 = $640 & 7;
$642 = ($641|0)==(0);
$643 = (0 - ($640))|0;
$644 = $643 & 7;
$645 = $642 ? 0 : $644;
$646 = (($$748$i) + ($645)|0);
$647 = (($638) - ($645))|0;
HEAP32[(31396)>>2] = $646;
HEAP32[(31384)>>2] = $647;
$648 = $647 | 1;
$649 = ((($646)) + 4|0);
HEAP32[$649>>2] = $648;
$650 = (($646) + ($647)|0);
$651 = ((($650)) + 4|0);
HEAP32[$651>>2] = 40;
$652 = HEAP32[(31860)>>2]|0;
HEAP32[(31400)>>2] = $652;
} else {
$$024370$i = (31820);
while(1) {
$653 = HEAP32[$$024370$i>>2]|0;
$654 = ((($$024370$i)) + 4|0);
$655 = HEAP32[$654>>2]|0;
$656 = (($653) + ($655)|0);
$657 = ($$748$i|0)==($656|0);
if ($657) {
label = 200;
break;
}
$658 = ((($$024370$i)) + 8|0);
$659 = HEAP32[$658>>2]|0;
$660 = ($659|0)==(0|0);
if ($660) {
break;
} else {
$$024370$i = $659;
}
}
if ((label|0) == 200) {
$661 = ((($$024370$i)) + 12|0);
$662 = HEAP32[$661>>2]|0;
$663 = $662 & 8;
$664 = ($663|0)==(0);
if ($664) {
$665 = ($627>>>0)>=($653>>>0);
$666 = ($627>>>0)<($$748$i>>>0);
$or$cond50$i = $666 & $665;
if ($or$cond50$i) {
$667 = (($655) + ($$723947$i))|0;
HEAP32[$654>>2] = $667;
$668 = HEAP32[(31384)>>2]|0;
$669 = ((($627)) + 8|0);
$670 = $669;
$671 = $670 & 7;
$672 = ($671|0)==(0);
$673 = (0 - ($670))|0;
$674 = $673 & 7;
$675 = $672 ? 0 : $674;
$676 = (($627) + ($675)|0);
$677 = (($$723947$i) - ($675))|0;
$678 = (($677) + ($668))|0;
HEAP32[(31396)>>2] = $676;
HEAP32[(31384)>>2] = $678;
$679 = $678 | 1;
$680 = ((($676)) + 4|0);
HEAP32[$680>>2] = $679;
$681 = (($676) + ($678)|0);
$682 = ((($681)) + 4|0);
HEAP32[$682>>2] = 40;
$683 = HEAP32[(31860)>>2]|0;
HEAP32[(31400)>>2] = $683;
break;
}
}
}
$684 = HEAP32[(31388)>>2]|0;
$685 = ($$748$i>>>0)<($684>>>0);
if ($685) {
HEAP32[(31388)>>2] = $$748$i;
$749 = $$748$i;
} else {
$749 = $684;
}
$686 = (($$748$i) + ($$723947$i)|0);
$$124469$i = (31820);
while(1) {
$687 = HEAP32[$$124469$i>>2]|0;
$688 = ($687|0)==($686|0);
if ($688) {
label = 208;
break;
}
$689 = ((($$124469$i)) + 8|0);
$690 = HEAP32[$689>>2]|0;
$691 = ($690|0)==(0|0);
if ($691) {
$$0$i$i$i = (31820);
break;
} else {
$$124469$i = $690;
}
}
if ((label|0) == 208) {
$692 = ((($$124469$i)) + 12|0);
$693 = HEAP32[$692>>2]|0;
$694 = $693 & 8;
$695 = ($694|0)==(0);
if ($695) {
HEAP32[$$124469$i>>2] = $$748$i;
$696 = ((($$124469$i)) + 4|0);
$697 = HEAP32[$696>>2]|0;
$698 = (($697) + ($$723947$i))|0;
HEAP32[$696>>2] = $698;
$699 = ((($$748$i)) + 8|0);
$700 = $699;
$701 = $700 & 7;
$702 = ($701|0)==(0);
$703 = (0 - ($700))|0;
$704 = $703 & 7;
$705 = $702 ? 0 : $704;
$706 = (($$748$i) + ($705)|0);
$707 = ((($686)) + 8|0);
$708 = $707;
$709 = $708 & 7;
$710 = ($709|0)==(0);
$711 = (0 - ($708))|0;
$712 = $711 & 7;
$713 = $710 ? 0 : $712;
$714 = (($686) + ($713)|0);
$715 = $714;
$716 = $706;
$717 = (($715) - ($716))|0;
$718 = (($706) + ($$0197)|0);
$719 = (($717) - ($$0197))|0;
$720 = $$0197 | 3;
$721 = ((($706)) + 4|0);
HEAP32[$721>>2] = $720;
$722 = ($714|0)==($627|0);
do {
if ($722) {
$723 = HEAP32[(31384)>>2]|0;
$724 = (($723) + ($719))|0;
HEAP32[(31384)>>2] = $724;
HEAP32[(31396)>>2] = $718;
$725 = $724 | 1;
$726 = ((($718)) + 4|0);
HEAP32[$726>>2] = $725;
} else {
$727 = HEAP32[(31392)>>2]|0;
$728 = ($714|0)==($727|0);
if ($728) {
$729 = HEAP32[(31380)>>2]|0;
$730 = (($729) + ($719))|0;
HEAP32[(31380)>>2] = $730;
HEAP32[(31392)>>2] = $718;
$731 = $730 | 1;
$732 = ((($718)) + 4|0);
HEAP32[$732>>2] = $731;
$733 = (($718) + ($730)|0);
HEAP32[$733>>2] = $730;
break;
}
$734 = ((($714)) + 4|0);
$735 = HEAP32[$734>>2]|0;
$736 = $735 & 3;
$737 = ($736|0)==(1);
if ($737) {
$738 = $735 & -8;
$739 = $735 >>> 3;
$740 = ($735>>>0)<(256);
L326: do {
if ($740) {
$741 = ((($714)) + 8|0);
$742 = HEAP32[$741>>2]|0;
$743 = ((($714)) + 12|0);
$744 = HEAP32[$743>>2]|0;
$745 = $739 << 1;
$746 = (31412 + ($745<<2)|0);
$747 = ($742|0)==($746|0);
do {
if (!($747)) {
$748 = ($742>>>0)<($749>>>0);
if ($748) {
_abort();
// unreachable;
}
$750 = ((($742)) + 12|0);
$751 = HEAP32[$750>>2]|0;
$752 = ($751|0)==($714|0);
if ($752) {
break;
}
_abort();
// unreachable;
}
} while(0);
$753 = ($744|0)==($742|0);
if ($753) {
$754 = 1 << $739;
$755 = $754 ^ -1;
$756 = HEAP32[7843]|0;
$757 = $756 & $755;
HEAP32[7843] = $757;
break;
}
$758 = ($744|0)==($746|0);
do {
if ($758) {
$$pre9$i$i = ((($744)) + 8|0);
$$pre$phi10$i$iZ2D = $$pre9$i$i;
} else {
$759 = ($744>>>0)<($749>>>0);
if ($759) {
_abort();
// unreachable;
}
$760 = ((($744)) + 8|0);
$761 = HEAP32[$760>>2]|0;
$762 = ($761|0)==($714|0);
if ($762) {
$$pre$phi10$i$iZ2D = $760;
break;
}
_abort();
// unreachable;
}
} while(0);
$763 = ((($742)) + 12|0);
HEAP32[$763>>2] = $744;
HEAP32[$$pre$phi10$i$iZ2D>>2] = $742;
} else {
$764 = ((($714)) + 24|0);
$765 = HEAP32[$764>>2]|0;
$766 = ((($714)) + 12|0);
$767 = HEAP32[$766>>2]|0;
$768 = ($767|0)==($714|0);
do {
if ($768) {
$778 = ((($714)) + 16|0);
$779 = ((($778)) + 4|0);
$780 = HEAP32[$779>>2]|0;
$781 = ($780|0)==(0|0);
if ($781) {
$782 = HEAP32[$778>>2]|0;
$783 = ($782|0)==(0|0);
if ($783) {
$$3$i$i = 0;
break;
} else {
$$1290$i$i = $782;$$1292$i$i = $778;
}
} else {
$$1290$i$i = $780;$$1292$i$i = $779;
}
while(1) {
$784 = ((($$1290$i$i)) + 20|0);
$785 = HEAP32[$784>>2]|0;
$786 = ($785|0)==(0|0);
if (!($786)) {
$$1290$i$i = $785;$$1292$i$i = $784;
continue;
}
$787 = ((($$1290$i$i)) + 16|0);
$788 = HEAP32[$787>>2]|0;
$789 = ($788|0)==(0|0);
if ($789) {
break;
} else {
$$1290$i$i = $788;$$1292$i$i = $787;
}
}
$790 = ($$1292$i$i>>>0)<($749>>>0);
if ($790) {
_abort();
// unreachable;
} else {
HEAP32[$$1292$i$i>>2] = 0;
$$3$i$i = $$1290$i$i;
break;
}
} else {
$769 = ((($714)) + 8|0);
$770 = HEAP32[$769>>2]|0;
$771 = ($770>>>0)<($749>>>0);
if ($771) {
_abort();
// unreachable;
}
$772 = ((($770)) + 12|0);
$773 = HEAP32[$772>>2]|0;
$774 = ($773|0)==($714|0);
if (!($774)) {
_abort();
// unreachable;
}
$775 = ((($767)) + 8|0);
$776 = HEAP32[$775>>2]|0;
$777 = ($776|0)==($714|0);
if ($777) {
HEAP32[$772>>2] = $767;
HEAP32[$775>>2] = $770;
$$3$i$i = $767;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$791 = ($765|0)==(0|0);
if ($791) {
break;
}
$792 = ((($714)) + 28|0);
$793 = HEAP32[$792>>2]|0;
$794 = (31676 + ($793<<2)|0);
$795 = HEAP32[$794>>2]|0;
$796 = ($714|0)==($795|0);
do {
if ($796) {
HEAP32[$794>>2] = $$3$i$i;
$cond$i$i = ($$3$i$i|0)==(0|0);
if (!($cond$i$i)) {
break;
}
$797 = 1 << $793;
$798 = $797 ^ -1;
$799 = HEAP32[(31376)>>2]|0;
$800 = $799 & $798;
HEAP32[(31376)>>2] = $800;
break L326;
} else {
$801 = HEAP32[(31388)>>2]|0;
$802 = ($765>>>0)<($801>>>0);
if ($802) {
_abort();
// unreachable;
}
$803 = ((($765)) + 16|0);
$804 = HEAP32[$803>>2]|0;
$805 = ($804|0)==($714|0);
if ($805) {
HEAP32[$803>>2] = $$3$i$i;
} else {
$806 = ((($765)) + 20|0);
HEAP32[$806>>2] = $$3$i$i;
}
$807 = ($$3$i$i|0)==(0|0);
if ($807) {
break L326;
}
}
} while(0);
$808 = HEAP32[(31388)>>2]|0;
$809 = ($$3$i$i>>>0)<($808>>>0);
if ($809) {
_abort();
// unreachable;
}
$810 = ((($$3$i$i)) + 24|0);
HEAP32[$810>>2] = $765;
$811 = ((($714)) + 16|0);
$812 = HEAP32[$811>>2]|0;
$813 = ($812|0)==(0|0);
do {
if (!($813)) {
$814 = ($812>>>0)<($808>>>0);
if ($814) {
_abort();
// unreachable;
} else {
$815 = ((($$3$i$i)) + 16|0);
HEAP32[$815>>2] = $812;
$816 = ((($812)) + 24|0);
HEAP32[$816>>2] = $$3$i$i;
break;
}
}
} while(0);
$817 = ((($811)) + 4|0);
$818 = HEAP32[$817>>2]|0;
$819 = ($818|0)==(0|0);
if ($819) {
break;
}
$820 = HEAP32[(31388)>>2]|0;
$821 = ($818>>>0)<($820>>>0);
if ($821) {
_abort();
// unreachable;
} else {
$822 = ((($$3$i$i)) + 20|0);
HEAP32[$822>>2] = $818;
$823 = ((($818)) + 24|0);
HEAP32[$823>>2] = $$3$i$i;
break;
}
}
} while(0);
$824 = (($714) + ($738)|0);
$825 = (($738) + ($719))|0;
$$0$i18$i = $824;$$0286$i$i = $825;
} else {
$$0$i18$i = $714;$$0286$i$i = $719;
}
$826 = ((($$0$i18$i)) + 4|0);
$827 = HEAP32[$826>>2]|0;
$828 = $827 & -2;
HEAP32[$826>>2] = $828;
$829 = $$0286$i$i | 1;
$830 = ((($718)) + 4|0);
HEAP32[$830>>2] = $829;
$831 = (($718) + ($$0286$i$i)|0);
HEAP32[$831>>2] = $$0286$i$i;
$832 = $$0286$i$i >>> 3;
$833 = ($$0286$i$i>>>0)<(256);
if ($833) {
$834 = $832 << 1;
$835 = (31412 + ($834<<2)|0);
$836 = HEAP32[7843]|0;
$837 = 1 << $832;
$838 = $836 & $837;
$839 = ($838|0)==(0);
do {
if ($839) {
$840 = $836 | $837;
HEAP32[7843] = $840;
$$pre$i19$i = ((($835)) + 8|0);
$$0294$i$i = $835;$$pre$phi$i20$iZ2D = $$pre$i19$i;
} else {
$841 = ((($835)) + 8|0);
$842 = HEAP32[$841>>2]|0;
$843 = HEAP32[(31388)>>2]|0;
$844 = ($842>>>0)<($843>>>0);
if (!($844)) {
$$0294$i$i = $842;$$pre$phi$i20$iZ2D = $841;
break;
}
_abort();
// unreachable;
}
} while(0);
HEAP32[$$pre$phi$i20$iZ2D>>2] = $718;
$845 = ((($$0294$i$i)) + 12|0);
HEAP32[$845>>2] = $718;
$846 = ((($718)) + 8|0);
HEAP32[$846>>2] = $$0294$i$i;
$847 = ((($718)) + 12|0);
HEAP32[$847>>2] = $835;
break;
}
$848 = $$0286$i$i >>> 8;
$849 = ($848|0)==(0);
do {
if ($849) {
$$0295$i$i = 0;
} else {
$850 = ($$0286$i$i>>>0)>(16777215);
if ($850) {
$$0295$i$i = 31;
break;
}
$851 = (($848) + 1048320)|0;
$852 = $851 >>> 16;
$853 = $852 & 8;
$854 = $848 << $853;
$855 = (($854) + 520192)|0;
$856 = $855 >>> 16;
$857 = $856 & 4;
$858 = $857 | $853;
$859 = $854 << $857;
$860 = (($859) + 245760)|0;
$861 = $860 >>> 16;
$862 = $861 & 2;
$863 = $858 | $862;
$864 = (14 - ($863))|0;
$865 = $859 << $862;
$866 = $865 >>> 15;
$867 = (($864) + ($866))|0;
$868 = $867 << 1;
$869 = (($867) + 7)|0;
$870 = $$0286$i$i >>> $869;
$871 = $870 & 1;
$872 = $871 | $868;
$$0295$i$i = $872;
}
} while(0);
$873 = (31676 + ($$0295$i$i<<2)|0);
$874 = ((($718)) + 28|0);
HEAP32[$874>>2] = $$0295$i$i;
$875 = ((($718)) + 16|0);
$876 = ((($875)) + 4|0);
HEAP32[$876>>2] = 0;
HEAP32[$875>>2] = 0;
$877 = HEAP32[(31376)>>2]|0;
$878 = 1 << $$0295$i$i;
$879 = $877 & $878;
$880 = ($879|0)==(0);
if ($880) {
$881 = $877 | $878;
HEAP32[(31376)>>2] = $881;
HEAP32[$873>>2] = $718;
$882 = ((($718)) + 24|0);
HEAP32[$882>>2] = $873;
$883 = ((($718)) + 12|0);
HEAP32[$883>>2] = $718;
$884 = ((($718)) + 8|0);
HEAP32[$884>>2] = $718;
break;
}
$885 = HEAP32[$873>>2]|0;
$886 = ($$0295$i$i|0)==(31);
$887 = $$0295$i$i >>> 1;
$888 = (25 - ($887))|0;
$889 = $886 ? 0 : $888;
$890 = $$0286$i$i << $889;
$$0287$i$i = $890;$$0288$i$i = $885;
while(1) {
$891 = ((($$0288$i$i)) + 4|0);
$892 = HEAP32[$891>>2]|0;
$893 = $892 & -8;
$894 = ($893|0)==($$0286$i$i|0);
if ($894) {
label = 278;
break;
}
$895 = $$0287$i$i >>> 31;
$896 = (((($$0288$i$i)) + 16|0) + ($895<<2)|0);
$897 = $$0287$i$i << 1;
$898 = HEAP32[$896>>2]|0;
$899 = ($898|0)==(0|0);
if ($899) {
label = 275;
break;
} else {
$$0287$i$i = $897;$$0288$i$i = $898;
}
}
if ((label|0) == 275) {
$900 = HEAP32[(31388)>>2]|0;
$901 = ($896>>>0)<($900>>>0);
if ($901) {
_abort();
// unreachable;
} else {
HEAP32[$896>>2] = $718;
$902 = ((($718)) + 24|0);
HEAP32[$902>>2] = $$0288$i$i;
$903 = ((($718)) + 12|0);
HEAP32[$903>>2] = $718;
$904 = ((($718)) + 8|0);
HEAP32[$904>>2] = $718;
break;
}
}
else if ((label|0) == 278) {
$905 = ((($$0288$i$i)) + 8|0);
$906 = HEAP32[$905>>2]|0;
$907 = HEAP32[(31388)>>2]|0;
$908 = ($906>>>0)>=($907>>>0);
$not$$i22$i = ($$0288$i$i>>>0)>=($907>>>0);
$909 = $908 & $not$$i22$i;
if ($909) {
$910 = ((($906)) + 12|0);
HEAP32[$910>>2] = $718;
HEAP32[$905>>2] = $718;
$911 = ((($718)) + 8|0);
HEAP32[$911>>2] = $906;
$912 = ((($718)) + 12|0);
HEAP32[$912>>2] = $$0288$i$i;
$913 = ((($718)) + 24|0);
HEAP32[$913>>2] = 0;
break;
} else {
_abort();
// unreachable;
}
}
}
} while(0);
$1044 = ((($706)) + 8|0);
$$0 = $1044;
STACKTOP = sp;return ($$0|0);
} else {
$$0$i$i$i = (31820);
}
}
while(1) {
$914 = HEAP32[$$0$i$i$i>>2]|0;
$915 = ($914>>>0)>($627>>>0);
if (!($915)) {
$916 = ((($$0$i$i$i)) + 4|0);
$917 = HEAP32[$916>>2]|0;
$918 = (($914) + ($917)|0);
$919 = ($918>>>0)>($627>>>0);
if ($919) {
break;
}
}
$920 = ((($$0$i$i$i)) + 8|0);
$921 = HEAP32[$920>>2]|0;
$$0$i$i$i = $921;
}
$922 = ((($918)) + -47|0);
$923 = ((($922)) + 8|0);
$924 = $923;
$925 = $924 & 7;
$926 = ($925|0)==(0);
$927 = (0 - ($924))|0;
$928 = $927 & 7;
$929 = $926 ? 0 : $928;
$930 = (($922) + ($929)|0);
$931 = ((($627)) + 16|0);
$932 = ($930>>>0)<($931>>>0);
$933 = $932 ? $627 : $930;
$934 = ((($933)) + 8|0);
$935 = ((($933)) + 24|0);
$936 = (($$723947$i) + -40)|0;
$937 = ((($$748$i)) + 8|0);
$938 = $937;
$939 = $938 & 7;
$940 = ($939|0)==(0);
$941 = (0 - ($938))|0;
$942 = $941 & 7;
$943 = $940 ? 0 : $942;
$944 = (($$748$i) + ($943)|0);
$945 = (($936) - ($943))|0;
HEAP32[(31396)>>2] = $944;
HEAP32[(31384)>>2] = $945;
$946 = $945 | 1;
$947 = ((($944)) + 4|0);
HEAP32[$947>>2] = $946;
$948 = (($944) + ($945)|0);
$949 = ((($948)) + 4|0);
HEAP32[$949>>2] = 40;
$950 = HEAP32[(31860)>>2]|0;
HEAP32[(31400)>>2] = $950;
$951 = ((($933)) + 4|0);
HEAP32[$951>>2] = 27;
;HEAP32[$934>>2]=HEAP32[(31820)>>2]|0;HEAP32[$934+4>>2]=HEAP32[(31820)+4>>2]|0;HEAP32[$934+8>>2]=HEAP32[(31820)+8>>2]|0;HEAP32[$934+12>>2]=HEAP32[(31820)+12>>2]|0;
HEAP32[(31820)>>2] = $$748$i;
HEAP32[(31824)>>2] = $$723947$i;
HEAP32[(31832)>>2] = 0;
HEAP32[(31828)>>2] = $934;
$$0$i$i = $935;
while(1) {
$952 = ((($$0$i$i)) + 4|0);
HEAP32[$952>>2] = 7;
$953 = ((($952)) + 4|0);
$954 = ($953>>>0)<($918>>>0);
if ($954) {
$$0$i$i = $952;
} else {
break;
}
}
$955 = ($933|0)==($627|0);
if (!($955)) {
$956 = $933;
$957 = $627;
$958 = (($956) - ($957))|0;
$959 = HEAP32[$951>>2]|0;
$960 = $959 & -2;
HEAP32[$951>>2] = $960;
$961 = $958 | 1;
$962 = ((($627)) + 4|0);
HEAP32[$962>>2] = $961;
HEAP32[$933>>2] = $958;
$963 = $958 >>> 3;
$964 = ($958>>>0)<(256);
if ($964) {
$965 = $963 << 1;
$966 = (31412 + ($965<<2)|0);
$967 = HEAP32[7843]|0;
$968 = 1 << $963;
$969 = $967 & $968;
$970 = ($969|0)==(0);
if ($970) {
$971 = $967 | $968;
HEAP32[7843] = $971;
$$pre$i$i = ((($966)) + 8|0);
$$0211$i$i = $966;$$pre$phi$i$iZ2D = $$pre$i$i;
} else {
$972 = ((($966)) + 8|0);
$973 = HEAP32[$972>>2]|0;
$974 = HEAP32[(31388)>>2]|0;
$975 = ($973>>>0)<($974>>>0);
if ($975) {
_abort();
// unreachable;
} else {
$$0211$i$i = $973;$$pre$phi$i$iZ2D = $972;
}
}
HEAP32[$$pre$phi$i$iZ2D>>2] = $627;
$976 = ((($$0211$i$i)) + 12|0);
HEAP32[$976>>2] = $627;
$977 = ((($627)) + 8|0);
HEAP32[$977>>2] = $$0211$i$i;
$978 = ((($627)) + 12|0);
HEAP32[$978>>2] = $966;
break;
}
$979 = $958 >>> 8;
$980 = ($979|0)==(0);
if ($980) {
$$0212$i$i = 0;
} else {
$981 = ($958>>>0)>(16777215);
if ($981) {
$$0212$i$i = 31;
} else {
$982 = (($979) + 1048320)|0;
$983 = $982 >>> 16;
$984 = $983 & 8;
$985 = $979 << $984;
$986 = (($985) + 520192)|0;
$987 = $986 >>> 16;
$988 = $987 & 4;
$989 = $988 | $984;
$990 = $985 << $988;
$991 = (($990) + 245760)|0;
$992 = $991 >>> 16;
$993 = $992 & 2;
$994 = $989 | $993;
$995 = (14 - ($994))|0;
$996 = $990 << $993;
$997 = $996 >>> 15;
$998 = (($995) + ($997))|0;
$999 = $998 << 1;
$1000 = (($998) + 7)|0;
$1001 = $958 >>> $1000;
$1002 = $1001 & 1;
$1003 = $1002 | $999;
$$0212$i$i = $1003;
}
}
$1004 = (31676 + ($$0212$i$i<<2)|0);
$1005 = ((($627)) + 28|0);
HEAP32[$1005>>2] = $$0212$i$i;
$1006 = ((($627)) + 20|0);
HEAP32[$1006>>2] = 0;
HEAP32[$931>>2] = 0;
$1007 = HEAP32[(31376)>>2]|0;
$1008 = 1 << $$0212$i$i;
$1009 = $1007 & $1008;
$1010 = ($1009|0)==(0);
if ($1010) {
$1011 = $1007 | $1008;
HEAP32[(31376)>>2] = $1011;
HEAP32[$1004>>2] = $627;
$1012 = ((($627)) + 24|0);
HEAP32[$1012>>2] = $1004;
$1013 = ((($627)) + 12|0);
HEAP32[$1013>>2] = $627;
$1014 = ((($627)) + 8|0);
HEAP32[$1014>>2] = $627;
break;
}
$1015 = HEAP32[$1004>>2]|0;
$1016 = ($$0212$i$i|0)==(31);
$1017 = $$0212$i$i >>> 1;
$1018 = (25 - ($1017))|0;
$1019 = $1016 ? 0 : $1018;
$1020 = $958 << $1019;
$$0206$i$i = $1020;$$0207$i$i = $1015;
while(1) {
$1021 = ((($$0207$i$i)) + 4|0);
$1022 = HEAP32[$1021>>2]|0;
$1023 = $1022 & -8;
$1024 = ($1023|0)==($958|0);
if ($1024) {
label = 304;
break;
}
$1025 = $$0206$i$i >>> 31;
$1026 = (((($$0207$i$i)) + 16|0) + ($1025<<2)|0);
$1027 = $$0206$i$i << 1;
$1028 = HEAP32[$1026>>2]|0;
$1029 = ($1028|0)==(0|0);
if ($1029) {
label = 301;
break;
} else {
$$0206$i$i = $1027;$$0207$i$i = $1028;
}
}
if ((label|0) == 301) {
$1030 = HEAP32[(31388)>>2]|0;
$1031 = ($1026>>>0)<($1030>>>0);
if ($1031) {
_abort();
// unreachable;
} else {
HEAP32[$1026>>2] = $627;
$1032 = ((($627)) + 24|0);
HEAP32[$1032>>2] = $$0207$i$i;
$1033 = ((($627)) + 12|0);
HEAP32[$1033>>2] = $627;
$1034 = ((($627)) + 8|0);
HEAP32[$1034>>2] = $627;
break;
}
}
else if ((label|0) == 304) {
$1035 = ((($$0207$i$i)) + 8|0);
$1036 = HEAP32[$1035>>2]|0;
$1037 = HEAP32[(31388)>>2]|0;
$1038 = ($1036>>>0)>=($1037>>>0);
$not$$i$i = ($$0207$i$i>>>0)>=($1037>>>0);
$1039 = $1038 & $not$$i$i;
if ($1039) {
$1040 = ((($1036)) + 12|0);
HEAP32[$1040>>2] = $627;
HEAP32[$1035>>2] = $627;
$1041 = ((($627)) + 8|0);
HEAP32[$1041>>2] = $1036;
$1042 = ((($627)) + 12|0);
HEAP32[$1042>>2] = $$0207$i$i;
$1043 = ((($627)) + 24|0);
HEAP32[$1043>>2] = 0;
break;
} else {
_abort();
// unreachable;
}
}
}
}
} while(0);
$1045 = HEAP32[(31384)>>2]|0;
$1046 = ($1045>>>0)>($$0197>>>0);
if ($1046) {
$1047 = (($1045) - ($$0197))|0;
HEAP32[(31384)>>2] = $1047;
$1048 = HEAP32[(31396)>>2]|0;
$1049 = (($1048) + ($$0197)|0);
HEAP32[(31396)>>2] = $1049;
$1050 = $1047 | 1;
$1051 = ((($1049)) + 4|0);
HEAP32[$1051>>2] = $1050;
$1052 = $$0197 | 3;
$1053 = ((($1048)) + 4|0);
HEAP32[$1053>>2] = $1052;
$1054 = ((($1048)) + 8|0);
$$0 = $1054;
STACKTOP = sp;return ($$0|0);
}
}
$1055 = (___errno_location()|0);
HEAP32[$1055>>2] = 12;
$$0 = 0;
STACKTOP = sp;return ($$0|0);
}
function _free($0) {
$0 = $0|0;
var $$0211$i = 0, $$0211$in$i = 0, $$0381 = 0, $$0382 = 0, $$0394 = 0, $$0401 = 0, $$1 = 0, $$1380 = 0, $$1385 = 0, $$1388 = 0, $$1396 = 0, $$1400 = 0, $$2 = 0, $$3 = 0, $$3398 = 0, $$pre = 0, $$pre$phi439Z2D = 0, $$pre$phi441Z2D = 0, $$pre$phiZ2D = 0, $$pre438 = 0;
var $$pre440 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
var $99 = 0, $cond418 = 0, $cond419 = 0, $not$ = 0, label = 0, sp = 0;
sp = STACKTOP;
$1 = ($0|0)==(0|0);
if ($1) {
return;
}
$2 = ((($0)) + -8|0);
$3 = HEAP32[(31388)>>2]|0;
$4 = ($2>>>0)<($3>>>0);
if ($4) {
_abort();
// unreachable;
}
$5 = ((($0)) + -4|0);
$6 = HEAP32[$5>>2]|0;
$7 = $6 & 3;
$8 = ($7|0)==(1);
if ($8) {
_abort();
// unreachable;
}
$9 = $6 & -8;
$10 = (($2) + ($9)|0);
$11 = $6 & 1;
$12 = ($11|0)==(0);
do {
if ($12) {
$13 = HEAP32[$2>>2]|0;
$14 = ($7|0)==(0);
if ($14) {
return;
}
$15 = (0 - ($13))|0;
$16 = (($2) + ($15)|0);
$17 = (($13) + ($9))|0;
$18 = ($16>>>0)<($3>>>0);
if ($18) {
_abort();
// unreachable;
}
$19 = HEAP32[(31392)>>2]|0;
$20 = ($16|0)==($19|0);
if ($20) {
$105 = ((($10)) + 4|0);
$106 = HEAP32[$105>>2]|0;
$107 = $106 & 3;
$108 = ($107|0)==(3);
if (!($108)) {
$$1 = $16;$$1380 = $17;
break;
}
HEAP32[(31380)>>2] = $17;
$109 = $106 & -2;
HEAP32[$105>>2] = $109;
$110 = $17 | 1;
$111 = ((($16)) + 4|0);
HEAP32[$111>>2] = $110;
$112 = (($16) + ($17)|0);
HEAP32[$112>>2] = $17;
return;
}
$21 = $13 >>> 3;
$22 = ($13>>>0)<(256);
if ($22) {
$23 = ((($16)) + 8|0);
$24 = HEAP32[$23>>2]|0;
$25 = ((($16)) + 12|0);
$26 = HEAP32[$25>>2]|0;
$27 = $21 << 1;
$28 = (31412 + ($27<<2)|0);
$29 = ($24|0)==($28|0);
if (!($29)) {
$30 = ($24>>>0)<($3>>>0);
if ($30) {
_abort();
// unreachable;
}
$31 = ((($24)) + 12|0);
$32 = HEAP32[$31>>2]|0;
$33 = ($32|0)==($16|0);
if (!($33)) {
_abort();
// unreachable;
}
}
$34 = ($26|0)==($24|0);
if ($34) {
$35 = 1 << $21;
$36 = $35 ^ -1;
$37 = HEAP32[7843]|0;
$38 = $37 & $36;
HEAP32[7843] = $38;
$$1 = $16;$$1380 = $17;
break;
}
$39 = ($26|0)==($28|0);
if ($39) {
$$pre440 = ((($26)) + 8|0);
$$pre$phi441Z2D = $$pre440;
} else {
$40 = ($26>>>0)<($3>>>0);
if ($40) {
_abort();
// unreachable;
}
$41 = ((($26)) + 8|0);
$42 = HEAP32[$41>>2]|0;
$43 = ($42|0)==($16|0);
if ($43) {
$$pre$phi441Z2D = $41;
} else {
_abort();
// unreachable;
}
}
$44 = ((($24)) + 12|0);
HEAP32[$44>>2] = $26;
HEAP32[$$pre$phi441Z2D>>2] = $24;
$$1 = $16;$$1380 = $17;
break;
}
$45 = ((($16)) + 24|0);
$46 = HEAP32[$45>>2]|0;
$47 = ((($16)) + 12|0);
$48 = HEAP32[$47>>2]|0;
$49 = ($48|0)==($16|0);
do {
if ($49) {
$59 = ((($16)) + 16|0);
$60 = ((($59)) + 4|0);
$61 = HEAP32[$60>>2]|0;
$62 = ($61|0)==(0|0);
if ($62) {
$63 = HEAP32[$59>>2]|0;
$64 = ($63|0)==(0|0);
if ($64) {
$$3 = 0;
break;
} else {
$$1385 = $63;$$1388 = $59;
}
} else {
$$1385 = $61;$$1388 = $60;
}
while(1) {
$65 = ((($$1385)) + 20|0);
$66 = HEAP32[$65>>2]|0;
$67 = ($66|0)==(0|0);
if (!($67)) {
$$1385 = $66;$$1388 = $65;
continue;
}
$68 = ((($$1385)) + 16|0);
$69 = HEAP32[$68>>2]|0;
$70 = ($69|0)==(0|0);
if ($70) {
break;
} else {
$$1385 = $69;$$1388 = $68;
}
}
$71 = ($$1388>>>0)<($3>>>0);
if ($71) {
_abort();
// unreachable;
} else {
HEAP32[$$1388>>2] = 0;
$$3 = $$1385;
break;
}
} else {
$50 = ((($16)) + 8|0);
$51 = HEAP32[$50>>2]|0;
$52 = ($51>>>0)<($3>>>0);
if ($52) {
_abort();
// unreachable;
}
$53 = ((($51)) + 12|0);
$54 = HEAP32[$53>>2]|0;
$55 = ($54|0)==($16|0);
if (!($55)) {
_abort();
// unreachable;
}
$56 = ((($48)) + 8|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==($16|0);
if ($58) {
HEAP32[$53>>2] = $48;
HEAP32[$56>>2] = $51;
$$3 = $48;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$72 = ($46|0)==(0|0);
if ($72) {
$$1 = $16;$$1380 = $17;
} else {
$73 = ((($16)) + 28|0);
$74 = HEAP32[$73>>2]|0;
$75 = (31676 + ($74<<2)|0);
$76 = HEAP32[$75>>2]|0;
$77 = ($16|0)==($76|0);
if ($77) {
HEAP32[$75>>2] = $$3;
$cond418 = ($$3|0)==(0|0);
if ($cond418) {
$78 = 1 << $74;
$79 = $78 ^ -1;
$80 = HEAP32[(31376)>>2]|0;
$81 = $80 & $79;
HEAP32[(31376)>>2] = $81;
$$1 = $16;$$1380 = $17;
break;
}
} else {
$82 = HEAP32[(31388)>>2]|0;
$83 = ($46>>>0)<($82>>>0);
if ($83) {
_abort();
// unreachable;
}
$84 = ((($46)) + 16|0);
$85 = HEAP32[$84>>2]|0;
$86 = ($85|0)==($16|0);
if ($86) {
HEAP32[$84>>2] = $$3;
} else {
$87 = ((($46)) + 20|0);
HEAP32[$87>>2] = $$3;
}
$88 = ($$3|0)==(0|0);
if ($88) {
$$1 = $16;$$1380 = $17;
break;
}
}
$89 = HEAP32[(31388)>>2]|0;
$90 = ($$3>>>0)<($89>>>0);
if ($90) {
_abort();
// unreachable;
}
$91 = ((($$3)) + 24|0);
HEAP32[$91>>2] = $46;
$92 = ((($16)) + 16|0);
$93 = HEAP32[$92>>2]|0;
$94 = ($93|0)==(0|0);
do {
if (!($94)) {
$95 = ($93>>>0)<($89>>>0);
if ($95) {
_abort();
// unreachable;
} else {
$96 = ((($$3)) + 16|0);
HEAP32[$96>>2] = $93;
$97 = ((($93)) + 24|0);
HEAP32[$97>>2] = $$3;
break;
}
}
} while(0);
$98 = ((($92)) + 4|0);
$99 = HEAP32[$98>>2]|0;
$100 = ($99|0)==(0|0);
if ($100) {
$$1 = $16;$$1380 = $17;
} else {
$101 = HEAP32[(31388)>>2]|0;
$102 = ($99>>>0)<($101>>>0);
if ($102) {
_abort();
// unreachable;
} else {
$103 = ((($$3)) + 20|0);
HEAP32[$103>>2] = $99;
$104 = ((($99)) + 24|0);
HEAP32[$104>>2] = $$3;
$$1 = $16;$$1380 = $17;
break;
}
}
}
} else {
$$1 = $2;$$1380 = $9;
}
} while(0);
$113 = ($$1>>>0)<($10>>>0);
if (!($113)) {
_abort();
// unreachable;
}
$114 = ((($10)) + 4|0);
$115 = HEAP32[$114>>2]|0;
$116 = $115 & 1;
$117 = ($116|0)==(0);
if ($117) {
_abort();
// unreachable;
}
$118 = $115 & 2;
$119 = ($118|0)==(0);
if ($119) {
$120 = HEAP32[(31396)>>2]|0;
$121 = ($10|0)==($120|0);
if ($121) {
$122 = HEAP32[(31384)>>2]|0;
$123 = (($122) + ($$1380))|0;
HEAP32[(31384)>>2] = $123;
HEAP32[(31396)>>2] = $$1;
$124 = $123 | 1;
$125 = ((($$1)) + 4|0);
HEAP32[$125>>2] = $124;
$126 = HEAP32[(31392)>>2]|0;
$127 = ($$1|0)==($126|0);
if (!($127)) {
return;
}
HEAP32[(31392)>>2] = 0;
HEAP32[(31380)>>2] = 0;
return;
}
$128 = HEAP32[(31392)>>2]|0;
$129 = ($10|0)==($128|0);
if ($129) {
$130 = HEAP32[(31380)>>2]|0;
$131 = (($130) + ($$1380))|0;
HEAP32[(31380)>>2] = $131;
HEAP32[(31392)>>2] = $$1;
$132 = $131 | 1;
$133 = ((($$1)) + 4|0);
HEAP32[$133>>2] = $132;
$134 = (($$1) + ($131)|0);
HEAP32[$134>>2] = $131;
return;
}
$135 = $115 & -8;
$136 = (($135) + ($$1380))|0;
$137 = $115 >>> 3;
$138 = ($115>>>0)<(256);
do {
if ($138) {
$139 = ((($10)) + 8|0);
$140 = HEAP32[$139>>2]|0;
$141 = ((($10)) + 12|0);
$142 = HEAP32[$141>>2]|0;
$143 = $137 << 1;
$144 = (31412 + ($143<<2)|0);
$145 = ($140|0)==($144|0);
if (!($145)) {
$146 = HEAP32[(31388)>>2]|0;
$147 = ($140>>>0)<($146>>>0);
if ($147) {
_abort();
// unreachable;
}
$148 = ((($140)) + 12|0);
$149 = HEAP32[$148>>2]|0;
$150 = ($149|0)==($10|0);
if (!($150)) {
_abort();
// unreachable;
}
}
$151 = ($142|0)==($140|0);
if ($151) {
$152 = 1 << $137;
$153 = $152 ^ -1;
$154 = HEAP32[7843]|0;
$155 = $154 & $153;
HEAP32[7843] = $155;
break;
}
$156 = ($142|0)==($144|0);
if ($156) {
$$pre438 = ((($142)) + 8|0);
$$pre$phi439Z2D = $$pre438;
} else {
$157 = HEAP32[(31388)>>2]|0;
$158 = ($142>>>0)<($157>>>0);
if ($158) {
_abort();
// unreachable;
}
$159 = ((($142)) + 8|0);
$160 = HEAP32[$159>>2]|0;
$161 = ($160|0)==($10|0);
if ($161) {
$$pre$phi439Z2D = $159;
} else {
_abort();
// unreachable;
}
}
$162 = ((($140)) + 12|0);
HEAP32[$162>>2] = $142;
HEAP32[$$pre$phi439Z2D>>2] = $140;
} else {
$163 = ((($10)) + 24|0);
$164 = HEAP32[$163>>2]|0;
$165 = ((($10)) + 12|0);
$166 = HEAP32[$165>>2]|0;
$167 = ($166|0)==($10|0);
do {
if ($167) {
$178 = ((($10)) + 16|0);
$179 = ((($178)) + 4|0);
$180 = HEAP32[$179>>2]|0;
$181 = ($180|0)==(0|0);
if ($181) {
$182 = HEAP32[$178>>2]|0;
$183 = ($182|0)==(0|0);
if ($183) {
$$3398 = 0;
break;
} else {
$$1396 = $182;$$1400 = $178;
}
} else {
$$1396 = $180;$$1400 = $179;
}
while(1) {
$184 = ((($$1396)) + 20|0);
$185 = HEAP32[$184>>2]|0;
$186 = ($185|0)==(0|0);
if (!($186)) {
$$1396 = $185;$$1400 = $184;
continue;
}
$187 = ((($$1396)) + 16|0);
$188 = HEAP32[$187>>2]|0;
$189 = ($188|0)==(0|0);
if ($189) {
break;
} else {
$$1396 = $188;$$1400 = $187;
}
}
$190 = HEAP32[(31388)>>2]|0;
$191 = ($$1400>>>0)<($190>>>0);
if ($191) {
_abort();
// unreachable;
} else {
HEAP32[$$1400>>2] = 0;
$$3398 = $$1396;
break;
}
} else {
$168 = ((($10)) + 8|0);
$169 = HEAP32[$168>>2]|0;
$170 = HEAP32[(31388)>>2]|0;
$171 = ($169>>>0)<($170>>>0);
if ($171) {
_abort();
// unreachable;
}
$172 = ((($169)) + 12|0);
$173 = HEAP32[$172>>2]|0;
$174 = ($173|0)==($10|0);
if (!($174)) {
_abort();
// unreachable;
}
$175 = ((($166)) + 8|0);
$176 = HEAP32[$175>>2]|0;
$177 = ($176|0)==($10|0);
if ($177) {
HEAP32[$172>>2] = $166;
HEAP32[$175>>2] = $169;
$$3398 = $166;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$192 = ($164|0)==(0|0);
if (!($192)) {
$193 = ((($10)) + 28|0);
$194 = HEAP32[$193>>2]|0;
$195 = (31676 + ($194<<2)|0);
$196 = HEAP32[$195>>2]|0;
$197 = ($10|0)==($196|0);
if ($197) {
HEAP32[$195>>2] = $$3398;
$cond419 = ($$3398|0)==(0|0);
if ($cond419) {
$198 = 1 << $194;
$199 = $198 ^ -1;
$200 = HEAP32[(31376)>>2]|0;
$201 = $200 & $199;
HEAP32[(31376)>>2] = $201;
break;
}
} else {
$202 = HEAP32[(31388)>>2]|0;
$203 = ($164>>>0)<($202>>>0);
if ($203) {
_abort();
// unreachable;
}
$204 = ((($164)) + 16|0);
$205 = HEAP32[$204>>2]|0;
$206 = ($205|0)==($10|0);
if ($206) {
HEAP32[$204>>2] = $$3398;
} else {
$207 = ((($164)) + 20|0);
HEAP32[$207>>2] = $$3398;
}
$208 = ($$3398|0)==(0|0);
if ($208) {
break;
}
}
$209 = HEAP32[(31388)>>2]|0;
$210 = ($$3398>>>0)<($209>>>0);
if ($210) {
_abort();
// unreachable;
}
$211 = ((($$3398)) + 24|0);
HEAP32[$211>>2] = $164;
$212 = ((($10)) + 16|0);
$213 = HEAP32[$212>>2]|0;
$214 = ($213|0)==(0|0);
do {
if (!($214)) {
$215 = ($213>>>0)<($209>>>0);
if ($215) {
_abort();
// unreachable;
} else {
$216 = ((($$3398)) + 16|0);
HEAP32[$216>>2] = $213;
$217 = ((($213)) + 24|0);
HEAP32[$217>>2] = $$3398;
break;
}
}
} while(0);
$218 = ((($212)) + 4|0);
$219 = HEAP32[$218>>2]|0;
$220 = ($219|0)==(0|0);
if (!($220)) {
$221 = HEAP32[(31388)>>2]|0;
$222 = ($219>>>0)<($221>>>0);
if ($222) {
_abort();
// unreachable;
} else {
$223 = ((($$3398)) + 20|0);
HEAP32[$223>>2] = $219;
$224 = ((($219)) + 24|0);
HEAP32[$224>>2] = $$3398;
break;
}
}
}
}
} while(0);
$225 = $136 | 1;
$226 = ((($$1)) + 4|0);
HEAP32[$226>>2] = $225;
$227 = (($$1) + ($136)|0);
HEAP32[$227>>2] = $136;
$228 = HEAP32[(31392)>>2]|0;
$229 = ($$1|0)==($228|0);
if ($229) {
HEAP32[(31380)>>2] = $136;
return;
} else {
$$2 = $136;
}
} else {
$230 = $115 & -2;
HEAP32[$114>>2] = $230;
$231 = $$1380 | 1;
$232 = ((($$1)) + 4|0);
HEAP32[$232>>2] = $231;
$233 = (($$1) + ($$1380)|0);
HEAP32[$233>>2] = $$1380;
$$2 = $$1380;
}
$234 = $$2 >>> 3;
$235 = ($$2>>>0)<(256);
if ($235) {
$236 = $234 << 1;
$237 = (31412 + ($236<<2)|0);
$238 = HEAP32[7843]|0;
$239 = 1 << $234;
$240 = $238 & $239;
$241 = ($240|0)==(0);
if ($241) {
$242 = $238 | $239;
HEAP32[7843] = $242;
$$pre = ((($237)) + 8|0);
$$0401 = $237;$$pre$phiZ2D = $$pre;
} else {
$243 = ((($237)) + 8|0);
$244 = HEAP32[$243>>2]|0;
$245 = HEAP32[(31388)>>2]|0;
$246 = ($244>>>0)<($245>>>0);
if ($246) {
_abort();
// unreachable;
} else {
$$0401 = $244;$$pre$phiZ2D = $243;
}
}
HEAP32[$$pre$phiZ2D>>2] = $$1;
$247 = ((($$0401)) + 12|0);
HEAP32[$247>>2] = $$1;
$248 = ((($$1)) + 8|0);
HEAP32[$248>>2] = $$0401;
$249 = ((($$1)) + 12|0);
HEAP32[$249>>2] = $237;
return;
}
$250 = $$2 >>> 8;
$251 = ($250|0)==(0);
if ($251) {
$$0394 = 0;
} else {
$252 = ($$2>>>0)>(16777215);
if ($252) {
$$0394 = 31;
} else {
$253 = (($250) + 1048320)|0;
$254 = $253 >>> 16;
$255 = $254 & 8;
$256 = $250 << $255;
$257 = (($256) + 520192)|0;
$258 = $257 >>> 16;
$259 = $258 & 4;
$260 = $259 | $255;
$261 = $256 << $259;
$262 = (($261) + 245760)|0;
$263 = $262 >>> 16;
$264 = $263 & 2;
$265 = $260 | $264;
$266 = (14 - ($265))|0;
$267 = $261 << $264;
$268 = $267 >>> 15;
$269 = (($266) + ($268))|0;
$270 = $269 << 1;
$271 = (($269) + 7)|0;
$272 = $$2 >>> $271;
$273 = $272 & 1;
$274 = $273 | $270;
$$0394 = $274;
}
}
$275 = (31676 + ($$0394<<2)|0);
$276 = ((($$1)) + 28|0);
HEAP32[$276>>2] = $$0394;
$277 = ((($$1)) + 16|0);
$278 = ((($$1)) + 20|0);
HEAP32[$278>>2] = 0;
HEAP32[$277>>2] = 0;
$279 = HEAP32[(31376)>>2]|0;
$280 = 1 << $$0394;
$281 = $279 & $280;
$282 = ($281|0)==(0);
do {
if ($282) {
$283 = $279 | $280;
HEAP32[(31376)>>2] = $283;
HEAP32[$275>>2] = $$1;
$284 = ((($$1)) + 24|0);
HEAP32[$284>>2] = $275;
$285 = ((($$1)) + 12|0);
HEAP32[$285>>2] = $$1;
$286 = ((($$1)) + 8|0);
HEAP32[$286>>2] = $$1;
} else {
$287 = HEAP32[$275>>2]|0;
$288 = ($$0394|0)==(31);
$289 = $$0394 >>> 1;
$290 = (25 - ($289))|0;
$291 = $288 ? 0 : $290;
$292 = $$2 << $291;
$$0381 = $292;$$0382 = $287;
while(1) {
$293 = ((($$0382)) + 4|0);
$294 = HEAP32[$293>>2]|0;
$295 = $294 & -8;
$296 = ($295|0)==($$2|0);
if ($296) {
label = 130;
break;
}
$297 = $$0381 >>> 31;
$298 = (((($$0382)) + 16|0) + ($297<<2)|0);
$299 = $$0381 << 1;
$300 = HEAP32[$298>>2]|0;
$301 = ($300|0)==(0|0);
if ($301) {
label = 127;
break;
} else {
$$0381 = $299;$$0382 = $300;
}
}
if ((label|0) == 127) {
$302 = HEAP32[(31388)>>2]|0;
$303 = ($298>>>0)<($302>>>0);
if ($303) {
_abort();
// unreachable;
} else {
HEAP32[$298>>2] = $$1;
$304 = ((($$1)) + 24|0);
HEAP32[$304>>2] = $$0382;
$305 = ((($$1)) + 12|0);
HEAP32[$305>>2] = $$1;
$306 = ((($$1)) + 8|0);
HEAP32[$306>>2] = $$1;
break;
}
}
else if ((label|0) == 130) {
$307 = ((($$0382)) + 8|0);
$308 = HEAP32[$307>>2]|0;
$309 = HEAP32[(31388)>>2]|0;
$310 = ($308>>>0)>=($309>>>0);
$not$ = ($$0382>>>0)>=($309>>>0);
$311 = $310 & $not$;
if ($311) {
$312 = ((($308)) + 12|0);
HEAP32[$312>>2] = $$1;
HEAP32[$307>>2] = $$1;
$313 = ((($$1)) + 8|0);
HEAP32[$313>>2] = $308;
$314 = ((($$1)) + 12|0);
HEAP32[$314>>2] = $$0382;
$315 = ((($$1)) + 24|0);
HEAP32[$315>>2] = 0;
break;
} else {
_abort();
// unreachable;
}
}
}
} while(0);
$316 = HEAP32[(31404)>>2]|0;
$317 = (($316) + -1)|0;
HEAP32[(31404)>>2] = $317;
$318 = ($317|0)==(0);
if ($318) {
$$0211$in$i = (31828);
} else {
return;
}
while(1) {
$$0211$i = HEAP32[$$0211$in$i>>2]|0;
$319 = ($$0211$i|0)==(0|0);
$320 = ((($$0211$i)) + 8|0);
if ($319) {
break;
} else {
$$0211$in$i = $320;
}
}
HEAP32[(31404)>>2] = -1;
return;
}
function _realloc($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ($0|0)==(0|0);
if ($2) {
$3 = (_malloc($1)|0);
$$1 = $3;
return ($$1|0);
}
$4 = ($1>>>0)>(4294967231);
if ($4) {
$5 = (___errno_location()|0);
HEAP32[$5>>2] = 12;
$$1 = 0;
return ($$1|0);
}
$6 = ($1>>>0)<(11);
$7 = (($1) + 11)|0;
$8 = $7 & -8;
$9 = $6 ? 16 : $8;
$10 = ((($0)) + -8|0);
$11 = (_try_realloc_chunk($10,$9)|0);
$12 = ($11|0)==(0|0);
if (!($12)) {
$13 = ((($11)) + 8|0);
$$1 = $13;
return ($$1|0);
}
$14 = (_malloc($1)|0);
$15 = ($14|0)==(0|0);
if ($15) {
$$1 = 0;
return ($$1|0);
}
$16 = ((($0)) + -4|0);
$17 = HEAP32[$16>>2]|0;
$18 = $17 & -8;
$19 = $17 & 3;
$20 = ($19|0)==(0);
$21 = $20 ? 8 : 4;
$22 = (($18) - ($21))|0;
$23 = ($22>>>0)<($1>>>0);
$24 = $23 ? $22 : $1;
_memcpy(($14|0),($0|0),($24|0))|0;
_free($0);
$$1 = $14;
return ($$1|0);
}
function _try_realloc_chunk($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$1271 = 0, $$1274 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
var $98 = 0, $99 = 0, $cond = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = ((($0)) + 4|0);
$3 = HEAP32[$2>>2]|0;
$4 = $3 & -8;
$5 = (($0) + ($4)|0);
$6 = HEAP32[(31388)>>2]|0;
$7 = $3 & 3;
$notlhs = ($0>>>0)>=($6>>>0);
$notrhs = ($7|0)!=(1);
$or$cond$not = $notrhs & $notlhs;
$8 = ($0>>>0)<($5>>>0);
$or$cond3 = $or$cond$not & $8;
if (!($or$cond3)) {
_abort();
// unreachable;
}
$9 = ((($5)) + 4|0);
$10 = HEAP32[$9>>2]|0;
$11 = $10 & 1;
$12 = ($11|0)==(0);
if ($12) {
_abort();
// unreachable;
}
$13 = ($7|0)==(0);
if ($13) {
$14 = ($1>>>0)<(256);
if ($14) {
$$2 = 0;
return ($$2|0);
}
$15 = (($1) + 4)|0;
$16 = ($4>>>0)<($15>>>0);
if (!($16)) {
$17 = (($4) - ($1))|0;
$18 = HEAP32[(31852)>>2]|0;
$19 = $18 << 1;
$20 = ($17>>>0)>($19>>>0);
if (!($20)) {
$$2 = $0;
return ($$2|0);
}
}
$$2 = 0;
return ($$2|0);
}
$21 = ($4>>>0)<($1>>>0);
if (!($21)) {
$22 = (($4) - ($1))|0;
$23 = ($22>>>0)>(15);
if (!($23)) {
$$2 = $0;
return ($$2|0);
}
$24 = (($0) + ($1)|0);
$25 = $3 & 1;
$26 = $25 | $1;
$27 = $26 | 2;
HEAP32[$2>>2] = $27;
$28 = ((($24)) + 4|0);
$29 = $22 | 3;
HEAP32[$28>>2] = $29;
$30 = (($24) + ($22)|0);
$31 = ((($30)) + 4|0);
$32 = HEAP32[$31>>2]|0;
$33 = $32 | 1;
HEAP32[$31>>2] = $33;
_dispose_chunk($24,$22);
$$2 = $0;
return ($$2|0);
}
$34 = HEAP32[(31396)>>2]|0;
$35 = ($5|0)==($34|0);
if ($35) {
$36 = HEAP32[(31384)>>2]|0;
$37 = (($36) + ($4))|0;
$38 = ($37>>>0)>($1>>>0);
if (!($38)) {
$$2 = 0;
return ($$2|0);
}
$39 = (($37) - ($1))|0;
$40 = (($0) + ($1)|0);
$41 = $3 & 1;
$42 = $41 | $1;
$43 = $42 | 2;
HEAP32[$2>>2] = $43;
$44 = ((($40)) + 4|0);
$45 = $39 | 1;
HEAP32[$44>>2] = $45;
HEAP32[(31396)>>2] = $40;
HEAP32[(31384)>>2] = $39;
$$2 = $0;
return ($$2|0);
}
$46 = HEAP32[(31392)>>2]|0;
$47 = ($5|0)==($46|0);
if ($47) {
$48 = HEAP32[(31380)>>2]|0;
$49 = (($48) + ($4))|0;
$50 = ($49>>>0)<($1>>>0);
if ($50) {
$$2 = 0;
return ($$2|0);
}
$51 = (($49) - ($1))|0;
$52 = ($51>>>0)>(15);
if ($52) {
$53 = (($0) + ($1)|0);
$54 = (($53) + ($51)|0);
$55 = $3 & 1;
$56 = $55 | $1;
$57 = $56 | 2;
HEAP32[$2>>2] = $57;
$58 = ((($53)) + 4|0);
$59 = $51 | 1;
HEAP32[$58>>2] = $59;
HEAP32[$54>>2] = $51;
$60 = ((($54)) + 4|0);
$61 = HEAP32[$60>>2]|0;
$62 = $61 & -2;
HEAP32[$60>>2] = $62;
$storemerge = $53;$storemerge1 = $51;
} else {
$63 = $3 & 1;
$64 = $63 | $49;
$65 = $64 | 2;
HEAP32[$2>>2] = $65;
$66 = (($0) + ($49)|0);
$67 = ((($66)) + 4|0);
$68 = HEAP32[$67>>2]|0;
$69 = $68 | 1;
HEAP32[$67>>2] = $69;
$storemerge = 0;$storemerge1 = 0;
}
HEAP32[(31380)>>2] = $storemerge1;
HEAP32[(31392)>>2] = $storemerge;
$$2 = $0;
return ($$2|0);
}
$70 = $10 & 2;
$71 = ($70|0)==(0);
if (!($71)) {
$$2 = 0;
return ($$2|0);
}
$72 = $10 & -8;
$73 = (($72) + ($4))|0;
$74 = ($73>>>0)<($1>>>0);
if ($74) {
$$2 = 0;
return ($$2|0);
}
$75 = (($73) - ($1))|0;
$76 = $10 >>> 3;
$77 = ($10>>>0)<(256);
do {
if ($77) {
$78 = ((($5)) + 8|0);
$79 = HEAP32[$78>>2]|0;
$80 = ((($5)) + 12|0);
$81 = HEAP32[$80>>2]|0;
$82 = $76 << 1;
$83 = (31412 + ($82<<2)|0);
$84 = ($79|0)==($83|0);
if (!($84)) {
$85 = ($79>>>0)<($6>>>0);
if ($85) {
_abort();
// unreachable;
}
$86 = ((($79)) + 12|0);
$87 = HEAP32[$86>>2]|0;
$88 = ($87|0)==($5|0);
if (!($88)) {
_abort();
// unreachable;
}
}
$89 = ($81|0)==($79|0);
if ($89) {
$90 = 1 << $76;
$91 = $90 ^ -1;
$92 = HEAP32[7843]|0;
$93 = $92 & $91;
HEAP32[7843] = $93;
break;
}
$94 = ($81|0)==($83|0);
if ($94) {
$$pre = ((($81)) + 8|0);
$$pre$phiZ2D = $$pre;
} else {
$95 = ($81>>>0)<($6>>>0);
if ($95) {
_abort();
// unreachable;
}
$96 = ((($81)) + 8|0);
$97 = HEAP32[$96>>2]|0;
$98 = ($97|0)==($5|0);
if ($98) {
$$pre$phiZ2D = $96;
} else {
_abort();
// unreachable;
}
}
$99 = ((($79)) + 12|0);
HEAP32[$99>>2] = $81;
HEAP32[$$pre$phiZ2D>>2] = $79;
} else {
$100 = ((($5)) + 24|0);
$101 = HEAP32[$100>>2]|0;
$102 = ((($5)) + 12|0);
$103 = HEAP32[$102>>2]|0;
$104 = ($103|0)==($5|0);
do {
if ($104) {
$114 = ((($5)) + 16|0);
$115 = ((($114)) + 4|0);
$116 = HEAP32[$115>>2]|0;
$117 = ($116|0)==(0|0);
if ($117) {
$118 = HEAP32[$114>>2]|0;
$119 = ($118|0)==(0|0);
if ($119) {
$$3 = 0;
break;
} else {
$$1271 = $118;$$1274 = $114;
}
} else {
$$1271 = $116;$$1274 = $115;
}
while(1) {
$120 = ((($$1271)) + 20|0);
$121 = HEAP32[$120>>2]|0;
$122 = ($121|0)==(0|0);
if (!($122)) {
$$1271 = $121;$$1274 = $120;
continue;
}
$123 = ((($$1271)) + 16|0);
$124 = HEAP32[$123>>2]|0;
$125 = ($124|0)==(0|0);
if ($125) {
break;
} else {
$$1271 = $124;$$1274 = $123;
}
}
$126 = ($$1274>>>0)<($6>>>0);
if ($126) {
_abort();
// unreachable;
} else {
HEAP32[$$1274>>2] = 0;
$$3 = $$1271;
break;
}
} else {
$105 = ((($5)) + 8|0);
$106 = HEAP32[$105>>2]|0;
$107 = ($106>>>0)<($6>>>0);
if ($107) {
_abort();
// unreachable;
}
$108 = ((($106)) + 12|0);
$109 = HEAP32[$108>>2]|0;
$110 = ($109|0)==($5|0);
if (!($110)) {
_abort();
// unreachable;
}
$111 = ((($103)) + 8|0);
$112 = HEAP32[$111>>2]|0;
$113 = ($112|0)==($5|0);
if ($113) {
HEAP32[$108>>2] = $103;
HEAP32[$111>>2] = $106;
$$3 = $103;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$127 = ($101|0)==(0|0);
if (!($127)) {
$128 = ((($5)) + 28|0);
$129 = HEAP32[$128>>2]|0;
$130 = (31676 + ($129<<2)|0);
$131 = HEAP32[$130>>2]|0;
$132 = ($5|0)==($131|0);
if ($132) {
HEAP32[$130>>2] = $$3;
$cond = ($$3|0)==(0|0);
if ($cond) {
$133 = 1 << $129;
$134 = $133 ^ -1;
$135 = HEAP32[(31376)>>2]|0;
$136 = $135 & $134;
HEAP32[(31376)>>2] = $136;
break;
}
} else {
$137 = HEAP32[(31388)>>2]|0;
$138 = ($101>>>0)<($137>>>0);
if ($138) {
_abort();
// unreachable;
}
$139 = ((($101)) + 16|0);
$140 = HEAP32[$139>>2]|0;
$141 = ($140|0)==($5|0);
if ($141) {
HEAP32[$139>>2] = $$3;
} else {
$142 = ((($101)) + 20|0);
HEAP32[$142>>2] = $$3;
}
$143 = ($$3|0)==(0|0);
if ($143) {
break;
}
}
$144 = HEAP32[(31388)>>2]|0;
$145 = ($$3>>>0)<($144>>>0);
if ($145) {
_abort();
// unreachable;
}
$146 = ((($$3)) + 24|0);
HEAP32[$146>>2] = $101;
$147 = ((($5)) + 16|0);
$148 = HEAP32[$147>>2]|0;
$149 = ($148|0)==(0|0);
do {
if (!($149)) {
$150 = ($148>>>0)<($144>>>0);
if ($150) {
_abort();
// unreachable;
} else {
$151 = ((($$3)) + 16|0);
HEAP32[$151>>2] = $148;
$152 = ((($148)) + 24|0);
HEAP32[$152>>2] = $$3;
break;
}
}
} while(0);
$153 = ((($147)) + 4|0);
$154 = HEAP32[$153>>2]|0;
$155 = ($154|0)==(0|0);
if (!($155)) {
$156 = HEAP32[(31388)>>2]|0;
$157 = ($154>>>0)<($156>>>0);
if ($157) {
_abort();
// unreachable;
} else {
$158 = ((($$3)) + 20|0);
HEAP32[$158>>2] = $154;
$159 = ((($154)) + 24|0);
HEAP32[$159>>2] = $$3;
break;
}
}
}
}
} while(0);
$160 = ($75>>>0)<(16);
if ($160) {
$161 = $3 & 1;
$162 = $73 | $161;
$163 = $162 | 2;
HEAP32[$2>>2] = $163;
$164 = (($0) + ($73)|0);
$165 = ((($164)) + 4|0);
$166 = HEAP32[$165>>2]|0;
$167 = $166 | 1;
HEAP32[$165>>2] = $167;
$$2 = $0;
return ($$2|0);
} else {
$168 = (($0) + ($1)|0);
$169 = $3 & 1;
$170 = $169 | $1;
$171 = $170 | 2;
HEAP32[$2>>2] = $171;
$172 = ((($168)) + 4|0);
$173 = $75 | 3;
HEAP32[$172>>2] = $173;
$174 = (($168) + ($75)|0);
$175 = ((($174)) + 4|0);
$176 = HEAP32[$175>>2]|0;
$177 = $176 | 1;
HEAP32[$175>>2] = $177;
_dispose_chunk($168,$75);
$$2 = $0;
return ($$2|0);
}
return (0)|0;
}
function _dispose_chunk($0,$1) {
$0 = $0|0;
$1 = $1|0;
var $$0417 = 0, $$0418 = 0, $$0429 = 0, $$0436 = 0, $$1 = 0, $$1416 = 0, $$1424 = 0, $$1427 = 0, $$1431 = 0, $$1435 = 0, $$2 = 0, $$3 = 0, $$3433 = 0, $$pre = 0, $$pre$phi22Z2D = 0, $$pre$phi24Z2D = 0, $$pre$phiZ2D = 0, $$pre21 = 0, $$pre23 = 0, $10 = 0;
var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0;
var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0;
var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0;
var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0;
var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0;
var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond16 = 0, $not$ = 0, label = 0, sp = 0;
sp = STACKTOP;
$2 = (($0) + ($1)|0);
$3 = ((($0)) + 4|0);
$4 = HEAP32[$3>>2]|0;
$5 = $4 & 1;
$6 = ($5|0)==(0);
do {
if ($6) {
$7 = HEAP32[$0>>2]|0;
$8 = $4 & 3;
$9 = ($8|0)==(0);
if ($9) {
return;
}
$10 = (0 - ($7))|0;
$11 = (($0) + ($10)|0);
$12 = (($7) + ($1))|0;
$13 = HEAP32[(31388)>>2]|0;
$14 = ($11>>>0)<($13>>>0);
if ($14) {
_abort();
// unreachable;
}
$15 = HEAP32[(31392)>>2]|0;
$16 = ($11|0)==($15|0);
if ($16) {
$101 = ((($2)) + 4|0);
$102 = HEAP32[$101>>2]|0;
$103 = $102 & 3;
$104 = ($103|0)==(3);
if (!($104)) {
$$1 = $11;$$1416 = $12;
break;
}
HEAP32[(31380)>>2] = $12;
$105 = $102 & -2;
HEAP32[$101>>2] = $105;
$106 = $12 | 1;
$107 = ((($11)) + 4|0);
HEAP32[$107>>2] = $106;
$108 = (($11) + ($12)|0);
HEAP32[$108>>2] = $12;
return;
}
$17 = $7 >>> 3;
$18 = ($7>>>0)<(256);
if ($18) {
$19 = ((($11)) + 8|0);
$20 = HEAP32[$19>>2]|0;
$21 = ((($11)) + 12|0);
$22 = HEAP32[$21>>2]|0;
$23 = $17 << 1;
$24 = (31412 + ($23<<2)|0);
$25 = ($20|0)==($24|0);
if (!($25)) {
$26 = ($20>>>0)<($13>>>0);
if ($26) {
_abort();
// unreachable;
}
$27 = ((($20)) + 12|0);
$28 = HEAP32[$27>>2]|0;
$29 = ($28|0)==($11|0);
if (!($29)) {
_abort();
// unreachable;
}
}
$30 = ($22|0)==($20|0);
if ($30) {
$31 = 1 << $17;
$32 = $31 ^ -1;
$33 = HEAP32[7843]|0;
$34 = $33 & $32;
HEAP32[7843] = $34;
$$1 = $11;$$1416 = $12;
break;
}
$35 = ($22|0)==($24|0);
if ($35) {
$$pre23 = ((($22)) + 8|0);
$$pre$phi24Z2D = $$pre23;
} else {
$36 = ($22>>>0)<($13>>>0);
if ($36) {
_abort();
// unreachable;
}
$37 = ((($22)) + 8|0);
$38 = HEAP32[$37>>2]|0;
$39 = ($38|0)==($11|0);
if ($39) {
$$pre$phi24Z2D = $37;
} else {
_abort();
// unreachable;
}
}
$40 = ((($20)) + 12|0);
HEAP32[$40>>2] = $22;
HEAP32[$$pre$phi24Z2D>>2] = $20;
$$1 = $11;$$1416 = $12;
break;
}
$41 = ((($11)) + 24|0);
$42 = HEAP32[$41>>2]|0;
$43 = ((($11)) + 12|0);
$44 = HEAP32[$43>>2]|0;
$45 = ($44|0)==($11|0);
do {
if ($45) {
$55 = ((($11)) + 16|0);
$56 = ((($55)) + 4|0);
$57 = HEAP32[$56>>2]|0;
$58 = ($57|0)==(0|0);
if ($58) {
$59 = HEAP32[$55>>2]|0;
$60 = ($59|0)==(0|0);
if ($60) {
$$3 = 0;
break;
} else {
$$1424 = $59;$$1427 = $55;
}
} else {
$$1424 = $57;$$1427 = $56;
}
while(1) {
$61 = ((($$1424)) + 20|0);
$62 = HEAP32[$61>>2]|0;
$63 = ($62|0)==(0|0);
if (!($63)) {
$$1424 = $62;$$1427 = $61;
continue;
}
$64 = ((($$1424)) + 16|0);
$65 = HEAP32[$64>>2]|0;
$66 = ($65|0)==(0|0);
if ($66) {
break;
} else {
$$1424 = $65;$$1427 = $64;
}
}
$67 = ($$1427>>>0)<($13>>>0);
if ($67) {
_abort();
// unreachable;
} else {
HEAP32[$$1427>>2] = 0;
$$3 = $$1424;
break;
}
} else {
$46 = ((($11)) + 8|0);
$47 = HEAP32[$46>>2]|0;
$48 = ($47>>>0)<($13>>>0);
if ($48) {
_abort();
// unreachable;
}
$49 = ((($47)) + 12|0);
$50 = HEAP32[$49>>2]|0;
$51 = ($50|0)==($11|0);
if (!($51)) {
_abort();
// unreachable;
}
$52 = ((($44)) + 8|0);
$53 = HEAP32[$52>>2]|0;
$54 = ($53|0)==($11|0);
if ($54) {
HEAP32[$49>>2] = $44;
HEAP32[$52>>2] = $47;
$$3 = $44;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$68 = ($42|0)==(0|0);
if ($68) {
$$1 = $11;$$1416 = $12;
} else {
$69 = ((($11)) + 28|0);
$70 = HEAP32[$69>>2]|0;
$71 = (31676 + ($70<<2)|0);
$72 = HEAP32[$71>>2]|0;
$73 = ($11|0)==($72|0);
if ($73) {
HEAP32[$71>>2] = $$3;
$cond = ($$3|0)==(0|0);
if ($cond) {
$74 = 1 << $70;
$75 = $74 ^ -1;
$76 = HEAP32[(31376)>>2]|0;
$77 = $76 & $75;
HEAP32[(31376)>>2] = $77;
$$1 = $11;$$1416 = $12;
break;
}
} else {
$78 = HEAP32[(31388)>>2]|0;
$79 = ($42>>>0)<($78>>>0);
if ($79) {
_abort();
// unreachable;
}
$80 = ((($42)) + 16|0);
$81 = HEAP32[$80>>2]|0;
$82 = ($81|0)==($11|0);
if ($82) {
HEAP32[$80>>2] = $$3;
} else {
$83 = ((($42)) + 20|0);
HEAP32[$83>>2] = $$3;
}
$84 = ($$3|0)==(0|0);
if ($84) {
$$1 = $11;$$1416 = $12;
break;
}
}
$85 = HEAP32[(31388)>>2]|0;
$86 = ($$3>>>0)<($85>>>0);
if ($86) {
_abort();
// unreachable;
}
$87 = ((($$3)) + 24|0);
HEAP32[$87>>2] = $42;
$88 = ((($11)) + 16|0);
$89 = HEAP32[$88>>2]|0;
$90 = ($89|0)==(0|0);
do {
if (!($90)) {
$91 = ($89>>>0)<($85>>>0);
if ($91) {
_abort();
// unreachable;
} else {
$92 = ((($$3)) + 16|0);
HEAP32[$92>>2] = $89;
$93 = ((($89)) + 24|0);
HEAP32[$93>>2] = $$3;
break;
}
}
} while(0);
$94 = ((($88)) + 4|0);
$95 = HEAP32[$94>>2]|0;
$96 = ($95|0)==(0|0);
if ($96) {
$$1 = $11;$$1416 = $12;
} else {
$97 = HEAP32[(31388)>>2]|0;
$98 = ($95>>>0)<($97>>>0);
if ($98) {
_abort();
// unreachable;
} else {
$99 = ((($$3)) + 20|0);
HEAP32[$99>>2] = $95;
$100 = ((($95)) + 24|0);
HEAP32[$100>>2] = $$3;
$$1 = $11;$$1416 = $12;
break;
}
}
}
} else {
$$1 = $0;$$1416 = $1;
}
} while(0);
$109 = HEAP32[(31388)>>2]|0;
$110 = ($2>>>0)<($109>>>0);
if ($110) {
_abort();
// unreachable;
}
$111 = ((($2)) + 4|0);
$112 = HEAP32[$111>>2]|0;
$113 = $112 & 2;
$114 = ($113|0)==(0);
if ($114) {
$115 = HEAP32[(31396)>>2]|0;
$116 = ($2|0)==($115|0);
if ($116) {
$117 = HEAP32[(31384)>>2]|0;
$118 = (($117) + ($$1416))|0;
HEAP32[(31384)>>2] = $118;
HEAP32[(31396)>>2] = $$1;
$119 = $118 | 1;
$120 = ((($$1)) + 4|0);
HEAP32[$120>>2] = $119;
$121 = HEAP32[(31392)>>2]|0;
$122 = ($$1|0)==($121|0);
if (!($122)) {
return;
}
HEAP32[(31392)>>2] = 0;
HEAP32[(31380)>>2] = 0;
return;
}
$123 = HEAP32[(31392)>>2]|0;
$124 = ($2|0)==($123|0);
if ($124) {
$125 = HEAP32[(31380)>>2]|0;
$126 = (($125) + ($$1416))|0;
HEAP32[(31380)>>2] = $126;
HEAP32[(31392)>>2] = $$1;
$127 = $126 | 1;
$128 = ((($$1)) + 4|0);
HEAP32[$128>>2] = $127;
$129 = (($$1) + ($126)|0);
HEAP32[$129>>2] = $126;
return;
}
$130 = $112 & -8;
$131 = (($130) + ($$1416))|0;
$132 = $112 >>> 3;
$133 = ($112>>>0)<(256);
do {
if ($133) {
$134 = ((($2)) + 8|0);
$135 = HEAP32[$134>>2]|0;
$136 = ((($2)) + 12|0);
$137 = HEAP32[$136>>2]|0;
$138 = $132 << 1;
$139 = (31412 + ($138<<2)|0);
$140 = ($135|0)==($139|0);
if (!($140)) {
$141 = ($135>>>0)<($109>>>0);
if ($141) {
_abort();
// unreachable;
}
$142 = ((($135)) + 12|0);
$143 = HEAP32[$142>>2]|0;
$144 = ($143|0)==($2|0);
if (!($144)) {
_abort();
// unreachable;
}
}
$145 = ($137|0)==($135|0);
if ($145) {
$146 = 1 << $132;
$147 = $146 ^ -1;
$148 = HEAP32[7843]|0;
$149 = $148 & $147;
HEAP32[7843] = $149;
break;
}
$150 = ($137|0)==($139|0);
if ($150) {
$$pre21 = ((($137)) + 8|0);
$$pre$phi22Z2D = $$pre21;
} else {
$151 = ($137>>>0)<($109>>>0);
if ($151) {
_abort();
// unreachable;
}
$152 = ((($137)) + 8|0);
$153 = HEAP32[$152>>2]|0;
$154 = ($153|0)==($2|0);
if ($154) {
$$pre$phi22Z2D = $152;
} else {
_abort();
// unreachable;
}
}
$155 = ((($135)) + 12|0);
HEAP32[$155>>2] = $137;
HEAP32[$$pre$phi22Z2D>>2] = $135;
} else {
$156 = ((($2)) + 24|0);
$157 = HEAP32[$156>>2]|0;
$158 = ((($2)) + 12|0);
$159 = HEAP32[$158>>2]|0;
$160 = ($159|0)==($2|0);
do {
if ($160) {
$170 = ((($2)) + 16|0);
$171 = ((($170)) + 4|0);
$172 = HEAP32[$171>>2]|0;
$173 = ($172|0)==(0|0);
if ($173) {
$174 = HEAP32[$170>>2]|0;
$175 = ($174|0)==(0|0);
if ($175) {
$$3433 = 0;
break;
} else {
$$1431 = $174;$$1435 = $170;
}
} else {
$$1431 = $172;$$1435 = $171;
}
while(1) {
$176 = ((($$1431)) + 20|0);
$177 = HEAP32[$176>>2]|0;
$178 = ($177|0)==(0|0);
if (!($178)) {
$$1431 = $177;$$1435 = $176;
continue;
}
$179 = ((($$1431)) + 16|0);
$180 = HEAP32[$179>>2]|0;
$181 = ($180|0)==(0|0);
if ($181) {
break;
} else {
$$1431 = $180;$$1435 = $179;
}
}
$182 = ($$1435>>>0)<($109>>>0);
if ($182) {
_abort();
// unreachable;
} else {
HEAP32[$$1435>>2] = 0;
$$3433 = $$1431;
break;
}
} else {
$161 = ((($2)) + 8|0);
$162 = HEAP32[$161>>2]|0;
$163 = ($162>>>0)<($109>>>0);
if ($163) {
_abort();
// unreachable;
}
$164 = ((($162)) + 12|0);
$165 = HEAP32[$164>>2]|0;
$166 = ($165|0)==($2|0);
if (!($166)) {
_abort();
// unreachable;
}
$167 = ((($159)) + 8|0);
$168 = HEAP32[$167>>2]|0;
$169 = ($168|0)==($2|0);
if ($169) {
HEAP32[$164>>2] = $159;
HEAP32[$167>>2] = $162;
$$3433 = $159;
break;
} else {
_abort();
// unreachable;
}
}
} while(0);
$183 = ($157|0)==(0|0);
if (!($183)) {
$184 = ((($2)) + 28|0);
$185 = HEAP32[$184>>2]|0;
$186 = (31676 + ($185<<2)|0);
$187 = HEAP32[$186>>2]|0;
$188 = ($2|0)==($187|0);
if ($188) {
HEAP32[$186>>2] = $$3433;
$cond16 = ($$3433|0)==(0|0);
if ($cond16) {
$189 = 1 << $185;
$190 = $189 ^ -1;
$191 = HEAP32[(31376)>>2]|0;
$192 = $191 & $190;
HEAP32[(31376)>>2] = $192;
break;
}
} else {
$193 = HEAP32[(31388)>>2]|0;
$194 = ($157>>>0)<($193>>>0);
if ($194) {
_abort();
// unreachable;
}
$195 = ((($157)) + 16|0);
$196 = HEAP32[$195>>2]|0;
$197 = ($196|0)==($2|0);
if ($197) {
HEAP32[$195>>2] = $$3433;
} else {
$198 = ((($157)) + 20|0);
HEAP32[$198>>2] = $$3433;
}
$199 = ($$3433|0)==(0|0);
if ($199) {
break;
}
}
$200 = HEAP32[(31388)>>2]|0;
$201 = ($$3433>>>0)<($200>>>0);
if ($201) {
_abort();
// unreachable;
}
$202 = ((($$3433)) + 24|0);
HEAP32[$202>>2] = $157;
$203 = ((($2)) + 16|0);
$204 = HEAP32[$203>>2]|0;
$205 = ($204|0)==(0|0);
do {
if (!($205)) {
$206 = ($204>>>0)<($200>>>0);
if ($206) {
_abort();
// unreachable;
} else {
$207 = ((($$3433)) + 16|0);
HEAP32[$207>>2] = $204;
$208 = ((($204)) + 24|0);
HEAP32[$208>>2] = $$3433;
break;
}
}
} while(0);
$209 = ((($203)) + 4|0);
$210 = HEAP32[$209>>2]|0;
$211 = ($210|0)==(0|0);
if (!($211)) {
$212 = HEAP32[(31388)>>2]|0;
$213 = ($210>>>0)<($212>>>0);
if ($213) {
_abort();
// unreachable;
} else {
$214 = ((($$3433)) + 20|0);
HEAP32[$214>>2] = $210;
$215 = ((($210)) + 24|0);
HEAP32[$215>>2] = $$3433;
break;
}
}
}
}
} while(0);
$216 = $131 | 1;
$217 = ((($$1)) + 4|0);
HEAP32[$217>>2] = $216;
$218 = (($$1) + ($131)|0);
HEAP32[$218>>2] = $131;
$219 = HEAP32[(31392)>>2]|0;
$220 = ($$1|0)==($219|0);
if ($220) {
HEAP32[(31380)>>2] = $131;
return;
} else {
$$2 = $131;
}
} else {
$221 = $112 & -2;
HEAP32[$111>>2] = $221;
$222 = $$1416 | 1;
$223 = ((($$1)) + 4|0);
HEAP32[$223>>2] = $222;
$224 = (($$1) + ($$1416)|0);
HEAP32[$224>>2] = $$1416;
$$2 = $$1416;
}
$225 = $$2 >>> 3;
$226 = ($$2>>>0)<(256);
if ($226) {
$227 = $225 << 1;
$228 = (31412 + ($227<<2)|0);
$229 = HEAP32[7843]|0;
$230 = 1 << $225;
$231 = $229 & $230;
$232 = ($231|0)==(0);
if ($232) {
$233 = $229 | $230;
HEAP32[7843] = $233;
$$pre = ((($228)) + 8|0);
$$0436 = $228;$$pre$phiZ2D = $$pre;
} else {
$234 = ((($228)) + 8|0);
$235 = HEAP32[$234>>2]|0;
$236 = HEAP32[(31388)>>2]|0;
$237 = ($235>>>0)<($236>>>0);
if ($237) {
_abort();
// unreachable;
} else {
$$0436 = $235;$$pre$phiZ2D = $234;
}
}
HEAP32[$$pre$phiZ2D>>2] = $$1;
$238 = ((($$0436)) + 12|0);
HEAP32[$238>>2] = $$1;
$239 = ((($$1)) + 8|0);
HEAP32[$239>>2] = $$0436;
$240 = ((($$1)) + 12|0);
HEAP32[$240>>2] = $228;
return;
}
$241 = $$2 >>> 8;
$242 = ($241|0)==(0);
if ($242) {
$$0429 = 0;
} else {
$243 = ($$2>>>0)>(16777215);
if ($243) {
$$0429 = 31;
} else {
$244 = (($241) + 1048320)|0;
$245 = $244 >>> 16;
$246 = $245 & 8;
$247 = $241 << $246;
$248 = (($247) + 520192)|0;
$249 = $248 >>> 16;
$250 = $249 & 4;
$251 = $250 | $246;
$252 = $247 << $250;
$253 = (($252) + 245760)|0;
$254 = $253 >>> 16;
$255 = $254 & 2;
$256 = $251 | $255;
$257 = (14 - ($256))|0;
$258 = $252 << $255;
$259 = $258 >>> 15;
$260 = (($257) + ($259))|0;
$261 = $260 << 1;
$262 = (($260) + 7)|0;
$263 = $$2 >>> $262;
$264 = $263 & 1;
$265 = $264 | $261;
$$0429 = $265;
}
}
$266 = (31676 + ($$0429<<2)|0);
$267 = ((($$1)) + 28|0);
HEAP32[$267>>2] = $$0429;
$268 = ((($$1)) + 16|0);
$269 = ((($$1)) + 20|0);
HEAP32[$269>>2] = 0;
HEAP32[$268>>2] = 0;
$270 = HEAP32[(31376)>>2]|0;
$271 = 1 << $$0429;
$272 = $270 & $271;
$273 = ($272|0)==(0);
if ($273) {
$274 = $270 | $271;
HEAP32[(31376)>>2] = $274;
HEAP32[$266>>2] = $$1;
$275 = ((($$1)) + 24|0);
HEAP32[$275>>2] = $266;
$276 = ((($$1)) + 12|0);
HEAP32[$276>>2] = $$1;
$277 = ((($$1)) + 8|0);
HEAP32[$277>>2] = $$1;
return;
}
$278 = HEAP32[$266>>2]|0;
$279 = ($$0429|0)==(31);
$280 = $$0429 >>> 1;
$281 = (25 - ($280))|0;
$282 = $279 ? 0 : $281;
$283 = $$2 << $282;
$$0417 = $283;$$0418 = $278;
while(1) {
$284 = ((($$0418)) + 4|0);
$285 = HEAP32[$284>>2]|0;
$286 = $285 & -8;
$287 = ($286|0)==($$2|0);
if ($287) {
label = 127;
break;
}
$288 = $$0417 >>> 31;
$289 = (((($$0418)) + 16|0) + ($288<<2)|0);
$290 = $$0417 << 1;
$291 = HEAP32[$289>>2]|0;
$292 = ($291|0)==(0|0);
if ($292) {
label = 124;
break;
} else {
$$0417 = $290;$$0418 = $291;
}
}
if ((label|0) == 124) {
$293 = HEAP32[(31388)>>2]|0;
$294 = ($289>>>0)<($293>>>0);
if ($294) {
_abort();
// unreachable;
}
HEAP32[$289>>2] = $$1;
$295 = ((($$1)) + 24|0);
HEAP32[$295>>2] = $$0418;
$296 = ((($$1)) + 12|0);
HEAP32[$296>>2] = $$1;
$297 = ((($$1)) + 8|0);
HEAP32[$297>>2] = $$1;
return;
}
else if ((label|0) == 127) {
$298 = ((($$0418)) + 8|0);
$299 = HEAP32[$298>>2]|0;
$300 = HEAP32[(31388)>>2]|0;
$301 = ($299>>>0)>=($300>>>0);
$not$ = ($$0418>>>0)>=($300>>>0);
$302 = $301 & $not$;
if (!($302)) {
_abort();
// unreachable;
}
$303 = ((($299)) + 12|0);
HEAP32[$303>>2] = $$1;
HEAP32[$298>>2] = $$1;
$304 = ((($$1)) + 8|0);
HEAP32[$304>>2] = $299;
$305 = ((($$1)) + 12|0);
HEAP32[$305>>2] = $$0418;
$306 = ((($$1)) + 24|0);
HEAP32[$306>>2] = 0;
return;
}
}
function runPostSets() {
}
function _i64Subtract(a, b, c, d) {
a = a|0; b = b|0; c = c|0; d = d|0;
var l = 0, h = 0;
l = (a - c)>>>0;
h = (b - d)>>>0;
h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow.
return ((tempRet0 = h,l|0)|0);
}
function _i64Add(a, b, c, d) {
/*
x = a + b*2^32
y = c + d*2^32
result = l + h*2^32
*/
a = a|0; b = b|0; c = c|0; d = d|0;
var l = 0, h = 0;
l = (a + c)>>>0;
h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow.
return ((tempRet0 = h,l|0)|0);
}
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) {
// This is unaligned, but quite large, so work hard to get to aligned settings
value = value & 0xff;
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)) { // no need to check for stop, since we have large num
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;
var ander = 0;
if ((bits|0) < 32) {
ander = ((1 << bits) - 1)|0;
tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits));
return low << bits;
}
tempRet0 = low << (bits - 32);
return 0;
}
function _memcpy(dest, src, num) {
dest = dest|0; src = src|0; num = num|0;
var ret = 0;
if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0;
ret = dest|0;
if ((dest&3) == (src&3)) {
while (dest & 3) {
if ((num|0) == 0) 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)])|0);
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 _saveSetjmp(env, label, table, size) {
// Not particularly fast: slow table lookup of setjmpId to label. But setjmp
// prevents relooping anyhow, so slowness is to be expected. And typical case
// is 1 setjmp per invocation, or less.
env = env|0;
label = label|0;
table = table|0;
size = size|0;
var i = 0;
setjmpId = (setjmpId+1)|0;
HEAP32[((env)>>2)]=setjmpId;
while ((i|0) < (size|0)) {
if (((HEAP32[(((table)+((i<<3)))>>2)])|0) == 0) {
HEAP32[(((table)+((i<<3)))>>2)]=setjmpId;
HEAP32[(((table)+((i<<3)+4))>>2)]=label;
// prepare next slot
HEAP32[(((table)+((i<<3)+8))>>2)]=0;
tempRet0 = size;
return table | 0;
}
i = i+1|0;
}
// grow the table
size = (size*2)|0;
table = _realloc(table|0, 8*(size+1|0)|0) | 0;
table = _saveSetjmp(env|0, label|0, table|0, size|0) | 0;
tempRet0 = size;
return table | 0;
}
function _memmove(dest, src, num) {
dest = dest|0; src = src|0; num = num|0;
var ret = 0;
if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) {
// Unlikely case: Copy backwards in a safe manner
ret = dest;
src = (src + num)|0;
dest = (dest + num)|0;
while ((num|0) > 0) {
dest = (dest - 1)|0;
src = (src - 1)|0;
num = (num - 1)|0;
HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
}
dest = ret;
} else {
_memcpy(dest, src, num) | 0;
}
return dest | 0;
}
function _bitshift64Lshr(low, high, bits) {
low = low|0; high = high|0; bits = bits|0;
var ander = 0;
if ((bits|0) < 32) {
ander = ((1 << bits) - 1)|0;
tempRet0 = high >>> bits;
return (low >>> bits) | ((high&ander) << (32 - bits));
}
tempRet0 = 0;
return (high >>> (bits - 32))|0;
}
function _testSetjmp(id, table, size) {
id = id|0;
table = table|0;
size = size|0;
var i = 0, curr = 0;
while ((i|0) < (size|0)) {
curr = ((HEAP32[(((table)+((i<<3)))>>2)])|0);
if ((curr|0) == 0) break;
if ((curr|0) == (id|0)) {
return ((HEAP32[(((table)+((i<<3)+4))>>2)])|0);
}
i = i+1|0;
}
return 0;
}
function _llvm_cttz_i32(x) {
x = x|0;
var ret = 0;
ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0);
if ((ret|0) < 8) return ret|0;
ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0);
if ((ret|0) < 8) return (ret + 8)|0;
ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0);
if ((ret|0) < 8) return (ret + 16)|0;
return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0;
}
function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
$rem = $rem | 0;
var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0;
$n_sroa_0_0_extract_trunc = $a$0;
$n_sroa_1_4_extract_shift$0 = $a$1;
$n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0;
$d_sroa_0_0_extract_trunc = $b$0;
$d_sroa_1_4_extract_shift$0 = $b$1;
$d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0;
if (($n_sroa_1_4_extract_trunc | 0) == 0) {
$4 = ($rem | 0) != 0;
if (($d_sroa_1_4_extract_trunc | 0) == 0) {
if ($4) {
HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
HEAP32[$rem + 4 >> 2] = 0;
}
$_0$1 = 0;
$_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
} else {
if (!$4) {
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
HEAP32[$rem >> 2] = $a$0 & -1;
HEAP32[$rem + 4 >> 2] = $a$1 & 0;
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
}
$17 = ($d_sroa_1_4_extract_trunc | 0) == 0;
do {
if (($d_sroa_0_0_extract_trunc | 0) == 0) {
if ($17) {
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
HEAP32[$rem + 4 >> 2] = 0;
}
$_0$1 = 0;
$_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
if (($n_sroa_0_0_extract_trunc | 0) == 0) {
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = 0;
HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0);
}
$_0$1 = 0;
$_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
$37 = $d_sroa_1_4_extract_trunc - 1 | 0;
if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) {
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = 0 | $a$0 & -1;
HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0;
}
$_0$1 = 0;
$_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0);
return (tempRet0 = $_0$1, $_0$0) | 0;
}
$49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
$51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
if ($51 >>> 0 <= 30) {
$57 = $51 + 1 | 0;
$58 = 31 - $51 | 0;
$sr_1_ph = $57;
$r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0);
$r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0);
$q_sroa_0_1_ph = 0;
$q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58;
break;
}
if (($rem | 0) == 0) {
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
HEAP32[$rem >> 2] = 0 | $a$0 & -1;
HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
} else {
if (!$17) {
$117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
$119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
if ($119 >>> 0 <= 31) {
$125 = $119 + 1 | 0;
$126 = 31 - $119 | 0;
$130 = $119 - 31 >> 31;
$sr_1_ph = $125;
$r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126;
$r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130;
$q_sroa_0_1_ph = 0;
$q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126;
break;
}
if (($rem | 0) == 0) {
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
HEAP32[$rem >> 2] = 0 | $a$0 & -1;
HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
$_0$1 = 0;
$_0$0 = 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
$66 = $d_sroa_0_0_extract_trunc - 1 | 0;
if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) {
$86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0;
$88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
$89 = 64 - $88 | 0;
$91 = 32 - $88 | 0;
$92 = $91 >> 31;
$95 = $88 - 32 | 0;
$105 = $95 >> 31;
$sr_1_ph = $88;
$r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105;
$r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0);
$q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92;
$q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31;
break;
}
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc;
HEAP32[$rem + 4 >> 2] = 0;
}
if (($d_sroa_0_0_extract_trunc | 0) == 1) {
$_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
$_0$0 = 0 | $a$0 & -1;
return (tempRet0 = $_0$1, $_0$0) | 0;
} else {
$78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0;
$_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0);
$_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
}
} while (0);
if (($sr_1_ph | 0) == 0) {
$q_sroa_1_1_lcssa = $q_sroa_1_1_ph;
$q_sroa_0_1_lcssa = $q_sroa_0_1_ph;
$r_sroa_1_1_lcssa = $r_sroa_1_1_ph;
$r_sroa_0_1_lcssa = $r_sroa_0_1_ph;
$carry_0_lcssa$1 = 0;
$carry_0_lcssa$0 = 0;
} else {
$d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1;
$d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0;
$137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0;
$137$1 = tempRet0;
$q_sroa_1_1198 = $q_sroa_1_1_ph;
$q_sroa_0_1199 = $q_sroa_0_1_ph;
$r_sroa_1_1200 = $r_sroa_1_1_ph;
$r_sroa_0_1201 = $r_sroa_0_1_ph;
$sr_1202 = $sr_1_ph;
$carry_0203 = 0;
while (1) {
$147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1;
$149 = $carry_0203 | $q_sroa_0_1199 << 1;
$r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31);
$r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0;
_i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0;
$150$1 = tempRet0;
$151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1;
$152 = $151$0 & 1;
$154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0;
$r_sroa_0_0_extract_trunc = $154$0;
$r_sroa_1_4_extract_trunc = tempRet0;
$155 = $sr_1202 - 1 | 0;
if (($155 | 0) == 0) {
break;
} else {
$q_sroa_1_1198 = $147;
$q_sroa_0_1199 = $149;
$r_sroa_1_1200 = $r_sroa_1_4_extract_trunc;
$r_sroa_0_1201 = $r_sroa_0_0_extract_trunc;
$sr_1202 = $155;
$carry_0203 = $152;
}
}
$q_sroa_1_1_lcssa = $147;
$q_sroa_0_1_lcssa = $149;
$r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc;
$r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc;
$carry_0_lcssa$1 = 0;
$carry_0_lcssa$0 = $152;
}
$q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa;
$q_sroa_0_0_insert_ext75$1 = 0;
$q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1;
if (($rem | 0) != 0) {
HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa;
HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0;
}
$_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1;
$_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0;
return (tempRet0 = $_0$1, $_0$0) | 0;
}
function ___udivdi3($a$0, $a$1, $b$0, $b$1) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
var $1$0 = 0;
$1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0;
return $1$0 | 0;
}
function ___muldsi3($a, $b) {
$a = $a | 0;
$b = $b | 0;
var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0;
$1 = $a & 65535;
$2 = $b & 65535;
$3 = Math_imul($2, $1) | 0;
$6 = $a >>> 16;
$8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0;
$11 = $b >>> 16;
$12 = Math_imul($11, $1) | 0;
return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0;
}
function ___muldi3($a$0, $a$1, $b$0, $b$1) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0;
$x_sroa_0_0_extract_trunc = $a$0;
$y_sroa_0_0_extract_trunc = $b$0;
$1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0;
$1$1 = tempRet0;
$2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0;
return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0;
}
function _sbrk(increment) {
increment = increment|0;
var oldDynamicTop = 0;
var oldDynamicTopOnChange = 0;
var newDynamicTop = 0;
var totalMemory = 0;
increment = ((increment + 15) & -16)|0;
oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0;
newDynamicTop = oldDynamicTop + increment | 0;
if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int.
| (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract.
abortOnCannotGrowMemory()|0;
___setErrNo(12);
return -1;
}
HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop;
totalMemory = getTotalMemory()|0;
if ((newDynamicTop|0) > (totalMemory|0)) {
if ((enlargeMemory()|0) == 0) {
___setErrNo(12);
HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop;
return -1;
}
}
return oldDynamicTop|0;
}
function ___uremdi3($a$0, $a$1, $b$0, $b$1) {
$a$0 = $a$0 | 0;
$a$1 = $a$1 | 0;
$b$0 = $b$0 | 0;
$b$1 = $b$1 | 0;
var $rem = 0, __stackBase__ = 0;
__stackBase__ = STACKTOP;
STACKTOP = STACKTOP + 16 | 0;
$rem = __stackBase__ | 0;
___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0;
STACKTOP = __stackBase__;
return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0;
}
function _llvm_bswap_i32(x) {
x = x|0;
return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0;
}
function _pthread_self() {
return 0;
}
function dynCall_vi(index,a1) {
index = index|0;
a1=a1|0;
FUNCTION_TABLE_vi[index&127](a1|0);
}
function dynCall_iiii(index,a1,a2,a3) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0;
return FUNCTION_TABLE_iiii[index&127](a1|0,a2|0,a3|0)|0;
}
function dynCall_vid(index,a1,a2) {
index = index|0;
a1=a1|0; a2=+a2;
FUNCTION_TABLE_vid[index&63](a1|0,+a2);
}
function dynCall_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0;
return FUNCTION_TABLE_iiiiiiiiii[index&31](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0)|0;
}
function dynCall_vii(index,a1,a2) {
index = index|0;
a1=a1|0; a2=a2|0;
FUNCTION_TABLE_vii[index&127](a1|0,a2|0);
}
function dynCall_ii(index,a1) {
index = index|0;
a1=a1|0;
return FUNCTION_TABLE_ii[index&63](a1|0)|0;
}
function dynCall_viii(index,a1,a2,a3) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0;
FUNCTION_TABLE_viii[index&127](a1|0,a2|0,a3|0);
}
function dynCall_idi(index,a1,a2) {
index = index|0;
a1=+a1; a2=a2|0;
return FUNCTION_TABLE_idi[index&0](+a1,a2|0)|0;
}
function dynCall_iiiii(index,a1,a2,a3,a4) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
return FUNCTION_TABLE_iiiii[index&63](a1|0,a2|0,a3|0,a4|0)|0;
}
function dynCall_iii(index,a1,a2) {
index = index|0;
a1=a1|0; a2=a2|0;
return FUNCTION_TABLE_iii[index&63](a1|0,a2|0)|0;
}
function dynCall_viiii(index,a1,a2,a3,a4) {
index = index|0;
a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
FUNCTION_TABLE_viiii[index&63](a1|0,a2|0,a3|0,a4|0);
}
function b0(p0) {
p0 = p0|0; nullFunc_vi(0);
}
function b1(p0,p1,p2) {
p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(1);return 0;
}
function b2(p0,p1) {
p0 = p0|0;p1 = +p1; nullFunc_vid(2);
}
function b3(p0,p1,p2,p3,p4,p5,p6,p7,p8) {
p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_iiiiiiiiii(3);return 0;
}
function b4(p0,p1) {
p0 = p0|0;p1 = p1|0; nullFunc_vii(4);
}
function _emscripten_longjmp__wrapper(p0,p1) {
p0 = p0|0;p1 = p1|0; _emscripten_longjmp(p0|0,p1|0);
}
function b5(p0) {
p0 = p0|0; nullFunc_ii(5);return 0;
}
function b6(p0,p1,p2) {
p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(6);
}
function b7(p0,p1) {
p0 = +p0;p1 = p1|0; nullFunc_idi(7);return 0;
}
function b8(p0,p1,p2,p3) {
p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_iiiii(8);return 0;
}
function b9(p0,p1) {
p0 = p0|0;p1 = p1|0; nullFunc_iii(9);return 0;
}
function b10(p0,p1,p2,p3) {
p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(10);
}
// EMSCRIPTEN_END_FUNCS
var FUNCTION_TABLE_vi = [b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,_png_set_expand,b0,_png_set_strip_16,_png_set_gray_to_rgb
,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,_user_flush_data,b0,b0,b0,b0,b0,_liq_aligned_free,_free,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
,b0,b0,b0,b0,b0,b0,b0,b0,_png_default_flush,b0,b0,_cleanup_263,_cleanup_217,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
,b0,b0,b0,b0,b0,b0,b0,b0,b0];
var FUNCTION_TABLE_iiii = [b1,b1,b1,b1,b1,___stdio_read,___stdio_seek,___stdout_write,___stdio_write,_sn_write,b1,b1,b1,b1,b1,b1,b1,_png_set_option,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
,_png_get_valid,_png_get_gAMA,_fprintf,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,_png_zalloc
,b1,b1,b1,b1,b1,b1,b1,b1,b1,_zcalloc,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
,b1,b1,b1,b1,b1,b1,b1,b1,b1];
var FUNCTION_TABLE_vid = [b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,_adjust_histogram_callback,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
,b2,b2,b2,b2,b2];
var FUNCTION_TABLE_iiiiiiiiii = [b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_png_get_IHDR,b3,b3,b3,b3
,b3,b3,b3];
var FUNCTION_TABLE_vii = [b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_rwpng_warning_silent_handler,_rwpng_warning_stderr_handler,b4,_rwpng_error_handler,b4,b4,b4,b4,b4,b4,b4,b4,_png_read_info,b4,b4,b4,b4,b4
,b4,b4,b4,b4,_png_read_update_info,b4,b4,b4,_png_read_image,_png_read_end,b4,b4,b4,_png_destroy_write_struct,_png_set_compression_level,_png_set_compression_mem_level,b4,b4,b4,b4,b4,b4,b4,_emscripten_longjmp__wrapper,_png_free,b4,b4,b4,b4,b4
,_png_zfree,b4,b4,b4,b4,b4,b4,b4,b4,b4,_zcfree,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
,b4,b4,b4,b4,b4,b4,b4,b4,b4];
var FUNCTION_TABLE_ii = [b5,b5,b5,b5,___stdio_close,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_png_create_info_struct,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
,b5,b5,b5,_png_set_interlace_handling,b5,b5,_malloc,b5,b5,b5,b5,b5,b5,b5,b5,b5,_liq_aligned_malloc,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
,b5,b5,b5,b5,b5];
var FUNCTION_TABLE_viii = [b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_log_callback,b6,b6,b6,b6,b6,_png_destroy_read_struct,b6,b6,_png_set_read_user_chunk_fn,b6,_png_set_read_fn,_user_read_data,b6,b6,b6,_png_set_filler,b6,b6
,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_user_write_data,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
,b6,_png_default_read_data,_png_read_filter_row_sub,_png_read_filter_row_up,_png_read_filter_row_avg,_png_read_filter_row_paeth_multibyte_pixel,_png_read_filter_row_paeth_1byte_pixel,_png_default_write_data,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
,b6,b6,b6,b6,b6,b6,b6,b6,b6];
var FUNCTION_TABLE_idi = [b7];
var FUNCTION_TABLE_iiiii = [b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,_png_create_read_struct,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
,b8,b8,b8,b8,b8,b8,b8,_fwrite,b8,b8,b8,b8,_png_create_write_struct,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
,b8,b8,b8,b8,b8];
var FUNCTION_TABLE_iii = [b9,_deflate_stored,_deflate_fast,_deflate_slow,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,_read_chunk_callback,b9,b9,b9,b9,b9,b9,b9,b9
,b9,b9,b9,b9,b9,_png_get_rowbytes,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,_compare_popularity,_comparevariance,_vp_compare_distance,b9,b9,b9,b9,_png_user_version_check,_png_malloc_warn,b9
,b9,b9,b9,b9,b9];
var FUNCTION_TABLE_viiii = [b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,_png_set_keep_unknown_chunks,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,_png_set_mem_fn,_png_set_error_fn,b10,b10,b10
,b10,b10,b10,b10,b10];
return { _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _realloc: _realloc, _i64Add: _i64Add, _pthread_self: _pthread_self, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _testSetjmp: _testSetjmp, _saveSetjmp: _saveSetjmp, _free: _free, _memmove: _memmove, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_vi: dynCall_vi, dynCall_iiii: dynCall_iiii, dynCall_vid: dynCall_vid, dynCall_iiiiiiiiii: dynCall_iiiiiiiiii, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_idi: dynCall_idi, dynCall_iiiii: dynCall_iiiii, dynCall_iii: dynCall_iii, dynCall_viiii: dynCall_viiii };
})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg, Module.asmLibraryArg, buffer);
var real__main = asm["_main"]; asm["_main"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__main.apply(null, arguments);
};
var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__llvm_cttz_i32.apply(null, arguments);
};
var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__bitshift64Lshr.apply(null, arguments);
};
var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__bitshift64Shl.apply(null, arguments);
};
var real__fflush = asm["_fflush"]; asm["_fflush"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__fflush.apply(null, arguments);
};
var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__sbrk.apply(null, arguments);
};
var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__llvm_bswap_i32.apply(null, arguments);
};
var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____muldi3.apply(null, arguments);
};
var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____uremdi3.apply(null, arguments);
};
var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__i64Subtract.apply(null, arguments);
};
var real____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____udivmoddi4.apply(null, arguments);
};
var real__realloc = asm["_realloc"]; asm["_realloc"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__realloc.apply(null, arguments);
};
var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__i64Add.apply(null, arguments);
};
var real__pthread_self = asm["_pthread_self"]; asm["_pthread_self"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__pthread_self.apply(null, arguments);
};
var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____udivdi3.apply(null, arguments);
};
var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____errno_location.apply(null, arguments);
};
var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real____muldsi3.apply(null, arguments);
};
var real__testSetjmp = asm["_testSetjmp"]; asm["_testSetjmp"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__testSetjmp.apply(null, arguments);
};
var real__saveSetjmp = asm["_saveSetjmp"]; asm["_saveSetjmp"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__saveSetjmp.apply(null, arguments);
};
var real__free = asm["_free"]; asm["_free"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__free.apply(null, arguments);
};
var real__memmove = asm["_memmove"]; asm["_memmove"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__memmove.apply(null, arguments);
};
var real__malloc = asm["_malloc"]; asm["_malloc"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__malloc.apply(null, arguments);
};
var _main = Module["_main"] = asm["_main"];
var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"];
var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
var _fflush = Module["_fflush"] = asm["_fflush"];
var _memset = Module["_memset"] = asm["_memset"];
var _sbrk = Module["_sbrk"] = asm["_sbrk"];
var _memcpy = Module["_memcpy"] = asm["_memcpy"];
var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"];
var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"];
var _realloc = Module["_realloc"] = asm["_realloc"];
var _i64Add = Module["_i64Add"] = asm["_i64Add"];
var _pthread_self = Module["_pthread_self"] = asm["_pthread_self"];
var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"];
var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"];
var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"];
var _free = Module["_free"] = asm["_free"];
var runPostSets = Module["runPostSets"] = asm["runPostSets"];
var _memmove = Module["_memmove"] = asm["_memmove"];
var _malloc = Module["_malloc"] = asm["_malloc"];
var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"];
var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = asm["dynCall_iiiiiiiiii"];
var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
var dynCall_idi = Module["dynCall_idi"] = asm["dynCall_idi"];
var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
;
Runtime.stackAlloc = asm['stackAlloc'];
Runtime.stackSave = asm['stackSave'];
Runtime.stackRestore = asm['stackRestore'];
Runtime.establishStackSpace = asm['establishStackSpace'];
Runtime.setTempRet0 = asm['setTempRet0'];
Runtime.getTempRet0 = asm['getTempRet0'];
// === Auto-generated postamble setup entry stuff ===
function ExitStatus(status) {
this.name = "ExitStatus";
this.message = "Program terminated with exit(" + status + ")";
this.status = status;
};
ExitStatus.prototype = new Error();
ExitStatus.prototype.constructor = ExitStatus;
var initialStackTop;
var preloadStartTime = null;
var calledMain = false;
dependenciesFulfilled = function runCaller() {
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
if (!Module['calledRun']) run();
if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
}
Module['callMain'] = Module.callMain = function callMain(args) {
assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)');
assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called');
args = args || [];
ensureInitRuntime();
var argc = args.length+1;
function pad() {
for (var i = 0; i < 4-1; i++) {
argv.push(0);
}
}
var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ];
pad();
for (var i = 0; i < argc-1; i = i + 1) {
argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL));
pad();
}
argv.push(0);
argv = allocate(argv, 'i32', ALLOC_NORMAL);
try {
var ret = Module['_main'](argc, argv, 0);
// if we're not running an evented main loop, it's time to exit
exit(ret, /* implicit = */ true);
}
catch(e) {
if (e instanceof ExitStatus) {
// exit() throws this once it's done to make sure execution
// has been stopped completely
return;
} else if (e == 'SimulateInfiniteLoop') {
// running an evented main loop, don't immediately exit
Module['noExitRuntime'] = true;
return;
} else {
if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]);
throw e;
}
} finally {
calledMain = true;
}
}
function run(args) {
args = args || Module['arguments'];
if (preloadStartTime === null) preloadStartTime = Date.now();
if (runDependencies > 0) {
Module.printErr('run() called, but dependencies remain, so not running');
return;
}
writeStackCookie();
preRun();
if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
function doRun() {
if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
Module['calledRun'] = true;
if (ABORT) return;
ensureInitRuntime();
preMain();
if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) {
Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms');
}
if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
if (Module['_main'] && shouldRunNow) Module['callMain'](args);
postRun();
}
if (Module['setStatus']) {
Module['setStatus']('Running...');
setTimeout(function() {
setTimeout(function() {
Module['setStatus']('');
}, 1);
doRun();
}, 1);
} else {
doRun();
}
checkStackCookie();
}
Module['run'] = Module.run = run;
function exit(status, implicit) {
if (implicit && Module['noExitRuntime']) {
Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)');
return;
}
if (Module['noExitRuntime']) {
Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)');
} else {
ABORT = true;
EXITSTATUS = status;
STACKTOP = initialStackTop;
exitRuntime();
if (Module['onExit']) Module['onExit'](status);
}
if (ENVIRONMENT_IS_NODE) {
process['exit'](status);
} else if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') {
quit(status);
}
// if we reach here, we must throw an exception to halt the current execution
throw new ExitStatus(status);
}
Module['exit'] = Module.exit = exit;
var abortDecorators = [];
function abort(what) {
if (what !== undefined) {
Module.print(what);
Module.printErr(what);
what = JSON.stringify(what)
} else {
what = '';
}
ABORT = true;
EXITSTATUS = 1;
var extra = '';
var output = 'abort(' + what + ') at ' + stackTrace() + extra;
if (abortDecorators) {
abortDecorators.forEach(function(decorator) {
output = decorator(output, what);
});
}
throw output;
}
Module['abort'] = Module.abort = abort;
// {{PRE_RUN_ADDITIONS}}
if (Module['preInit']) {
if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
while (Module['preInit'].length > 0) {
Module['preInit'].pop()();
}
}
// shouldRunNow refers to calling main(), not run().
var shouldRunNow = true;
if (Module['noInitialRun']) {
shouldRunNow = false;
}
run();
// {{POST_RUN_ADDITIONS}}
// {{MODULE_ADDITIONS}}
var file = null;
/* Test if processed image has been mounted at input-new.png */
try {
/* read processed image data in file var */
file = FS.readFile("/input-new.png");
} catch (e) {
/* Cleaning up input png from MEMFS */
FS.unlink("/input.png");
return new Error("No output: " + stderr);
}
/* Cleanup files from */
FS.unlink("/input-new.png");
FS.unlink("/input.png");
return {
"data": file
};
}
pngquant.call(this);