Created
March 11, 2018 00:57
-
-
Save blizzardengle/44879ea323ac66bac89b0ce3be866a31 to your computer and use it in GitHub Desktop.
This is an updated copy of kripken's sql.js debug (un-minified) file found here: https://github.com/kripken/sql.js This version of the file has had the depreciated writeStringToMemory removed.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // This prevents pollution of the global namespace | |
| var SQL = (function () { | |
| // The Module object: Our interface to the outside world. We import | |
| // and export values on it. 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 check if Module already exists (e.g. case 3 above). | |
| // Substitution will be replaced with actual code on later stage of the build, | |
| // this way Closure Compiler will not mangle it (e.g. case 4. 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 = typeof Module !== 'undefined' ? Module : {}; | |
| // --pre-jses are emitted after the Module integration code, so that they can | |
| // refer to Module (if they choose; they can also define Module) | |
| // 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 = {}; | |
| var key; | |
| for (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 shell_read(filename, binary) { | |
| var ret; | |
| ret = tryParseAsDataURI(filename); | |
| if (!ret) { | |
| if (!nodeFS) nodeFS = require('fs'); | |
| if (!nodePath) nodePath = require('path'); | |
| filename = nodePath['normalize'](filename); | |
| 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; | |
| }; | |
| 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; | |
| } | |
| }); | |
| // Currently node will swallow unhandled rejections, but this behavior is | |
| // deprecated, and in the future it will exit with error status. | |
| process['on']('unhandledRejection', function(reason, p) { | |
| process['exit'](1); | |
| }); | |
| 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'] = function shell_read(f) { | |
| var data = tryParseAsDataURI(f); | |
| if (data) { | |
| return intArrayToString(data); | |
| } | |
| return read(f); | |
| }; | |
| } else { | |
| Module['read'] = function shell_read() { throw 'no read() available' }; | |
| } | |
| Module['readBinary'] = function readBinary(f) { | |
| var data; | |
| data = tryParseAsDataURI(f); | |
| if (data) { | |
| return data; | |
| } | |
| if (typeof readbuffer === 'function') { | |
| return new Uint8Array(readbuffer(f)); | |
| } | |
| 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; | |
| } | |
| if (typeof quit === 'function') { | |
| Module['quit'] = function(status, toThrow) { | |
| quit(status); | |
| } | |
| } | |
| } | |
| else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { | |
| Module['read'] = function shell_read(url) { | |
| try { | |
| var xhr = new XMLHttpRequest(); | |
| xhr.open('GET', url, false); | |
| xhr.send(null); | |
| return xhr.responseText; | |
| } catch (err) { | |
| var data = tryParseAsDataURI(url); | |
| if (data) { | |
| return intArrayToString(data); | |
| } | |
| throw err; | |
| } | |
| }; | |
| if (ENVIRONMENT_IS_WORKER) { | |
| Module['readBinary'] = function readBinary(url) { | |
| try { | |
| var xhr = new XMLHttpRequest(); | |
| xhr.open('GET', url, false); | |
| xhr.responseType = 'arraybuffer'; | |
| xhr.send(null); | |
| return new Uint8Array(xhr.response); | |
| } catch (err) { | |
| var data = tryParseAsDataURI(url); | |
| if (data) { | |
| return data; | |
| } | |
| throw err; | |
| } | |
| }; | |
| } | |
| 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); | |
| return; | |
| } | |
| var data = tryParseAsDataURI(url); | |
| if (data) { | |
| onload(data.buffer); | |
| return; | |
| } | |
| onerror(); | |
| }; | |
| xhr.onerror = onerror; | |
| xhr.send(null); | |
| }; | |
| if (typeof arguments != 'undefined') { | |
| Module['arguments'] = arguments; | |
| } | |
| if (typeof console !== 'undefined') { | |
| if (!Module['print']) Module['print'] = function shell_print(x) { | |
| console.log(x); | |
| }; | |
| if (!Module['printErr']) Module['printErr'] = function shell_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 (typeof Module['setWindowTitle'] === 'undefined') { | |
| Module['setWindowTitle'] = function(title) { document.title = title }; | |
| } | |
| } | |
| else { | |
| // Unreachable because SHELL is dependent on the others | |
| throw new Error('Unknown runtime environment. Where are we?'); | |
| } | |
| 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'; | |
| } | |
| if (!Module['quit']) { | |
| Module['quit'] = function(status, toThrow) { | |
| throw toThrow; | |
| } | |
| } | |
| // *** Environment setup code *** | |
| // Closure helpers | |
| Module.print = Module['print']; | |
| Module.printErr = Module['printErr']; | |
| // Callbacks | |
| Module['preRun'] = []; | |
| Module['postRun'] = []; | |
| // Merge back in the overrides | |
| for (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}} | |
| var STACK_ALIGN = 16; | |
| function staticAlloc(size) { | |
| assert(!staticSealed); | |
| var ret = STATICTOP; | |
| STATICTOP = (STATICTOP + size + 15) & -16; | |
| return ret; | |
| } | |
| function dynamicAlloc(size) { | |
| assert(DYNAMICTOP_PTR); | |
| var ret = HEAP32[DYNAMICTOP_PTR>>2]; | |
| var end = (ret + size + 15) & -16; | |
| HEAP32[DYNAMICTOP_PTR>>2] = end; | |
| if (end >= TOTAL_MEMORY) { | |
| var success = enlargeMemory(); | |
| if (!success) { | |
| HEAP32[DYNAMICTOP_PTR>>2] = ret; | |
| return 0; | |
| } | |
| } | |
| return ret; | |
| } | |
| function alignMemory(size, factor) { | |
| if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default | |
| var ret = size = Math.ceil(size / factor) * factor; | |
| return ret; | |
| } | |
| function getNativeTypeSize(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 4; // A pointer | |
| } else if (type[0] === 'i') { | |
| var bits = parseInt(type.substr(1)); | |
| assert(bits % 8 === 0); | |
| return bits / 8; | |
| } else { | |
| return 0; | |
| } | |
| } | |
| } | |
| } | |
| function warnOnce(text) { | |
| if (!warnOnce.shown) warnOnce.shown = {}; | |
| if (!warnOnce.shown[text]) { | |
| warnOnce.shown[text] = 1; | |
| Module.printErr(text); | |
| } | |
| } | |
| var functionPointers = new Array(64); | |
| function addFunction(func) { | |
| for (var i = 0; i < functionPointers.length; i++) { | |
| if (!functionPointers[i]) { | |
| functionPointers[i] = func; | |
| return 2*(1 + i); | |
| } | |
| } | |
| throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; | |
| } | |
| function removeFunction(index) { | |
| functionPointers[(index-2)/2] = null; | |
| } | |
| var funcWrappers = {}; | |
| function getFuncWrapper(func, sig) { | |
| if (!func) return; // on null pointer, return undefined | |
| assert(sig); | |
| if (!funcWrappers[sig]) { | |
| funcWrappers[sig] = {}; | |
| } | |
| var sigCache = funcWrappers[sig]; | |
| if (!sigCache[func]) { | |
| // optimize away arguments usage in common cases | |
| if (sig.length === 1) { | |
| sigCache[func] = function dynCall_wrapper() { | |
| return dynCall(sig, func); | |
| }; | |
| } else if (sig.length === 2) { | |
| sigCache[func] = function dynCall_wrapper(arg) { | |
| return dynCall(sig, func, [arg]); | |
| }; | |
| } else { | |
| // general case | |
| sigCache[func] = function dynCall_wrapper() { | |
| return dynCall(sig, func, Array.prototype.slice.call(arguments)); | |
| }; | |
| } | |
| } | |
| return sigCache[func]; | |
| } | |
| function makeBigInt(low, high, unsigned) { | |
| return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); | |
| } | |
| function dynCall(sig, ptr, args) { | |
| if (args && args.length) { | |
| return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); | |
| } else { | |
| return Module['dynCall_' + sig].call(null, ptr); | |
| } | |
| } | |
| var Runtime = { | |
| // FIXME backwards compatibility layer for ports. Support some Runtime.* | |
| // for now, fix it there, then remove it from here. That way we | |
| // can minimize any period of breakage. | |
| dynCall: dynCall, // for SDL2 port | |
| }; | |
| // The address globals begin at. Very low in memory, for code size and optimization opportunities. | |
| // Above 0 is static memory, starting with globals. | |
| // Then the stack. | |
| // Then 'dynamic' memory for sbrk. | |
| var GLOBAL_BASE = 8; | |
| // === 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 essentials | |
| //======================================== | |
| var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() | |
| var EXITSTATUS = 0; | |
| /** @type {function(*, string=)} */ | |
| 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 | |
| assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); | |
| return func; | |
| } | |
| 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() { | |
| stackSave() | |
| }, | |
| 'stackRestore': function() { | |
| stackRestore() | |
| }, | |
| // type conversion from js to c | |
| 'arrayToC' : function(arr) { | |
| var ret = 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 = 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. | |
| function ccall (ident, returnType, argTypes, args, opts) { | |
| var func = getCFunc(ident); | |
| var cArgs = []; | |
| var stack = 0; | |
| if (args) { | |
| for (var i = 0; i < args.length; i++) { | |
| var converter = toC[argTypes[i]]; | |
| if (converter) { | |
| if (stack === 0) stack = stackSave(); | |
| cArgs[i] = converter(args[i]); | |
| } else { | |
| cArgs[i] = args[i]; | |
| } | |
| } | |
| } | |
| var ret = func.apply(null, cArgs); | |
| if (returnType === 'string') ret = Pointer_stringify(ret); | |
| if (stack !== 0) { | |
| stackRestore(stack); | |
| } | |
| return ret; | |
| } | |
| 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; | |
| } | |
| return function() { | |
| return ccall(ident, returnType, argTypes, arguments); | |
| } | |
| } | |
| Module["cwrap"] = cwrap; | |
| /** @type {function(number, number, string, boolean=)} */ | |
| 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); | |
| } | |
| } | |
| /** @type {function(number, string, boolean=)} */ | |
| 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 getValue: ' + type); | |
| } | |
| return null; | |
| } | |
| 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_* | |
| /** @type {function((TypedArray|Array<number>|number), string, number, number=)} */ | |
| 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 : staticAlloc, stackAlloc, staticAlloc, dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); | |
| } | |
| if (zeroinit) { | |
| var stop; | |
| ptr = ret; | |
| 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(/** @type {!Uint8Array} */ (slab), ret); | |
| } else { | |
| HEAPU8.set(new Uint8Array(slab), ret); | |
| } | |
| return ret; | |
| } | |
| var i = 0, type, typeSize, previousType; | |
| while (i < size) { | |
| var curr = slab[i]; | |
| type = singleType || types[i]; | |
| if (type === 0) { | |
| i++; | |
| continue; | |
| } | |
| 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 = getNativeTypeSize(type); | |
| previousType = type; | |
| } | |
| i += typeSize; | |
| } | |
| return ret; | |
| } | |
| // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready | |
| function getMemory(size) { | |
| if (!staticSealed) return staticAlloc(size); | |
| if (!runtimeInitialized) return dynamicAlloc(size); | |
| return _malloc(size); | |
| } | |
| Module["getMemory"] = getMemory; | |
| /** @type {function(number, number=)} */ | |
| function Pointer_stringify(ptr, 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) { | |
| 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 UTF8ToString(ptr); | |
| } | |
| // 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); | |
| } | |
| } | |
| // 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); | |
| } | |
| // 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)); | |
| } | |
| } | |
| } | |
| } | |
| // 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); | |
| } | |
| // 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; | |
| } | |
| // 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) { | |
| return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); | |
| } | |
| // 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; | |
| } | |
| // 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) { | |
| 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) { | |
| // 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) { | |
| 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) { | |
| // 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) { | |
| return func; | |
| } | |
| function demangleAll(text) { | |
| var regex = | |
| /__Z[\w\d_]+/g; | |
| return text.replace(regex, | |
| 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); | |
| } | |
| // Memory management | |
| var PAGE_SIZE = 16384; | |
| var WASM_PAGE_SIZE = 65536; | |
| var ASMJS_PAGE_SIZE = 16777216; | |
| var MIN_TOTAL_MEMORY = 16777216; | |
| function alignUp(x, multiple) { | |
| if (x % multiple > 0) { | |
| x += multiple - (x % multiple); | |
| } | |
| return x; | |
| } | |
| var HEAP, | |
| /** @type {ArrayBuffer} */ | |
| buffer, | |
| /** @type {Int8Array} */ | |
| HEAP8, | |
| /** @type {Uint8Array} */ | |
| HEAPU8, | |
| /** @type {Int16Array} */ | |
| HEAP16, | |
| /** @type {Uint16Array} */ | |
| HEAPU16, | |
| /** @type {Int32Array} */ | |
| HEAP32, | |
| /** @type {Uint32Array} */ | |
| HEAPU32, | |
| /** @type {Float32Array} */ | |
| HEAPF32, | |
| /** @type {Float64Array} */ | |
| 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; | |
| 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 allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) 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'] || 16777216; | |
| if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); | |
| // Initialize the runtime's memory | |
| // Use a provided buffer, if there is one, or else allocate a new one | |
| if (Module['buffer']) { | |
| buffer = Module['buffer']; | |
| } else { | |
| // Use a WebAssembly memory where available | |
| { | |
| buffer = new ArrayBuffer(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) { | |
| Module['dynCall_v'](func); | |
| } else { | |
| Module['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() { | |
| if (runtimeInitialized) return; | |
| runtimeInitialized = true; | |
| callRuntimeCallbacks(__ATINIT__); | |
| } | |
| function preMain() { | |
| callRuntimeCallbacks(__ATMAIN__); | |
| } | |
| function exitRuntime() { | |
| callRuntimeCallbacks(__ATEXIT__); | |
| runtimeExited = true; | |
| } | |
| function postRun() { | |
| // 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); | |
| } | |
| function addOnInit(cb) { | |
| __ATINIT__.unshift(cb); | |
| } | |
| function addOnPreMain(cb) { | |
| __ATMAIN__.unshift(cb); | |
| } | |
| function addOnExit(cb) { | |
| __ATEXIT__.unshift(cb); | |
| } | |
| function addOnPostRun(cb) { | |
| __ATPOSTRUN__.unshift(cb); | |
| } | |
| function writeArrayToMemory(array, buffer) { | |
| HEAP8.set(array, buffer); | |
| } | |
| function writeAsciiToMemory(str, buffer, dontAddNull) { | |
| for (var i = 0; i < str.length; ++i) { | |
| HEAP8[((buffer++)>>0)]=str.charCodeAt(i); | |
| } | |
| // Null-terminate the pointer to the HEAP. | |
| if (!dontAddNull) HEAP8[((buffer)>>0)]=0; | |
| } | |
| 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; | |
| } | |
| assert(Math['imul'] && Math['fround'] && Math['clz32'] && Math['trunc'], 'this is a legacy browser, build with LEGACY_VM_SUPPORT'); | |
| 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 | |
| function getUniqueRunDependency(id) { | |
| return id; | |
| } | |
| function addRunDependency(id) { | |
| runDependencies++; | |
| if (Module['monitorRunDependencies']) { | |
| Module['monitorRunDependencies'](runDependencies); | |
| } | |
| } | |
| Module["addRunDependency"] = addRunDependency; | |
| function removeRunDependency(id) { | |
| runDependencies--; | |
| if (Module['monitorRunDependencies']) { | |
| Module['monitorRunDependencies'](runDependencies); | |
| } | |
| 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; | |
| // Prefix of data URIs emitted by SINGLE_FILE and related options. | |
| var dataURIPrefix = 'data:application/octet-stream;base64,'; | |
| // Indicates whether filename is a base64 data URI. | |
| function isDataURI(filename) { | |
| return String.prototype.startsWith ? | |
| filename.startsWith(dataURIPrefix) : | |
| filename.indexOf(dataURIPrefix) === 0; | |
| } | |
| // === Body === | |
| var ASM_CONSTS = []; | |
| STATIC_BASE = GLOBAL_BASE; | |
| STATICTOP = STATIC_BASE + 47648; | |
| /* global initializers */ __ATINIT__.push(); | |
| memoryInitializer = "data:application/octet-stream;base64,AQAAAAEAAAAAAAAAAAAAAAEAAAAAAAAA/v//fwAAAACwBAAAZAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAPoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//38ABgAAPUwAAAAAsOolBltCAAAAAABAj0AABgAAREwAAAAAAKVb0/xBAAAAAABM7UAABAAAS0wAAAAAALBQv55BAAAAAEB3S0EAAwAAOUwAAAAAAECLf1RBAAAAAHCZlEEBBQAALkwAAAAAAAAQjQVBAAAAANlP40ECBAAANEwAAAAAAACAvMxAAAAAsMReHUIAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqm0AAAMAAACmbQAAAwAAAPo9AAABAAEAggAAAP89AAABAAEAgwAAAAQ+AAABAAEAhAAAAAk+AAACAAEAhQAAAA4+AAACAAEAhQAAABQ+AAABAAEAhgAAABo+AAABAAEAhwAAACA+AAABAAEAiAAAACY+AAACAAEAiQAAADE+AAABAAEAigAAADk+AAABAAEAiwAAAEE+AAABAAEAjAAAAEU+AAABAAEAjQAAAEk+AAABAAEAjgAAAE0+AAABAAEAjwAAAFE+AAABAAEAkAAAAFY+AAABAAEAkQAAAFs+AAABAAEAkgAAAGA+AAABAAEAkwAAAGU+AAABAAEAlAAAAFJ4AAABAAEAlQAAAGk+AAABAAEAlgAAAG8+AAACAAEAlwAAAHU+AAABAAEAmAAAAHo+AAABAAEAmQAAAH8+AAABAAEAmgAAAIY+AAABAAEAmwAAAIs+AAABAAEAnAAAAJE+AAAAAAEBnQAAAJQ+AAACAAEAngAAAJ4+AAACAAEAnwAAAJ4+AAADAAEAnwAAAKg+AAACAAEAoAAAALA+AAACAAEAoQAAALk+AAABAAEAogAAAME+AAABAAEAowAAAMg+AAACAAEApAAAAM0+AAACAAEApQAAANI+AAACAAEApgAAANc+AAACAAEApwAAAAAAAACAMAAAgCAOAIAgyAMAAAAAgP///wD4//8AAP//ggAAAIIAAACCAAAAgwAAAIQAAACFAAAAgwAAAAAAAAACAAEIAAAAAAAAAACoAAAAAAAAALdMAAAAAAAAAgABCAAAAAAAAAAAqQAAAAAAAADLTAAAAAAAAAMAAQgAAAAAAAAAAKoAAAAAAAAA4UwAAAAAAAD/AAEoCAAAAAAAAACrAAAAAAAAAD1LAAAAAAAA/wABKAgAAAAAAAAArAAAAAAAAABHSwAAAAAAAP8AASgIAAAAAAAAAK0AAAAAAAAATEsAAAAAAAD/AAEoCAAAAAAAAACuAAAAAAAAAFFLAAAAAAAA/wABKAgAAAAAAAAArwAAAAAAAABaSwAAAAAAAAAAASAAAAAAAAAAALAAAAAAAAAAY0sAAAAAAAAAAAEgAAAAAAAAAACxAAAAAAAAAHBLAAAAAAAAAAABIAAAAAAAAAAAsgAAAAAAAACCSwAAAAAAAAEAASAAAAAAAAAAALMAAAAAAAAALEgAAAAAAAABAAEgAAAAAAAAAAC0AAAAAAAAAEZIAAAAAAAAAQABDAAAAAAAAAAAtQAAAAAAAABfSAAAAAAAAAIAAQwAAAAAAAAAALUAAAAAAAAAaEgAAAAAAAABAAEMAAAAAAAAAAC1AAAAAAAAAHNIAAAAAAAAAQABCAEAAAAAAAAAtgAAAAAAAAB6SAAAAAAAAAIAAQgBAAAAAAAAALYAAAAAAAAAekgAAAAAAAABAAEIAgAAAAAAAAC2AAAAAAAAAIBIAAAAAAAAAgABCAIAAAAAAAAAtgAAAAAAAACASAAAAAAAAAEAAQgDAAAAAAAAALYAAAAAAAAAhkgAAAAAAAACAAEIAwAAAAAAAAC2AAAAAAAAAIZIAAAAAAAA/wAhCAAAAAAAAAAAtwAAAAAAAACLSAAAAAAAAAAAIQgAAAAAAAAAAAAAAAAAAAAAi0gAAAAAAAABACEQAAAAAAAAAAC4AAAAhAAAAItIAAAAAAAA/wAhCAEAAAAAAAAAtwAAAAAAAACPSAAAAAAAAAAAIQgBAAAAAAAAAAAAAAAAAAAAj0gAAAAAAAABACEQAQAAAAAAAAC4AAAAhAAAAI9IAAAAAAAAAQCBCAAAAAAAAAAAuQAAAAAAAACTSAAAAAAAAAEAQQgAAAAAAAAAALoAAAAAAAAAmkgAAAAAAAACAAEIAAAAAAAAAAC7AAAAAAAAAKFIAAAAAAAA/wABCAAAAAAAAAAAvAAAAAAAAACnSAAAAAAAAAEAAQgAAAAAAAAAAL0AAAAAAAAArkgAAAAAAAD/AAEIAAAAAAAAAAC+AAAAAAAAALZIAAAAAAAAAQABCAAAAAAAAAAAvwAAAAAAAAC7SAAAAAAAAAEAAQgAAAAAAAAAAMAAAAAAAAAAv0gAAAAAAAACAAEIAAAAAAAAAADAAAAAAAAAAL9IAAAAAAAAAQABCAAAAAAAAAAAwQAAAAAAAADFSAAAAAAAAAEAAQgAAAAAAAAAAMIAAAAAAAAAy0gAAAAAAAABAAEIAAAAAAAAAADDAAAAAAAAANFIAAAAAAAAAgABCgAAAAAAAAAAtQAAAAAAAADVSAAAAAAAAAAAAQAAAAAAAAAAAMQAAAAAAAAA3EgAAAAAAAABAAEAAAAAAAAAAADFAAAAAAAAAONIAAAAAAAAAgAhCAAAAAAAAAAAxgAAAAAAAADuSAAAAAAAAAAAASAAAAAAAAAAALUAAAAAAAAA9UgAAAAAAAAAAAEgAAAAAAAAAADHAAAAAAAAAARJAAAAAAAAAgABCAAAAAAAAAAAyAAAAAAAAAAVSQAAAAAAAAEAAQgAAAAAAAAAAMkAAAAAAAAAIEkAAAAAAAAAAAEAAAAAAAAAAADKAAAAAAAAACZJAAAAAAAAAAABAAAAAAAAAAAAywAAAAAAAAA4SQAAAAAAAAAAAQAAAAAAAAAAAMwAAAAAAAAAQEkAAAAAAAADAAEIAAAAAAAAAADNAAAAAAAAAE5JAAAAAAAAAQABCAAAAAAAAAAAzgAAAAAAAABWSQAAAAAAAAIAAQgAAAAAAAAAAM8AAAAAAAAAX0kAAAAAAAADAAEIAAAAAAAAAADPAAAAAAAAAF9JAAAAAAAAAQABAAAAAAAAAAAA0AAAAIUAAABmSQAAAAAAAAEAAQAAAAAAAAAAANAAAACGAAAAakkAAAAAAAABAAEAAAAAAAAAAADQAAAAhwAAAHBJAAAAAAAAAAABAQAAAAAAAAAA0QAAAIgAAAB0SQAAAAAAAAEAAQAAAAAAAAAAANEAAACIAAAAdEkAAAAAAAABAAEAAAAAAAAAAADSAAAAiQAAAHpJAAAAAAAAAgABAAAAAAAAAAAA0gAAAIkAAAB6SQAAAAAAAAIADQiHSQAAAAAAANMAAAAAAAAAi0kAAAAAAAACAAUIkEkAAAAAAADTAAAAAAAAAJRJAAAAAAAAAwAFCJBJAAAAAAAA0wAAAAAAAACUSQAAAAAAAAEAAQgAAAAAAAAAAAAAAAAAAAAAmUkAAAAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAAJlJAAAAAAAA/wABCgAAAAAAAAAAtQAAAAAAAACZSQAAAAAAAAEAAAAAAAAAhgAAAIoAAACCAAAAggAAAIcAAACDAAAA1AAAAIIAAACDAAAAiwAAAIwAAAADAAAANAAAAAACAAAAAAAArEQAAAQNAACCAAAAhAAAAIIAAACDAAAAAAAAAAAAAAAAAAAAAAAAAIUAAACDAAAAhAAAAIYAAACFAAAAhwAAAIYAAACHAAAAAwAAADQAAAAAAgAAAAAAALFEAAAIDQAAggAAAIQAAACCAAAAgwAAAAAAAAAAAAAAAAAAAAAAAACFAAAAgwAAAIQAAACGAAAAhQAAAIcAAACGAAAAhwAAAAMAAAA0AAAAAAIAAAAAAAC7RAAADA0AAIIAAACEAAAAggAAAIMAAAAAAAAAAAAAAAAAAAAAAAAAhQAAAIMAAACEAAAAhgAAAIUAAACHAAAAhgAAAIcAAAADAAAANAAAAAACAAAAAAAAyEQAAAQNAACCAAAAhAAAAIIAAACDAAAAAAAAAAAAAAAAAAAAAAAAAIUAAACDAAAAhAAAAIYAAACFAAAAhwAAAIYAAACHAAAAiAAAAIkAAACKAAAAAQAAAIgAAACDAAAAhAAAAIgAAACLAAAAjAAAAI0AAACOAAAAjwAAAIkAAACJAAAAigAAAAAAAACEAAAAjQAAAJAAAACFAAAAhQAAAPdEAACKAAAAAAAAAPFEAACLAAAAAAAAAPxEAACRAAAAAAAAAANFAACSAAAAAAAAAApFAACTAAAAAAAAAA9FAACUAAAAAAAAABVFAACVAAAAAAAAAB9FAACLAAAAAAAAACVFAACMAAAAAAAAACpFAAAAAAAAAAAAADBFAAAAAAAAAAAAADhFAACNAAAAAAAAAD5FAAAAAAAAAAAAAEVFAAAAAAAAAAAAAE5FAACWAAAAAAAAAFVFAAAAAAAAAAAAAF9FAACMAAAAAAAAAGZFAACXAAAAAAAAAHRFAACYAAAAAAAAAHpFAACNAAAAAAAAAIBFAACOAAAAAAAAAIdFAACCAAAAAAAAAI9FAACCAAAAAAAAAJRFAACZAAAAAAAAAJtFAAAAAAAAAAAAAKJFAACDAAAAAAAAAK5FAACPAAAAAAAAALdFAACaAAAAAAAAAL1FAAAAAAAAAAAAAAAAAAAAAAAAMkYAADtGAABERgAApkMAAAMAAACOAAAAgwAAAIQAAACIAAAAiwAAAIwAAACbAAAAnAAAAJ0AAACJAAAAiQAAAIoAAAAAAAAAhAAAAI0AAACQAAAAhQAAAIUAAAADAAAAjwAAAIMAAACEAAAAiAAAAIsAAACMAAAAngAAAJ8AAACgAAAAiQAAAIkAAACKAAAAhgAAAIQAAACNAAAAkAAAAIUAAACFAAAAsEoAALhKAAC9SgAAwkoAAMdKAADNSgAAz0oAAORKAADwSgAA/EoAABRLAAAoSwAAAQAAAJAAAACHAAAAiAAAAJAAAAChAAAAogAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9UAAAsVAAAAAAAADxUAABVVAAAY1QAAHZUAACPVAAAnVQAAMJUAADOVAAA3VQAAP5UAAAQVQAAKVUAAEZVAAAAAAAAV1UAADBKAABzVQAAhVUAAJdVAAC5VQAA2FUAAAAAAADtVQAAB1YAADaTAABAkwAAS5MAAFeTAABikwAAbZMAAHiTAAB9kwAAgpMAAI2TAACZkwAAoJMAAKiTAACwkwAAtZMAALuTAADJkwAAz5MAANmTAADekwAA4pMAAOeTAADqkwAA8JMAAPqTAAABlAAACJQAAA+UAAAWlAAAIZQAACqUAAAwlAAAOpQAAESUAABJlAAAU5QAAF6UAABjlAAAapQAAHCUAAB2lAAAfJQAAIKUAACNlAAAkJQAAJSUAACflAAAp5QAALCUAAC2lAAAwJQAAMeUAADPlAAA0pQAANWUAADYlAAA25QAAN6UAADhlAAA65QAAPiUAAADlQAACZUAAA6VAAAVlQAAIpUAAC2VAAAylQAAOpUAAECVAABHlQAATJUAAFWVAABalQAAY5UAAGiVAABtlQAAc5UAAHuVAACFlQAAjZUAAJSVAAChlQAAppUAALKVAAC5lQAAv5UAAMmVAADUlQAA2JUAAOGVAADqlQAA8ZUAAPuVAAAClgAACpYAABGWAAAYlgAAIJYAACmWAAA0lgAAOpYAAEWWAABPlgAAWZYAAGKWAABslgAAdJYAAIKWAACQlgAAm5YAAKiWAACzlgAAuZYAAMWWAADOlgAA15YAAN6WAADolgAA75YAAPqWAAAIlwAAE5cAABuXAAAhlwAAKZcAADGXAAA+lwAASJcAAFKXAABflwAAaJcAAHCXAAB1lwAAe5cAAIeXAACTlwAAm5cAAKeXAAC0lwAAvpcAAMiXAADUlwAA4JcAAOqXAADwlwAA+pcAAAGYAAANmAAAFpgAAB6YAAAnmAAALpgAADiYAAA/mAAAR5gAAFCYAABWmAAAXpgAAGaYAABwmAAAeZgAAIOYAACNmAAAlpgAAJ+YAACqmAAAr5gAAAFXAAAGVwAADVcAABBXAAATVwAAFlcAABlXAAAcVwAAJFcAAC1XAAAzVwAAOFcAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGB/AAABAAAA33QAAAEAAAADAAEAAAAAAAAAAADVAAAAAAAAABF0AAAAAAAAAQABAAAAAAAAAAAA1gAAAAAAAAC+cwAAAAAAAAIAAQAAAAAAAAAAANcAAAAAAAAAQXIAAAAAAAACAAEAAAAAAAAAAADYAAAAAAAAADdyAAAAAAAAAQABAAAAAAAAAAAA2QAAAAAAAAAjcgAAAAAAAEtyAABvcgAAfHIAAAAAAACJcgAAAAAAAIp2AAABAAAAjXYAAAIAAACQdgAABgAAAJR2AACAAAAAAAAAAAAAAAB7dgAAAAACAIJ2AAAAAAQAAAAAAAAAAAB7eAAAABQAAAgAAACKeAAAAZUAAAAAAACWeAAAAhQAAACAAACmeAAAAxAxAQAAAACidwAABJUAAAAAAACzeAAABZQAAAAAAAC/eAAABgIAAAAAAADTeAAAAhQAAAAAIADjeAAAAhQAABAAAAD4eAAABxAgAgAAAAAHeQAACBAAAAAAAAAXeQAAAhQAAIAAAAAleQAAABgAAA8AAAAyeQAAChEaAwAAAABAeQAAC5UAAQAAAABTeQAAAhQAAAAACABmeQAAAhQAAAABAAB9eQAADBQAAAAAAACGeQAADREqBAAAAACYeQAADmEiCAAAAACpeQAAAhQAAABAAAC2eQAAABgAAAAAAADFeQAAAhQAAAQAAADXeQAAAhQAAAgAAADheQAAAhQAAAACAAD6eQAAEAMAAAAAAAANegAAEWEMAwAAAAAYegAAEmEVBQAAAAAjegAAEWEPBgEAAAAvegAAEzEAAAAAAAA/egAAFJEAAAAAAABMegAAFZAAAAAAAABfegAAAhQAAAIAAAByegAAF5AAAAAAAAB/egAAGJEAAAAAAACOegAAGQAAAAAAAACYegAAGyEAAAAAAAChegAAGJEAAAAAAACsegAAHJQAAAAAAAC2egAAAhQAAAAAEADBegAAEzEAAAAAAADNegAAAhQAAAAEAADeegAAAhQAAAAgAADxegAAAhQAAAAQAAALewAAABQAAAEAAAAaewAAHhAAAAAAAAAoewAAAhQAAEAAAAA7ewAAHwIAAAAAAABJewAAIBAAAAAAAABZewAAIZUAAAAAAABlewAAImEBBgAAAABwewAAIxQAAAAAAAB7ewAAJAQAAAAAAACQewAAJRAAAAAAAACYewAAABQAAAYAAAClewAAJgAAAAAAAAC4ewAAJwEuAwAAAADHewAAAhQAAAEAAAAAAAAAAAAAAIMAAACjAAAAkQAAAAAAAACkAAAAkgAAAIkAAACTAAAAlAAAAJEAAAClAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJ3AACtdwAAsXcAALZ3AAC7dwAAw3cAAM53AAAScgAAbGMAANF3AADWdwAA23cAAOB3AACtdwAAsXcAAOB3AACtdwAAsXcAAOZ3AADrdwAA8HcAAPR3AACxdwAA+HcAAP93AAAGeAAA9HcAALF3AAAOeAAAsXcAABN4AACxdwAA9HcAALF3AAAbeAAA9HcAAB54AAAzVwAAJHgAACd4AAAxeAAAO3gAAB54AAD3YAAAQXgAAEh4AABNeAAAUngAAFZ4AABjeAAAa3gAAHR4AAARfwAAGH8AACB/AAA8fgAAlHYAACR/AAANfwAAD38AAM53AAACfgAAAQAAAGx+AAABAAAAcn4AAAIAAAB7fgAAAwAAAIR+AAACAAAAjH4AAAMAAACUfgAAAAAAAJt+AAAAAAAAAAAAAAAAAAA7eAAAQAAAAItJAABCAAAAlEkAAEEAAAAnggAAQwAAAOC4AABLigAAUYoAAFaKAABbigAAFJMAAB2TAAAkkwAAKpMAAOoDAAAAQAAA6wMAAAAABADsAwAAAABAAO0DAAAAAAEA7gMAAAAIAADvAwAAAACAAADKmjsAypo70AcAAOgDAAD0AQAAgLLmDn8AAAAKAAAAUMMAAOcDAADoAwAAAAAAAAAAAACEAAAAhAAAAKYAAACVAAAAlQAAAKcAAACWAAAAigAAAJcAAACYAAAAkgAAAKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJMAAACZAAAAhgAAAJoAAACFAAAAAAAAAAAAAACUAAAAmwAAAIcAAACcAAAAhgAAAAAAAAAAAAAAlQAAAJ0AAACIAAAAngAAAIcAAAAAAAAAAgAAAIgAAACJAAAAqQAAAJ8AAACgAAAAqgAAAKEAAACLAAAAogAAAKMAAACWAAAAqwAAAIkAAACkAAAApQAAAKYAAACnAAAAjAAAAKwAAACtAAAArgAAAK8AAAAAAAAAigAAAIoAAACwAAAAqAAAAKgAAACxAAAAqQAAAI0AAACqAAAAqwAAAJcAAACyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiaAADaAAAAsJoAANsAAACYegAA3AAAALiaAADdAAAAF6UAAEOlAACHpQAAo6UAAMClAADbpQAA96UAABCmAACZnAAAHp0AANqcAADingAAtZ8AAC6fAAAopgAAV5wAAMudAABZnQAAXKYAAIOmAACvpgAAaKAAAC2cAABwpAAA4LgAAOC4AACUnQAALKEAAOqhAAANowAAdKMAADakAABhogAAq6MAAMyiAAD6owAAuqEAAPadAABgngAAqZ4AAJCnAAACAAQAk6cAAAMBAwCXpwAAAwECAJunAAAEAAEAuJoAAAkAAADZqwAABgAAAG+pAAAIAAAAeKkAAAoAAAAtVwAABQAAAESpAAAHAAAA4KsAAAoAAADrqwAACgAAAP///////wD8AQAA+AEAAPgwAAAAB+gAAAZsAQAv7AEAB6wCAAHQAgAD2AIAAewCAAH8AgABXAMAAdwDAAQICwAOSAsAB5QLAAG0CwCBvAsAAdQNAAH4DQACEA4AARwOAAHYDwAICBIABmgVAAIkFgABPBYAN0QWAALMFwAFABgAFhgYAAJ4GAAVLBkABKgZAAHAGQABUBsAD1gbAAecGwAC9BsADgAcAAE8HAABRBwAG8AcAAuYHgAJrB8ABNgfAARYIAAJbCAAA5QgAAWkIAAPwCAAA2QhAAF4IQAbkCMABAAkAAPoJAAS+CQAB0QlAASIJQABwCUAAwQmAAHwJgAH+CYAAhwnAAMsJwABXCcAAognAALIJwAC6CcAAwQoAAHwKAAF+CgAAhwpAAMsKQABRCkAAsApAAHUKQADBCoAAfAqAAj4KgADHCsAAywrAAKIKwACwCsAAwQsAAHwLAAH+CwAAhwtAAMsLQACWC0AAogtAAHALQABCC4ABfguAAMYLwAEKC8AAVwvAAjMLwADBDAAB/gwAAMYMQAEKDEAAlQxAAKIMQAB/DEAAggyAAHwMgAH+DIAAxgzAAQoMwACVDMAAogzAAIINAAH+DQAAxg1AAQoNQABXDUAAog1AAHkNQACCDYAASg3AAY8NwABWDcACGA3AAPINwABxDgAB9A4AAH8OAAJHDkAAmg5AAHEOgAG0DoAAuw6AAYgOwAfBDwADNA8ABfEPQALND4AJGQ+AA/4PgANOD8AFKxAAAYoQQAEWEEAA3hBAAOIQQAHnEEABMRBAAwIQgABPEIABmhCAAHsQwAMdE0ACkBOAAEAUAACtFkAAQBaAAJsWgADrFsAA0hcAAXIXAACSF0AAshdACPQXgAEYF8AAXRfAA8AYAABpGIADIBkAAzAZAABAGUAAhBlABHAZgACIGcAInhnAAVcaAACeGgAClRpAB2AaQAB/GkAB4BqAAagagAFAGwAEdBsACNobQADAG4ADYRuAA6YbwAE8G8AFJBwAAXscAAC+HEACABzABlAcwABtHMAA8hzACcAdwAE8HcAAfR+AAP8fgADNH8AA3R/AAO0fwAC9H8AZQCAAAaogQAF6IEABSiCABqAggAhQIMAAgCEAAQMhAACIIQAAVCEAANYhAAGeIQAAZSEAAGchAABpIQAAbiEAALohAAFAIUABCiFAAE8hQBkQoYAJwCQAAsAkQBOcJIAAAKUAHUEnAC5U54ACkCtAAaUswADvLMABOSzAAL4swABwLUAAfy1AE+AtwAMwLgAGgC6AFlsugDWALwADMC/AAUAwAAZIMAAB6jAAALYwAAD9MAABGTCAAGAwgAB7MMAAkDGAApYxgAkAMcAHwDIAB6oyAABQMkAIIDJACcoygA/AMsAAAHMAEAANwE3QJICAviTAgM0mAIQvJkCAXyaAgjAmwIXAJwCAoCcAgIkngIBCKACARigAgEsoAIJjKACBNigAgTQoQICAKICEdCiAgI4owISgKMCA+CjAgqYpAINHKUCAXylAgQApgIbzKYCAninAg6kqAIBDKkCAjCpAgRwqQID3KkCAeypAgHAqgIDyKoCAtyqAgL4qgIBBKsCAnirAgesqwIC1KsCC4yvAgEAYAMC/G0DAvxvAwH8fwMBeOwDAaTsAxDI7gMC+PQDAvD3AxoA+AMHgPgDI8D4AxNQ+QMEoPkDAfz7Aw8E/AMHaPwDBuz8Awts/QMHgP8DB6D/AwXk/wMDAAQECdwEBBHkBQQMQAYELkAHBAF8DgQBQA8EAVwhBAF8JAQB/CQEAwQoBAIUKAQEMCgEA+AoBAH8KAQJQCkEAfwpBAfkLAQDAEAEFuBABAMAQgQSwEIEAwBEBA6cRAQEAEUEAwBGBA7MRgQEFEcEDaxaBATAkQQuRL0FBDy+BfYAQAcnAEQHtaREB0YASAdXAEwHAQRbBwFsWwcB7FsHAVRcBwHUXAcBPF0HAbxdBwEkXgcBpF4HAQxfBwLAuwcsAMAHZMDABw+AwgcOxMIHDwTDBw9EwwcfQMQHPMDEByvAxQcdmMcHK0DIBwkAyQcCQMkHIQDMBwbAzAdG3MwHFADOByWAzgcFGM8HEYDPBz8A0AcBANEHtgjRBwTk0wc+ANQHBADVBxhA1QdG7NcHCxTZB0YA2gd0ANwHAQQAOGCAADjwAAQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACguAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwADgAYAB8AOwAPJwAAAgACAAgACQAOABAAFAAXABkAGQAdACEAJAApAC4AMAA1ADYAOwA+AEEAQwBFAE4AUQBWAFsAXwBgAGUAaQBtAHUAegCAAIgAjgCYAJ8AogCiAKUApwCnAKsAsACzALgAuAC8AMAAxwDMANEA1ADaAN0A4QDqAPAA8ADwAPMA9gD6APsA/wAFAQkBEAEWASIBKAExATMBOQE+AUABRwFMAVEBVwFdAWIBZgFpAW8BcwF6AXwBgwGFAYcBkAGUAZoBoAGoAa0BrQG9AcQBywHMAdMB1wHbAd8B4wHmAegB6gHwAfQB/AEBAgkCDAIRAhYCHAIgAiUCYwF4A/0DjQMnBCcEJwQnBBQA7f9CAEIAqgAnBCcEJwQnBCcEJwQnBPn/+f8kAEkARQAbAHYA3gASAUYBegGuAeIBFgJNAoQCuAK4ArgCuAK4ArgCuAK4ArgCuAK4ArgCuAK4ArgCuAK4AuwCuAIfA1EDUQPUAycEJwQnBCcEJwQnBCcEJwQnBCcEJwQnBCcEJwQnBCcEJwQnBCcEJwQnBCcEJwQnBCcEJwQnBCcEJwQnBCcEOwQnBCcEJwQnBCcEJwQnBCcEJwQnBCcEJwQnBNX/YARgBGAEYARgBOH/uP+s//IAgASbAtIA0gDyADUBUAHJ/x4GHgYeBlIDUgNSA3ICcgJMAkwCggPdAAgB8gDyAPIA8gDyAPIA8gDyAPIA8gDyAPIA8gDyAPIA8gDyAPIA8gDyAPABowIhASEBUAEAAAAAAAAAAAAAAAAeBh4GHgY6AmIAYgC+A4UBwgHIA/UDCAQDBPIA8gDyAPIA8gDyAPIA8gDyAPIA8gDyAPIA8gDyAPIAOgQ6BDoE8gDyABUC8gDyAPIA2wPyAPIAuATyAPIA8gDyAPIA8gDyAPIA8gDyALMBEwLpA+kD6QNAA7IB8gRSAjoAXwNfA7gDOgC4A7ID4gLvAJEAXwMNApEAkQA7AYcCFgOWBF8EXwS0BLQEXwTiBNAEewTvBO8E7wTvBF8E8QR7BOIE0ATQBHsEXwTxBKIEEQVfBF8E8QRcBV8E8QRfBPEEXAUOBQ4FDgU+BVwFDgUVBQ4FPgUOBQ4FBgUaBQYFGgUGBRoFBgUaBV8EdgVfBAUFXAU2BTYFXAUYBRwFGwUdBXsEhAWFBZQFlAWfBZ8FnwUeBh4GHgYeBh4GHgYeBh4GzABBAa0B0wFCAvEBiAPjAhsEGQMaAx4DIAMiA0YDAAP+AiED+gJPA1UDLAN7A6kCEAOAA2AD5AOxBbMFoQUqBaoFaQWrBaUFpgVGBTwFUQVIBa0FSQW1BcYFTQVHBZYFlwWYBZkFWgVvBa4FVwXRBc4FvgVqBUsFlQW/BZoFkAWyBXEFxwXKBc0FcgV4Bc8FogXQBdIFzAXTBagFywXVBawFyAXYBdkF2gXbBX4F1gXcBd4F3QV8BeEF4gWbBd8F5AWABeMF4AXlBeYF5wXjBekF7AXtBesF7wXxBf4F8wX1BfQF9gX3BfkF+gX2BfwF+wX9Bf8FAQaTBZ4FoAWjBQIGBgYaBkQBKwWbAJsAAgDLAF4AXgBeAF0AXgFiAGIAYgBiAFsAXwBfAF4AXgBeAF0AXgEMAWMAZABaAMsDywNPA1IDRwNHA2EAYQBiAGIAYgBiAF4ByQNgAGAAYABgAF8AXwBeAF4AXgBdAF4BtgNgAGAAYABgAF8AXwBeAF4AXgBdAF4B+gBgAGAAYABgAF8AXwBeAF4AXgBdAF4B4ADgAMkDhAB4A1wBWwGfAawARAEGBcEBngG2A7cDuAMoA9EDCAS2AywBEgOsAYQAzwNqAdADCQAJABMDhAA0ADQAYwBkAFoAywPLA08DUgNHA0cDYQBhAGIAYgBiAGIAdAHSA/EA0gMGAXEBBQF4ALYDtwO4A8IAOgBEAZEBjgGNASgDqwGtAUsAKAPsBOwEhACMAWAAYABgAGAAXwBfAF4AXgBeAF0AXgFjAGQAWgDLA8sDTwNSA0cDRwNhAGEAYgBiAGIAYgASAwYBcQEFAToDBgFsAfsAEwM8BGUAWgRIAEQB4wBZBPIAmwG6ATMDXABZALIAMgP+AwwBYABgAGAAYABfAF8AXgBeAF4AXQBeAWMAZABaAMsDywNPA1IDRwNHA2EAYQBiAGIAYgBiAMEBdAEyAzIDNANcAFkAsgA8AFwAWQCyAAEERAFlAaIDJAUsAT0AJAU0ADQARANEA1ADUwNgAGAAYABgAF8AXwBeAF4AXgBdAF4BYwBkAFoAywPLA08DUgNHA0cDYQBhAGIAYgBiAGIAXABZALIAqwGcAcYAogMlBcYB4wMlBWMBAAREAfMA5wByABUBXAFbAdoEtgOgAS8EoANIA2AAYABgAGAAXwBfAF4AXgBeAF0AXgFjAGQAWgDLA8sDTwNSA0cDRwNhAGEAYgBiAGIAYgDBAUgBwQF4ABcAAAG2A7cDuAPIA9IDtgHSA0QBSQGgA7oDvQLIAK8ANAA0ADQANACrA2EBYABgAGAAYABfAF8AXgBeAF4AXQBeAWMAZABaAMsDywNPA1IDRwNHA2EAYQBiAGIAYgBiAGIBwQG6A6sBoQGrAaoBCgVcAFkAsgAMAf0ARAH/ACIEDQS2Al0AXgF/ATQANAB8ASIEdgFgAGAAYABgAF8AXwBeAF4AXgBdAF4BYwBkAFoAywPLA08DUgNHA0cDYQBhAGIAYgBiAGIA5ADBAacAwQGrAZcBnQC+Ab4BvgFdAV0BXQFEATYBPAHfAzsDQAHyAJsBMwAzACQAJAD+AGAAYABgAGAAXwBfAF4AXgBeAF0AXgFjAGQAWgDLA8sDTwNSA0cDRwNhAGEAYgBiAGIAYgDCADwBoQORAY4BjQHgAOAA8QSrA2EBJgU9AUQBjAEnBCcELQOeASUEJQS2AysBwAHgAwwBYABgAGAAYABfAF8AXgBeAF4AXQBeAWMAZABaAMsDywNPA1IDRwNHA2EAYQBiAGIAYgBiAPUCEQTBAX0DfQOCAbYDtwO4A5oB4APrAusCRAHlAAwB3QAoAQwBAwN6A3oBNAA0AHoDpQFgAGAAYABgAF8AXwBeAF4AXgBdAF4BYwBkAFoAywPLA08DUgNHA0cDYQBhAGIAYgBiAGIAZwDBARMBgAHZBFcBnQC3BI0DnQKeAp8CsADFAMQAwwBEASoBPwHyBAIAJQAlAI4DbgQQBGAAYABgAGAAXwBfAF4AXgBeAF0AXgG5Ao8DsQBjAGQAWgDLA8sDTwNSA0cDRwNhAGEAYgBiAGIAYgDmAJIAeADfAtMEOgMOAXUEEQF1BAMDqwCqAOACdQRSAEQBUAAMAbkCMwOeAAwBegEyA04AYABgAGAAYABfAF8AXgBeAF4AXQBeAXgAtgOJAWMAZABaAMsDywNPA1IDRwNHA2EAYQBiAGIAYgBiADIDMgM0A3UELgRyAUsBhQAqBHUE4gTGAAwBRAH4A0oB9QBNARgATgG2A7cDuANwAU8BUQBgAGAAYABgAF8AXwBeAF4AXgBdAF4BYwBkAFoAywPLA08DUgNHA0cDYQBhAGIAYgBiAGIAhAALAQQBvQFKAd8ArwAJBZ0D8ALUAj4BMQREAe8C9gCBAS0BLQF6AUkBaQFYAZ4B0QQYAWAAYABgAGAAXwBfAF4AXgBeAF0AXgFjAFgAWgDLA8sDTwNSA0cDRwNhAGEAYgBiAGIAYgBRAVoB0QLSAsEBeAB2AHcDogB3AyoDcwFEAcoAygB1AfkABwHKAIoBSgDAAtAALQQMAAwAYABgAGAAYABfAF8AXgBeAF4AXQBeAWQAWgDLA8sDTwNSA0cDRwNhAGEAYgBiAGIAYgDBAQMD6ADBARYBeAAeAUoAwALKAskCRAFWAe0CbQO5BE0AHQHnBAwDNAA0AMoAGwAbAKIBYABgAGAAYABfAF8AXgBeAF4AXQBeAVoAywPLA08DUgNHA0cDYQBhAGIAYgBiAGIAVgC8AW0DAwCpBKYB9QNpA7MBdgPQAHYDsQJDBAEBdAA2A78BzgR1AM0EVgC8AbEAAwB9AWAAYABgAGAAXwBfAF4AXgBeAF0AXgFTAb8BeABfAXgA1ACpAB8BlAEaAZMBxwADA7YDsQGjAbcBNgMYAbMCDwQIAQ0BhABfAZkAOgN4AUoAEAESARQBUwBUAB4EsQGTAA4EuwFVAF8BwwHCARkBhAAyAxkAOgPBAXgAtgO3A7gDUwBUAFYAvAGzAgMAmAFVAF8BwwHCAcEBBQAyA8sAIAAgAFMEeAC/AbYD4QB0BDIDMgM0AzUDEwDLAOIAtgMmACYAPwQ6AToBOQHXADcBeADBAaYCXwHtADIDMgM0AzUDEwDJA5kBeQEBALEBtADCAvgAtgO3A7gDCgAKAMEByQP3ADoDSgS2A7cDuAOuAVMAVAD0AlABtgMUAK8BVQBfAcMBwgEKAAoAMgNWALwByQMDALYDwQEuAS8BtgC2A3oEUgH9A/cD7AO3AMkDvwGEALUATAC8ARUAAwDBAQoACgC2A7cDuAMyAzIDNAM1AxMAywL/BL8BhQHpAF8BtgO3A7gDCgAKALYDtwO4A+sD2gCxAe0DRQH5BAUDIQEjAagBJQFfAQcAnwA6A2sBkgE7AWgBaQRTAFQAsQHQBMwCBAMDAVUAXwHDAcIBZgF3ATIDOgNoAWcBjwG7BJ0AUwBUAKkCYgBiAGIAYgBVAF8BwwHCAUMB/AAyAycBuwS9BNMErQANBBwBsgFUAbQEMgMyAzQDNQMTADQB6gDBAeoAYABgAGAAYABfAF8AXgBeAF4AXQBeATIDMgM0AzUDEwCNA3gAJwAnALMEwQGoAGgBwQH8BG8BwQGHAMEB2gOOA8EB4QTBAd8EwQHNANcDwQFyASgAKAC7BCkAKQCPAyoAKgAcABwAZgMdAB0AHwAfACsAKwB7ASwALADBATsAwQFMAcEBsAE+AJAAnADBAYIAwQFIAMEBiQDBAW0BwQGIAYsALQAtAAsACwAuAC4AjACwBMEBaQBpAC8ALwAwADAAIQAhADEAMQBmBMEBjQBuAcEBuQCOAMEB0gQyADIAwQGgAMEBlADBAXAEfgHBAUMAwQEiACIAwQF6AHoAwQF7AHsAwQGuBHwAfAA4ADgAIwAjAMEBagBqADUANQDBAWsAawDBAWwAbADBAWgAaADBAZYBwQGEAcEBvQB5AHkAwQG+AMEBdwB3AMEBcABwAMEBbwBvAMIEbQBtAG4AbgA3ADcACgHwAjkAOQA2ADYA7wIaABoASwQeAB4A2wCaAIYBDwG/AEEB7gPAAJUBIQQgBB8EVQEYBMICFwQFBEIBpAEEBEcARwQbASABAwQIBcwABgApAU8AoAS1AUgERgQiAVkBJAG5AUUEJgFmAKkBSQCnAdUA9AMWAMQBsQPWADUE2ADZAO4AxQEyATABMwHvAPAA6QMxAX0A5AN+AHMA6wB/AJkCYAGmAPQAswBkAXEAdQNzAyYDiACAAOICRgGKAEcBAgG4AIMDjwCBAJEAPwBAAEEAQgCGA7oAuwCCAwgADQC8AIYACQF7A8oA1AODAZYAlQCoAqEAhwHBAB0BFwGLAZcARADNAg4ADwCQAUUAEACDAOwAOQM4A1UD6gLuAgQARgCuAJ0B3ADeAJgACwMGA00AZANKAFYDyQARAFQDjAPOAIsDzwASAFkDpgOjALQB0gCnA6QA0QClALgBWAM3AzgBsgJXANMANQEBBawD4wMABfYE7ATsBOwEqQSpBKkEqQTsBEAEXQRdBNwEKgUqBSoFKgUqBSoFqAQqBSoFKgUqBewERARjBCoFKgUqBSoFqgSrBCoFKgUqBdsE3QRtBGwEawRqBMoEUARoBGEEZQSqBKQEpQSjBKcEqwQqBWQEhgSUBIUEKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgWOBJMEmgSSBI8EiASHBIkEigQqBfMDIwQqBSoFKgWLBCoFjASXBJYElQTjBP4E/QQqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgX2BOwE+QP5AyoF7ATsBOwE7ATsBOwE6AREBDsEKgUqBSoFKgUqBSoFKgUqBSoFKgUqBeAE3gQqBbgEKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBUAEKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoF+AQqBcUEQARABEAEQgQwBDoE5QNnBFIEUgQfBWcEHwUKBAwFBwRdBFIEpgRdBF0EQQQ6BCoFIgVJBEkEIQUhBUkEcgQmBGcELAQsBCwELARJBPADZwRyBCYEJgRnBEkE8APJBBwFSQRJBPADsQRJBPADSQTwA7EEJAQkBCQEGQSxBCQECgQkBBkEJAQkBFYEUQRWBFEEVgRRBFYEUQRJBKwESQQqBbEEtQS1BLEEYgRXBGAEXgRnBPYDHAT7BPsE9wT3BPcEJwUnBegEBwUHBQwEDAQHBSoFKgUqBSoFKgUqBQIFKgW6BCoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBXcEKgXhA+UEKgUqBeQEKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBR4FKgUqBSoFKgUqBSoFyATHBCoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUqBSoFKgUyBCoFKgUqBRAFKgUqBSoFKgUqBSoFKgVfBCoFWAQqBSoFFQUqBSoFKgUqBSoFKgUqBSoFKgUqBe4EKgUqBSoF7QQqBSoFKgUqBSoFeQQqBXgEfAQqBeoDKgVx/7//jABIA0wAtAC2AOkA6AHn/wwAEAA7AHUDiwOnA4YBwQK6Ax0B5QP5A/oDiv8BBIsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrAKsAqwCrALv/HwG5AZICxAJYAxoEMQQ0BDcEOQQ8BD4EQARDBFkEWwRdBGIEZARmBGgEagR1BIEEhASHBIsEjQSPBJIElASXBJoEnQSlBKoErQSwBLMEtQS3BLsEvQTABMMEqwCrAKsAqwCrAKsAqwCrAKsAMQCwANwAEwEWASIBqwAsAasAqwCrAKsAq/+r/6v/5P9NADkBPQHI//wA/AC+AX//8wBpAZMBlgEBAgUCmQH2AQYC+AH9AW0CKQIyAmsCLwJdAGwC0QHFASYCTwI7AmcCmgLuAvACHQMzA88BJAK3/xwARAB4AAEBzgBnAZUBnQHEAckBMAI2AmkCngLQAtMCAQMFAwcDDAMtAy4DNQM2AzcDOgNoAbQBDwM9A0MDwwJeA2MDbgM+A48DkwNzA6gDqQOsA2cBrgOvA7AD0wPWA9gDdgODA6ADoQOjA8MCswOxA+YDtQOkA8kDlgO5A5wD4APtA/ID+APLA8UD+wMZBOgDBAQyBN0DNgQ4BAIEBwRVBB0EQgRPBEQESwRaBF4EfAR/BFcESARpBGsEbQSKBLIEcgR6BM8E0gS2BMIE1QTXBNgE2gTFBMwEzQTOBMgE0QTTBNQE2QTKBNsE3ASuBLEEuQS8BLoEvgS/BMEE7ASvBO4ExATfBMYExwTlBNYE3QTjBN4E4QT8BP8ECQULBRAFFgUZBckEywTgBAoFDAUABQEFDwUhACAAHgAcABoAAAACAAMABQAGAAcACAAJABAQAhAQAAICQQAOGrUAQAHAAA4X2AAOBwABATAyAQEGOQEBEEoBAS54AXQBeQEBBn8BaAGBATIBggEBBIYBLAGHAQABiQEqAosBAAGOASABjwEmAZABKAGRAQABkwEqAZQBLgGWATQBlwEwAZgBAAGcATQBnQE2AZ8BOAGgAQEGpgE8AacBAAGpATwBrAEAAa4BPAGvAQABsQE6ArMBAQS3AT4BuAEAAbwBAAHEAQIBxQEAAccBAgHIAQABygECAcsBARLeAQES8QECAfIBAQT2AXoB9wGGAfgBASggAm4BIgIBEjoCRgE7AgABPQJsAT4CRAFBAgABQwJqAUQCHAFFAh4BRgIBCkUDJAFwAwEEdgMAAYYDEgGIAxADjAMaAY4DGAKRAw4RowMOCcIDAAHPAwQB0AOMAdEDjgHVA5IB1gOQAdgDARjwA4gB8QOKAfQDggH1A4AB9wMAAfkDmAH6AwAB/QNuAwAEIhAQBA4gYAQBIooEATbABAYBwQQBDtAEAVgxBRYmoBBCJscQQgHNEEIBAB4BlpsehAGeHmABoB4BYAgflggYH5YGKB+WCDgflghIH5YGWR+XCGgflgiIH5YImB+WCKgflgi4H5YCuh9+ArwflAG+H2QByB98BMwflAHYH5YC2h94AugflgLqH3YC7B+YAfgfcAL6H3IC/B+UASYhYgEqIVwBKyFeATIhDAFgIQgQgyEAAbYkChoALBYvYCwAAWIsWAFjLGYBZCxaAWcsAQZtLFQBbixWAW8sUAFwLFIBciwAAXUsAAF+LE4CgCwBZOssAQTyLAABQKYBLoCmARgipwEOMqcBPnmnAQR9p0wBfqcBCounAAGNp0oBkKcBBKCnAQqqp0gBIf8OGgEAAgAIAA8AEAAaABwAIAAlACYAKAAwAD8AQABFAEcATwBQAHQAygDLAM0AzgDPANEA0gDTANUA1gDZANoA2wAHA2AcKCorKrxa2Fr8dcHV4dXi1eTVA9YJ1hnWQd+630Hio+L74xrx9P49/13/fv+A/4L/h/+Q/5z/n/+q/7b/wP/E/8b/yP/K/9D/4v/n/+r/8f/3//j/+f8AAAUHOAdDB2MHiAeUB8sH6Af4BwwIPgh4CJ4I2AjuCCgJTwmoCbgJ1AkkCmwKrAreChoLTguKC6gLuAvUCwgNgA1wDoAOkA6gDjgPSA9YD4APqA/IDwoQKhBKEGoQihCqEMgQ2BD4EDgRSBF4EZgRBBg2GHgYiBjYGB0ZaRmBGQjwHPBe8JjwyvD48AjxHvFY8WjxjPG48drx/PEu8qryyvL48grzXvOc8+rzDvRI9Fr0ePSM9LD0uPTA9Mj0CvXM9Ur2avYq9573YWNvcwBhc2luAGF0YW4AYXRuMgBhdGFuMgBhY29zaABhc2luaABhdGFuaABkaWZmZXJlbmNlAGRlZ3JlZXMAcmFkaWFucwBjb3MAc2luAHRhbgBjb3QAY29zaABzaW5oAHRhbmgAY290aABleHAAbG9nMTAAcG93ZXIAc2lnbgBzcXJ0AHNxdWFyZQBjZWlsAGZsb29yAHBpAHJlcGxpY2F0ZQBjaGFyaW5kZXgAbGVmdHN0cgByaWdodHN0cgByZXZlcnNlAHByb3BlcgBwYWRsAHBhZHIAcGFkYwBzdHJmaWx0ZXIAc3RkZXYAdmFyaWFuY2UAbWVkaWFuAGxvd2VyX3F1YXJ0aWxlAHVwcGVyX3F1YXJ0aWxlAGFyZ2M9PTEAYy9leHRlbnNpb24tZnVuY3Rpb25zLmMAYWNvc0Z1bmMAYXNpbkZ1bmMAYXRhbkZ1bmMAYXJnYz09MgBhdG4yRnVuYwBhY29zaEZ1bmMAYXNpbmhGdW5jAGF0YW5oRnVuYwBkaWZmZXJlbmNlRnVuYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMAAQIAAAICBAUFAAECBgIDAAEAAgACAAAAAAAAAAECAwABAgAAAgIEBQUAAQIGAgMAAQACAAIAAAAAAD8wMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECAgICAgICAgICAgICAgICAwMDAwMDAwMEBAQEBAQEBHJhZDJkZWdGdW5jAGRlZzJyYWRGdW5jAGNvc0Z1bmMAc2luRnVuYwB0YW5GdW5jAGNvdEZ1bmMAY29zaEZ1bmMAc2luaEZ1bmMAdGFuaEZ1bmMAY290aEZ1bmMAZXhwRnVuYwBsb2dGdW5jAGxvZzEwRnVuYwBwb3dlckZ1bmMAc2lnbkZ1bmMAc3FydEZ1bmMAc3F1YXJlRnVuYwBjZWlsRnVuYwBmbG9vckZ1bmMAZG9tYWluIGVycm9yAGFyZ2M9PTMgfHxhcmdjPT0yAGNoYXJpbmRleEZ1bmMAbGVmdEZ1bmMAcmlnaHRGdW5jADE9PWFyZ2MAcmV2ZXJzZUZ1bmMAcHJvcGVyRnVuYwBwYWRsRnVuYwBwYWRyRnVuYwBwYWRjRnVuYwBzdHJmaWx0ZXJGdW5jAHZhcmlhbmNlU3RlcABtb2RlU3RlcAAzLjIyLjAAJXMgYXQgbGluZSAlZCBvZiBbJS4xMHNdAG1pc3VzZQAyMDE3LTExLTI3IDE3OjU2OjE0IDQ2NTM1MGU1NWRkYWYzMGNmYmE3ODc0NjUzMzAxZGU3MjM4YTlkYzJiYzVlMWY4MDBmYzk1ZGU5MzYwNjc5ZjYAJQBkCgEQAABzAAQFAABnAAEDHgB6AAQGAABxAAQJAABRAAQKAAB3AAQOAABjAAAIAABvCAAAAAJ1CgAQAAB4EAAAEAFYEAAAAARmAAEBAABlAAECHgBFAAECDgBHAAEDDgBpCgEQAABuAAAEAAAlAAAHAABwEAANAAFUAAALAABTAAAMAAByCgEPAAB0aHN0bmRyZAAwMTIzNDU2Nzg5QUJDREVGMDEyMzQ1Njc4OWFiY2RlZgAteDAAWDAATlVMTAAoTlVMTCkALgBOYU4AAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/3VuaXgAdW5peC1ub25lAHVuaXgtZG90ZmlsZQB1bml4LWV4Y2wAb3NfdW5peC5jOiVkOiAoJWQpICVzKCVzKSAtICVzAGNsb3NlAG9wZW4AYWNjZXNzAGdldGN3ZABzdGF0AGZzdGF0AGZ0cnVuY2F0ZQBmY250bAByZWFkAHByZWFkAHByZWFkNjQAd3JpdGUAcHdyaXRlAHB3cml0ZTY0AGZjaG1vZABmYWxsb2NhdGUAdW5saW5rAG9wZW5EaXJlY3RvcnkAbWtkaXIAcm1kaXIAZmNob3duAGdldGV1aWQAbW1hcABtdW5tYXAAbXJlbWFwAGdldHBhZ2VzaXplAHJlYWRsaW5rAGxzdGF0AGlvY3RsACVzAGF0dGVtcHQgdG8gb3BlbiAiJXMiIGFzIGZpbGUgZGVzY3JpcHRvciAlZAAvZGV2L251bGwAY2Fubm90IG9wZW4gZmlsZQBTUUxJVEVfVE1QRElSAFRNUERJUgAlcy9ldGlscXNfJWxseCVjAC92YXIvdG1wAC91c3IvdG1wAC90bXAAZnVsbF9mc3luYwAvZGV2L3VyYW5kb20AZnN5bmMAbW9kZW9mAHBzb3cAJXMubG9jawBjYW5ub3QgZnN0YXQgZGIgZmlsZSAlcwBmaWxlIHVubGlua2VkIHdoaWxlIG9wZW46ICVzAG11bHRpcGxlIGxpbmtzIHRvIGZpbGU6ICVzAGZpbGUgcmVuYW1lZCB3aGlsZSBvcGVuOiAlcwAlcy1zaG0AcmVhZG9ubHlfc2htAAICAwUDBAUEAAECBAkMDxRvbm9mZmFsc2V5ZXN0cnVleHRyYWZ1bGwAAQAAAAEBAwIAAAAAAAAAAAABAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAEAgABAAACAAAAAAAAAAAAMDAwMDAwMDAwMAAAAAAAAAAoKCgoKCgICAgICAgICAgICAgICAgICAgICgAAAAECAKioqKioqIiIiIiIiIiIiIiIiIiIiIiIiIiIAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAc3FsaXRlX2NvbXBpbGVvcHRpb25fdXNlZABzcWxpdGVfY29tcGlsZW9wdGlvbl9nZXQAdW5saWtlbHkAbGlrZWxpaG9vZABsaWtlbHkAbHRyaW0AcnRyaW0AdHJpbQBtaW4AbWF4AHR5cGVvZgBsZW5ndGgAaW5zdHIAcHJpbnRmAHVuaWNvZGUAY2hhcgBhYnMAcm91bmQAdXBwZXIAbG93ZXIAaGV4AGlmbnVsbAByYW5kb20AcmFuZG9tYmxvYgBudWxsaWYAc3FsaXRlX3ZlcnNpb24Ac3FsaXRlX3NvdXJjZV9pZABzcWxpdGVfbG9nAHF1b3RlAGxhc3RfaW5zZXJ0X3Jvd2lkAGNoYW5nZXMAdG90YWxfY2hhbmdlcwByZXBsYWNlAHplcm9ibG9iAHN1YnN0cgBzdW0AdG90YWwAYXZnAGNvdW50AGdyb3VwX2NvbmNhdAAqP1sAZ2xvYgAlXwABbGlrZQBjb2FsZXNjZQBMSUtFIG9yIEdMT0IgcGF0dGVybiB0b28gY29tcGxleABFU0NBUEUgZXhwcmVzc2lvbiBtdXN0IGJlIGEgc2luZ2xlIGNoYXJhY3RlcgAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwABAgMEBQYHCAkKCwwNDg8AAQIDBAUGBwABAgMAAQAAc3RyaW5nIG9yIGJsb2IgdG9vIGJpZwAsAGludGVnZXIgb3ZlcmZsb3cABAUDBQEFAQUCBQIFAQUBBQQFAwUBBQEFAgUCBQEFAQU5MjIzMzcyMDM2ODU0Nzc1ODAAJSEuMTVnACUhLjIwZQAwMTIzNDU2Nzg5QUJDREVGJS4qZgBpbnRlZ2VyAHJlYWwAdGV4dABibG9iAG51bGwAASAAQ09NUElMRVI9Y2xhbmctNC4wLjAARElTQUJMRV9MRlMARU5BQkxFX0ZUUzMARU5BQkxFX0ZUUzNfUEFSRU5USEVTSVMAT01JVF9MT0FEX0VYVEVOU0lPTgBUSFJFQURTQUZFPTAAU1FMSVRFXwBqdWxpYW5kYXkAZGF0ZQB0aW1lAGRhdGV0aW1lAHN0cmZ0aW1lAGN1cnJlbnRfdGltZQBjdXJyZW50X3RpbWVzdGFtcABjdXJyZW50X2RhdGUAJTAyZAAlMDYuM2YAJTAzZAAlLjE2ZwAlbGxkACUwNGQANDBmLTIxYS0yMWQAbm93AG5vbi1kZXRlcm1pbmlzdGljIGZ1bmN0aW9uIGluIGluZGV4IGV4cHJlc3Npb24gb3IgQ0hFQ0sgY29uc3RyYWludABsb2NhbHRpbWUAdW5peGVwb2NoAHV0YwB3ZWVrZGF5IABzdGFydCBvZiAAbW9udGgAeWVhcgBkYXkAc2Vjb25kAG1pbnV0ZQBob3VyAGxvY2FsIHRpbWUgdW5hdmFpbGFibGUAMjBjOjIwZQAyMGUAMjBiOjIwZQAlMDRkLSUwMmQtJTAyZCAlMDJkOiUwMmQ6JTAyZAAlMDJkOiUwMmQ6JTAyZAAlMDRkLSUwMmQtJTAyZABzcWxpdGVfcmVuYW1lX3RhYmxlAHNxbGl0ZV9yZW5hbWVfdHJpZ2dlcgBzcWxpdGVfcmVuYW1lX3BhcmVudAAlcyUuKnMiJXciACVzJXMAGxsbGxsbGxsbBwcbBwcbGxsbGxsbGxsbGxsbGxsbGxsHDwgFBBYYCBESFRQXCxoQAwMDAwMDAwMDAwUTDA4NBgUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQkbGxsBCAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBGwobGRsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkxpdUoALQAAUgBNAAAqDE4PAHRVNnAAEwAAeQB3cwAWXQAJAABGRwBFBgAwWmYAdmUAACwAZxgAEQB6NRcABW4ZYAAAfGo8ezkcNwBbAGQaAGMAAABfXGFYbQ4nbABRABJZbyAAeFBxPi5UAABeKDtyACQAAB0AVj9AABQ9ADgHBwUEBgQFAwYHAwYGBwcDCAIGBQQEAwoEBgsGAgcFBQkGCQkHCgoEBgIDCQQCBgUHBAUHBgYFBgUFCQcHAwIEBAcDBgQHBgwGCQQGBQQHBgUGBwUEBQYFBwMHDQICBAYGCAURDAcICAIEBAQEBAICBgUIBQgDBQUGBAkDUkVJTkRFWEVERVNDQVBFQUNIRUNLRVlCRUZPUkVJR05PUkVHRVhQTEFJTlNURUFEREFUQUJBU0VMRUNUQUJMRUZUSEVOREVGRVJSQUJMRUxTRVhDRVBUUkFOU0FDVElPTkFUVVJBTFRFUkFJU0VYQ0xVU0lWRVhJU1RTQVZFUE9JTlRFUlNFQ1RSSUdHRVJFRkVSRU5DRVNDT05TVFJBSU5UT0ZGU0VURU1QT1JBUllVTklRVUVSWVdJVEhPVVRFUkVMRUFTRUFUVEFDSEFWSU5HUk9VUERBVEVCRUdJTk5FUkVDVVJTSVZFQkVUV0VFTk9UTlVMTElLRUNBU0NBREVMRVRFQ0FTRUNPTExBVEVDUkVBVEVDVVJSRU5UX0RBVEVERVRBQ0hJTU1FRElBVEVKT0lOU0VSVE1BVENIUExBTkFMWVpFUFJBR01BQk9SVFZBTFVFU1ZJUlRVQUxJTUlUV0hFTldIRVJFTkFNRUFGVEVSRVBMQUNFQU5ERUZBVUxUQVVUT0lOQ1JFTUVOVENBU1RDT0xVTU5DT01NSVRDT05GTElDVENST1NTQ1VSUkVOVF9USU1FU1RBTVBSSU1BUllERUZFUlJFRElTVElOQ1REUk9QRkFJTEZST01GVUxMR0xPQllJRklTTlVMTE9SREVSRVNUUklDVFJJR0hUUk9MTEJBQ0tST1dVTklPTlVTSU5HVkFDVVVNVklFV0lOSVRJQUxMWQAAAAAEAAAAAAAAAAAAAgAAAAAAAA0AAAAAAAcAAAAAAAAAAAAAAAAAAAAhABUAAAAAADIAKwMvAAAAAB4AOgAmAAAAAUIAAEMAKQAAAAAAADFBAAAAAB80ECIKAAAAAAAAAAtITwAIAGhiAGsAVwBLMwAbJUlTACNEAABQYIwnOiloQiFxPT4vAkCOJhh3EGKKC3CLdQYca2KNRgkUDXZLaWODRENvFRUrZwMZT2IOIIB/bgViRzAzE0FlLyMfbYheEVIoCHxsLgQeRRt4ToGJglEdSCxkag8xJDwKJWJSUmYHeS1yKntiLyISMn5JYgxKc31MTT90JS4qcyIldyIlcwBmYWlsZWQgbWVtb3J5IHJlc2l6ZSAldSB0byAldSBieXRlcwBmYWlsZWQgdG8gYWxsb2NhdGUgJXUgYnl0ZXMgb2YgbWVtb3J5AHVuYWJsZSB0byBvcGVuIGEgdGVtcG9yYXJ5IGRhdGFiYXNlIGZpbGUgZm9yIHN0b3JpbmcgdGVtcG9yYXJ5IHRhYmxlcwA6bWVtb3J5OgAtam91cm5hbAAALXdhbAAAbm9sb2NrAGltbXV0YWJsZQByZWNvdmVyZWQgJWQgcGFnZXMgZnJvbSAlcwDZ1QX5IKFj12RhdGFiYXNlIGNvcnJ1cHRpb24AY2Fubm90IGxpbWl0IFdBTCBzaXplOiAlcwByZWNvdmVyZWQgJWQgZnJhbWVzIGZyb20gV0FMIGZpbGUgJXMAbWFpbgBTUUxpdGUgZm9ybWF0IDMAQCAgAEFQSSBjYWxsZWQgd2l0aCBmaW5hbGl6ZWQgcHJlcGFyZWQgc3RhdGVtZW50AEZPUkVJR04gS0VZIGNvbnN0cmFpbnQgZmFpbGVkACVzLW1qWFhYWFhYOVhYegBNSiBjb2xsaWRlOiAlcwBNSiBkZWxldGU6ICVzAC1taiUwNlg5JTAyWAB1bmtub3duIGVycm9yAGFib3J0IGR1ZSB0byBST0xMQkFDSwBub3QgYW4gZXJyb3IAU1FMIGxvZ2ljIGVycm9yAGFjY2VzcyBwZXJtaXNzaW9uIGRlbmllZABxdWVyeSBhYm9ydGVkAGRhdGFiYXNlIGlzIGxvY2tlZABkYXRhYmFzZSB0YWJsZSBpcyBsb2NrZWQAb3V0IG9mIG1lbW9yeQBhdHRlbXB0IHRvIHdyaXRlIGEgcmVhZG9ubHkgZGF0YWJhc2UAaW50ZXJydXB0ZWQAZGlzayBJL08gZXJyb3IAZGF0YWJhc2UgZGlzayBpbWFnZSBpcyBtYWxmb3JtZWQAdW5rbm93biBvcGVyYXRpb24AZGF0YWJhc2Ugb3IgZGlzayBpcyBmdWxsAHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlIGZpbGUAbG9ja2luZyBwcm90b2NvbABkYXRhYmFzZSBzY2hlbWEgaGFzIGNoYW5nZWQAY29uc3RyYWludCBmYWlsZWQAZGF0YXR5cGUgbWlzbWF0Y2gAYmFkIHBhcmFtZXRlciBvciBvdGhlciBBUEkgbWlzdXNlAGxhcmdlIGZpbGUgc3VwcG9ydCBpcyBkaXNhYmxlZABhdXRob3JpemF0aW9uIGRlbmllZABjb2x1bW4gaW5kZXggb3V0IG9mIHJhbmdlAGZpbGUgaXMgbm90IGEgZGF0YWJhc2UAQVBJIGNhbGxlZCB3aXRoIE5VTEwgcHJlcGFyZWQgc3RhdGVtZW50AGsoJWQAQklOQVJZAEIALQAsJXMlcwApACglLjIwcykAJXMoJWQpACVkAChibG9iKQB2dGFiOiVwACwlZABdAHByb2dyYW0AJS4yeABBUEkgY2FsbCB3aXRoICVzIGRhdGFiYXNlIGNvbm5lY3Rpb24gcG9pbnRlcgBpbnZhbGlkAHVub3BlbmVkAGRhdGFiYXNlIHNjaGVtYSBpcyBsb2NrZWQ6ICVzAHN0YXRlbWVudCB0b28gbG9uZwBhZGRyAG9wY29kZQBwMQBwMgBwMwBwNABwNQBjb21tZW50AHNlbGVjdGlkAG9yZGVyAGZyb20AZGV0YWlsAHVucmVjb2duaXplZCB0b2tlbjogIiUuKnMiABOQkZKTGFpbXF1eNjc4OTpYWVpbXF1emCssLS4vMDEyMzQ1Njc4OV47VFVWV1hZWltcXV47VFVWV1hZWltcXV7BVFVWV1hZWltcXV7Cw2FPC1hZmBoTq5jOYGFiSGSzO5gfo09r222srSdPrK0rLC0uLzAxMjM0NTY3ODmYhMeGbG1uxGBhYmPRE2ZnaEjP0BpId3hPcVRVVldYWVpbXF1eKywtLi8wMTIzNDU2Nzg5H2xtblJsbW4n0kSvghPar3d4+mHd3t9lrJhUVVZXWFlaW1xdXissLS4vMDEyMzQ1Njc4OZiYhIWG3d7fQt3e36wTwRYXmBgarK0uLzAxVFVWV1hZWltcXV4rLC0uLzAxMjM0NTY3ODnd3t/P0C4WF5SVGvKsE5ranBdYWfE7o6NTZVRVVldYWVpbXF1eKywtLi8wMTIzNDU2Nzg5mJ2YxMQQYGFiGoT6hhNrUzsX09SsraytAQJUVVZXWFlaW1xdXissLS4vMDEyMzQ1Njc4OfSYYc/Qz9C53d7fmEsTTbO0F11e5Kyt57yYVFVWV1hZWltcXV4rLC0uLzAxMjM0NTY3ODnBmHuYz9CYqKmqqKmqE6AWFxekd3israytjFRVVldYWVpbXF1eKywtLi8wMTIzNDU2Nzg5YxYXZmdowsMAAQL3+BNxvr8Xzr6/O+GYU5hUVVZXWFlaW1xdXissLS4vMDEyMzQ1Njc4OVq1mGxtbmBhYnNTdXYTwZgXmJgaHZisrSGYVFVWV1hZWltcXV4rLC0uLzAxMjM0NTY3ODkWmBBAwc+YwQwHCAmYbG1uE5ikkpOsrRujtVRVVldYWVpbXF1eOypiKywtLi8wMTIzNDU2Nzg57hbEPqNSS5hNmHxYWUiYiROLmGBhGJiYZYpUVVZXWFlaW1xdXsQ7EyssLS4vMDEyMzQ1Njc4OYSFhpjB2/X2wZiYLpgTpqeY2ejZYGFi7dmKVFVWV1hZWltcXV4rLC0uLzAxMjM0NTY3ODlPwe6mp9PUFxd0GhrDE3mY2ZiYmGtk2c6jcFRVVldYWVpbXF1eKywtLi8wMTIzNDU2Nzg5u7sHCJjEFoQYhhcXExoaF5gXGhcaOxqjrK1UVVZXWFlaW1xdXiwtLi8wMTIzNDU2Nzg5mBrumBfEZRphZGUTExc7mBpwmBesrRqsrRNUVVZXWFlaW1xdXi0uLzAxMjM0NTY3ODkTFGEWF8+jF6OEGoYX1ZgaOySYFpgTFGIWmFRVVldYWVpbXF1eXiTEO8RjZGVmZ2hpfDtGYKNhcDu1mJhPO0dSExqYmJhYWZhGFpijX2BhYphPZRZSmMRgYWJYWRMUYRajX2BhYpgWZRisrZjEJDsWmISFhoeIGAU7rK2YCgsMDQ7EmBE70oSFhoeIO89gFkYeaiBgYWKsrZg7KFKYYGFimFhZWro7Fr9fYGFirK1lExRhFjuYmJhFO5i6mJiYTGEkT1ATFDUWmKytYGFihIWGh4gjeiTqujtgYWKsrWBhYpjpRphymHzS0rrSO8bFUtZBlpjJWFlGyUl8719gYWKN72VSqaqwmJhYWRU2Nzg5X2BhYqTWZdapqqO4tK/jb6+EhYaHiMi3mLlUVVZXWFlaW1xdXoSFhoeIDMSsra+YxuaYm06Y85g8G5ifmJ+YeiaY26yt5qytKqytrK1nrK2srayt7aytmPCYn5g+8BbcmCuYgpi9mBKYEsCsraytrK3AjJisraytrK2sraytyZjAn5iewJjJrK2Y3Ji9mL2fmImYrK2YrK2YrK2YyaytrK2srZisraytmKytmKytmKytmFqYPZierK2YnpisrZisrZisreysraytrK3rdKytrK15rK2frK2fFrGfnrGfnmuurq4/tmq2rrF9sGvYrteurp8Wn4ngsdjY117XsdjXgX6AfxmiGqENmc2ZBuKXyszJ5eWXy6WXpbKypQQDFo4PURAXF3iDbxT5e/kQfQF7b4M1NTU1YCJ6AQUWa/aMQxpKKWtDFBgTaXAXQhYWHBYWQhYWJUIXFxd0FxYaehoXFxZgfBoXGhciIhcXGhcWIgsXFhh6FxYaFhgXFw8XFnoXegH7egAAOzs7OwA7OzsAOzs7OwAAADsAADsAAAA7ADs7Ozs7Ozs7Ozs7Ozs7OzsAAAA7OwAAAAAAAAAAAAAAADs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cGFyc2VyIHN0YWNrIG92ZXJmbG93AG5lYXIgIiVUIjogc3ludGF4IGVycm9yAJP/k/2U/5X9lgCW/5b/lv+V/pX+lf6V/ZX7mvqc/54Anv2d/50Am/ub/qIAov6k/qYApvym+qf+q/6r/qv8q/2r/av+q/2r+6v+q/yr/Kv/q/6wALD/sgCy/rT+tP20/bT9tf61/rX/tf+1/rP9s/62ALb+tv6hALj/uf65+bn7ufu59rwArgCu/b0Avf6+/77/lfzA/sAAlfeV/JX/o/7C/cX/xf7F/8P3zvzO+8b/xv/GANEAx/3H/sf80v7SAMgAyP7U/tQA0/nT99P50/mfAJ/+wf7V/9X+1f3V/Nf+1wDWANb91v7Y/NgAzADM/br8uv6v/6//rwDKAMr9ywDL/s0Azf7N/M38lfrJAMn+lfja+9r52v3a+5X6lfnb/tv/3ADc/dn92f+t/a3/rf+t/a37rP+s/6z/rf+t/a36rfut/Kz/rfut/a39rf2t/a39rf2t/a393f6t/a37rf6t/a39rfyt/q3+rf6t/t7/3v6t+9//3/6t+639rfut+638rfvi++L84/7jAOH/4QDQAM/9z//gAOD9lfTk/+QAsQCx/bv7u/3lAOX+lfyV/5X+lf2V+5X6lfuV+qn+qv6V++f16f/p/ukA6v/q/+r97ADs/uj96P7u/e/97/7t+e377fvt/638rfq//7//v/+V/JX6lf3xAPH+lf+V/ZX/lf2V+pX58v+V/5X89Pj2APf/9/34/8QAxP7E/fr6+viQ/5H+kf+S/5L9kwCXAJf/l/6Z/5kAlf6g/KD+mP+Y/5j/pv+n/6j/qP+l/qUAq/6h/rf9t/+4ALz/vv/C/8P/0f7S/63/3f/Q/+b/5v/m/+b/5v+p/+sA6/3u/+8A8P/wAPMA8//1//X99v75APn8+f5GAAAAJQAJAGAAAAA0AAcAewAAAGAAAQANAAkABwACAEMAAABwAAAAQkVHSU4Abm90IGF1dGhvcml6ZWQAYXV0aG9yaXplciBtYWxmdW5jdGlvbgBST0xMQkFDSwBDT01NSVQAUkVMRUFTRQByb3dpZAB1bmtub3duIHRhYmxlIG9wdGlvbjogJS4qcwB0b28gbWFueSBjb2x1bW5zIG9uICVzAGR1cGxpY2F0ZSBjb2x1bW4gbmFtZTogJXMARXhwcmVzc2lvbiB0cmVlIGlzIHRvbyBsYXJnZSAobWF4aW11bSBkZXB0aCAlZCkAcGFyYW1ldGVycyBhcmUgbm90IGFsbG93ZWQgaW4gdmlld3MAY29ycnVwdCBkYXRhYmFzZQB1bmtub3duIGRhdGFiYXNlICVUAHZpZXcAdG9vIG1hbnkgdGVybXMgaW4gY29tcG91bmQgU0VMRUNUAHRvbyBtYW55IGNvbHVtbnMgaW4gJXMAc2V0IGxpc3QAdmFyaWFibGUgbnVtYmVyIG11c3QgYmUgYmV0d2VlbiA/MSBhbmQgPyVkAHRvbyBtYW55IFNRTCB2YXJpYWJsZXMAdG9vIG1hbnkgYXJndW1lbnRzIG9uIGZ1bmN0aW9uICVUAHN5bnRheCBlcnJvciBhZnRlciBjb2x1bW4gbmFtZSAiJS4qcyIAbm8gc3VjaCBpbmRleDogJVMAaW5kZXggYXNzb2NpYXRlZCB3aXRoIFVOSVFVRSBvciBQUklNQVJZIEtFWSBjb25zdHJhaW50IGNhbm5vdCBiZSBkcm9wcGVkAHNxbGl0ZV90ZW1wX21hc3RlcgBzcWxpdGVfbWFzdGVyAERFTEVURSBGUk9NICVRLiVzIFdIRVJFIG5hbWU9JVEgQU5EIHR5cGU9J2luZGV4JwBzcWxpdGVfc3RhdCVkAERFTEVURSBGUk9NICVRLiVzIFdIRVJFICVzPSVRAGlkeAB0cmlnZ2VyAElOU0VSVCBJTlRPICVRLiVzIFZBTFVFUygndHJpZ2dlcicsJVEsJVEsMCwnQ1JFQVRFIFRSSUdHRVIgJXEnKQB0eXBlPSd0cmlnZ2VyJyBBTkQgbmFtZT0nJXEnAHRlbXBvcmFyeSB0cmlnZ2VyIG1heSBub3QgaGF2ZSBxdWFsaWZpZWQgbmFtZQBjYW5ub3QgY3JlYXRlIHRyaWdnZXJzIG9uIHZpcnR1YWwgdGFibGVzAHRyaWdnZXIgJVQgYWxyZWFkeSBleGlzdHMAc3FsaXRlXwBjYW5ub3QgY3JlYXRlIHRyaWdnZXIgb24gc3lzdGVtIHRhYmxlAEJFRk9SRQBBRlRFUgBjYW5ub3QgY3JlYXRlICVzIHRyaWdnZXIgb24gdmlldzogJVMAY2Fubm90IGNyZWF0ZSBJTlNURUFEIE9GIHRyaWdnZXIgb24gdGFibGU6ICVTAHF1YWxpZmllZCB0YWJsZSBuYW1lcyBhcmUgbm90IGFsbG93ZWQgb24gSU5TRVJULCBVUERBVEUsIGFuZCBERUxFVEUgc3RhdGVtZW50cyB3aXRoaW4gdHJpZ2dlcnMAdGhlIElOREVYRUQgQlkgY2xhdXNlIGlzIG5vdCBhbGxvd2VkIG9uIFVQREFURSBvciBERUxFVEUgc3RhdGVtZW50cyB3aXRoaW4gdHJpZ2dlcnMAdGhlIE5PVCBJTkRFWEVEIGNsYXVzZSBpcyBub3QgYWxsb3dlZCBvbiBVUERBVEUgb3IgREVMRVRFIHN0YXRlbWVudHMgd2l0aGluIHRyaWdnZXJzAG5vIHN1Y2ggdHJpZ2dlcjogJVMAdW5hYmxlIHRvIGlkZW50aWZ5IHRoZSBvYmplY3QgdG8gYmUgcmVpbmRleGVkAHRoZXJlIGlzIGFscmVhZHkgYW5vdGhlciB0YWJsZSBvciBpbmRleCB3aXRoIHRoaXMgbmFtZTogJXMAdmlldyAlcyBtYXkgbm90IGJlIGFsdGVyZWQAVVBEQVRFICIldyIuJXMgU0VUIHNxbCA9IHNxbGl0ZV9yZW5hbWVfcGFyZW50KHNxbCwgJVEsICVRKSBXSEVSRSAlczsAVVBEQVRFICVRLiVzIFNFVCBzcWwgPSBDQVNFIFdIRU4gdHlwZSA9ICd0cmlnZ2VyJyBUSEVOIHNxbGl0ZV9yZW5hbWVfdHJpZ2dlcihzcWwsICVRKUVMU0Ugc3FsaXRlX3JlbmFtZV90YWJsZShzcWwsICVRKSBFTkQsIHRibF9uYW1lID0gJVEsIG5hbWUgPSBDQVNFIFdIRU4gdHlwZT0ndGFibGUnIFRIRU4gJVEgV0hFTiBuYW1lIExJS0UgJ3NxbGl0ZV9hdXRvaW5kZXglJScgQU5EIHR5cGU9J2luZGV4JyBUSEVOICdzcWxpdGVfYXV0b2luZGV4XycgfHwgJVEgfHwgc3Vic3RyKG5hbWUsJWQrMTgpIEVMU0UgbmFtZSBFTkQgV0hFUkUgdGJsX25hbWU9JVEgQ09MTEFURSBub2Nhc2UgQU5EICh0eXBlPSd0YWJsZScgT1IgdHlwZT0naW5kZXgnIE9SIHR5cGU9J3RyaWdnZXInKTsAc3FsaXRlX3NlcXVlbmNlAFVQREFURSAiJXciLnNxbGl0ZV9zZXF1ZW5jZSBzZXQgbmFtZSA9ICVRIFdIRVJFIG5hbWUgPSAlUQB0eXBlPSd0cmlnZ2VyJyBBTkQgKCVzKQBVUERBVEUgc3FsaXRlX3RlbXBfbWFzdGVyIFNFVCBzcWwgPSBzcWxpdGVfcmVuYW1lX3RyaWdnZXIoc3FsLCAlUSksIHRibF9uYW1lID0gJVEgV0hFUkUgJXM7AENhbm5vdCBhZGQgYSBQUklNQVJZIEtFWSBjb2x1bW4AQ2Fubm90IGFkZCBhIFVOSVFVRSBjb2x1bW4AQ2Fubm90IGFkZCBhIFJFRkVSRU5DRVMgY29sdW1uIHdpdGggbm9uLU5VTEwgZGVmYXVsdCB2YWx1ZQBDYW5ub3QgYWRkIGEgTk9UIE5VTEwgY29sdW1uIHdpdGggZGVmYXVsdCB2YWx1ZSBOVUxMAENhbm5vdCBhZGQgYSBjb2x1bW4gd2l0aCBub24tY29uc3RhbnQgZGVmYXVsdABVUERBVEUgIiV3Ii4lcyBTRVQgc3FsID0gc3Vic3RyKHNxbCwxLCVkKSB8fCAnLCAnIHx8ICVRIHx8IHN1YnN0cihzcWwsJWQpIFdIRVJFIHR5cGUgPSAndGFibGUnIEFORCBuYW1lID0gJVEAdmlydHVhbCB0YWJsZXMgbWF5IG5vdCBiZSBhbHRlcmVkAENhbm5vdCBhZGQgYSBjb2x1bW4gdG8gYSB2aWV3AHNxbGl0ZV9hbHRlcnRhYl8lcwBkdXBsaWNhdGUgV0lUSCB0YWJsZSBuYW1lOiAlcwBDUkVBVEUgVklSVFVBTCBUQUJMRSAlVABVUERBVEUgJVEuJXMgU0VUIHR5cGU9J3RhYmxlJywgbmFtZT0lUSwgdGJsX25hbWU9JVEsIHJvb3RwYWdlPTAsIHNxbD0lUSBXSEVSRSByb3dpZD0jJWQAbmFtZT0nJXEnIEFORCB0eXBlPSd0YWJsZScAdGJsX25hbWU9JVEAbmFtZT0lUQAlcyBPUiBuYW1lPSVRAG5vIHN1Y2ggbW9kdWxlOiAlcwB2aWV3ICVzIGlzIGNpcmN1bGFybHkgZGVmaW5lZABJTlRFR0VSAGNvbHVtbiVkACUuKno6JXUAYSBHUk9VUCBCWSBjbGF1c2UgaXMgcmVxdWlyZWQgYmVmb3JlIEhBVklORwBPUkRFUgBHUk9VUABhZ2dyZWdhdGUgZnVuY3Rpb25zIGFyZSBub3QgYWxsb3dlZCBpbiB0aGUgR1JPVVAgQlkgY2xhdXNlAGFsbCBWQUxVRVMgbXVzdCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiB0ZXJtcwBVTklPTgBFWENFUFQASU5URVJTRUNUAFVOSU9OIEFMTABTRUxFQ1RzIHRvIHRoZSBsZWZ0IGFuZCByaWdodCBvZiAlcyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgcmVzdWx0IGNvbHVtbnMAdG9vIG1hbnkgdGVybXMgaW4gT1JERVIgQlkgY2xhdXNlACVyICVzIEJZIHRlcm0gb3V0IG9mIHJhbmdlIC0gc2hvdWxkIGJlIGJldHdlZW4gMSBhbmQgJWQAJXIgT1JERVIgQlkgdGVybSBkb2VzIG5vdCBtYXRjaCBhbnkgY29sdW1uIGluIHRoZSByZXN1bHQgc2V0AHRvbyBtYW55IHRlcm1zIGluICVzIEJZIGNsYXVzZQAlcyBwcm9oaWJpdGVkIGluICVzAHRoZSAiLiIgb3BlcmF0b3IAaW5kZXggZXhwcmVzc2lvbnMAbmV3AG9sZABfUk9XSURfAFJPV0lEAE9JRABtaXN1c2Ugb2YgYWxpYXNlZCBhZ2dyZWdhdGUgJXMAcm93IHZhbHVlIG1pc3VzZWQAbm8gc3VjaCBjb2x1bW4AYW1iaWd1b3VzIGNvbHVtbiBuYW1lACVzOiAlcy4lcy4lcwAlczogJXMuJXMAJXM6ICVzAHNlY29uZCBhcmd1bWVudCB0byBsaWtlbGlob29kKCkgbXVzdCBiZSBhIGNvbnN0YW50IGJldHdlZW4gMC4wIGFuZCAxLjAAbm90IGF1dGhvcml6ZWQgdG8gdXNlIGZ1bmN0aW9uOiAlcwBwYXJ0aWFsIGluZGV4IFdIRVJFIGNsYXVzZXMAQ0hFQ0sgY29uc3RyYWludHMAbm9uLWRldGVybWluaXN0aWMgZnVuY3Rpb25zAG1pc3VzZSBvZiBhZ2dyZWdhdGUgZnVuY3Rpb24gJS4qcygpAG5vIHN1Y2ggZnVuY3Rpb246ICUuKnMAd3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbiAlLipzKCkAc3VicXVlcmllcwBwYXJhbWV0ZXJzACVzLiVzACVzLiV6AGFjY2VzcyB0byAleiBpcyBwcm9oaWJpdGVkACclcycgaXMgbm90IGEgZnVuY3Rpb24AbXVsdGlwbGUgcmVmZXJlbmNlcyB0byByZWN1cnNpdmUgdGFibGU6ICVzAGNpcmN1bGFyIHJlZmVyZW5jZTogJXMAdGFibGUgJXMgaGFzICVkIHZhbHVlcyBmb3IgJWQgY29sdW1ucwBtdWx0aXBsZSByZWN1cnNpdmUgcmVmZXJlbmNlczogJXMAcmVjdXJzaXZlIHJlZmVyZW5jZSBpbiBhIHN1YnF1ZXJ5OiAlcwBzdWJxdWVyeV8lcAB0b28gbWFueSByZWZlcmVuY2VzIHRvICIlcyI6IG1heCA2NTUzNQBhIE5BVFVSQUwgam9pbiBtYXkgbm90IGhhdmUgYW4gT04gb3IgVVNJTkcgY2xhdXNlAGNhbm5vdCBoYXZlIGJvdGggT04gYW5kIFVTSU5HIGNsYXVzZXMgaW4gdGhlIHNhbWUgam9pbgBjYW5ub3Qgam9pbiB1c2luZyBjb2x1bW4gJXMgLSBjb2x1bW4gbm90IHByZXNlbnQgaW4gYm90aCB0YWJsZXMAKgAlcy4lcy4lcwBubyBzdWNoIHRhYmxlOiAlcwBubyB0YWJsZXMgc3BlY2lmaWVkAHRvbyBtYW55IGNvbHVtbnMgaW4gcmVzdWx0IHNldAB2dGFibGUgY29uc3RydWN0b3IgY2FsbGVkIHJlY3Vyc2l2ZWx5OiAlcwB2dGFibGUgY29uc3RydWN0b3IgZmFpbGVkOiAlcwB2dGFibGUgY29uc3RydWN0b3IgZGlkIG5vdCBkZWNsYXJlIHNjaGVtYTogJXMAdGFibGUgJXMgbWF5IG5vdCBiZSBhbHRlcmVkAHRibABzcWxpdGVfJQBCQkIAc3RhdF9nZXQAJWxsdQAgJWxsdQBzdGF0X3B1c2gAc3RhdF9pbml0AHNxbGl0ZV9zdGF0MQBDUkVBVEUgVEFCTEUgJVEuJXMoJXMpAHRibCxpZHgsc3RhdABzcWxpdGVfc3RhdDMAc3FsaXRlX3N0YXQ0AGluZGV4ICclcScALCAAc3ViLXNlbGVjdCByZXR1cm5zICVkIGNvbHVtbnMgLSBleHBlY3RlZCAlZABDT1JSRUxBVEVEIABMSVNUAFNDQUxBUgBFWEVDVVRFICVzJXMgU1VCUVVFUlkgJWQAbWlzdXNlIG9mIGFnZ3JlZ2F0ZTogJXMoKQB1bmtub3duIGZ1bmN0aW9uOiAlcygpACVkIGNvbHVtbnMgYXNzaWduZWQgJWQgdmFsdWVzAFJBSVNFKCkgbWF5IG9ubHkgYmUgdXNlZCB3aXRoaW4gYSB0cmlnZ2VyLXByb2dyYW0AMHgAaGV4IGxpdGVyYWwgdG9vIGJpZzogJXMlcwBVU0lORyBJTkRFWCAlcyBGT1IgSU4tT1BFUkFUT1IAc3FsaXRlX2RldGFjaABubyBzdWNoIGRhdGFiYXNlOiAlcwBjYW5ub3QgZGV0YWNoIGRhdGFiYXNlICVzAGRhdGFiYXNlICVzIGlzIGxvY2tlZABzcWxpdGVfYXR0YWNoAHRvbyBtYW55IGF0dGFjaGVkIGRhdGFiYXNlcyAtIG1heCAlZABkYXRhYmFzZSAlcyBpcyBhbHJlYWR5IGluIHVzZQBkYXRhYmFzZSBpcyBhbHJlYWR5IGF0dGFjaGVkAGF0dGFjaGVkIGRhdGFiYXNlcyBtdXN0IHVzZSB0aGUgc2FtZSB0ZXh0IGVuY29kaW5nIGFzIG1haW4gZGF0YWJhc2UAdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2U6ICVzADEAQ1JFQVRFIFRBQkxFIHgodHlwZSB0ZXh0LG5hbWUgdGV4dCx0YmxfbmFtZSB0ZXh0LHJvb3RwYWdlIGludCxzcWwgdGV4dCkAdW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXQAU0VMRUNUIG5hbWUsIHJvb3RwYWdlLCBzcWwgRlJPTSAiJXciLiVzIE9SREVSIEJZIHJvd2lkAFNFTEVDVCB0YmwsaWR4LHN0YXQgRlJPTSAlUS5zcWxpdGVfc3RhdDEAdW5vcmRlcmVkKgBzej1bMC05XSoAbm9za2lwc2NhbioAPwBtYWxmb3JtZWQgZGF0YWJhc2Ugc2NoZW1hICglcykAY3JlYXRlIAAleiAtICVzAGludmFsaWQgcm9vdHBhZ2UAZmlsZToAbG9jYWxob3N0AGludmFsaWQgdXJpIGF1dGhvcml0eTogJS4qcwB2ZnMAY2FjaGUAbW9kZQBubyBzdWNoICVzIG1vZGU6ICVzACVzIG1vZGUgbm90IGFsbG93ZWQ6ICVzAG5vIHN1Y2ggdmZzOiAlcwBzaGFyZWQAcHJpdmF0ZQBybwBydwByd2MAbWVtb3J5AERFTEVURSBGUk9NICVRLiVzIFdIRVJFIG5hbWU9JVEgQU5EIHR5cGU9J3RyaWdnZXInAG9iamVjdCBuYW1lIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2U6ICVzACVzICVUIGNhbm5vdCByZWZlcmVuY2Ugb2JqZWN0cyBpbiBkYXRhYmFzZSAlcwBubyBzdWNoIGluZGV4OiAlcwBubyBzdWNoIHZpZXcAbm8gc3VjaCB0YWJsZQBwcmFnbWFfAFBSQUdNQSAAJVEuAD0lUQBDUkVBVEUgVEFCTEUgeAAlYyIlcyIAKCIlcyIALGFyZyBISURERU4ALHNjaGVtYSBISURERU4AY2FjaGVfc2l6ZQBjaWQAbmFtZQB0eXBlAG5vdG51bGwAZGZsdF92YWx1ZQBwawB3ZHRoAGhnaHQAZmxncwBzZXFubwBkZXNjAGNvbGwAa2V5AHNlcQB1bmlxdWUAb3JpZ2luAHBhcnRpYWwAZmlsZQBidWlsdGluAGlkAHRhYmxlAHRvAG9uX3VwZGF0ZQBvbl9kZWxldGUAbWF0Y2gAcGFyZW50AGZraWQAYnVzeQBsb2cAY2hlY2twb2ludGVkAHRpbWVvdXQAZGF0YWJhc2UAc3RhdHVzAGFwcGxpY2F0aW9uX2lkAGF1dG9fdmFjdXVtAGF1dG9tYXRpY19pbmRleABidXN5X3RpbWVvdXQAY2FjaGVfc3BpbGwAY2FzZV9zZW5zaXRpdmVfbGlrZQBjZWxsX3NpemVfY2hlY2sAY2hlY2twb2ludF9mdWxsZnN5bmMAY29sbGF0aW9uX2xpc3QAY29tcGlsZV9vcHRpb25zAGNvdW50X2NoYW5nZXMAZGF0YV92ZXJzaW9uAGRhdGFiYXNlX2xpc3QAZGVmYXVsdF9jYWNoZV9zaXplAGRlZmVyX2ZvcmVpZ25fa2V5cwBlbXB0eV9yZXN1bHRfY2FsbGJhY2tzAGVuY29kaW5nAGZvcmVpZ25fa2V5X2NoZWNrAGZvcmVpZ25fa2V5X2xpc3QAZm9yZWlnbl9rZXlzAGZyZWVsaXN0X2NvdW50AGZ1bGxfY29sdW1uX25hbWVzAGZ1bGxmc3luYwBpZ25vcmVfY2hlY2tfY29uc3RyYWludHMAaW5jcmVtZW50YWxfdmFjdXVtAGluZGV4X2luZm8AaW5kZXhfbGlzdABpbmRleF94aW5mbwBpbnRlZ3JpdHlfY2hlY2sAam91cm5hbF9tb2RlAGpvdXJuYWxfc2l6ZV9saW1pdABsZWdhY3lfZmlsZV9mb3JtYXQAbG9ja2luZ19tb2RlAG1heF9wYWdlX2NvdW50AG1tYXBfc2l6ZQBvcHRpbWl6ZQBwYWdlX2NvdW50AHBhZ2Vfc2l6ZQBxdWVyeV9vbmx5AHF1aWNrX2NoZWNrAHJlYWRfdW5jb21taXR0ZWQAcmVjdXJzaXZlX3RyaWdnZXJzAHJldmVyc2VfdW5vcmRlcmVkX3NlbGVjdHMAc2NoZW1hX3ZlcnNpb24Ac2VjdXJlX2RlbGV0ZQBzaG9ydF9jb2x1bW5fbmFtZXMAc2hyaW5rX21lbW9yeQBzb2Z0X2hlYXBfbGltaXQAc3luY2hyb25vdXMAdGFibGVfaW5mbwB0ZW1wX3N0b3JlAHRlbXBfc3RvcmVfZGlyZWN0b3J5AHRocmVhZHMAdXNlcl92ZXJzaW9uAHdhbF9hdXRvY2hlY2twb2ludAB3YWxfY2hlY2twb2ludAB3cml0YWJsZV9zY2hlbWEAJXMgY2Fubm90IHVzZSB2YXJpYWJsZXMALSVUAAIAAABlAAEDMAEIAEMAAgBZAQIBMAEIAEMAAQCmAAAATgEBAGZhc3QAZXhjbHVzaXZlAG5vcm1hbABub25lAGZ1bGwAaW5jcmVtZW50YWwAAgABAGUAAQQVAQAAQgACAGYABwB0ZW1wb3Jhcnkgc3RvcmFnZSBjYW5ub3QgYmUgY2hhbmdlZCBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAG5vdCBhIHdyaXRhYmxlIGRpcmVjdG9yeQBTYWZldHkgbGV2ZWwgbWF5IG5vdCBiZSBjaGFuZ2VkIGluc2lkZSBhIHRyYW5zYWN0aW9uAGlzc2lzaQBpaXNYAGlzaVgAaXNpc2kAaXNzAGlzAE5PIEFDVElPTgBSRVNUUklDVABDQVNDQURFAFNFVCBERUZBVUxUAFNFVCBOVUxMAGlpc3Nzc3NzAE5PTkUAc2lYACVfAAAqKiogaW4gZGF0YWJhc2UgJXMgKioqCgBOVUxMIHZhbHVlIGluICVzLiVzAENIRUNLIGNvbnN0cmFpbnQgZmFpbGVkIGluICVzAHJvdyAAIG1pc3NpbmcgZnJvbSBpbmRleCAAbm9uLXVuaXF1ZSBlbnRyeSBpbiBpbmRleCAAd3JvbmcgIyBvZiBlbnRyaWVzIGluIGluZGV4IABQAQAAMQEEAGEAAwBOAwEAQgAAAGEAAwANAAMAb2sAVVRGOAB1bnN1cHBvcnRlZCBlbmNvZGluZzogJXMAAgABAGYAAAACAAAAZQABAE4BAQByZXN0YXJ0AHRydW5jYXRlAEFOQUxZWkUgIiV3Ii4iJXciAHVua25vd24gZGF0YWJhc2U6ICVzAFVURi04AFVURi0xNmxlAFVURi0xNmJlAFVURjE2bGUAVVRGMTZiZQBVVEYtMTYAVVRGMTYAdW5hYmxlIHRvIGRlbGV0ZS9tb2RpZnkgdXNlci1mdW5jdGlvbiBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAZm9yZWlnbiBrZXkgbWlzbWF0Y2ggLSAiJXciIHJlZmVyZW5jaW5nICIldyIAYwB1AGRlbGV0ZQBwZXJzaXN0AG9mZgB3YWwAVVBEQVRFICVRLiVzIFNFVCByb290cGFnZT0lZCBXSEVSRSAjJWQgQU5EIHJvb3RwYWdlPSMlZAAwAHRhYmxlICVzIG1heSBub3QgYmUgbW9kaWZpZWQAY2Fubm90IG1vZGlmeSAlcyBiZWNhdXNlIGl0IGlzIGEgdmlldwAlcy5yb3dpZAB0YWJsZSAlUyBoYXMgbm8gY29sdW1uIG5hbWVkICVzAHRhYmxlICVTIGhhcyAlZCBjb2x1bW5zIGJ1dCAlZCB2YWx1ZXMgd2VyZSBzdXBwbGllZAAlZCB2YWx1ZXMgZm9yICVkIGNvbHVtbnMAcm93cyBpbnNlcnRlZABhdCBtb3N0ICVkIHRhYmxlcyBpbiBhIGpvaW4AdG9vIG1hbnkgYXJndW1lbnRzIG9uICVzKCkgLSBtYXggJWQAYXV0b21hdGljIGluZGV4IG9uICVzKCVzKQBhdXRvLWluZGV4ABsZGBoAACUhGxgaGSknJigHBiUhU0VBUkNIAFNDQU4AIFNVQlFVRVJZICVkACBUQUJMRSAlcwAgQVMgJXMASU5ERVggJXMAQ09WRVJJTkcgSU5ERVggJXMAQVVUT01BVElDIENPVkVSSU5HIElOREVYAEFVVE9NQVRJQyBQQVJUSUFMIENPVkVSSU5HIElOREVYAFBSSU1BUlkgS0VZACBVU0lORyAAICgAPGV4cHI+ACBBTkQgACVzPT8AQU5ZKCVzKQA+ADwAPj8gQU5EIHJvd2lkPAA9ACBVU0lORyBJTlRFR0VSIFBSSU1BUlkgS0VZIChyb3dpZCVzPykAIFZJUlRVQUwgVEFCTEUgSU5ERVggJWQ6JXMAKAAKCgkJCAgHBwcGBgYFBQUEBAQEAwMDAwMDAgICAgICAm5vIHF1ZXJ5IHNvbHV0aW9uACVzLnhCZXN0SW5kZXggbWFsZnVuY3Rpb24AT04gY2xhdXNlIHJlZmVyZW5jZXMgdGFibGVzIHRvIGl0cyByaWdodAA5N05PQ0FTRQByZWdleHAALS0gVFJJR0dFUiAlcwAAAQIDBAYICAAAAAAAAAEBAgIDAwQEBQUGBgcHCAgJCQoKCwsMDA0NDg4PDxAQERESEhMTFBQVFRYWFxcYGBkZGhobGxwcHR0eHh8fICAhISIiIyMkJCUlJiYnJygoKSkqKisrLCwtLS4uLy8wMDExMjIzMzQ0NTU2Njc3ODg5OTMAAgBzAAAAYwACAHQAAABwAAAAbm8gc3VjaCBjb2x1bW46ICVzAHJvd3MgdXBkYXRlZAByb3dzIGRlbGV0ZWQAAAcEBgQoCgUgDgUwEwQ4FwUBHAUDbmF0dXJhbGVmdG91dGVyaWdodGZ1bGxpbm5lcmNyb3NzAHVua25vd24gb3IgdW5zdXBwb3J0ZWQgam9pbiB0eXBlOiAlVCAlVCVzJVQAUklHSFQgYW5kIEZVTEwgT1VURVIgSk9JTnMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkAE9OAFVTSU5HAGEgSk9JTiBjbGF1c2UgaXMgcmVxdWlyZWQgYmVmb3JlICVzAGV4cGVjdGVkICVkIGNvbHVtbnMgZm9yICclcycgYnV0IGdvdCAlZABPUkRFUiBCWQBMSU1JVAAlcyBjbGF1c2Ugc2hvdWxkIGNvbWUgYWZ0ZXIgJXMgbm90IGJlZm9yZQBVU0lORyBURU1QIEItVFJFRSAAQ09NUE9VTkQgU1VCUVVFUklFUyAlZCBBTkQgJWQgJXMoJXMpAERJU1RJTkNUAEdST1VQIEJZACBVU0lORyBDT1ZFUklORyBJTkRFWCAAU0NBTiBUQUJMRSAlcyVzJXMAUklHSFQgUEFSVCBPRiBPUkRFUiBCWQBESVNUSU5DVCBhZ2dyZWdhdGVzIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBhcmd1bWVudABVU0UgVEVNUCBCLVRSRUUgRk9SICVzAHJlY3Vyc2l2ZSBhZ2dyZWdhdGUgcXVlcmllcyBub3Qgc3VwcG9ydGVkAHNxbGl0ZV9zdGF0AHRhYmxlICVzIG1heSBub3QgYmUgZHJvcHBlZAB1c2UgRFJPUCBUQUJMRSB0byBkZWxldGUgdGFibGUgJXMAdXNlIERST1AgVklFVyB0byBkZWxldGUgdmlldyAlcwBERUxFVEUgRlJPTSAlUS5zcWxpdGVfc2VxdWVuY2UgV0hFUkUgbmFtZT0lUQBERUxFVEUgRlJPTSAlUS4lcyBXSEVSRSB0YmxfbmFtZT0lUSBhbmQgdHlwZSE9J3RyaWdnZXInAG5vIHN1Y2ggY29sbGF0aW9uIHNlcXVlbmNlOiAlcwBmb3JlaWduIGtleSBvbiAlcyBzaG91bGQgcmVmZXJlbmNlIG9ubHkgb25lIGNvbHVtbiBvZiB0YWJsZSAlVABudW1iZXIgb2YgY29sdW1ucyBpbiBmb3JlaWduIGtleSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIHJlZmVyZW5jZWQgdGFibGUAdW5rbm93biBjb2x1bW4gIiVzIiBpbiBmb3JlaWduIGtleSBkZWZpbml0aW9uAGluZGV4AGNhbm5vdCBjcmVhdGUgYSBURU1QIGluZGV4IG9uIG5vbi1URU1QIHRhYmxlICIlcyIAYWx0ZXJ0YWJfAHRhYmxlICVzIG1heSBub3QgYmUgaW5kZXhlZAB2aWV3cyBtYXkgbm90IGJlIGluZGV4ZWQAdmlydHVhbCB0YWJsZXMgbWF5IG5vdCBiZSBpbmRleGVkAHRoZXJlIGlzIGFscmVhZHkgYSB0YWJsZSBuYW1lZCAlcwBpbmRleCAlcyBhbHJlYWR5IGV4aXN0cwBzcWxpdGVfYXV0b2luZGV4XyVzXyVkAGV4cHJlc3Npb25zIHByb2hpYml0ZWQgaW4gUFJJTUFSWSBLRVkgYW5kIFVOSVFVRSBjb25zdHJhaW50cwBjb25mbGljdGluZyBPTiBDT05GTElDVCBjbGF1c2VzIHNwZWNpZmllZAAgVU5JUVVFAENSRUFURSVzIElOREVYICUuKnMASU5TRVJUIElOVE8gJVEuJXMgVkFMVUVTKCdpbmRleCcsJVEsJVEsIyVkLCVRKTsAbmFtZT0nJXEnIEFORCB0eXBlPSdpbmRleCcAdGFibGUgIiVzIiBoYXMgbW9yZSB0aGFuIG9uZSBwcmltYXJ5IGtleQBBVVRPSU5DUkVNRU5UIGlzIG9ubHkgYWxsb3dlZCBvbiBhbiBJTlRFR0VSIFBSSU1BUlkgS0VZAGRlZmF1bHQgdmFsdWUgb2YgY29sdW1uIFslc10gaXMgbm90IGNvbnN0YW50AEFVVE9JTkNSRU1FTlQgbm90IGFsbG93ZWQgb24gV0lUSE9VVCBST1dJRCB0YWJsZXMAUFJJTUFSWSBLRVkgbWlzc2luZyBvbiB0YWJsZSAlcwBUQUJMRQBWSUVXAAogIAAsCiAgAAopAENSRUFURSBUQUJMRSAAQ1JFQVRFICVzICUuKnMAVVBEQVRFICVRLiVzIFNFVCB0eXBlPSclcycsIG5hbWU9JVEsIHRibF9uYW1lPSVRLCByb290cGFnZT0jJWQsIHNxbD0lUSBXSEVSRSByb3dpZD0jJWQAQ1JFQVRFIFRBQkxFICVRLnNxbGl0ZV9zZXF1ZW5jZShuYW1lLHNlcSkAdGJsX25hbWU9JyVxJyBBTkQgdHlwZSE9J3RyaWdnZXInACBURVhUACBOVU0AIElOVAAgUkVBTAB0ZW1wb3JhcnkgdGFibGUgbmFtZSBtdXN0IGJlIHVucXVhbGlmaWVkAAIECAZ0YWJsZSAlVCBhbHJlYWR5IGV4aXN0cwB0aGVyZSBpcyBhbHJlYWR5IGFuIGluZGV4IG5hbWVkICVzAAYAAAAAAAAAAAEBAQEBABAAAQABAQEDAwESAQMDAQkJCQkJCQkJCQEBAQEBAQEBASMmJgsBAQMDAwMLCwsLCwsBAwEBAQICCAAQEBAQABAQAAAQEAAAAgICACYmJiYmJiYmJiYAEgAQAAAQEAAAAAAAAAAAAAAAABAQAAAAAAAAABAAAAQEAAAQEBAAABAAAAAAAAAABhAABBoAAAAAAAAAAAAAABAQAAAAAAAAACVzIGNvbnN0cmFpbnQgZmFpbGVkACV6OiAlcwBhYm9ydCBhdCAlZCBpbiBbJXNdOiAlcwABAAABAQAAAQABAAEBAAEAAAEAAAAAAQIAAgIAAQIBAQECAQJjYW5ub3Qgb3BlbiBzYXZlcG9pbnQgLSBTUUwgc3RhdGVtZW50cyBpbiBwcm9ncmVzcwBubyBzdWNoIHNhdmVwb2ludDogJXMAY2Fubm90IHJlbGVhc2Ugc2F2ZXBvaW50IC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAY2Fubm90IGNvbW1pdCB0cmFuc2FjdGlvbiAtIFNRTCBzdGF0ZW1lbnRzIGluIHByb2dyZXNzAGNhbm5vdCByb2xsYmFjayAtIG5vIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZQBjYW5ub3QgY29tbWl0IC0gbm8gdHJhbnNhY3Rpb24gaXMgYWN0aXZlAGNhbm5vdCBzdGFydCBhIHRyYW5zYWN0aW9uIHdpdGhpbiBhIHRyYW5zYWN0aW9uAAFTRUxFQ1QgbmFtZSwgcm9vdHBhZ2UsIHNxbCBGUk9NICclcScuJXMgV0hFUkUgJXMgT1JERVIgQlkgcm93aWQATWFpbiBmcmVlbGlzdDogAEZhaWxlZCB0byByZWFkIHB0cm1hcCBrZXk9JWQAQmFkIHB0ciBtYXAgZW50cnkga2V5PSVkIGV4cGVjdGVkPSglZCwlZCkgZ290PSglZCwlZCkAUGFnZSAlZCBpcyBuZXZlciB1c2VkAFBvaW50ZXIgbWFwIHBhZ2UgJWQgaXMgcmVmZXJlbmNlZAB0b28gbWFueSBsZXZlbHMgb2YgdHJpZ2dlciByZWN1cnNpb24AaW50bwBvdXQgb2YAY2Fubm90IGNoYW5nZSAlcyB3YWwgbW9kZSBmcm9tIHdpdGhpbiBhIHRyYW5zYWN0aW9uAGNhbm5vdCBWQUNVVU0gZnJvbSB3aXRoaW4gYSB0cmFuc2FjdGlvbgBjYW5ub3QgVkFDVVVNIC0gU1FMIHN0YXRlbWVudHMgaW4gcHJvZ3Jlc3MAQVRUQUNIJydBUyB2YWN1dW1fZGIAU0VMRUNUIHNxbCBGUk9NICIldyIuc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlPSd0YWJsZSdBTkQgbmFtZTw+J3NxbGl0ZV9zZXF1ZW5jZScgQU5EIGNvYWxlc2NlKHJvb3RwYWdlLDEpPjAAU0VMRUNUIHNxbCBGUk9NICIldyIuc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlPSdpbmRleCcgQU5EIGxlbmd0aChzcWwpPjEwAFNFTEVDVCdJTlNFUlQgSU5UTyB2YWN1dW1fZGIuJ3x8cXVvdGUobmFtZSl8fCcgU0VMRUNUKkZST00iJXciLid8fHF1b3RlKG5hbWUpRlJPTSB2YWN1dW1fZGIuc3FsaXRlX21hc3RlciBXSEVSRSB0eXBlPSd0YWJsZSdBTkQgY29hbGVzY2Uocm9vdHBhZ2UsMSk+MABJTlNFUlQgSU5UTyB2YWN1dW1fZGIuc3FsaXRlX21hc3RlciBTRUxFQ1QqRlJPTSAiJXciLnNxbGl0ZV9tYXN0ZXIgV0hFUkUgdHlwZSBJTigndmlldycsJ3RyaWdnZXInKSBPUih0eXBlPSd0YWJsZSdBTkQgcm9vdHBhZ2U9MCkAAQEDAAUABgAIAGRhdGFiYXNlIHRhYmxlIGlzIGxvY2tlZDogJXMALS0gJXMAc3RhdGVtZW50IGFib3J0cyBhdCAlZDogWyVzXSAlcwAtLSAAJyUuKnEnAHplcm9ibG9iKCVkKQB4JwAlMDJ4ACcAaW52YWxpZCBwYWdlIG51bWJlciAlZAAybmQgcmVmZXJlbmNlIHRvIHBhZ2UgJWQAUGFnZSAlZDogAHVuYWJsZSB0byBnZXQgdGhlIHBhZ2UuIGVycm9yIGNvZGU9JWQAYnRyZWVJbml0UGFnZSgpIHJldHVybnMgZXJyb3IgY29kZSAlZABPbiB0cmVlIHBhZ2UgJWQgY2VsbCAlZDogAE9uIHBhZ2UgJWQgYXQgcmlnaHQgY2hpbGQ6IABPZmZzZXQgJWQgb3V0IG9mIHJhbmdlICVkLi4lZABFeHRlbmRzIG9mZiBlbmQgb2YgcGFnZQBSb3dpZCAlbGxkIG91dCBvZiBvcmRlcgBDaGlsZCBwYWdlIGRlcHRoIGRpZmZlcnMATXVsdGlwbGUgdXNlcyBmb3IgYnl0ZSAldSBvZiBwYWdlICVkAEZyYWdtZW50YXRpb24gb2YgJWQgYnl0ZXMgcmVwb3J0ZWQgYXMgJWQgb24gcGFnZSAlZAAKACVkIG9mICVkIHBhZ2VzIG1pc3NpbmcgZnJvbSBvdmVyZmxvdyBsaXN0IHN0YXJ0aW5nIGF0ICVkAGZhaWxlZCB0byBnZXQgcGFnZSAlZABmcmVlbGlzdCBsZWFmIGNvdW50IHRvbyBiaWcgb24gcGFnZSAlZABmcmVlLXBhZ2UgY291bnQgaW4gaGVhZGVyIGlzIHRvbyBzbWFsbAAAAQIDBAYIAAAATk9UIE5VTEwAVU5JUVVFAENIRUNLAEZPUkVJR04gS0VZAFNhdmVwb2ludABBdXRvQ29tbWl0AFRyYW5zYWN0aW9uAFNvcnRlck5leHQAUHJldklmT3BlbgBOZXh0SWZPcGVuAFByZXYATmV4dABDaGVja3BvaW50AEpvdXJuYWxNb2RlAFZhY3V1bQBWRmlsdGVyAFZVcGRhdGUAR290bwBHb3N1YgBJbml0Q29yb3V0aW5lAFlpZWxkAE11c3RCZUludABKdW1wAE5vdABPbmNlAElmAElmTm90AElmTnVsbFJvdwBTZWVrTFQAU2Vla0xFAFNlZWtHRQBTZWVrR1QATm9Db25mbGljdABOb3RGb3VuZABGb3VuZABTZWVrUm93aWQATm90RXhpc3RzAExhc3QASWZTbWFsbGVyAFNvcnRlclNvcnQAU29ydABSZXdpbmQASWR4TEUASWR4R1QASWR4TFQASWR4R0UAUm93U2V0UmVhZABPcgBBbmQAUm93U2V0VGVzdABQcm9ncmFtAEZrSWZaZXJvAElmUG9zAElmTm90WmVybwBJc051bGwATm90TnVsbABOZQBFcQBHdABMZQBMdABHZQBFbHNlTm90RXEARGVjckp1bXBaZXJvAEluY3JWYWN1dW0AVk5leHQASW5pdABSZXR1cm4ARW5kQ29yb3V0aW5lAEhhbHRJZk51bGwASGFsdABJbnRlZ2VyAEludDY0AFN0cmluZwBOdWxsAFNvZnROdWxsAEJsb2IAVmFyaWFibGUATW92ZQBDb3B5AFNDb3B5AEludENvcHkAUmVzdWx0Um93AENvbGxTZXEAQWRkSW1tAFJlYWxBZmZpbml0eQBDYXN0AFBlcm11dGF0aW9uAEJpdEFuZABCaXRPcgBTaGlmdExlZnQAU2hpZnRSaWdodABBZGQAU3VidHJhY3QATXVsdGlwbHkARGl2aWRlAFJlbWFpbmRlcgBDb25jYXQAQ29tcGFyZQBCaXROb3QAQ29sdW1uAFN0cmluZzgAQWZmaW5pdHkATWFrZVJlY29yZABDb3VudABSZWFkQ29va2llAFNldENvb2tpZQBSZW9wZW5JZHgAT3BlblJlYWQAT3BlbldyaXRlAE9wZW5EdXAAT3BlbkF1dG9pbmRleABPcGVuRXBoZW1lcmFsAFNvcnRlck9wZW4AU2VxdWVuY2VUZXN0AE9wZW5Qc2V1ZG8AQ2xvc2UAQ29sdW1uc1VzZWQAU2VxdWVuY2UATmV3Um93aWQASW5zZXJ0AEluc2VydEludABEZWxldGUAUmVzZXRDb3VudABTb3J0ZXJDb21wYXJlAFNvcnRlckRhdGEAUm93RGF0YQBSb3dpZABOdWxsUm93AFNlZWtFbmQAU29ydGVySW5zZXJ0AElkeEluc2VydABJZHhEZWxldGUARGVmZXJyZWRTZWVrAElkeFJvd2lkAERlc3Ryb3kAUmVhbABDbGVhcgBSZXNldFNvcnRlcgBDcmVhdGVCdHJlZQBTcWxFeGVjAFBhcnNlU2NoZW1hAExvYWRBbmFseXNpcwBEcm9wVGFibGUARHJvcEluZGV4AERyb3BUcmlnZ2VyAEludGVncml0eUNrAFJvd1NldEFkZABQYXJhbQBGa0NvdW50ZXIATWVtTWF4AE9mZnNldExpbWl0AEFnZ1N0ZXAwAEFnZ1N0ZXAAQWdnRmluYWwARXhwaXJlAFRhYmxlTG9jawBWQmVnaW4AVkNyZWF0ZQBWRGVzdHJveQBWT3BlbgBWQ29sdW1uAFZSZW5hbWUAUGFnZWNvdW50AE1heFBnY250AFB1cmVGdW5jMABGdW5jdGlvbjAAUHVyZUZ1bmMARnVuY3Rpb24AQ3Vyc29ySGludABOb29wAEV4cGxhaW4AYmluZCBvbiBhIGJ1c3kgcHJlcGFyZWQgc3RhdGVtZW50OiBbJXNdAGNhbm5vdCBvcGVuIHZpcnR1YWwgdGFibGU6ICVzAGNhbm5vdCBvcGVuIHRhYmxlIHdpdGhvdXQgcm93aWQ6ICVzAGNhbm5vdCBvcGVuIHZpZXc6ICVzAG5vIHN1Y2ggY29sdW1uOiAiJXMiAGZvcmVpZ24ga2V5AGluZGV4ZWQAY2Fubm90IG9wZW4gJXMgY29sdW1uIGZvciB3cml0aW5nAJgAAABoAAAAIAAFAWAAAAFOAQAAQgAAAGNhbm5vdCBvcGVuIHZhbHVlIG9mIHR5cGUgJXMAbm8gc3VjaCByb3dpZDogJWxsZAB0ZW1wAHVuYWJsZSB0byBjbG9zZSBkdWUgdG8gdW5maW5hbGl6ZWQgc3RhdGVtZW50cyBvciB1bmZpbmlzaGVkIGJhY2t1cHMAdW5hYmxlIHRvIHVzZSBmdW5jdGlvbiAlcyBpbiB0aGUgcmVxdWVzdGVkIGNvbnRleHQAUlRSSU0ATUFUQ0gAYXV0b21hdGljIGV4dGVuc2lvbiBsb2FkaW5nIGZhaWxlZDogJXMAZnRzNGF1eABzaW1wbGUAcG9ydGVyAHVuaWNvZGU2MQBmdHMzX3Rva2VuaXplcgBzbmlwcGV0AG9mZnNldHMAbWF0Y2hpbmZvAGZ0czMAZnRzNABmdHMzdG9rZW5pemUAQ1JFQVRFIFRBQkxFIHgoaW5wdXQsIHRva2VuLCBzdGFydCwgZW5kLCBwb3NpdGlvbikAdW5rbm93biB0b2tlbml6ZXI6ICVzACVzX3N0YXQAQUxURVIgVEFCTEUgJVEuJyVxX2NvbnRlbnQnICBSRU5BTUUgVE8gJyVxX2NvbnRlbnQnOwBBTFRFUiBUQUJMRSAlUS4nJXFfZG9jc2l6ZScgIFJFTkFNRSBUTyAnJXFfZG9jc2l6ZSc7AEFMVEVSIFRBQkxFICVRLiclcV9zdGF0JyAgUkVOQU1FIFRPICclcV9zdGF0JzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ21lbnRzJyBSRU5BTUUgVE8gJyVxX3NlZ21lbnRzJzsAQUxURVIgVEFCTEUgJVEuJyVxX3NlZ2RpcicgICBSRU5BTUUgVE8gJyVxX3NlZ2Rpcic7AFNFTEVDVCB2YWx1ZSBGUk9NICVRLiclcV9zdGF0JyBXSEVSRSBpZD0/AFNFTEVDVCBtYXgobGV2ZWwpIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/AFNFTEVDVCAoU0VMRUNUIG1heChpZHgpIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/KSArIDEAU0VMRUNUIGNvYWxlc2NlKChTRUxFQ1QgbWF4KGJsb2NraWQpIEZST00gJVEuJyVxX3NlZ21lbnRzJykgKyAxLCAxKQBSRVBMQUNFIElOVE8gJVEuJyVxX3NlZ21lbnRzJyhibG9ja2lkLCBibG9jaykgVkFMVUVTKD8sID8pAERFTEVURSBGUk9NICVRLiclcV9zZWdtZW50cycgV0hFUkUgYmxvY2tpZCBCRVRXRUVOID8gQU5EID8AREVMRVRFIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/AERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPwBTRUxFQ1QgbGV2ZWwsIGlkeCwgZW5kX2Jsb2NrIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/IE9SREVSIEJZIGxldmVsIERFU0MsIGlkeCBBU0MAVVBEQVRFIE9SIEZBSUwgJVEuJyVxX3NlZ2RpcicgU0VUIGxldmVsPS0xLGlkeD0/IFdIRVJFIGxldmVsPT8gQU5EIGlkeD0/AFVQREFURSBPUiBGQUlMICVRLiclcV9zZWdkaXInIFNFVCBsZXZlbD0/IFdIRVJFIGxldmVsPS0xAFJFUExBQ0UgSU5UTyAlUS4nJXFfc2VnZGlyJyBWQUxVRVMoPyw/LD8sPyw/LD8pACVsbGQgJWxsZAAlc19zZWdtZW50cwBibG9jawBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgQkVUV0VFTiA/IEFORCA/T1JERVIgQlkgbGV2ZWwgREVTQywgaWR4IEFTQwBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/IE9SREVSIEJZIGlkeCBBU0MAbm8gc3VjaCB0YWJsZSBjb2x1bW46ICVzLiVzAHBjeAB1bnJlY29nbml6ZWQgbWF0Y2hpbmZvIHJlcXVlc3Q6ICVjAFNFTEVDVCBzaXplIEZST00gJVEuJyVxX2RvY3NpemUnIFdIRVJFIGRvY2lkPT8AU0VMRUNUICVzIFdIRVJFIHJvd2lkID0gPwBmdHMzY3Vyc29yAGlsbGVnYWwgZmlyc3QgYXJndW1lbnQgdG8gJXMAU0FWRVBPSU5UIGZ0czMAUkVMRUFTRSBmdHMzAFJPTExCQUNLIFRPIGZ0czMASW5kZXggb3B0aW1pemVkAEluZGV4IGFscmVhZHkgb3B0aW1hbABTRUxFQ1QgPyBVTklPTiBTRUxFQ1QgbGV2ZWwgLyAoMTAyNCAqID8pIEZST00gJVEuJyVxX3NlZ2RpcicAJWQgJWQgJWQgJWQgAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgdG8gZnVuY3Rpb24gc25pcHBldCgpADxiPi4uLjwvYj4APC9iPgA8Yj4AU0VMRUNUIG1heCggbGV2ZWwgJSUgMTAyNCApIEZST00gJVEuJyVxX3NlZ2RpcicAU0VMRUNUIGxldmVsLCBjb3VudCgqKSBBUyBjbnQgRlJPTSAlUS4nJXFfc2VnZGlyJyAgIEdST1VQIEJZIGxldmVsIEhBVklORyBjbnQ+PT8gIE9SREVSIEJZIChsZXZlbCAlJSAxMDI0KSBBU0MgTElNSVQgMQBTRUxFQ1QgaWR4LCBzdGFydF9ibG9jaywgbGVhdmVzX2VuZF9ibG9jaywgZW5kX2Jsb2NrLCByb290IEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/IEFORCBpZHggPSA/AFNFTEVDVCAxIEZST00gJVEuJyVxX3NlZ21lbnRzJyBXSEVSRSBibG9ja2lkPT8gQU5EIGJsb2NrIElTIE5VTEwAU0VMRUNUIDIgKiB0b3RhbCgxICsgbGVhdmVzX2VuZF9ibG9jayAtIHN0YXJ0X2Jsb2NrKSAgIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/IEFORCBpZHggPCA/AERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsID0gPyBBTkQgaWR4ID0gPwBVUERBVEUgJVEuJyVxX3NlZ2RpcicgU0VUIHN0YXJ0X2Jsb2NrID0gPywgcm9vdCA9ID9XSEVSRSBsZXZlbCA9ID8gQU5EIGlkeCA9ID8AU0VMRUNUIGlkeCBGUk9NICVRLiclcV9zZWdkaXInIFdIRVJFIGxldmVsPT8gT1JERVIgQlkgMSBBU0MAVVBEQVRFICVRLiclcV9zZWdkaXInIFNFVCBpZHggPSA/IFdIRVJFIGxldmVsPT8gQU5EIGlkeD0/AFJFUExBQ0UgSU5UTyAlUS4nJXFfc3RhdCcgVkFMVUVTKD8sPykAcmVidWlsZABTRUxFQ1QgJXMAaW50ZWdyaXR5LWNoZWNrAG1lcmdlPQBDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyAlUS4nJXFfc3RhdCcoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgdmFsdWUgQkxPQik7AGF1dG9tZXJnZT0AREVMRVRFIEZST00gJVEuJyVxX2NvbnRlbnQnIFdIRVJFIHJvd2lkID0gPwBTRUxFQ1QgTk9UIEVYSVNUUyhTRUxFQ1QgZG9jaWQgRlJPTSAlUS4nJXFfY29udGVudCcgV0hFUkUgcm93aWQhPT8pAERFTEVURSBGUk9NICVRLiclcV9jb250ZW50JwBERUxFVEUgRlJPTSAlUS4nJXFfc2VnbWVudHMnAERFTEVURSBGUk9NICVRLiclcV9zZWdkaXInAERFTEVURSBGUk9NICVRLiclcV9kb2NzaXplJwBERUxFVEUgRlJPTSAlUS4nJXFfc3RhdCcAU0VMRUNUICVzIFdIRVJFIHJvd2lkPT8AU0VMRUNUIGNvdW50KCopIEZST00gJVEuJyVxX3NlZ2RpcicgV0hFUkUgbGV2ZWwgPSA/AElOU0VSVCBJTlRPICVRLiclcV9jb250ZW50JyBWQUxVRVMoJXMpAERFTEVURSBGUk9NICVRLiclcV9kb2NzaXplJyBXSEVSRSBkb2NpZCA9ID8AUkVQTEFDRSBJTlRPICVRLiclcV9kb2NzaXplJyBWQUxVRVMoPyw/KQBGVFMgZXhwcmVzc2lvbiB0cmVlIGlzIHRvbyBsYXJnZSAobWF4aW11bSBkZXB0aCAlZCkAbWFsZm9ybWVkIE1BVENIIGV4cHJlc3Npb246IFslc10AREVTQwBBU0MAU0VMRUNUICVzIFdIRVJFIHJvd2lkIEJFVFdFRU4gJWxsZCBBTkQgJWxsZCBPUkRFUiBCWSByb3dpZCAlcwBTRUxFQ1QgJXMgT1JERVIgQlkgcm93aWQgJXMAT1IAQU5EAE5PVABORUFSAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9jb250ZW50JwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfc2VnbWVudHMnAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9zZWdkaXInAERST1AgVEFCTEUgSUYgRVhJU1RTICVRLiclcV9kb2NzaXplJwBEUk9QIFRBQkxFIElGIEVYSVNUUyAlUS4nJXFfc3RhdCcAdG9rZW5pemUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAB1bnJlY29nbml6ZWQgbWF0Y2hpbmZvOiAlcwBhc2MAdW5yZWNvZ25pemVkIG9yZGVyOiAlcwB1bnJlY29nbml6ZWQgcGFyYW1ldGVyOiAlcwBTRUxFQ1QgKiBGUk9NICVRLiVRAGNvbnRlbnQAZXJyb3IgcGFyc2luZyBwcmVmaXggcGFyYW1ldGVyOiAlcwBjb21wcmVzcwB1bmNvbXByZXNzAG1pc3NpbmcgJXMgcGFyYW1ldGVyIGluIGZ0czQgY29uc3RydWN0b3IAZG9jaWQALCVzKHguJ2MlZCVxJykALCB4LiVRAGxhbmdpZAAsIHguJyVxJwBfY29udGVudAAgRlJPTSAnJXEnLiclcSVzJyBBUyB4ACwlcyg/KQAsID8AZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWQAleiwgJ2MlZCVxJwAleiwgbGFuZ2lkAENSRUFURSBUQUJMRSAlUS4nJXFfY29udGVudCcoJXMpAENSRUFURSBUQUJMRSAlUS4nJXFfc2VnbWVudHMnKGJsb2NraWQgSU5URUdFUiBQUklNQVJZIEtFWSwgYmxvY2sgQkxPQik7AENSRUFURSBUQUJMRSAlUS4nJXFfc2VnZGlyJyhsZXZlbCBJTlRFR0VSLGlkeCBJTlRFR0VSLHN0YXJ0X2Jsb2NrIElOVEVHRVIsbGVhdmVzX2VuZF9ibG9jayBJTlRFR0VSLGVuZF9ibG9jayBJTlRFR0VSLHJvb3QgQkxPQixQUklNQVJZIEtFWShsZXZlbCwgaWR4KSk7AENSRUFURSBUQUJMRSAlUS4nJXFfZG9jc2l6ZScoZG9jaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgc2l6ZSBCTE9CKTsAUFJBR01BICVRLnBhZ2Vfc2l6ZQBfX2xhbmdpZAAlUSwgACV6JVEsIABDUkVBVEUgVEFCTEUgeCglcyAlUSBISURERU4sIGRvY2lkIEhJRERFTiwgJVEgSElEREVOKQBwcmVmaXgAbGFuZ3VhZ2VpZABub3RpbmRleGVkAHVua25vd24gdG9rZW5pemVyAGFyZ3VtZW50IHR5cGUgbWlzbWF0Y2gAZnRzM3Rva2VuaXplIGRpc2FibGVkAABhY2Vpbm91eXlhY2RlZWdoaWprbG5vcnN0dXV3eXpvdWFpb3Vna29qZ25hZWlvcnVzdGhhZW95AAAAAAAAAABhYmRkZWZnaGhpa2xsbW5wcnJzdHV2d3d4eXpodHd5YWVpb3V5cmVtb3ZlX2RpYWNyaXRpY3M9MQByZW1vdmVfZGlhY3JpdGljcz0wAHRva2VuY2hhcnM9AHNlcGFyYXRvcnM9AAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAEBAQABAQEAAQEBAQEAAQEBAQEAAQEBAgFDUkVBVEUgVEFCTEUgeCh0ZXJtLCBjb2wsIGRvY3VtZW50cywgb2NjdXJyZW5jZXMsIGxhbmd1YWdlaWQgSElEREVOKQBpbnZhbGlkIGFyZ3VtZW50cyB0byBmdHM0YXV4IGNvbnN0cnVjdG9yAHVuYWJsZSB0byBkZWxldGUvbW9kaWZ5IGNvbGxhdGlvbiBzZXF1ZW5jZSBkdWUgdG8gYWN0aXZlIHN0YXRlbWVudHMAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAvcHJvYy9zZWxmL2ZkLw=="; | |
| /* no memory initializer */ | |
| var tempDoublePtr = STATICTOP; STATICTOP += 16; | |
| 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}} | |
| function ___assert_fail(condition, filename, line, func) { | |
| ABORT = true; | |
| throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); | |
| } | |
| 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); | |
| 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; | |
| 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) { | |
| 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); | |
| try { | |
| 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(); | |
| }; | |
| } catch (e) { | |
| return callback(e); | |
| } | |
| }); | |
| },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) { | |
| var entries = ['.', '..']; | |
| for (var key in node.contents) { | |
| if (!node.contents.hasOwnProperty(key)) { | |
| continue; | |
| } | |
| entries.push(key); | |
| } | |
| return entries; | |
| },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(stream.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]; | |
| // Node.js compatibility: assigning on this.stack fails on Node 4 (but fixed on Node 8) | |
| if (this.stack) Object.defineProperty(this, "stack", { value: (new Error).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 ___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 ___syscall118(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // fsync | |
| var stream = SYSCALLS.getStreamFromFD(); | |
| return 0; // we can't do anything synchronously; the in-memory FS is already synced to | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| 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(); | |
| // NOTE: offset_high is unused - Emscripten's off_t is 32-bit | |
| var offset = offset_low; | |
| 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 ___syscall15(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // chmod | |
| var path = SYSCALLS.getStr(), mode = SYSCALLS.get(); | |
| FS.chmod(path, mode); | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall183(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // getcwd | |
| var buf = SYSCALLS.get(), size = SYSCALLS.get(); | |
| if (size === 0) return -ERRNO_CODES.EINVAL; | |
| var cwd = FS.cwd(); | |
| var cwdLengthInBytes = lengthBytesUTF8(cwd); | |
| if (size < cwdLengthInBytes + 1) return -ERRNO_CODES.ERANGE; | |
| stringToUTF8(cwd, buf, size); | |
| return buf; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall192(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // mmap2 | |
| var addr = SYSCALLS.get(), len = SYSCALLS.get(), prot = SYSCALLS.get(), flags = SYSCALLS.get(), fd = SYSCALLS.get(), off = SYSCALLS.get() | |
| off <<= 12; // undo pgoffset | |
| var ptr; | |
| var allocated = false; | |
| if (fd === -1) { | |
| ptr = _memalign(PAGE_SIZE, len); | |
| if (!ptr) return -ERRNO_CODES.ENOMEM; | |
| _memset(ptr, 0, len); | |
| allocated = true; | |
| } else { | |
| var info = FS.getStream(fd); | |
| if (!info) return -ERRNO_CODES.EBADF; | |
| var res = FS.mmap(info, HEAPU8, addr, len, off, prot, flags); | |
| ptr = res.ptr; | |
| allocated = res.allocated; | |
| } | |
| SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, flags: flags }; | |
| return ptr; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall194(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // ftruncate64 | |
| var fd = SYSCALLS.get(), zero = SYSCALLS.getZero(), length = SYSCALLS.get64(); | |
| FS.ftruncate(fd, length); | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall195(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // SYS_stat64 | |
| var path = SYSCALLS.getStr(), buf = SYSCALLS.get(); | |
| return SYSCALLS.doStat(FS.stat, path, buf); | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall196(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // SYS_lstat64 | |
| var path = SYSCALLS.getStr(), buf = SYSCALLS.get(); | |
| return SYSCALLS.doStat(FS.lstat, path, buf); | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall197(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // SYS_fstat64 | |
| var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(); | |
| return SYSCALLS.doStat(FS.stat, stream.path, buf); | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // getpid | |
| return PROCINFO.pid; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall202(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // getgid32 | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| }function ___syscall201() { | |
| return ___syscall202.apply(null, arguments) | |
| } | |
| function ___syscall207(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // fchown32 | |
| var fd = SYSCALLS.get(), owner = SYSCALLS.get(), group = SYSCALLS.get(); | |
| FS.fchown(fd, owner, group); | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall212(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // chown32 | |
| var path = SYSCALLS.getStr(), owner = SYSCALLS.get(), group = SYSCALLS.get(); | |
| FS.chown(path, owner, group); | |
| return 0; | |
| } 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 ___syscall3(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // read | |
| var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get(); | |
| return FS.read(stream, HEAP8,buf, count); | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall33(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // access | |
| var path = SYSCALLS.getStr(), amode = SYSCALLS.get(); | |
| return SYSCALLS.doAccess(path, amode); | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall39(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // mkdir | |
| var path = SYSCALLS.getStr(), mode = SYSCALLS.get(); | |
| return SYSCALLS.doMkdir(path, mode); | |
| } 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 ___syscall40(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // rmdir | |
| var path = SYSCALLS.getStr(); | |
| FS.rmdir(path); | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| 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 ___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; | |
| } | |
| } | |
| function ___syscall85(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // readlink | |
| var path = SYSCALLS.getStr(), buf = SYSCALLS.get(), bufsize = SYSCALLS.get(); | |
| return SYSCALLS.doReadlink(path, buf, bufsize); | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall91(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // munmap | |
| var addr = SYSCALLS.get(), len = SYSCALLS.get(); | |
| // TODO: support unmmap'ing parts of allocations | |
| var info = SYSCALLS.mappings[addr]; | |
| if (!info) return 0; | |
| if (len === info.len) { | |
| var stream = FS.getStream(info.fd); | |
| SYSCALLS.doMsync(addr, stream, len, info.flags) | |
| FS.munmap(stream); | |
| SYSCALLS.mappings[addr] = null; | |
| if (info.allocated) { | |
| _free(info.malloc); | |
| } | |
| } | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function ___syscall94(which, varargs) {SYSCALLS.varargs = varargs; | |
| try { | |
| // fchmod | |
| var fd = SYSCALLS.get(), mode = SYSCALLS.get(); | |
| FS.fchmod(fd, mode); | |
| return 0; | |
| } catch (e) { | |
| if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
| return -e.errno; | |
| } | |
| } | |
| function _abort() { | |
| Module['abort'](); | |
| } | |
| var _environ=STATICTOP; STATICTOP += 16;;var ___environ=_environ;function ___buildEnvironment(env) { | |
| // WARNING: Arbitrary limit! | |
| var MAX_ENV_VALUES = 64; | |
| var TOTAL_ENV_SIZE = 1024; | |
| // Statically allocate memory for the environment. | |
| var poolPtr; | |
| var envPtr; | |
| if (!___buildEnvironment.called) { | |
| ___buildEnvironment.called = true; | |
| // Set default values. Use string keys for Closure Compiler compatibility. | |
| ENV['USER'] = ENV['LOGNAME'] = 'web_user'; | |
| ENV['PATH'] = '/'; | |
| ENV['PWD'] = '/'; | |
| ENV['HOME'] = '/home/web_user'; | |
| ENV['LANG'] = 'C.UTF-8'; | |
| ENV['_'] = Module['thisProgram']; | |
| // Allocate memory. | |
| poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); | |
| envPtr = allocate(MAX_ENV_VALUES * 4, | |
| 'i8*', ALLOC_STATIC); | |
| HEAP32[((envPtr)>>2)]=poolPtr; | |
| HEAP32[((_environ)>>2)]=envPtr; | |
| } else { | |
| envPtr = HEAP32[((_environ)>>2)]; | |
| poolPtr = HEAP32[((envPtr)>>2)]; | |
| } | |
| // Collect key=value lines. | |
| var strings = []; | |
| var totalSize = 0; | |
| for (var key in env) { | |
| if (typeof env[key] === 'string') { | |
| var line = key + '=' + env[key]; | |
| strings.push(line); | |
| totalSize += line.length; | |
| } | |
| } | |
| if (totalSize > TOTAL_ENV_SIZE) { | |
| throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); | |
| } | |
| // Make new. | |
| var ptrSize = 4; | |
| for (var i = 0; i < strings.length; i++) { | |
| var line = strings[i]; | |
| writeAsciiToMemory(line, poolPtr); | |
| HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; | |
| poolPtr += line.length + 1; | |
| } | |
| HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; | |
| }var ENV={};function _getenv(name) { | |
| // char *getenv(const char *name); | |
| // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html | |
| if (name === 0) return 0; | |
| name = Pointer_stringify(name); | |
| if (!ENV.hasOwnProperty(name)) return 0; | |
| if (_getenv.ret) _free(_getenv.ret); | |
| _getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); | |
| return _getenv.ret; | |
| } | |
| function _gettimeofday(ptr) { | |
| var now = Date.now(); | |
| HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds | |
| HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds | |
| return 0; | |
| } | |
| var _llvm_pow_f64=Math_pow; | |
| function _llvm_trap() { | |
| abort('trap!'); | |
| } | |
| var ___tm_current=STATICTOP; STATICTOP += 48;; | |
| var ___tm_timezone=allocate(intArrayFromString("GMT"), "i8", ALLOC_STATIC); | |
| var _tzname=STATICTOP; STATICTOP += 16;; | |
| var _daylight=STATICTOP; STATICTOP += 16;; | |
| var _timezone=STATICTOP; STATICTOP += 16;;function _tzset() { | |
| // TODO: Use (malleable) environment variables instead of system settings. | |
| if (_tzset.called) return; | |
| _tzset.called = true; | |
| HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; | |
| var winter = new Date(2000, 0, 1); | |
| var summer = new Date(2000, 6, 1); | |
| HEAP32[((_daylight)>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); | |
| function extractZone(date) { | |
| var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); | |
| return match ? match[1] : "GMT"; | |
| }; | |
| var winterName = extractZone(winter); | |
| var summerName = extractZone(summer); | |
| var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); | |
| var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); | |
| if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { | |
| // Northern hemisphere | |
| HEAP32[((_tzname)>>2)]=winterNamePtr; | |
| HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; | |
| } else { | |
| HEAP32[((_tzname)>>2)]=summerNamePtr; | |
| HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; | |
| } | |
| }function _localtime_r(time, tmPtr) { | |
| _tzset(); | |
| var date = new Date(HEAP32[((time)>>2)]*1000); | |
| HEAP32[((tmPtr)>>2)]=date.getSeconds(); | |
| HEAP32[(((tmPtr)+(4))>>2)]=date.getMinutes(); | |
| HEAP32[(((tmPtr)+(8))>>2)]=date.getHours(); | |
| HEAP32[(((tmPtr)+(12))>>2)]=date.getDate(); | |
| HEAP32[(((tmPtr)+(16))>>2)]=date.getMonth(); | |
| HEAP32[(((tmPtr)+(20))>>2)]=date.getFullYear()-1900; | |
| HEAP32[(((tmPtr)+(24))>>2)]=date.getDay(); | |
| var start = new Date(date.getFullYear(), 0, 1); | |
| var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0; | |
| HEAP32[(((tmPtr)+(28))>>2)]=yday; | |
| HEAP32[(((tmPtr)+(36))>>2)]=-(date.getTimezoneOffset() * 60); | |
| // Attention: DST is in December in South, and some regions don't have DST at all. | |
| var summerOffset = new Date(2000, 6, 1).getTimezoneOffset(); | |
| var winterOffset = start.getTimezoneOffset(); | |
| var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; | |
| HEAP32[(((tmPtr)+(32))>>2)]=dst; | |
| var zonePtr = HEAP32[(((_tzname)+(dst ? 4 : 0))>>2)]; | |
| HEAP32[(((tmPtr)+(40))>>2)]=zonePtr; | |
| return tmPtr; | |
| }function _localtime(time) { | |
| return _localtime_r(time, ___tm_current); | |
| } | |
| function _emscripten_memcpy_big(dest, src, num) { | |
| HEAPU8.set(HEAPU8.subarray(src, src+num), dest); | |
| return dest; | |
| } | |
| function _usleep(useconds) { | |
| // int usleep(useconds_t useconds); | |
| // http://pubs.opengroup.org/onlinepubs/000095399/functions/usleep.html | |
| // We're single-threaded, so use a busy loop. Super-ugly. | |
| var msec = useconds / 1000; | |
| if ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']) { | |
| var start = self['performance']['now'](); | |
| while (self['performance']['now']() - start < msec) { | |
| // Do nothing. | |
| } | |
| } else { | |
| var start = Date.now(); | |
| while (Date.now() - start < msec) { | |
| // Do nothing. | |
| } | |
| } | |
| return 0; | |
| } | |
| Module["_usleep"] = _usleep;function _nanosleep(rqtp, rmtp) { | |
| // int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); | |
| var seconds = HEAP32[((rqtp)>>2)]; | |
| var nanoseconds = HEAP32[(((rqtp)+(4))>>2)]; | |
| if (rmtp !== 0) { | |
| HEAP32[((rmtp)>>2)]=0; | |
| HEAP32[(((rmtp)+(4))>>2)]=0; | |
| } | |
| return _usleep((seconds * 1e6) + (nanoseconds / 1000)); | |
| } | |
| function _sysconf(name) { | |
| // long sysconf(int name); | |
| // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html | |
| switch(name) { | |
| case 30: return PAGE_SIZE; | |
| case 85: | |
| var maxHeapSize = 2*1024*1024*1024 - 16777216; | |
| maxHeapSize = HEAPU8.length; | |
| return maxHeapSize / PAGE_SIZE; | |
| case 132: | |
| case 133: | |
| case 12: | |
| case 137: | |
| case 138: | |
| case 15: | |
| case 235: | |
| case 16: | |
| case 17: | |
| case 18: | |
| case 19: | |
| case 20: | |
| case 149: | |
| case 13: | |
| case 10: | |
| case 236: | |
| case 153: | |
| case 9: | |
| case 21: | |
| case 22: | |
| case 159: | |
| case 154: | |
| case 14: | |
| case 77: | |
| case 78: | |
| case 139: | |
| case 80: | |
| case 81: | |
| case 82: | |
| case 68: | |
| case 67: | |
| case 164: | |
| case 11: | |
| case 29: | |
| case 47: | |
| case 48: | |
| case 95: | |
| case 52: | |
| case 51: | |
| case 46: | |
| return 200809; | |
| case 79: | |
| return 0; | |
| case 27: | |
| case 246: | |
| case 127: | |
| case 128: | |
| case 23: | |
| case 24: | |
| case 160: | |
| case 161: | |
| case 181: | |
| case 182: | |
| case 242: | |
| case 183: | |
| case 184: | |
| case 243: | |
| case 244: | |
| case 245: | |
| case 165: | |
| case 178: | |
| case 179: | |
| case 49: | |
| case 50: | |
| case 168: | |
| case 169: | |
| case 175: | |
| case 170: | |
| case 171: | |
| case 172: | |
| case 97: | |
| case 76: | |
| case 32: | |
| case 173: | |
| case 35: | |
| return -1; | |
| case 176: | |
| case 177: | |
| case 7: | |
| case 155: | |
| case 8: | |
| case 157: | |
| case 125: | |
| case 126: | |
| case 92: | |
| case 93: | |
| case 129: | |
| case 130: | |
| case 131: | |
| case 94: | |
| case 91: | |
| return 1; | |
| case 74: | |
| case 60: | |
| case 69: | |
| case 70: | |
| case 4: | |
| return 1024; | |
| case 31: | |
| case 42: | |
| case 72: | |
| return 32; | |
| case 87: | |
| case 26: | |
| case 33: | |
| return 2147483647; | |
| case 34: | |
| case 1: | |
| return 47839; | |
| case 38: | |
| case 36: | |
| return 99; | |
| case 43: | |
| case 37: | |
| return 2048; | |
| case 0: return 2097152; | |
| case 3: return 65536; | |
| case 28: return 32768; | |
| case 44: return 32767; | |
| case 75: return 16384; | |
| case 39: return 1000; | |
| case 89: return 700; | |
| case 71: return 256; | |
| case 40: return 255; | |
| case 2: return 100; | |
| case 180: return 64; | |
| case 25: return 20; | |
| case 5: return 16; | |
| case 6: return 6; | |
| case 73: return 4; | |
| case 84: { | |
| if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; | |
| return 1; | |
| } | |
| } | |
| ___setErrNo(ERRNO_CODES.EINVAL); | |
| return -1; | |
| } | |
| function _time(ptr) { | |
| var ret = (Date.now()/1000)|0; | |
| if (ptr) { | |
| HEAP32[((ptr)>>2)]=ret; | |
| } | |
| return ret; | |
| } | |
| function _utimes(path, times) { | |
| var time; | |
| if (times) { | |
| var offset = 8 + 0; | |
| time = HEAP32[(((times)+(offset))>>2)] * 1000; | |
| offset = 8 + 4; | |
| time += HEAP32[(((times)+(offset))>>2)] / 1000; | |
| } else { | |
| time = Date.now(); | |
| } | |
| path = Pointer_stringify(path); | |
| try { | |
| FS.utime(path, time, time); | |
| return 0; | |
| } catch (e) { | |
| FS.handleFSError(e); | |
| return -1; | |
| } | |
| } | |
| 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(); }; | |
| ___buildEnvironment(ENV);; | |
| DYNAMICTOP_PTR = staticAlloc(4); | |
| STACK_BASE = STACKTOP = alignMemory(STATICTOP); | |
| STACK_MAX = STACK_BASE + TOTAL_STACK; | |
| DYNAMIC_BASE = alignMemory(STACK_MAX); | |
| HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; | |
| staticSealed = true; // seal the static portion of memory | |
| var ASSERTIONS = false; | |
| // All functions here should be maybeExported from jsifier.js | |
| /** @type {function(string, boolean=, number=)} */ | |
| function intArrayFromString(stringy, dontAddNull, length) { | |
| 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; | |
| } | |
| function intArrayToString(array) { | |
| var ret = []; | |
| for (var i = 0; i < array.length; i++) { | |
| var chr = array[i]; | |
| if (chr > 0xFF) { | |
| if (ASSERTIONS) { | |
| 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(''); | |
| } | |
| // All functions here should be maybeExported from jsifier.js | |
| // Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 | |
| // This code was written by Tyler Akins and has been placed in the | |
| // public domain. It would be nice if you left this header intact. | |
| // Base64 code from Tyler Akins -- http://rumkin.com | |
| /** | |
| * Decodes a base64 string. | |
| * @param {String} input The string to decode. | |
| */ | |
| var decodeBase64 = typeof atob === 'function' ? atob : function (input) { | |
| var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; | |
| var output = ''; | |
| var chr1, chr2, chr3; | |
| var enc1, enc2, enc3, enc4; | |
| var i = 0; | |
| // remove all characters that are not A-Z, a-z, 0-9, +, /, or = | |
| input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); | |
| do { | |
| enc1 = keyStr.indexOf(input.charAt(i++)); | |
| enc2 = keyStr.indexOf(input.charAt(i++)); | |
| enc3 = keyStr.indexOf(input.charAt(i++)); | |
| enc4 = keyStr.indexOf(input.charAt(i++)); | |
| chr1 = (enc1 << 2) | (enc2 >> 4); | |
| chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); | |
| chr3 = ((enc3 & 3) << 6) | enc4; | |
| output = output + String.fromCharCode(chr1); | |
| if (enc3 !== 64) { | |
| output = output + String.fromCharCode(chr2); | |
| } | |
| if (enc4 !== 64) { | |
| output = output + String.fromCharCode(chr3); | |
| } | |
| } while (i < input.length); | |
| return output; | |
| }; | |
| // Converts a string of base64 into a byte array. | |
| // Throws error on invalid input. | |
| function intArrayFromBase64(s) { | |
| if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { | |
| var buf; | |
| try { | |
| buf = Buffer.from(s, 'base64'); | |
| } catch (_) { | |
| buf = new Buffer(s, 'base64'); | |
| } | |
| return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); | |
| } | |
| try { | |
| var decoded = decodeBase64(s); | |
| var bytes = new Uint8Array(decoded.length); | |
| for (var i = 0 ; i < decoded.length ; ++i) { | |
| bytes[i] = decoded.charCodeAt(i); | |
| } | |
| return bytes; | |
| } catch (_) { | |
| throw new Error('Converting base64 string to bytes failed.'); | |
| } | |
| } | |
| // If filename is a base64 data URI, parses and returns data (Buffer on node, | |
| // Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. | |
| function tryParseAsDataURI(filename) { | |
| if (!isDataURI(filename)) { | |
| return; | |
| } | |
| return intArrayFromBase64(filename.slice(dataURIPrefix.length)); | |
| } | |
| function invoke_i(index) { | |
| try { | |
| return Module["dynCall_i"](index); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_i(index) { | |
| return functionPointers[index](); | |
| } | |
| function invoke_ii(index,a1) { | |
| try { | |
| return Module["dynCall_ii"](index,a1); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_ii(index,a1) { | |
| return functionPointers[index](a1); | |
| } | |
| function invoke_iii(index,a1,a2) { | |
| try { | |
| return Module["dynCall_iii"](index,a1,a2); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_iii(index,a1,a2) { | |
| return functionPointers[index](a1,a2); | |
| } | |
| 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; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_iiii(index,a1,a2,a3) { | |
| return functionPointers[index](a1,a2,a3); | |
| } | |
| 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; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_iiiii(index,a1,a2,a3,a4) { | |
| return functionPointers[index](a1,a2,a3,a4); | |
| } | |
| function invoke_iiiiii(index,a1,a2,a3,a4,a5) { | |
| try { | |
| return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_iiiiii(index,a1,a2,a3,a4,a5) { | |
| return functionPointers[index](a1,a2,a3,a4,a5); | |
| } | |
| function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6) { | |
| try { | |
| return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6) { | |
| return functionPointers[index](a1,a2,a3,a4,a5,a6); | |
| } | |
| function invoke_vi(index,a1) { | |
| try { | |
| Module["dynCall_vi"](index,a1); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_vi(index,a1) { | |
| functionPointers[index](a1); | |
| } | |
| function invoke_vii(index,a1,a2) { | |
| try { | |
| Module["dynCall_vii"](index,a1,a2); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_vii(index,a1,a2) { | |
| functionPointers[index](a1,a2); | |
| } | |
| 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; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_viii(index,a1,a2,a3) { | |
| functionPointers[index](a1,a2,a3); | |
| } | |
| 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; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_viiii(index,a1,a2,a3,a4) { | |
| functionPointers[index](a1,a2,a3,a4); | |
| } | |
| function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { | |
| try { | |
| Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); | |
| } catch(e) { | |
| if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
| Module["setThrew"](1, 0); | |
| } | |
| } | |
| function jsCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { | |
| functionPointers[index](a1,a2,a3,a4,a5,a6); | |
| } | |
| 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, "invoke_i": invoke_i, "jsCall_i": jsCall_i, "invoke_ii": invoke_ii, "jsCall_ii": jsCall_ii, "invoke_iii": invoke_iii, "jsCall_iii": jsCall_iii, "invoke_iiii": invoke_iiii, "jsCall_iiii": jsCall_iiii, "invoke_iiiii": invoke_iiiii, "jsCall_iiiii": jsCall_iiiii, "invoke_iiiiii": invoke_iiiiii, "jsCall_iiiiii": jsCall_iiiiii, "invoke_iiiiiii": invoke_iiiiiii, "jsCall_iiiiiii": jsCall_iiiiiii, "invoke_vi": invoke_vi, "jsCall_vi": jsCall_vi, "invoke_vii": invoke_vii, "jsCall_vii": jsCall_vii, "invoke_viii": invoke_viii, "jsCall_viii": jsCall_viii, "invoke_viiii": invoke_viiii, "jsCall_viiii": jsCall_viiii, "invoke_viiiiii": invoke_viiiiii, "jsCall_viiiiii": jsCall_viiiiii, "___assert_fail": ___assert_fail, "___buildEnvironment": ___buildEnvironment, "___setErrNo": ___setErrNo, "___syscall10": ___syscall10, "___syscall118": ___syscall118, "___syscall140": ___syscall140, "___syscall15": ___syscall15, "___syscall183": ___syscall183, "___syscall192": ___syscall192, "___syscall194": ___syscall194, "___syscall195": ___syscall195, "___syscall196": ___syscall196, "___syscall197": ___syscall197, "___syscall20": ___syscall20, "___syscall201": ___syscall201, "___syscall202": ___syscall202, "___syscall207": ___syscall207, "___syscall212": ___syscall212, "___syscall221": ___syscall221, "___syscall3": ___syscall3, "___syscall33": ___syscall33, "___syscall39": ___syscall39, "___syscall4": ___syscall4, "___syscall40": ___syscall40, "___syscall5": ___syscall5, "___syscall6": ___syscall6, "___syscall85": ___syscall85, "___syscall91": ___syscall91, "___syscall94": ___syscall94, "_abort": _abort, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_getenv": _getenv, "_gettimeofday": _gettimeofday, "_llvm_pow_f64": _llvm_pow_f64, "_llvm_trap": _llvm_trap, "_localtime": _localtime, "_localtime_r": _localtime_r, "_nanosleep": _nanosleep, "_sysconf": _sysconf, "_time": _time, "_tzset": _tzset, "_usleep": _usleep, "_utimes": _utimes, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; | |
| // EMSCRIPTEN_START_ASM | |
| var asm = (/** @suppress {uselessCode} */ function(global, env, buffer) { | |
| 'use asm'; | |
| var HEAP8 = new global.Int8Array(buffer); | |
| var HEAP16 = new global.Int16Array(buffer); | |
| var HEAP32 = new global.Int32Array(buffer); | |
| var HEAPU8 = new global.Uint8Array(buffer); | |
| var HEAPU16 = new global.Uint16Array(buffer); | |
| var HEAPU32 = new global.Uint32Array(buffer); | |
| var HEAPF32 = new global.Float32Array(buffer); | |
| var HEAPF64 = new global.Float64Array(buffer); | |
| var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; | |
| var tempDoublePtr=env.tempDoublePtr|0; | |
| var ABORT=env.ABORT|0; | |
| var STACKTOP=env.STACKTOP|0; | |
| var STACK_MAX=env.STACK_MAX|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, tempBigIntS = 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 invoke_i=env.invoke_i; | |
| var jsCall_i=env.jsCall_i; | |
| var invoke_ii=env.invoke_ii; | |
| var jsCall_ii=env.jsCall_ii; | |
| var invoke_iii=env.invoke_iii; | |
| var jsCall_iii=env.jsCall_iii; | |
| var invoke_iiii=env.invoke_iiii; | |
| var jsCall_iiii=env.jsCall_iiii; | |
| var invoke_iiiii=env.invoke_iiiii; | |
| var jsCall_iiiii=env.jsCall_iiiii; | |
| var invoke_iiiiii=env.invoke_iiiiii; | |
| var jsCall_iiiiii=env.jsCall_iiiiii; | |
| var invoke_iiiiiii=env.invoke_iiiiiii; | |
| var jsCall_iiiiiii=env.jsCall_iiiiiii; | |
| var invoke_vi=env.invoke_vi; | |
| var jsCall_vi=env.jsCall_vi; | |
| var invoke_vii=env.invoke_vii; | |
| var jsCall_vii=env.jsCall_vii; | |
| var invoke_viii=env.invoke_viii; | |
| var jsCall_viii=env.jsCall_viii; | |
| var invoke_viiii=env.invoke_viiii; | |
| var jsCall_viiii=env.jsCall_viiii; | |
| var invoke_viiiiii=env.invoke_viiiiii; | |
| var jsCall_viiiiii=env.jsCall_viiiiii; | |
| var ___assert_fail=env.___assert_fail; | |
| var ___buildEnvironment=env.___buildEnvironment; | |
| var ___setErrNo=env.___setErrNo; | |
| var ___syscall10=env.___syscall10; | |
| var ___syscall118=env.___syscall118; | |
| var ___syscall140=env.___syscall140; | |
| var ___syscall15=env.___syscall15; | |
| var ___syscall183=env.___syscall183; | |
| var ___syscall192=env.___syscall192; | |
| var ___syscall194=env.___syscall194; | |
| var ___syscall195=env.___syscall195; | |
| var ___syscall196=env.___syscall196; | |
| var ___syscall197=env.___syscall197; | |
| var ___syscall20=env.___syscall20; | |
| var ___syscall201=env.___syscall201; | |
| var ___syscall202=env.___syscall202; | |
| var ___syscall207=env.___syscall207; | |
| var ___syscall212=env.___syscall212; | |
| var ___syscall221=env.___syscall221; | |
| var ___syscall3=env.___syscall3; | |
| var ___syscall33=env.___syscall33; | |
| var ___syscall39=env.___syscall39; | |
| var ___syscall4=env.___syscall4; | |
| var ___syscall40=env.___syscall40; | |
| var ___syscall5=env.___syscall5; | |
| var ___syscall6=env.___syscall6; | |
| var ___syscall85=env.___syscall85; | |
| var ___syscall91=env.___syscall91; | |
| var ___syscall94=env.___syscall94; | |
| var _abort=env._abort; | |
| var _emscripten_memcpy_big=env._emscripten_memcpy_big; | |
| var _getenv=env._getenv; | |
| var _gettimeofday=env._gettimeofday; | |
| var _llvm_pow_f64=env._llvm_pow_f64; | |
| var _llvm_trap=env._llvm_trap; | |
| var _localtime=env._localtime; | |
| var _localtime_r=env._localtime_r; | |
| var _nanosleep=env._nanosleep; | |
| var _sysconf=env._sysconf; | |
| var _time=env._time; | |
| var _tzset=env._tzset; | |
| var _usleep=env._usleep; | |
| var _utimes=env._utimes; | |
| 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; | |
| 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 _RegisterExtensionFunctions($0) { | |
| $0 = $0|0; | |
| var $$024 = 0, $$02527 = 0, $1 = 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, $exitcond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $$02527 = 0; | |
| while(1) { | |
| $1 = (((480 + (($$02527*12)|0)|0)) + 5|0); | |
| $2 = HEAP8[$1>>0]|0; | |
| switch ($2<<24>>24) { | |
| case 1: { | |
| $$024 = $0; | |
| break; | |
| } | |
| case 2: { | |
| $$024 = (-1); | |
| break; | |
| } | |
| default: { | |
| $$024 = 0; | |
| } | |
| } | |
| $3 = (480 + (($$02527*12)|0)|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (((480 + (($$02527*12)|0)|0)) + 4|0); | |
| $6 = HEAP8[$5>>0]|0; | |
| $7 = $6 << 24 >> 24; | |
| $8 = (((480 + (($$02527*12)|0)|0)) + 6|0); | |
| $9 = HEAP8[$8>>0]|0; | |
| $10 = $9&255; | |
| $11 = (((480 + (($$02527*12)|0)|0)) + 8|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| (_sqlite3_create_function($0,$4,$7,$10,$$024,$12,0,0)|0); | |
| $13 = (($$02527) + 1)|0; | |
| $exitcond = ($13|0)==(40); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$02527 = $13; | |
| } | |
| } | |
| (_sqlite3_create_function($0,16097,1,1,0,0,222,142)|0); | |
| (_sqlite3_create_function($0,16103,1,1,0,0,222,143)|0); | |
| (_sqlite3_create_function($0,30266,1,1,0,0,223,144)|0); | |
| (_sqlite3_create_function($0,16112,1,1,0,0,223,145)|0); | |
| (_sqlite3_create_function($0,16119,1,1,0,0,223,146)|0); | |
| (_sqlite3_create_function($0,16134,1,1,0,0,223,147)|0); | |
| return 0; | |
| } | |
| function _acosFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),378,(16181|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_acos((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _asinFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),379,(16190|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_asin((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _atanFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),380,(16199|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_atan((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _atn2Func($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(2); | |
| if (!($3)) { | |
| ___assert_fail((16208|0),(16157|0),570,(16216|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if (!($6)) { | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (_sqlite3_value_type($8)|0); | |
| $10 = ($9|0)==(5); | |
| if (!($10)) { | |
| $11 = HEAP32[$2>>2]|0; | |
| $12 = (+_sqlite3_value_double($11)); | |
| $13 = HEAP32[$7>>2]|0; | |
| $14 = (+_sqlite3_value_double($13)); | |
| $15 = (+Math_atan2((+$12),(+$14))); | |
| _sqlite3_result_double($0,$15); | |
| return; | |
| } | |
| } | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| function _acoshFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),394,(16225|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+_acosh($7)); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _asinhFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),402,(16235|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+_asinh($7)); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _atanhFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),410,(16245|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+_atanh($7)); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _differenceFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$032 = 0, $$$i = 0, $$$i56 = 0, $$0$i = 0, $$0$i51 = 0, $$018$i = 0, $$018$i50 = 0, $$02934$ph$i100 = 0, $$02934$ph$i4191 = 0, $$02975 = 0, $$03174 = 0, $$03273 = 0, $$037$i = 0, $$037$i36 = 0, $$076 = 0, $$1 = 0, $$1$i = 0, $$1$i53 = 0, $$119$i = 0, $$119$i52 = 0; | |
| var $$130 = 0, $$135$i4377 = 0, $$135$i4377$1 = 0, $$135$i4377$2 = 0, $$135$i79 = 0, $$135$i79$1 = 0, $$135$i79$2 = 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; | |
| 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, $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, $cond$i = 0, $cond$i38 = 0, $cond36$i = 0, $cond36$i34 = 0, $exitcond = 0, $or$cond$i = 0, $or$cond$i54 = 0, $or$cond22$i = 0, $or$cond22$i55 = 0, $scevgep$i = 0, $scevgep$i44 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $3 = sp + 8|0; | |
| $4 = sp; | |
| $5 = ($1|0)==(2); | |
| if (!($5)) { | |
| ___assert_fail((16208|0),(16157|0),1680,(16255|0)); | |
| // unreachable; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (_sqlite3_value_type($6)|0); | |
| $8 = ($7|0)==(5); | |
| if (!($8)) { | |
| $9 = ((($2)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (_sqlite3_value_type($10)|0); | |
| $12 = ($11|0)==(5); | |
| if (!($12)) { | |
| $13 = HEAP32[$2>>2]|0; | |
| $14 = (_sqlite3_value_text($13)|0); | |
| $15 = HEAP32[$9>>2]|0; | |
| $16 = (_sqlite3_value_text($15)|0); | |
| $17 = HEAP8[$14>>0]|0; | |
| $cond36$i = ($17<<24>>24)==(0); | |
| L7: do { | |
| if ($cond36$i) { | |
| label = 16; | |
| } else { | |
| $18 = $17&255; | |
| $$037$i = 0;$19 = $18;$218 = $17; | |
| while(1) { | |
| $20 = (_isalpha($19)|0); | |
| $21 = ($20|0)==(0); | |
| if (!($21)) { | |
| break; | |
| } | |
| $22 = (($$037$i) + 1)|0; | |
| $23 = (($14) + ($22)|0); | |
| $24 = HEAP8[$23>>0]|0; | |
| $25 = $24&255; | |
| $cond$i = ($24<<24>>24)==(0); | |
| if ($cond$i) { | |
| label = 16; | |
| break L7; | |
| } else { | |
| $$037$i = $22;$19 = $25;$218 = $24; | |
| } | |
| } | |
| $26 = (_toupper($19)|0); | |
| $27 = $26&255; | |
| HEAP8[$3>>0] = $27; | |
| $$135$i79 = $$037$i;$30 = $218; | |
| while(1) { | |
| $29 = $30 & 127; | |
| $31 = $29&255; | |
| $32 = (16270 + ($31)|0); | |
| $33 = HEAP8[$32>>0]|0; | |
| $34 = ($33<<24>>24)==(0); | |
| if (!($34)) { | |
| label = 14; | |
| break; | |
| } | |
| $35 = (($$135$i79) + 1)|0; | |
| $36 = (($14) + ($35)|0); | |
| $37 = HEAP8[$36>>0]|0; | |
| $38 = ($37<<24>>24)==(0); | |
| if ($38) { | |
| $$02934$ph$i100 = 1; | |
| label = 11; | |
| break; | |
| } else { | |
| $$135$i79 = $35;$30 = $37; | |
| } | |
| } | |
| L16: do { | |
| if ((label|0) == 14) { | |
| $39 = ((($3)) + 1|0); | |
| $40 = $33&255; | |
| $41 = (($40) + 48)|0; | |
| $42 = $41&255; | |
| HEAP8[$39>>0] = $42; | |
| $43 = (($$135$i79) + 1)|0; | |
| $44 = (($14) + ($43)|0); | |
| $45 = HEAP8[$44>>0]|0; | |
| $46 = ($45<<24>>24)==(0); | |
| if ($46) { | |
| $$02934$ph$i100 = 2; | |
| label = 11; | |
| } else { | |
| $$135$i79$1 = $43;$187 = $45; | |
| while(1) { | |
| $186 = $187 & 127; | |
| $188 = $186&255; | |
| $189 = (16270 + ($188)|0); | |
| $190 = HEAP8[$189>>0]|0; | |
| $191 = ($190<<24>>24)==(0); | |
| if (!($191)) { | |
| break; | |
| } | |
| $200 = (($$135$i79$1) + 1)|0; | |
| $201 = (($14) + ($200)|0); | |
| $202 = HEAP8[$201>>0]|0; | |
| $203 = ($202<<24>>24)==(0); | |
| if ($203) { | |
| $$02934$ph$i100 = 2; | |
| label = 11; | |
| break L16; | |
| } else { | |
| $$135$i79$1 = $200;$187 = $202; | |
| } | |
| } | |
| $192 = ((($3)) + 2|0); | |
| $193 = $190&255; | |
| $194 = (($193) + 48)|0; | |
| $195 = $194&255; | |
| HEAP8[$192>>0] = $195; | |
| $196 = (($$135$i79$1) + 1)|0; | |
| $197 = (($14) + ($196)|0); | |
| $198 = HEAP8[$197>>0]|0; | |
| $199 = ($198<<24>>24)==(0); | |
| if ($199) { | |
| $$02934$ph$i100 = 3; | |
| label = 11; | |
| } else { | |
| $$135$i79$2 = $196;$205 = $198; | |
| while(1) { | |
| $204 = $205 & 127; | |
| $206 = $204&255; | |
| $207 = (16270 + ($206)|0); | |
| $208 = HEAP8[$207>>0]|0; | |
| $209 = ($208<<24>>24)==(0); | |
| if (!($209)) { | |
| break; | |
| } | |
| $214 = (($$135$i79$2) + 1)|0; | |
| $215 = (($14) + ($214)|0); | |
| $216 = HEAP8[$215>>0]|0; | |
| $217 = ($216<<24>>24)==(0); | |
| if ($217) { | |
| $$02934$ph$i100 = 3; | |
| label = 11; | |
| break L16; | |
| } else { | |
| $$135$i79$2 = $214;$205 = $216; | |
| } | |
| } | |
| $210 = ((($3)) + 3|0); | |
| $211 = $208&255; | |
| $212 = (($211) + 48)|0; | |
| $213 = $212&255; | |
| HEAP8[$210>>0] = $213; | |
| } | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 11) { | |
| $scevgep$i = (($3) + ($$02934$ph$i100)|0); | |
| $28 = (4 - ($$02934$ph$i100))|0; | |
| _memset(($scevgep$i|0),48,($28|0))|0; | |
| } | |
| $47 = ((($3)) + 4|0); | |
| HEAP8[$47>>0] = 0; | |
| } | |
| } while(0); | |
| if ((label|0) == 16) { | |
| ;HEAP8[$3>>0]=HEAP8[16398>>0]|0;HEAP8[$3+1>>0]=HEAP8[16398+1>>0]|0;HEAP8[$3+2>>0]=HEAP8[16398+2>>0]|0;HEAP8[$3+3>>0]=HEAP8[16398+3>>0]|0;HEAP8[$3+4>>0]=HEAP8[16398+4>>0]|0; | |
| } | |
| $48 = HEAP8[$16>>0]|0; | |
| $cond36$i34 = ($48<<24>>24)==(0); | |
| L32: do { | |
| if ($cond36$i34) { | |
| label = 27; | |
| } else { | |
| $49 = $48&255; | |
| $$037$i36 = 0;$219 = $48;$50 = $49; | |
| while(1) { | |
| $51 = (_isalpha($50)|0); | |
| $52 = ($51|0)==(0); | |
| if (!($52)) { | |
| break; | |
| } | |
| $53 = (($$037$i36) + 1)|0; | |
| $54 = (($16) + ($53)|0); | |
| $55 = HEAP8[$54>>0]|0; | |
| $56 = $55&255; | |
| $cond$i38 = ($55<<24>>24)==(0); | |
| if ($cond$i38) { | |
| label = 27; | |
| break L32; | |
| } else { | |
| $$037$i36 = $53;$219 = $55;$50 = $56; | |
| } | |
| } | |
| $57 = (_toupper($50)|0); | |
| $58 = $57&255; | |
| HEAP8[$4>>0] = $58; | |
| $$135$i4377 = $$037$i36;$61 = $219; | |
| while(1) { | |
| $60 = $61 & 127; | |
| $62 = $60&255; | |
| $63 = (16270 + ($62)|0); | |
| $64 = HEAP8[$63>>0]|0; | |
| $65 = ($64<<24>>24)==(0); | |
| if (!($65)) { | |
| label = 25; | |
| break; | |
| } | |
| $66 = (($$135$i4377) + 1)|0; | |
| $67 = (($16) + ($66)|0); | |
| $68 = HEAP8[$67>>0]|0; | |
| $69 = ($68<<24>>24)==(0); | |
| if ($69) { | |
| $$02934$ph$i4191 = 1; | |
| label = 22; | |
| break; | |
| } else { | |
| $$135$i4377 = $66;$61 = $68; | |
| } | |
| } | |
| L41: do { | |
| if ((label|0) == 25) { | |
| $70 = ((($4)) + 1|0); | |
| $71 = $64&255; | |
| $72 = (($71) + 48)|0; | |
| $73 = $72&255; | |
| HEAP8[$70>>0] = $73; | |
| $74 = (($$135$i4377) + 1)|0; | |
| $75 = (($16) + ($74)|0); | |
| $76 = HEAP8[$75>>0]|0; | |
| $77 = ($76<<24>>24)==(0); | |
| if ($77) { | |
| $$02934$ph$i4191 = 2; | |
| label = 22; | |
| } else { | |
| $$135$i4377$1 = $74;$155 = $76; | |
| while(1) { | |
| $154 = $155 & 127; | |
| $156 = $154&255; | |
| $157 = (16270 + ($156)|0); | |
| $158 = HEAP8[$157>>0]|0; | |
| $159 = ($158<<24>>24)==(0); | |
| if (!($159)) { | |
| break; | |
| } | |
| $168 = (($$135$i4377$1) + 1)|0; | |
| $169 = (($16) + ($168)|0); | |
| $170 = HEAP8[$169>>0]|0; | |
| $171 = ($170<<24>>24)==(0); | |
| if ($171) { | |
| $$02934$ph$i4191 = 2; | |
| label = 22; | |
| break L41; | |
| } else { | |
| $$135$i4377$1 = $168;$155 = $170; | |
| } | |
| } | |
| $160 = ((($4)) + 2|0); | |
| $161 = $158&255; | |
| $162 = (($161) + 48)|0; | |
| $163 = $162&255; | |
| HEAP8[$160>>0] = $163; | |
| $164 = (($$135$i4377$1) + 1)|0; | |
| $165 = (($16) + ($164)|0); | |
| $166 = HEAP8[$165>>0]|0; | |
| $167 = ($166<<24>>24)==(0); | |
| if ($167) { | |
| $$02934$ph$i4191 = 3; | |
| label = 22; | |
| } else { | |
| $$135$i4377$2 = $164;$173 = $166; | |
| while(1) { | |
| $172 = $173 & 127; | |
| $174 = $172&255; | |
| $175 = (16270 + ($174)|0); | |
| $176 = HEAP8[$175>>0]|0; | |
| $177 = ($176<<24>>24)==(0); | |
| if (!($177)) { | |
| break; | |
| } | |
| $182 = (($$135$i4377$2) + 1)|0; | |
| $183 = (($16) + ($182)|0); | |
| $184 = HEAP8[$183>>0]|0; | |
| $185 = ($184<<24>>24)==(0); | |
| if ($185) { | |
| $$02934$ph$i4191 = 3; | |
| label = 22; | |
| break L41; | |
| } else { | |
| $$135$i4377$2 = $182;$173 = $184; | |
| } | |
| } | |
| $178 = ((($4)) + 3|0); | |
| $179 = $176&255; | |
| $180 = (($179) + 48)|0; | |
| $181 = $180&255; | |
| HEAP8[$178>>0] = $181; | |
| } | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 22) { | |
| $scevgep$i44 = (($4) + ($$02934$ph$i4191)|0); | |
| $59 = (4 - ($$02934$ph$i4191))|0; | |
| _memset(($scevgep$i44|0),48,($59|0))|0; | |
| } | |
| $78 = ((($4)) + 4|0); | |
| HEAP8[$78>>0] = 0; | |
| } | |
| } while(0); | |
| if ((label|0) == 27) { | |
| ;HEAP8[$4>>0]=HEAP8[16398>>0]|0;HEAP8[$4+1>>0]=HEAP8[16398+1>>0]|0;HEAP8[$4+2>>0]=HEAP8[16398+2>>0]|0;HEAP8[$4+3>>0]=HEAP8[16398+3>>0]|0;HEAP8[$4+4>>0]=HEAP8[16398+4>>0]|0; | |
| } | |
| $$pre = HEAP8[$3>>0]|0; | |
| $$02975 = $4;$$03174 = 0;$$03273 = 0;$$076 = $3;$81 = $$pre; | |
| while(1) { | |
| $79 = ((($$076)) + 1|0); | |
| $80 = $81&255; | |
| $82 = (16403 + ($80)|0); | |
| $83 = HEAP8[$82>>0]|0; | |
| $84 = $83&255; | |
| switch ($83<<24>>24) { | |
| case 4: { | |
| $141 = 65533; | |
| break; | |
| } | |
| case 3: { | |
| $85 = $80 << 6; | |
| $86 = ((($$076)) + 2|0); | |
| $87 = HEAP8[$79>>0]|0; | |
| $88 = $87&255; | |
| $89 = (($88) + ($85))|0; | |
| $$0$i = $86;$$018$i = $89; | |
| label = 32; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i = $79;$$018$i = $80; | |
| label = 32; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i = $79;$$119$i = $80; | |
| label = 33; | |
| break; | |
| } | |
| default: { | |
| $141 = $80; | |
| } | |
| } | |
| if ((label|0) == 32) { | |
| label = 0; | |
| $90 = $$018$i << 6; | |
| $91 = ((($$0$i)) + 1|0); | |
| $92 = HEAP8[$$0$i>>0]|0; | |
| $93 = $92&255; | |
| $94 = (($93) + ($90))|0; | |
| $$1$i = $91;$$119$i = $94; | |
| label = 33; | |
| } | |
| if ((label|0) == 33) { | |
| label = 0; | |
| $95 = $$119$i << 6; | |
| $96 = HEAP8[$$1$i>>0]|0; | |
| $97 = $96&255; | |
| $98 = (($97) + ($95))|0; | |
| $99 = (960 + ($84<<2)|0); | |
| $100 = HEAP32[$99>>2]|0; | |
| $101 = (($98) - ($100))|0; | |
| $102 = (976 + ($84<<2)|0); | |
| $103 = HEAP32[$102>>2]|0; | |
| $104 = $101 & $103; | |
| $105 = ($104|0)==(0); | |
| $106 = $101 & -2048; | |
| $107 = ($106|0)==(55296); | |
| $or$cond$i = $105 | $107; | |
| $108 = $101 & -2; | |
| $109 = ($108|0)==(65534); | |
| $or$cond22$i = $109 | $or$cond$i; | |
| $$$i = $or$cond22$i ? 65533 : $101; | |
| $141 = $$$i; | |
| } | |
| $110 = ((($$02975)) + 1|0); | |
| $111 = HEAP8[$$02975>>0]|0; | |
| $112 = $111&255; | |
| $113 = (16403 + ($112)|0); | |
| $114 = HEAP8[$113>>0]|0; | |
| $115 = $114&255; | |
| switch ($114<<24>>24) { | |
| case 4: { | |
| $143 = 65533; | |
| break; | |
| } | |
| case 3: { | |
| $116 = $112 << 6; | |
| $117 = ((($$02975)) + 2|0); | |
| $118 = HEAP8[$110>>0]|0; | |
| $119 = $118&255; | |
| $120 = (($119) + ($116))|0; | |
| $$0$i51 = $117;$$018$i50 = $120; | |
| label = 37; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i51 = $110;$$018$i50 = $112; | |
| label = 37; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i53 = $110;$$119$i52 = $112; | |
| label = 38; | |
| break; | |
| } | |
| default: { | |
| $143 = $112; | |
| } | |
| } | |
| if ((label|0) == 37) { | |
| label = 0; | |
| $121 = $$018$i50 << 6; | |
| $122 = ((($$0$i51)) + 1|0); | |
| $123 = HEAP8[$$0$i51>>0]|0; | |
| $124 = $123&255; | |
| $125 = (($124) + ($121))|0; | |
| $$1$i53 = $122;$$119$i52 = $125; | |
| label = 38; | |
| } | |
| if ((label|0) == 38) { | |
| label = 0; | |
| $126 = $$119$i52 << 6; | |
| $127 = HEAP8[$$1$i53>>0]|0; | |
| $128 = $127&255; | |
| $129 = (($128) + ($126))|0; | |
| $130 = (960 + ($115<<2)|0); | |
| $131 = HEAP32[$130>>2]|0; | |
| $132 = (($129) - ($131))|0; | |
| $133 = (976 + ($115<<2)|0); | |
| $134 = HEAP32[$133>>2]|0; | |
| $135 = $132 & $134; | |
| $136 = ($135|0)==(0); | |
| $137 = $132 & -2048; | |
| $138 = ($137|0)==(55296); | |
| $or$cond$i54 = $136 | $138; | |
| $139 = $132 & -2; | |
| $140 = ($139|0)==(65534); | |
| $or$cond22$i55 = $140 | $or$cond$i54; | |
| $$$i56 = $or$cond22$i55 ? 65533 : $132; | |
| $143 = $$$i56; | |
| } | |
| $142 = ($141|0)==($143|0); | |
| $144 = $142&1; | |
| $$1 = $$076; | |
| while(1) { | |
| $145 = ((($$1)) + 1|0); | |
| $146 = HEAP8[$145>>0]|0; | |
| $147 = $146 & -64; | |
| $148 = ($147<<24>>24)==(-128); | |
| if ($148) { | |
| $$1 = $145; | |
| } else { | |
| $$130 = $$02975; | |
| break; | |
| } | |
| } | |
| while(1) { | |
| $149 = ((($$130)) + 1|0); | |
| $150 = HEAP8[$149>>0]|0; | |
| $151 = $150 & -64; | |
| $152 = ($151<<24>>24)==(-128); | |
| if ($152) { | |
| $$130 = $149; | |
| } else { | |
| break; | |
| } | |
| } | |
| $$$032 = (($144) + ($$03273))|0; | |
| $153 = (($$03174) + 1)|0; | |
| $exitcond = ($153|0)==(4); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$02975 = $149;$$03174 = $153;$$03273 = $$$032;$$076 = $145;$81 = $146; | |
| } | |
| } | |
| _sqlite3_result_int($0,$$$032); | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| _sqlite3_result_null($0); | |
| STACKTOP = sp;return; | |
| } | |
| function _rad2degFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),498,(16659|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = $7 * 180.0; | |
| $13 = $12 / 3.1415926535897931; | |
| _sqlite3_result_double($0,$13); | |
| return; | |
| } else { | |
| $14 = (___errno_location()|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = (_strerror($15)|0); | |
| $17 = (___errno_location()|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| _sqlite3_result_error($0,$16,$18); | |
| return; | |
| } | |
| } | |
| function _deg2radFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),499,(16671|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = $7 * 3.1415926535897931; | |
| $13 = $12 / 180.0; | |
| _sqlite3_result_double($0,$13); | |
| return; | |
| } else { | |
| $14 = (___errno_location()|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = (_strerror($15)|0); | |
| $17 = (___errno_location()|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| _sqlite3_result_error($0,$16,$18); | |
| return; | |
| } | |
| } | |
| function _cosFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),420,(16683|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_cos((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _sinFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),419,(16691|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_sin((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _tanFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),421,(16699|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_tan((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _cotFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),422,(16707|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_tan((+$7))); | |
| $13 = 1.0 / $12; | |
| _sqlite3_result_double($0,$13); | |
| return; | |
| } else { | |
| $14 = (___errno_location()|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = (_strerror($15)|0); | |
| $17 = (___errno_location()|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| _sqlite3_result_error($0,$16,$18); | |
| return; | |
| } | |
| } | |
| function _coshFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),446,(16715|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+_cosh($7)); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _sinhFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),438,(16724|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+_sinh($7)); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _tanhFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),454,(16733|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+_tanh($7)); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _cothFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),456,(16742|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+_tanh($7)); | |
| $13 = 1.0 / $12; | |
| _sqlite3_result_double($0,$13); | |
| return; | |
| } else { | |
| $14 = (___errno_location()|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = (_strerror($15)|0); | |
| $17 = (___errno_location()|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| _sqlite3_result_error($0,$16,$18); | |
| return; | |
| } | |
| } | |
| function _expFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),474,(16751|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_exp((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _logFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),472,(16759|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_log((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _log10Func($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),473,(16767|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+_log10($7)); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _powerFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.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 = ($1|0)==(2); | |
| if (!($3)) { | |
| ___assert_fail((16208|0),(16157|0),546,(16777|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if (!($6)) { | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (_sqlite3_value_type($8)|0); | |
| $10 = ($9|0)==(5); | |
| if (!($10)) { | |
| $11 = HEAP32[$2>>2]|0; | |
| $12 = (+_sqlite3_value_double($11)); | |
| $13 = HEAP32[$7>>2]|0; | |
| $14 = (+_sqlite3_value_double($13)); | |
| $15 = (___errno_location()|0); | |
| HEAP32[$15>>2] = 0; | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = ($17|0)==(0); | |
| if ($18) { | |
| $19 = (+Math_pow((+$12),(+$14))); | |
| _sqlite3_result_double($0,$19); | |
| return; | |
| } else { | |
| $20 = (___errno_location()|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = (_strerror($21)|0); | |
| $23 = (___errno_location()|0); | |
| $24 = HEAP32[$23>>2]|0; | |
| _sqlite3_result_error($0,$22,$24); | |
| return; | |
| } | |
| } | |
| } | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| function _signFunc($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.0, $24 = 0, $25 = 0, $26 = 0.0, $3 = 0, $4 = 0, $5 = 0; | |
| var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp15 = 0.0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),590,(16787|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| switch ($5|0) { | |
| case 1: { | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (_sqlite3_value_int64($6)|0); | |
| $8 = tempRet0; | |
| $9 = ($8|0)>(0); | |
| $10 = ($7>>>0)>(0); | |
| $11 = ($8|0)==(0); | |
| $12 = $11 & $10; | |
| $13 = $9 | $12; | |
| $14 = ($7|0)!=(0); | |
| $15 = ($8|0)!=(0); | |
| $16 = $14 | $15; | |
| $17 = $16 << 31 >> 31; | |
| $18 = ($17|0)<(0); | |
| $19 = $18 << 31 >> 31; | |
| $20 = $13 ? 1 : $17; | |
| $21 = $13 ? 0 : $19; | |
| _sqlite3_result_int64($0,$20,$21); | |
| return; | |
| break; | |
| } | |
| case 5: { | |
| _sqlite3_result_null($0); | |
| return; | |
| break; | |
| } | |
| default: { | |
| $22 = HEAP32[$2>>2]|0; | |
| $23 = (+_sqlite3_value_double($22)); | |
| $24 = $23 > 0.0; | |
| $25 = $23 < 0.0; | |
| $phitmp15 = (+($25<<31>>31)); | |
| $26 = $24 ? 1.0 : $phitmp15; | |
| _sqlite3_result_double($0,$26); | |
| return; | |
| } | |
| } | |
| } | |
| function _sqrtFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),375,(16796|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $cond = ($5|0)==(5); | |
| if ($cond) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (+_sqlite3_value_double($6)); | |
| $8 = (___errno_location()|0); | |
| HEAP32[$8>>2] = 0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $12 = (+Math_sqrt((+$7))); | |
| _sqlite3_result_double($0,$12); | |
| return; | |
| } else { | |
| $13 = (___errno_location()|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_strerror($14)|0); | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| _sqlite3_result_error($0,$15,$17); | |
| return; | |
| } | |
| } | |
| function _squareFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),514,(16805|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| switch ($5|0) { | |
| case 1: { | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (_sqlite3_value_int64($6)|0); | |
| $8 = tempRet0; | |
| $9 = (___muldi3(($7|0),($8|0),($7|0),($8|0))|0); | |
| $10 = tempRet0; | |
| _sqlite3_result_int64($0,$9,$10); | |
| return; | |
| break; | |
| } | |
| case 5: { | |
| _sqlite3_result_null($0); | |
| return; | |
| break; | |
| } | |
| default: { | |
| $11 = HEAP32[$2>>2]|0; | |
| $12 = (+_sqlite3_value_double($11)); | |
| $13 = $12 * $12; | |
| _sqlite3_result_double($0,$13); | |
| return; | |
| } | |
| } | |
| } | |
| function _ceilFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),620,(16816|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| switch ($5|0) { | |
| case 1: { | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (_sqlite3_value_int64($6)|0); | |
| $8 = tempRet0; | |
| _sqlite3_result_int64($0,$7,$8); | |
| return; | |
| break; | |
| } | |
| case 5: { | |
| _sqlite3_result_null($0); | |
| return; | |
| break; | |
| } | |
| default: { | |
| $9 = HEAP32[$2>>2]|0; | |
| $10 = (+_sqlite3_value_double($9)); | |
| $11 = (+Math_ceil((+$10))); | |
| $12 = (~~$11)>>>0; | |
| $13 = +Math_abs($11) >= 1.0 ? $11 > 0.0 ? (~~+Math_min(+Math_floor($11 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($11 - +(~~$11 >>> 0)) / 4294967296.0) >>> 0 : 0; | |
| _sqlite3_result_int64($0,$12,$13); | |
| return; | |
| } | |
| } | |
| } | |
| function _floorFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),645,(16825|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| switch ($5|0) { | |
| case 1: { | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (_sqlite3_value_int64($6)|0); | |
| $8 = tempRet0; | |
| _sqlite3_result_int64($0,$7,$8); | |
| return; | |
| break; | |
| } | |
| case 5: { | |
| _sqlite3_result_null($0); | |
| return; | |
| break; | |
| } | |
| default: { | |
| $9 = HEAP32[$2>>2]|0; | |
| $10 = (+_sqlite3_value_double($9)); | |
| $11 = (+Math_floor((+$10))); | |
| $12 = (~~$11)>>>0; | |
| $13 = +Math_abs($11) >= 1.0 ? $11 > 0.0 ? (~~+Math_min(+Math_floor($11 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($11 - +(~~$11 >>> 0)) / 4294967296.0) >>> 0 : 0; | |
| _sqlite3_result_int64($0,$12,$13); | |
| return; | |
| } | |
| } | |
| } | |
| function _piFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| _sqlite3_result_double($0,3.1415926535897931); | |
| return; | |
| } | |
| function _replicateFunc($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, $or$cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(2); | |
| if (!($3)) { | |
| return; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if ($6) { | |
| return; | |
| } | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (_sqlite3_value_int64($8)|0); | |
| $10 = tempRet0; | |
| $11 = ($10|0)<(0); | |
| if ($11) { | |
| _sqlite3_result_error($0,16835,-1); | |
| return; | |
| } | |
| $12 = HEAP32[$2>>2]|0; | |
| $13 = (_sqlite3_value_bytes($12)|0); | |
| $14 = ($13|0)<(0); | |
| $15 = $14 << 31 >> 31; | |
| $16 = (___muldi3(($13|0),($15|0),($9|0),($10|0))|0); | |
| $17 = tempRet0; | |
| $18 = (_i64Add(($16|0),($17|0),1,0)|0); | |
| $19 = tempRet0; | |
| $20 = (_sqlite3_malloc($18)|0); | |
| $21 = (($13) + 1)|0; | |
| $22 = (_sqlite3_malloc($21)|0); | |
| $23 = ($20|0)!=(0|0); | |
| $24 = ($22|0)!=(0|0); | |
| $or$cond = $23 & $24; | |
| if ($or$cond) { | |
| $25 = HEAP32[$2>>2]|0; | |
| $26 = (_sqlite3_value_text($25)|0); | |
| (_strcpy($22,$26)|0); | |
| $27 = ($10|0)>(0); | |
| $28 = ($9>>>0)>(0); | |
| $29 = ($10|0)==(0); | |
| $30 = $29 & $28; | |
| $31 = $27 | $30; | |
| if ($31) { | |
| $32 = 0;$33 = 0; | |
| while(1) { | |
| $34 = (___muldi3(($32|0),($33|0),($13|0),($15|0))|0); | |
| $35 = tempRet0; | |
| $36 = (($20) + ($34)|0); | |
| (_strcpy($36,$22)|0); | |
| $37 = (_i64Add(($32|0),($33|0),1,0)|0); | |
| $38 = tempRet0; | |
| $39 = ($38|0)<($10|0); | |
| $40 = ($37>>>0)<($9>>>0); | |
| $41 = ($38|0)==($10|0); | |
| $42 = $41 & $40; | |
| $43 = $39 | $42; | |
| if ($43) { | |
| $32 = $37;$33 = $38; | |
| } else { | |
| break; | |
| } | |
| } | |
| } | |
| _sqlite3_result_text($0,$20,-1,(-1)); | |
| _sqlite3_free($20); | |
| _sqlite3_free($22); | |
| return; | |
| } | |
| _sqlite3_result_error_nomem($0); | |
| if ($23) { | |
| _sqlite3_free($20); | |
| } | |
| if (!($24)) { | |
| return; | |
| } | |
| _sqlite3_free($22); | |
| return; | |
| } | |
| function _charindexFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$ = 0, $$$i16$i = 0, $$$i7$i = 0, $$0 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i11$i = 0, $$0$i2$i = 0, $$0$i20$i = 0, $$018$i$i = 0, $$018$i1$i = 0, $$018$i10$i = 0, $$018$i19$i = 0, $$041$i = 0, $$042$i = 0, $$044$i = 0, $$046$i = 0, $$047$i = 0, $$1$i = 0, $$1$i$i = 0; | |
| var $$1$i13$i = 0, $$1$i22$i = 0, $$1$i4$i = 0, $$119$i$i = 0, $$119$i12$i = 0, $$119$i21$i = 0, $$119$i3$i = 0, $$143$i = 0, $$145$i = 0, $$148$i = 0, $$2$i = 0, $$3$i = 0, $$phi$trans$insert$i = 0, $$phi$trans$insert43$i = 0, $$pre$i = 0, $$pre44$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, $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, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond$i14$i = 0, $or$cond$i23$i = 0, $or$cond$i5$i = 0, $or$cond22$i$i = 0, $or$cond22$i15$i = 0; | |
| var $or$cond22$i24$i = 0, $or$cond22$i6$i = 0, $or$cond4$i = 0, $phitmp = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(3); | |
| $4 = $1 | 1; | |
| $5 = ($4|0)==(3); | |
| if (!($5)) { | |
| ___assert_fail((16848|0),(16157|0),1038,(16866|0)); | |
| // unreachable; | |
| } | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = (_sqlite3_value_type($6)|0); | |
| $8 = ($7|0)==(5); | |
| if (!($8)) { | |
| $9 = ((($2)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (_sqlite3_value_type($10)|0); | |
| $12 = ($11|0)==(5); | |
| if (!($12)) { | |
| $13 = HEAP32[$2>>2]|0; | |
| $14 = (_sqlite3_value_text($13)|0); | |
| $15 = ($14|0)==(0|0); | |
| if ($15) { | |
| return; | |
| } | |
| $16 = HEAP32[$9>>2]|0; | |
| $17 = (_sqlite3_value_text($16)|0); | |
| if ($3) { | |
| $18 = ((($2)) + 8|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = (_sqlite3_value_int($19)|0); | |
| $21 = (($20) + -1)|0; | |
| $22 = ($21|0)>(0); | |
| $$ = $22 ? $21 : 0; | |
| $$0 = $$; | |
| } else { | |
| $$0 = 0; | |
| } | |
| $23 = HEAP8[$14>>0]|0; | |
| $24 = ($23<<24>>24)==(0); | |
| if ($24) { | |
| $$0$i = 0; | |
| } else { | |
| $$pre$i = HEAP8[$17>>0]|0; | |
| $$041$i = $17;$$047$i = 0;$27 = $$pre$i; | |
| L15: while(1) { | |
| $25 = ((($$041$i)) + 1|0); | |
| $26 = $27&255; | |
| $28 = (16403 + ($26)|0); | |
| $29 = HEAP8[$28>>0]|0; | |
| $30 = $29&255; | |
| switch ($29<<24>>24) { | |
| case 4: { | |
| break; | |
| } | |
| case 3: { | |
| $31 = $26 << 6; | |
| $32 = ((($$041$i)) + 2|0); | |
| $33 = HEAP8[$25>>0]|0; | |
| $34 = $33&255; | |
| $35 = (($34) + ($31))|0; | |
| $$0$i$i = $32;$$018$i$i = $35; | |
| label = 13; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i$i = $25;$$018$i$i = $26; | |
| label = 13; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i$i = $25;$$119$i$i = $26; | |
| label = 14; | |
| break; | |
| } | |
| default: { | |
| $56 = $26; | |
| label = 15; | |
| } | |
| } | |
| if ((label|0) == 13) { | |
| label = 0; | |
| $36 = $$018$i$i << 6; | |
| $37 = ((($$0$i$i)) + 1|0); | |
| $38 = HEAP8[$$0$i$i>>0]|0; | |
| $39 = $38&255; | |
| $40 = (($39) + ($36))|0; | |
| $$1$i$i = $37;$$119$i$i = $40; | |
| label = 14; | |
| } | |
| if ((label|0) == 14) { | |
| label = 0; | |
| $41 = $$119$i$i << 6; | |
| $42 = HEAP8[$$1$i$i>>0]|0; | |
| $43 = $42&255; | |
| $44 = (($43) + ($41))|0; | |
| $45 = (960 + ($30<<2)|0); | |
| $46 = HEAP32[$45>>2]|0; | |
| $47 = (($44) - ($46))|0; | |
| $48 = (976 + ($30<<2)|0); | |
| $49 = HEAP32[$48>>2]|0; | |
| $50 = $47 & $49; | |
| $51 = ($50|0)==(0); | |
| $52 = $47 & -2048; | |
| $53 = ($52|0)==(55296); | |
| $or$cond$i$i = $51 | $53; | |
| $54 = $47 & -2; | |
| $55 = ($54|0)==(65534); | |
| $or$cond22$i$i = $55 | $or$cond$i$i; | |
| if (!($or$cond22$i$i)) { | |
| $56 = $47; | |
| label = 15; | |
| } | |
| } | |
| if ((label|0) == 15) { | |
| label = 0; | |
| $57 = ($56|0)==(0); | |
| if ($57) { | |
| $$148$i = 0;$$2$i = $$041$i;$66 = $27;$68 = $29; | |
| break; | |
| } | |
| } | |
| $58 = (($$047$i) + 1)|0; | |
| $59 = ($$047$i|0)<($$0|0); | |
| if ($59) { | |
| $$1$i = $$041$i; | |
| } else { | |
| $$148$i = 0;$$2$i = $$041$i;$66 = $27;$68 = $29; | |
| break; | |
| } | |
| while(1) { | |
| $60 = ((($$1$i)) + 1|0); | |
| $61 = HEAP8[$60>>0]|0; | |
| $62 = $61 & -64; | |
| $63 = ($62<<24>>24)==(-128); | |
| if ($63) { | |
| $$1$i = $60; | |
| } else { | |
| $$041$i = $60;$$047$i = $58;$27 = $61; | |
| continue L15; | |
| } | |
| } | |
| } | |
| while(1) { | |
| $64 = ((($$2$i)) + 1|0); | |
| $65 = $66&255; | |
| $67 = $68&255; | |
| switch ($68<<24>>24) { | |
| case 4: { | |
| $$042$i = $$2$i;$$044$i = $14;$129 = $66;$98 = $23; | |
| break; | |
| } | |
| case 3: { | |
| $69 = $65 << 6; | |
| $70 = ((($$2$i)) + 2|0); | |
| $71 = HEAP8[$64>>0]|0; | |
| $72 = $71&255; | |
| $73 = (($72) + ($69))|0; | |
| $$0$i20$i = $70;$$018$i19$i = $73; | |
| label = 20; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i20$i = $64;$$018$i19$i = $65; | |
| label = 20; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i22$i = $64;$$119$i21$i = $65; | |
| label = 21; | |
| break; | |
| } | |
| default: { | |
| $94 = $65; | |
| label = 22; | |
| } | |
| } | |
| if ((label|0) == 20) { | |
| label = 0; | |
| $74 = $$018$i19$i << 6; | |
| $75 = ((($$0$i20$i)) + 1|0); | |
| $76 = HEAP8[$$0$i20$i>>0]|0; | |
| $77 = $76&255; | |
| $78 = (($77) + ($74))|0; | |
| $$1$i22$i = $75;$$119$i21$i = $78; | |
| label = 21; | |
| } | |
| if ((label|0) == 21) { | |
| label = 0; | |
| $79 = $$119$i21$i << 6; | |
| $80 = HEAP8[$$1$i22$i>>0]|0; | |
| $81 = $80&255; | |
| $82 = (($81) + ($79))|0; | |
| $83 = (960 + ($67<<2)|0); | |
| $84 = HEAP32[$83>>2]|0; | |
| $85 = (($82) - ($84))|0; | |
| $86 = (976 + ($67<<2)|0); | |
| $87 = HEAP32[$86>>2]|0; | |
| $88 = $85 & $87; | |
| $89 = ($88|0)==(0); | |
| $90 = $85 & -2048; | |
| $91 = ($90|0)==(55296); | |
| $or$cond$i23$i = $89 | $91; | |
| $92 = $85 & -2; | |
| $93 = ($92|0)==(65534); | |
| $or$cond22$i24$i = $93 | $or$cond$i23$i; | |
| if ($or$cond22$i24$i) { | |
| $$042$i = $$2$i;$$044$i = $14;$129 = $66;$98 = $23; | |
| } else { | |
| $94 = $85; | |
| label = 22; | |
| } | |
| } | |
| if ((label|0) == 22) { | |
| label = 0; | |
| $95 = ($94|0)==(0); | |
| if ($95) { | |
| $$046$i = -1; | |
| break; | |
| } else { | |
| $$042$i = $$2$i;$$044$i = $14;$129 = $66;$98 = $23; | |
| } | |
| } | |
| while(1) { | |
| $96 = ((($$044$i)) + 1|0); | |
| $97 = $98&255; | |
| $99 = (16403 + ($97)|0); | |
| $100 = HEAP8[$99>>0]|0; | |
| $101 = $100&255; | |
| switch ($100<<24>>24) { | |
| case 4: { | |
| $166 = 65533; | |
| break; | |
| } | |
| case 3: { | |
| $102 = $97 << 6; | |
| $103 = ((($$044$i)) + 2|0); | |
| $104 = HEAP8[$96>>0]|0; | |
| $105 = $104&255; | |
| $106 = (($105) + ($102))|0; | |
| $$0$i11$i = $103;$$018$i10$i = $106; | |
| label = 26; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i11$i = $96;$$018$i10$i = $97; | |
| label = 26; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i13$i = $96;$$119$i12$i = $97; | |
| label = 27; | |
| break; | |
| } | |
| default: { | |
| $166 = $97; | |
| } | |
| } | |
| if ((label|0) == 26) { | |
| label = 0; | |
| $107 = $$018$i10$i << 6; | |
| $108 = ((($$0$i11$i)) + 1|0); | |
| $109 = HEAP8[$$0$i11$i>>0]|0; | |
| $110 = $109&255; | |
| $111 = (($110) + ($107))|0; | |
| $$1$i13$i = $108;$$119$i12$i = $111; | |
| label = 27; | |
| } | |
| if ((label|0) == 27) { | |
| label = 0; | |
| $112 = $$119$i12$i << 6; | |
| $113 = HEAP8[$$1$i13$i>>0]|0; | |
| $114 = $113&255; | |
| $115 = (($114) + ($112))|0; | |
| $116 = (960 + ($101<<2)|0); | |
| $117 = HEAP32[$116>>2]|0; | |
| $118 = (($115) - ($117))|0; | |
| $119 = (976 + ($101<<2)|0); | |
| $120 = HEAP32[$119>>2]|0; | |
| $121 = $118 & $120; | |
| $122 = ($121|0)==(0); | |
| $123 = $118 & -2048; | |
| $124 = ($123|0)==(55296); | |
| $or$cond$i14$i = $122 | $124; | |
| $125 = $118 & -2; | |
| $126 = ($125|0)==(65534); | |
| $or$cond22$i15$i = $126 | $or$cond$i14$i; | |
| $$$i16$i = $or$cond22$i15$i ? 65533 : $118; | |
| $166 = $$$i16$i; | |
| } | |
| $127 = ((($$042$i)) + 1|0); | |
| $128 = $129&255; | |
| $130 = (16403 + ($128)|0); | |
| $131 = HEAP8[$130>>0]|0; | |
| $132 = $131&255; | |
| switch ($131<<24>>24) { | |
| case 4: { | |
| $168 = 65533; | |
| break; | |
| } | |
| case 3: { | |
| $133 = $128 << 6; | |
| $134 = ((($$042$i)) + 2|0); | |
| $135 = HEAP8[$127>>0]|0; | |
| $136 = $135&255; | |
| $137 = (($136) + ($133))|0; | |
| $$0$i2$i = $134;$$018$i1$i = $137; | |
| label = 31; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i2$i = $127;$$018$i1$i = $128; | |
| label = 31; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i4$i = $127;$$119$i3$i = $128; | |
| label = 32; | |
| break; | |
| } | |
| default: { | |
| $168 = $128; | |
| } | |
| } | |
| if ((label|0) == 31) { | |
| label = 0; | |
| $138 = $$018$i1$i << 6; | |
| $139 = ((($$0$i2$i)) + 1|0); | |
| $140 = HEAP8[$$0$i2$i>>0]|0; | |
| $141 = $140&255; | |
| $142 = (($141) + ($138))|0; | |
| $$1$i4$i = $139;$$119$i3$i = $142; | |
| label = 32; | |
| } | |
| if ((label|0) == 32) { | |
| label = 0; | |
| $143 = $$119$i3$i << 6; | |
| $144 = HEAP8[$$1$i4$i>>0]|0; | |
| $145 = $144&255; | |
| $146 = (($145) + ($143))|0; | |
| $147 = (960 + ($132<<2)|0); | |
| $148 = HEAP32[$147>>2]|0; | |
| $149 = (($146) - ($148))|0; | |
| $150 = (976 + ($132<<2)|0); | |
| $151 = HEAP32[$150>>2]|0; | |
| $152 = $149 & $151; | |
| $153 = ($152|0)==(0); | |
| $154 = $149 & -2048; | |
| $155 = ($154|0)==(55296); | |
| $or$cond$i5$i = $153 | $155; | |
| $156 = $149 & -2; | |
| $157 = ($156|0)==(65534); | |
| $or$cond22$i6$i = $157 | $or$cond$i5$i; | |
| $$$i7$i = $or$cond22$i6$i ? 65533 : $149; | |
| $168 = $$$i7$i; | |
| } | |
| $$145$i = $$044$i; | |
| while(1) { | |
| $158 = ((($$145$i)) + 1|0); | |
| $159 = HEAP8[$158>>0]|0; | |
| $160 = $159 & -64; | |
| $161 = ($160<<24>>24)==(-128); | |
| if ($161) { | |
| $$145$i = $158; | |
| } else { | |
| $$143$i = $$042$i; | |
| break; | |
| } | |
| } | |
| while(1) { | |
| $162 = ((($$143$i)) + 1|0); | |
| $163 = HEAP8[$162>>0]|0; | |
| $164 = $163 & -64; | |
| $165 = ($164<<24>>24)==(-128); | |
| if ($165) { | |
| $$143$i = $162; | |
| } else { | |
| break; | |
| } | |
| } | |
| $167 = ($166|0)==($168|0); | |
| $169 = ($166|0)!=(0); | |
| $or$cond$i = $169 & $167; | |
| $170 = ($168|0)!=(0); | |
| $or$cond4$i = $170 & $or$cond$i; | |
| if ($or$cond4$i) { | |
| $$042$i = $162;$$044$i = $158;$129 = $163;$98 = $159; | |
| } else { | |
| break; | |
| } | |
| } | |
| $171 = ($166|0)==(0); | |
| if ($171) { | |
| $$046$i = $$148$i; | |
| break; | |
| } else { | |
| $$3$i = $$2$i; | |
| } | |
| while(1) { | |
| $172 = ((($$3$i)) + 1|0); | |
| $173 = HEAP8[$172>>0]|0; | |
| $174 = $173 & -64; | |
| $175 = ($174<<24>>24)==(-128); | |
| if ($175) { | |
| $$3$i = $172; | |
| } else { | |
| break; | |
| } | |
| } | |
| $176 = (($$148$i) + 1)|0; | |
| $$phi$trans$insert$i = $173&255; | |
| $$phi$trans$insert43$i = (16403 + ($$phi$trans$insert$i)|0); | |
| $$pre44$i = HEAP8[$$phi$trans$insert43$i>>0]|0; | |
| $$148$i = $176;$$2$i = $172;$66 = $173;$68 = $$pre44$i; | |
| } | |
| $177 = ($$046$i|0)>(-1); | |
| $178 = $177 ? $$0 : 0; | |
| $179 = (($$046$i) + 1)|0; | |
| $phitmp = (($179) + ($178))|0; | |
| $$0$i = $phitmp; | |
| } | |
| _sqlite3_result_int($0,$$0$i); | |
| return; | |
| } | |
| } | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| function _leftFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0, $$0$i = 0, $$018$i = 0, $$036 = 0, $$1 = 0, $$1$i = 0, $$119$i = 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; | |
| 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, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $or$cond22$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(2); | |
| if (!($3)) { | |
| ___assert_fail((16208|0),(16157|0),1073,(16880|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if (!($6)) { | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (_sqlite3_value_type($8)|0); | |
| $10 = ($9|0)==(5); | |
| if (!($10)) { | |
| $11 = HEAP32[$2>>2]|0; | |
| $12 = (_sqlite3_value_text($11)|0); | |
| $13 = HEAP32[$7>>2]|0; | |
| $14 = (_sqlite3_value_int($13)|0); | |
| $$pre = HEAP8[$12>>0]|0; | |
| $$0 = 0;$$036 = $12;$17 = $$pre; | |
| L7: while(1) { | |
| $15 = ((($$036)) + 1|0); | |
| $16 = $17&255; | |
| $18 = (16403 + ($16)|0); | |
| $19 = HEAP8[$18>>0]|0; | |
| $20 = $19&255; | |
| switch ($19<<24>>24) { | |
| case 4: { | |
| break; | |
| } | |
| case 3: { | |
| $21 = $16 << 6; | |
| $22 = ((($$036)) + 2|0); | |
| $23 = HEAP8[$15>>0]|0; | |
| $24 = $23&255; | |
| $25 = (($24) + ($21))|0; | |
| $$0$i = $22;$$018$i = $25; | |
| label = 9; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i = $15;$$018$i = $16; | |
| label = 9; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i = $15;$$119$i = $16; | |
| label = 10; | |
| break; | |
| } | |
| default: { | |
| $46 = $16; | |
| label = 11; | |
| } | |
| } | |
| if ((label|0) == 9) { | |
| label = 0; | |
| $26 = $$018$i << 6; | |
| $27 = ((($$0$i)) + 1|0); | |
| $28 = HEAP8[$$0$i>>0]|0; | |
| $29 = $28&255; | |
| $30 = (($29) + ($26))|0; | |
| $$1$i = $27;$$119$i = $30; | |
| label = 10; | |
| } | |
| if ((label|0) == 10) { | |
| label = 0; | |
| $31 = $$119$i << 6; | |
| $32 = HEAP8[$$1$i>>0]|0; | |
| $33 = $32&255; | |
| $34 = (($33) + ($31))|0; | |
| $35 = (960 + ($20<<2)|0); | |
| $36 = HEAP32[$35>>2]|0; | |
| $37 = (($34) - ($36))|0; | |
| $38 = (976 + ($20<<2)|0); | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = $37 & $39; | |
| $41 = ($40|0)==(0); | |
| $42 = $37 & -2048; | |
| $43 = ($42|0)==(55296); | |
| $or$cond$i = $41 | $43; | |
| $44 = $37 & -2; | |
| $45 = ($44|0)==(65534); | |
| $or$cond22$i = $45 | $or$cond$i; | |
| if (!($or$cond22$i)) { | |
| $46 = $37; | |
| label = 11; | |
| } | |
| } | |
| if ((label|0) == 11) { | |
| label = 0; | |
| $47 = ($46|0)==(0); | |
| if ($47) { | |
| break; | |
| } | |
| } | |
| $48 = (($$0) + 1)|0; | |
| $49 = ($$0|0)<($14|0); | |
| if ($49) { | |
| $$1 = $$036; | |
| } else { | |
| break; | |
| } | |
| while(1) { | |
| $50 = ((($$1)) + 1|0); | |
| $51 = HEAP8[$50>>0]|0; | |
| $52 = $51 & -64; | |
| $53 = ($52<<24>>24)==(-128); | |
| if ($53) { | |
| $$1 = $50; | |
| } else { | |
| $$0 = $48;$$036 = $50;$17 = $51; | |
| continue L7; | |
| } | |
| } | |
| } | |
| $54 = $$036; | |
| $55 = $12; | |
| $56 = (($54) - ($55))|0; | |
| $57 = (($56) + 1)|0; | |
| $58 = (_sqlite3_malloc($57)|0); | |
| $59 = ($58|0)==(0|0); | |
| if ($59) { | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } else { | |
| (_strncpy($58,$12,$56)|0); | |
| $60 = (($58) + ($56)|0); | |
| HEAP8[$60>>0] = 0; | |
| _sqlite3_result_text($0,$58,-1,(-1)); | |
| _sqlite3_free($58); | |
| return; | |
| } | |
| } | |
| } | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| function _rightFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0, $$0$i = 0, $$018$i = 0, $$038 = 0, $$1 = 0, $$1$i = 0, $$119$i = 0, $$2$lcssa = 0, $$243 = 0, $$3 = 0, $$in = 0, $$pre = 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, $or$cond$i = 0, $or$cond22$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(2); | |
| if (!($3)) { | |
| ___assert_fail((16208|0),(16157|0),1113,(16889|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if (!($6)) { | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (_sqlite3_value_type($8)|0); | |
| $10 = ($9|0)==(5); | |
| if (!($10)) { | |
| $11 = HEAP32[$2>>2]|0; | |
| $12 = (_sqlite3_value_text($11)|0); | |
| $13 = HEAP32[$7>>2]|0; | |
| $14 = (_sqlite3_value_int($13)|0); | |
| $$pre = HEAP8[$12>>0]|0; | |
| $$0 = 0;$$038 = $12;$17 = $$pre; | |
| while(1) { | |
| $15 = ((($$038)) + 1|0); | |
| $16 = $17&255; | |
| $18 = (16403 + ($16)|0); | |
| $19 = HEAP8[$18>>0]|0; | |
| $20 = $19&255; | |
| switch ($19<<24>>24) { | |
| case 4: { | |
| $$1 = $$038; | |
| break; | |
| } | |
| case 3: { | |
| $21 = $16 << 6; | |
| $22 = ((($$038)) + 2|0); | |
| $23 = HEAP8[$15>>0]|0; | |
| $24 = $23&255; | |
| $25 = (($24) + ($21))|0; | |
| $$0$i = $22;$$018$i = $25; | |
| label = 9; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i = $15;$$018$i = $16; | |
| label = 9; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i = $15;$$119$i = $16; | |
| label = 10; | |
| break; | |
| } | |
| default: { | |
| $46 = $16; | |
| label = 11; | |
| } | |
| } | |
| if ((label|0) == 9) { | |
| label = 0; | |
| $26 = $$018$i << 6; | |
| $27 = ((($$0$i)) + 1|0); | |
| $28 = HEAP8[$$0$i>>0]|0; | |
| $29 = $28&255; | |
| $30 = (($29) + ($26))|0; | |
| $$1$i = $27;$$119$i = $30; | |
| label = 10; | |
| } | |
| if ((label|0) == 10) { | |
| label = 0; | |
| $31 = $$119$i << 6; | |
| $32 = HEAP8[$$1$i>>0]|0; | |
| $33 = $32&255; | |
| $34 = (($33) + ($31))|0; | |
| $35 = (960 + ($20<<2)|0); | |
| $36 = HEAP32[$35>>2]|0; | |
| $37 = (($34) - ($36))|0; | |
| $38 = (976 + ($20<<2)|0); | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = $37 & $39; | |
| $41 = ($40|0)==(0); | |
| $42 = $37 & -2048; | |
| $43 = ($42|0)==(55296); | |
| $or$cond$i = $41 | $43; | |
| $44 = $37 & -2; | |
| $45 = ($44|0)==(65534); | |
| $or$cond22$i = $45 | $or$cond$i; | |
| if ($or$cond22$i) { | |
| $$1 = $$038; | |
| } else { | |
| $46 = $37; | |
| label = 11; | |
| } | |
| } | |
| if ((label|0) == 11) { | |
| label = 0; | |
| $47 = ($46|0)==(0); | |
| if ($47) { | |
| break; | |
| } else { | |
| $$1 = $$038; | |
| } | |
| } | |
| while(1) { | |
| $48 = ((($$1)) + 1|0); | |
| $49 = HEAP8[$48>>0]|0; | |
| $50 = $49 & -64; | |
| $51 = ($50<<24>>24)==(-128); | |
| if ($51) { | |
| $$1 = $48; | |
| } else { | |
| break; | |
| } | |
| } | |
| $52 = (($$0) + 1)|0; | |
| $$0 = $52;$$038 = $48;$17 = $49; | |
| } | |
| $53 = (($$0) - ($14))|0; | |
| $54 = ($53|0)>(0); | |
| if ($54) { | |
| $$243 = $12;$$in = $53; | |
| while(1) { | |
| $55 = (($$in) + -1)|0; | |
| $$3 = $$243; | |
| while(1) { | |
| $57 = ((($$3)) + 1|0); | |
| $58 = HEAP8[$57>>0]|0; | |
| $59 = $58 & -64; | |
| $60 = ($59<<24>>24)==(-128); | |
| if ($60) { | |
| $$3 = $57; | |
| } else { | |
| break; | |
| } | |
| } | |
| $56 = ($55|0)>(0); | |
| if ($56) { | |
| $$243 = $57;$$in = $55; | |
| } else { | |
| $$2$lcssa = $57; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$2$lcssa = $12; | |
| } | |
| $61 = $$038; | |
| $62 = $$2$lcssa; | |
| $63 = (($61) + 1)|0; | |
| $64 = (($63) - ($62))|0; | |
| $65 = (_sqlite3_malloc($64)|0); | |
| $66 = ($65|0)==(0|0); | |
| if ($66) { | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } else { | |
| (_strcpy($65,$$2$lcssa)|0); | |
| _sqlite3_result_text($0,$65,-1,(-1)); | |
| _sqlite3_free($65); | |
| return; | |
| } | |
| } | |
| } | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| function _reverseFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i = 0, $$018$i = 0, $$035$ph = 0, $$036 = 0, $$036$ph = 0, $$039 = 0, $$1$i = 0, $$119$i = 0, $$137 = 0, $$138 = 0, $$pre = 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, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $or$cond22$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16899|0),(16157|0),1323,(16907|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if ($6) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $7 = HEAP32[$2>>2]|0; | |
| $8 = (_sqlite3_value_text($7)|0); | |
| $9 = (_strlen($8)|0); | |
| $10 = (($9) + 1)|0; | |
| $11 = (_sqlite3_malloc($10)|0); | |
| $12 = ($11|0)==(0|0); | |
| if ($12) { | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } | |
| $13 = (($11) + ($9)|0); | |
| $14 = ((($13)) + -1|0); | |
| HEAP8[$13>>0] = 0; | |
| $$035$ph = $14;$$036$ph = $8; | |
| L12: while(1) { | |
| $$pre = HEAP8[$$036$ph>>0]|0; | |
| $$036 = $$036$ph;$17 = $$pre; | |
| while(1) { | |
| $15 = ((($$036)) + 1|0); | |
| $16 = $17&255; | |
| $18 = (16403 + ($16)|0); | |
| $19 = HEAP8[$18>>0]|0; | |
| $20 = $19&255; | |
| switch ($19<<24>>24) { | |
| case 4: { | |
| $$137 = $$036; | |
| break; | |
| } | |
| case 3: { | |
| $21 = $16 << 6; | |
| $22 = ((($$036)) + 2|0); | |
| $23 = HEAP8[$15>>0]|0; | |
| $24 = $23&255; | |
| $25 = (($24) + ($21))|0; | |
| $$0$i = $22;$$018$i = $25; | |
| label = 11; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i = $15;$$018$i = $16; | |
| label = 11; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i = $15;$$119$i = $16; | |
| label = 12; | |
| break; | |
| } | |
| default: { | |
| $46 = $16; | |
| label = 13; | |
| } | |
| } | |
| if ((label|0) == 11) { | |
| label = 0; | |
| $26 = $$018$i << 6; | |
| $27 = ((($$0$i)) + 1|0); | |
| $28 = HEAP8[$$0$i>>0]|0; | |
| $29 = $28&255; | |
| $30 = (($29) + ($26))|0; | |
| $$1$i = $27;$$119$i = $30; | |
| label = 12; | |
| } | |
| if ((label|0) == 12) { | |
| label = 0; | |
| $31 = $$119$i << 6; | |
| $32 = HEAP8[$$1$i>>0]|0; | |
| $33 = $32&255; | |
| $34 = (($33) + ($31))|0; | |
| $35 = (960 + ($20<<2)|0); | |
| $36 = HEAP32[$35>>2]|0; | |
| $37 = (($34) - ($36))|0; | |
| $38 = (976 + ($20<<2)|0); | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = $37 & $39; | |
| $41 = ($40|0)==(0); | |
| $42 = $37 & -2048; | |
| $43 = ($42|0)==(55296); | |
| $or$cond$i = $41 | $43; | |
| $44 = $37 & -2; | |
| $45 = ($44|0)==(65534); | |
| $or$cond22$i = $45 | $or$cond$i; | |
| if ($or$cond22$i) { | |
| $$137 = $$036; | |
| } else { | |
| $46 = $37; | |
| label = 13; | |
| } | |
| } | |
| if ((label|0) == 13) { | |
| label = 0; | |
| $47 = ($46|0)==(0); | |
| if ($47) { | |
| break L12; | |
| } else { | |
| $$137 = $$036; | |
| } | |
| } | |
| while(1) { | |
| $48 = ((($$137)) + 1|0); | |
| $49 = HEAP8[$48>>0]|0; | |
| $50 = $49 & -64; | |
| $51 = ($50<<24>>24)==(-128); | |
| if ($51) { | |
| $$137 = $48; | |
| } else { | |
| break; | |
| } | |
| } | |
| $52 = ($$137>>>0)<($$036>>>0); | |
| if ($52) { | |
| $$036 = $48;$17 = $49; | |
| } else { | |
| $$039 = 1;$$138 = $$035$ph;$54 = $$137; | |
| break; | |
| } | |
| } | |
| while(1) { | |
| $53 = HEAP8[$54>>0]|0; | |
| $55 = ((($$138)) + -1|0); | |
| HEAP8[$$138>>0] = $53; | |
| $56 = (($$039) + 1)|0; | |
| $57 = $$039 ^ -1; | |
| $58 = (($48) + ($57)|0); | |
| $59 = ($58>>>0)<($$036>>>0); | |
| if ($59) { | |
| $$035$ph = $55;$$036$ph = $48; | |
| continue L12; | |
| } else { | |
| $$039 = $56;$$138 = $55;$54 = $58; | |
| } | |
| } | |
| } | |
| _sqlite3_result_text($0,$11,-1,(-1)); | |
| _sqlite3_free($11); | |
| return; | |
| } | |
| function _properFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$024 = 0, $$024$in = 0, $$026$lcssa = 0, $$02628 = 0, $$029 = 0, $$1 = 0, $$125 = 0, $$pn = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),724,(16919|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if ($6) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $7 = HEAP32[$2>>2]|0; | |
| $8 = (_sqlite3_value_text($7)|0); | |
| $9 = (_strlen($8)|0); | |
| $10 = (($9) + 1)|0; | |
| $11 = (_sqlite3_malloc($10)|0); | |
| $12 = (_strcpy($11,$8)|0); | |
| $13 = ($12|0)==(0|0); | |
| if ($13) { | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } | |
| $14 = HEAP8[$8>>0]|0; | |
| $15 = ($14<<24>>24)==(0); | |
| if ($15) { | |
| $$026$lcssa = $11; | |
| } else { | |
| $16 = $14 << 24 >> 24; | |
| $$02628 = $11;$$029 = 1;$$pn = $8;$18 = $16;$28 = $14; | |
| while(1) { | |
| $17 = ((($$pn)) + 1|0); | |
| $19 = (_isblank($18)|0); | |
| $20 = ($19|0)==(0); | |
| if ($20) { | |
| $21 = ($$029|0)==(1); | |
| if ($21) { | |
| $22 = (_toupper($18)|0); | |
| $$024$in = $22; | |
| } else { | |
| $23 = (_tolower($18)|0); | |
| $$024$in = $23; | |
| } | |
| $$024 = $$024$in&255; | |
| $$1 = 0;$$125 = $$024; | |
| } else { | |
| $$1 = 1;$$125 = $28; | |
| } | |
| $24 = ((($$02628)) + 1|0); | |
| HEAP8[$$02628>>0] = $$125; | |
| $25 = HEAP8[$17>>0]|0; | |
| $26 = $25 << 24 >> 24; | |
| $27 = ($25<<24>>24)==(0); | |
| if ($27) { | |
| $$026$lcssa = $24; | |
| break; | |
| } else { | |
| $$02628 = $24;$$029 = $$1;$$pn = $17;$18 = $26;$28 = $25; | |
| } | |
| } | |
| } | |
| HEAP8[$$026$lcssa>>0] = 0; | |
| _sqlite3_result_text($0,$12,-1,(-1)); | |
| _sqlite3_free($12); | |
| return; | |
| } | |
| function _padlFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0143$i = 0, $$0152$i = 0, $$038 = 0, $$03940 = 0, $$041 = 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, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $or$cond1$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(2); | |
| if (!($3)) { | |
| ___assert_fail((16208|0),(16157|0),771,(16930|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if ($6) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $7 = HEAP32[$2>>2]|0; | |
| $8 = (_sqlite3_value_text($7)|0); | |
| $9 = ((($2)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (_sqlite3_value_int64($10)|0); | |
| $12 = tempRet0; | |
| $13 = ($12|0)<(0); | |
| if ($13) { | |
| _sqlite3_result_error($0,16835,-1); | |
| return; | |
| } | |
| $14 = HEAP8[$8>>0]|0; | |
| $15 = ($14<<24>>24)==(0); | |
| $16 = ($8|0)==((-1)|0); | |
| $or$cond1$i = $16 | $15; | |
| if ($or$cond1$i) { | |
| $30 = 0;$32 = 0; | |
| } else { | |
| $$0143$i = 0;$$0152$i = $8;$18 = $14; | |
| while(1) { | |
| $17 = $18&255; | |
| $19 = (16403 + ($17)|0); | |
| $20 = HEAP8[$19>>0]|0; | |
| $21 = $20&255; | |
| $22 = (($21) + 1)|0; | |
| $23 = (($$0152$i) + ($22)|0); | |
| $24 = (($$0143$i) + 1)|0; | |
| $25 = HEAP8[$23>>0]|0; | |
| $26 = ($25<<24>>24)==(0); | |
| $27 = ($23|0)==((-1)|0); | |
| $or$cond$i = $26 | $27; | |
| if ($or$cond$i) { | |
| break; | |
| } else { | |
| $$0143$i = $24;$$0152$i = $23;$18 = $25; | |
| } | |
| } | |
| $28 = ($24|0)<(0); | |
| $29 = $28 << 31 >> 31; | |
| $30 = $29;$32 = $24; | |
| } | |
| $31 = ($30|0)<($12|0); | |
| $33 = ($32>>>0)<($11>>>0); | |
| $34 = ($30|0)==($12|0); | |
| $35 = $34 & $33; | |
| $36 = $31 | $35; | |
| do { | |
| if ($36) { | |
| $42 = (_strlen($8)|0); | |
| $43 = (_i64Add(($11|0),($12|0),1,0)|0); | |
| $44 = tempRet0; | |
| $45 = (_i64Subtract(($43|0),($44|0),($32|0),($30|0))|0); | |
| $46 = tempRet0; | |
| $47 = (_i64Add(($45|0),($46|0),($42|0),0)|0); | |
| $48 = tempRet0; | |
| $49 = (_sqlite3_malloc($47)|0); | |
| $50 = ($49|0)==(0|0); | |
| if ($50) { | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } else { | |
| $$03940 = 1;$$041 = $49; | |
| while(1) { | |
| $51 = ((($$041)) + 1|0); | |
| HEAP8[$$041>>0] = 32; | |
| $52 = (($$03940) + 1)|0; | |
| $53 = ($52|0)<(0); | |
| $54 = $53 << 31 >> 31; | |
| $55 = (_i64Add(($52|0),($54|0),($32|0),($30|0))|0); | |
| $56 = tempRet0; | |
| $57 = ($56|0)>($12|0); | |
| $58 = ($55>>>0)>($11>>>0); | |
| $59 = ($56|0)==($12|0); | |
| $60 = $59 & $58; | |
| $61 = $57 | $60; | |
| if ($61) { | |
| break; | |
| } else { | |
| $$03940 = $52;$$041 = $51; | |
| } | |
| } | |
| (_strcpy($51,$8)|0); | |
| $$038 = $49; | |
| break; | |
| } | |
| } else { | |
| $37 = (_strlen($8)|0); | |
| $38 = (($37) + 1)|0; | |
| $39 = (_sqlite3_malloc($38)|0); | |
| $40 = (_strcpy($39,$8)|0); | |
| $41 = ($40|0)==(0|0); | |
| if (!($41)) { | |
| _sqlite3_result_text($0,$40,-1,(-1)); | |
| $$038 = $39; | |
| break; | |
| } | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } | |
| } while(0); | |
| _sqlite3_result_text($0,$$038,-1,(-1)); | |
| _sqlite3_free($$038); | |
| return; | |
| } | |
| function _padrFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0143$i = 0, $$0152$i = 0, $$042 = 0, $$04344 = 0, $$045 = 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, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, $or$cond1$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(2); | |
| if (!($3)) { | |
| ___assert_fail((16208|0),(16157|0),825,(16939|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if ($6) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $7 = HEAP32[$2>>2]|0; | |
| $8 = (_sqlite3_value_text($7)|0); | |
| $9 = ((($2)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (_sqlite3_value_int64($10)|0); | |
| $12 = tempRet0; | |
| $13 = ($12|0)<(0); | |
| if ($13) { | |
| _sqlite3_result_error($0,16835,-1); | |
| return; | |
| } | |
| $14 = HEAP8[$8>>0]|0; | |
| $15 = ($14<<24>>24)==(0); | |
| $16 = ($8|0)==((-1)|0); | |
| $or$cond1$i = $16 | $15; | |
| if ($or$cond1$i) { | |
| $30 = 0;$32 = 0; | |
| } else { | |
| $$0143$i = 0;$$0152$i = $8;$18 = $14; | |
| while(1) { | |
| $17 = $18&255; | |
| $19 = (16403 + ($17)|0); | |
| $20 = HEAP8[$19>>0]|0; | |
| $21 = $20&255; | |
| $22 = (($21) + 1)|0; | |
| $23 = (($$0152$i) + ($22)|0); | |
| $24 = (($$0143$i) + 1)|0; | |
| $25 = HEAP8[$23>>0]|0; | |
| $26 = ($25<<24>>24)==(0); | |
| $27 = ($23|0)==((-1)|0); | |
| $or$cond$i = $26 | $27; | |
| if ($or$cond$i) { | |
| break; | |
| } else { | |
| $$0143$i = $24;$$0152$i = $23;$18 = $25; | |
| } | |
| } | |
| $28 = ($24|0)<(0); | |
| $29 = $28 << 31 >> 31; | |
| $30 = $29;$32 = $24; | |
| } | |
| $31 = ($30|0)<($12|0); | |
| $33 = ($32>>>0)<($11>>>0); | |
| $34 = ($30|0)==($12|0); | |
| $35 = $34 & $33; | |
| $36 = $31 | $35; | |
| do { | |
| if ($36) { | |
| $42 = (_strlen($8)|0); | |
| $43 = (_i64Add(($11|0),($12|0),1,0)|0); | |
| $44 = tempRet0; | |
| $45 = (_i64Subtract(($43|0),($44|0),($32|0),($30|0))|0); | |
| $46 = tempRet0; | |
| $47 = (_i64Add(($45|0),($46|0),($42|0),0)|0); | |
| $48 = tempRet0; | |
| $49 = (_sqlite3_malloc($47)|0); | |
| $50 = ($49|0)==(0|0); | |
| if ($50) { | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } | |
| $51 = (_strcpy($49,$8)|0); | |
| $52 = (($49) + ($42)|0); | |
| $$04344 = 1;$$045 = $52; | |
| while(1) { | |
| $53 = ((($$045)) + 1|0); | |
| HEAP8[$$045>>0] = 32; | |
| $54 = (($$04344) + 1)|0; | |
| $55 = ($54|0)<(0); | |
| $56 = $55 << 31 >> 31; | |
| $57 = (_i64Add(($54|0),($56|0),($32|0),($30|0))|0); | |
| $58 = tempRet0; | |
| $59 = ($58|0)>($12|0); | |
| $60 = ($57>>>0)>($11>>>0); | |
| $61 = ($58|0)==($12|0); | |
| $62 = $61 & $60; | |
| $63 = $59 | $62; | |
| if ($63) { | |
| break; | |
| } else { | |
| $$04344 = $54;$$045 = $53; | |
| } | |
| } | |
| HEAP8[$53>>0] = 0; | |
| $$042 = $49; | |
| } else { | |
| $37 = (_strlen($8)|0); | |
| $38 = (($37) + 1)|0; | |
| $39 = (_sqlite3_malloc($38)|0); | |
| $40 = (_strcpy($39,$8)|0); | |
| $41 = ($40|0)==(0|0); | |
| if (!($41)) { | |
| _sqlite3_result_text($0,$40,-1,(-1)); | |
| $$042 = $39; | |
| break; | |
| } | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } | |
| } while(0); | |
| _sqlite3_result_text($0,$$042,-1,(-1)); | |
| _sqlite3_free($$042); | |
| return; | |
| } | |
| function _padcFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$lcssa = 0, $$0143$i = 0, $$0152$i = 0, $$048 = 0, $$049$lcssa = 0, $$04953 = 0, $$054 = 0, $$1$lcssa = 0, $$15051 = 0, $$152 = 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, $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, $or$cond$i = 0, $or$cond1$i = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(2); | |
| if (!($3)) { | |
| ___assert_fail((16208|0),(16157|0),880,(16948|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if ($6) { | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| $7 = HEAP32[$2>>2]|0; | |
| $8 = (_sqlite3_value_text($7)|0); | |
| $9 = ((($2)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (_sqlite3_value_int64($10)|0); | |
| $12 = tempRet0; | |
| $13 = ($12|0)<(0); | |
| if ($13) { | |
| _sqlite3_result_error($0,16835,-1); | |
| return; | |
| } | |
| $14 = HEAP8[$8>>0]|0; | |
| $15 = ($14<<24>>24)==(0); | |
| $16 = ($8|0)==((-1)|0); | |
| $or$cond1$i = $16 | $15; | |
| if ($or$cond1$i) { | |
| $30 = 0;$32 = 0; | |
| } else { | |
| $$0143$i = 0;$$0152$i = $8;$18 = $14; | |
| while(1) { | |
| $17 = $18&255; | |
| $19 = (16403 + ($17)|0); | |
| $20 = HEAP8[$19>>0]|0; | |
| $21 = $20&255; | |
| $22 = (($21) + 1)|0; | |
| $23 = (($$0152$i) + ($22)|0); | |
| $24 = (($$0143$i) + 1)|0; | |
| $25 = HEAP8[$23>>0]|0; | |
| $26 = ($25<<24>>24)==(0); | |
| $27 = ($23|0)==((-1)|0); | |
| $or$cond$i = $26 | $27; | |
| if ($or$cond$i) { | |
| break; | |
| } else { | |
| $$0143$i = $24;$$0152$i = $23;$18 = $25; | |
| } | |
| } | |
| $28 = ($24|0)<(0); | |
| $29 = $28 << 31 >> 31; | |
| $30 = $29;$32 = $24; | |
| } | |
| $31 = ($30|0)<($12|0); | |
| $33 = ($32>>>0)<($11>>>0); | |
| $34 = ($30|0)==($12|0); | |
| $35 = $34 & $33; | |
| $36 = $31 | $35; | |
| do { | |
| if ($36) { | |
| $42 = (_strlen($8)|0); | |
| $43 = (_i64Add(($11|0),($12|0),1,0)|0); | |
| $44 = tempRet0; | |
| $45 = (_i64Subtract(($43|0),($44|0),($32|0),($30|0))|0); | |
| $46 = tempRet0; | |
| $47 = (_i64Add(($45|0),($46|0),($42|0),0)|0); | |
| $48 = tempRet0; | |
| $49 = (_sqlite3_malloc($47)|0); | |
| $50 = ($49|0)==(0|0); | |
| if ($50) { | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } | |
| $51 = (_i64Add(($32|0),($30|0),2,0)|0); | |
| $52 = tempRet0; | |
| $53 = ($52|0)>($12|0); | |
| $54 = ($51>>>0)>($11>>>0); | |
| $55 = ($52|0)==($12|0); | |
| $56 = $55 & $54; | |
| $57 = $53 | $56; | |
| if ($57) { | |
| $$0$lcssa = $49;$$049$lcssa = 1; | |
| } else { | |
| $$04953 = 1;$$054 = $49; | |
| while(1) { | |
| $58 = ((($$054)) + 1|0); | |
| HEAP8[$$054>>0] = 32; | |
| $59 = (($$04953) + 1)|0; | |
| $60 = $59 << 1; | |
| $61 = ($60|0)<(0); | |
| $62 = $61 << 31 >> 31; | |
| $63 = (_i64Add(($60|0),($62|0),($32|0),($30|0))|0); | |
| $64 = tempRet0; | |
| $65 = ($64|0)>($12|0); | |
| $66 = ($63>>>0)>($11>>>0); | |
| $67 = ($64|0)==($12|0); | |
| $68 = $67 & $66; | |
| $69 = $65 | $68; | |
| if ($69) { | |
| $$0$lcssa = $58;$$049$lcssa = $59; | |
| break; | |
| } else { | |
| $$04953 = $59;$$054 = $58; | |
| } | |
| } | |
| } | |
| (_strcpy($$0$lcssa,$8)|0); | |
| $70 = (($$0$lcssa) + ($42)|0); | |
| $71 = ($$049$lcssa|0)<(0); | |
| $72 = $71 << 31 >> 31; | |
| $73 = (_i64Add(($$049$lcssa|0),($72|0),($32|0),($30|0))|0); | |
| $74 = tempRet0; | |
| $75 = ($74|0)>($12|0); | |
| $76 = ($73>>>0)>($11>>>0); | |
| $77 = ($74|0)==($12|0); | |
| $78 = $77 & $76; | |
| $79 = $75 | $78; | |
| if ($79) { | |
| $$1$lcssa = $70; | |
| } else { | |
| $$15051 = $$049$lcssa;$$152 = $70; | |
| while(1) { | |
| $80 = ((($$152)) + 1|0); | |
| HEAP8[$$152>>0] = 32; | |
| $81 = (($$15051) + 1)|0; | |
| $82 = ($81|0)<(0); | |
| $83 = $82 << 31 >> 31; | |
| $84 = (_i64Add(($81|0),($83|0),($32|0),($30|0))|0); | |
| $85 = tempRet0; | |
| $86 = ($85|0)>($12|0); | |
| $87 = ($84>>>0)>($11>>>0); | |
| $88 = ($85|0)==($12|0); | |
| $89 = $88 & $87; | |
| $90 = $86 | $89; | |
| if ($90) { | |
| $$1$lcssa = $80; | |
| break; | |
| } else { | |
| $$15051 = $81;$$152 = $80; | |
| } | |
| } | |
| } | |
| HEAP8[$$1$lcssa>>0] = 0; | |
| $$048 = $49; | |
| } else { | |
| $37 = (_strlen($8)|0); | |
| $38 = (($37) + 1)|0; | |
| $39 = (_sqlite3_malloc($38)|0); | |
| $40 = (_strcpy($39,$8)|0); | |
| $41 = ($40|0)==(0|0); | |
| if (!($41)) { | |
| _sqlite3_result_text($0,$40,-1,(-1)); | |
| $$048 = $39; | |
| break; | |
| } | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } | |
| } while(0); | |
| _sqlite3_result_text($0,$$048,-1,(-1)); | |
| _sqlite3_free($$048); | |
| return; | |
| } | |
| function _strfilterFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$i59 = 0, $$0 = 0, $$0$i = 0, $$0$i54 = 0, $$018$i = 0, $$018$i53 = 0, $$048 = 0, $$050 = 0, $$051 = 0, $$1$i = 0, $$1$i56 = 0, $$1$ph = 0, $$119$i = 0, $$119$i55 = 0, $$149 = 0, $$152 = 0, $$not = 0, $$ph = 0, $$pre = 0, $$pre72 = 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, $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 $or$cond$i = 0, $or$cond$i57 = 0, $or$cond22$i = 0, $or$cond22$i58 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(2); | |
| if (!($3)) { | |
| ___assert_fail((16208|0),(16157|0),939,(16957|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if (!($6)) { | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (_sqlite3_value_type($8)|0); | |
| $10 = ($9|0)==(5); | |
| if (!($10)) { | |
| $11 = HEAP32[$2>>2]|0; | |
| $12 = (_sqlite3_value_text($11)|0); | |
| $13 = HEAP32[$7>>2]|0; | |
| $14 = (_sqlite3_value_text($13)|0); | |
| $15 = (_strlen($12)|0); | |
| $16 = (($15) + 1)|0; | |
| $17 = (_sqlite3_malloc($16)|0); | |
| $18 = ($17|0)==(0|0); | |
| if ($18) { | |
| _sqlite3_result_error_nomem($0); | |
| return; | |
| } | |
| $$pre = HEAP8[$12>>0]|0; | |
| $$0 = $17;$$048 = $12;$21 = $$pre; | |
| L11: while(1) { | |
| $19 = ((($$048)) + 1|0); | |
| $20 = $21&255; | |
| $22 = (16403 + ($20)|0); | |
| $23 = HEAP8[$22>>0]|0; | |
| $24 = $23&255; | |
| switch ($23<<24>>24) { | |
| case 4: { | |
| $$ph = 65533; | |
| break; | |
| } | |
| case 3: { | |
| $25 = $20 << 6; | |
| $26 = ((($$048)) + 2|0); | |
| $27 = HEAP8[$19>>0]|0; | |
| $28 = $27&255; | |
| $29 = (($28) + ($25))|0; | |
| $$0$i = $26;$$018$i = $29; | |
| label = 11; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i = $19;$$018$i = $20; | |
| label = 11; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i = $19;$$119$i = $20; | |
| label = 12; | |
| break; | |
| } | |
| default: { | |
| $50 = $20; | |
| label = 13; | |
| } | |
| } | |
| if ((label|0) == 11) { | |
| label = 0; | |
| $30 = $$018$i << 6; | |
| $31 = ((($$0$i)) + 1|0); | |
| $32 = HEAP8[$$0$i>>0]|0; | |
| $33 = $32&255; | |
| $34 = (($33) + ($30))|0; | |
| $$1$i = $31;$$119$i = $34; | |
| label = 12; | |
| } | |
| if ((label|0) == 12) { | |
| label = 0; | |
| $35 = $$119$i << 6; | |
| $36 = HEAP8[$$1$i>>0]|0; | |
| $37 = $36&255; | |
| $38 = (($37) + ($35))|0; | |
| $39 = (960 + ($24<<2)|0); | |
| $40 = HEAP32[$39>>2]|0; | |
| $41 = (($38) - ($40))|0; | |
| $42 = (976 + ($24<<2)|0); | |
| $43 = HEAP32[$42>>2]|0; | |
| $44 = $41 & $43; | |
| $45 = ($44|0)==(0); | |
| $46 = $41 & -2048; | |
| $47 = ($46|0)==(55296); | |
| $or$cond$i = $45 | $47; | |
| $48 = $41 & -2; | |
| $49 = ($48|0)==(65534); | |
| $or$cond22$i = $49 | $or$cond$i; | |
| if ($or$cond22$i) { | |
| $$ph = 65533; | |
| } else { | |
| $50 = $41; | |
| label = 13; | |
| } | |
| } | |
| if ((label|0) == 13) { | |
| label = 0; | |
| $51 = ($50|0)==(0); | |
| if ($51) { | |
| break; | |
| } else { | |
| $$ph = $50; | |
| } | |
| } | |
| $$pre72 = HEAP8[$14>>0]|0; | |
| $$051 = $14;$54 = $$pre72; | |
| L22: while(1) { | |
| $52 = ((($$051)) + 1|0); | |
| $53 = $54&255; | |
| $55 = (16403 + ($53)|0); | |
| $56 = HEAP8[$55>>0]|0; | |
| $57 = $56&255; | |
| switch ($56<<24>>24) { | |
| case 4: { | |
| $83 = 65533; | |
| break; | |
| } | |
| case 3: { | |
| $58 = $53 << 6; | |
| $59 = ((($$051)) + 2|0); | |
| $60 = HEAP8[$52>>0]|0; | |
| $61 = $60&255; | |
| $62 = (($61) + ($58))|0; | |
| $$0$i54 = $59;$$018$i53 = $62; | |
| label = 18; | |
| break; | |
| } | |
| case 2: { | |
| $$0$i54 = $52;$$018$i53 = $53; | |
| label = 18; | |
| break; | |
| } | |
| case 1: { | |
| $$1$i56 = $52;$$119$i55 = $53; | |
| label = 19; | |
| break; | |
| } | |
| default: { | |
| $83 = $53; | |
| } | |
| } | |
| if ((label|0) == 18) { | |
| label = 0; | |
| $63 = $$018$i53 << 6; | |
| $64 = ((($$0$i54)) + 1|0); | |
| $65 = HEAP8[$$0$i54>>0]|0; | |
| $66 = $65&255; | |
| $67 = (($66) + ($63))|0; | |
| $$1$i56 = $64;$$119$i55 = $67; | |
| label = 19; | |
| } | |
| if ((label|0) == 19) { | |
| label = 0; | |
| $68 = $$119$i55 << 6; | |
| $69 = HEAP8[$$1$i56>>0]|0; | |
| $70 = $69&255; | |
| $71 = (($70) + ($68))|0; | |
| $72 = (960 + ($57<<2)|0); | |
| $73 = HEAP32[$72>>2]|0; | |
| $74 = (($71) - ($73))|0; | |
| $75 = (976 + ($57<<2)|0); | |
| $76 = HEAP32[$75>>2]|0; | |
| $77 = $74 & $76; | |
| $78 = ($77|0)==(0); | |
| $79 = $74 & -2048; | |
| $80 = ($79|0)==(55296); | |
| $or$cond$i57 = $78 | $80; | |
| $81 = $74 & -2; | |
| $82 = ($81|0)==(65534); | |
| $or$cond22$i58 = $82 | $or$cond$i57; | |
| $$$i59 = $or$cond22$i58 ? 65533 : $74; | |
| $83 = $$$i59; | |
| } | |
| $84 = ($83|0)!=(0); | |
| $$not = $84 ^ 1; | |
| $85 = ($83|0)==($$ph|0); | |
| $or$cond = $85 | $$not; | |
| if ($or$cond) { | |
| break; | |
| } else { | |
| $$152 = $$051; | |
| } | |
| while(1) { | |
| $86 = ((($$152)) + 1|0); | |
| $87 = HEAP8[$86>>0]|0; | |
| $88 = $87 & -64; | |
| $89 = ($88<<24>>24)==(-128); | |
| if ($89) { | |
| $$152 = $86; | |
| } else { | |
| $$051 = $86;$54 = $87; | |
| continue L22; | |
| } | |
| } | |
| } | |
| if ($84) { | |
| $$050 = $$051; | |
| while(1) { | |
| $90 = ((($$050)) + 1|0); | |
| $91 = HEAP8[$90>>0]|0; | |
| $92 = $91 & -64; | |
| $93 = ($92<<24>>24)==(-128); | |
| if ($93) { | |
| $$050 = $90; | |
| } else { | |
| break; | |
| } | |
| } | |
| $94 = $90; | |
| $95 = $$051; | |
| $96 = (($94) - ($95))|0; | |
| (_strncpy($$0,$$051,$96)|0); | |
| $97 = (($$0) + ($96)|0); | |
| $$1$ph = $97; | |
| } else { | |
| $$1$ph = $$0; | |
| } | |
| $$149 = $$048; | |
| while(1) { | |
| $98 = ((($$149)) + 1|0); | |
| $99 = HEAP8[$98>>0]|0; | |
| $100 = $99 & -64; | |
| $101 = ($100<<24>>24)==(-128); | |
| if ($101) { | |
| $$149 = $98; | |
| } else { | |
| $$0 = $$1$ph;$$048 = $98;$21 = $99; | |
| continue L11; | |
| } | |
| } | |
| } | |
| HEAP8[$$0>>0] = 0; | |
| _sqlite3_result_text($0,$17,-1,(-1)); | |
| _sqlite3_free($17); | |
| return; | |
| } | |
| } | |
| _sqlite3_result_null($0); | |
| return; | |
| } | |
| function _varianceStep($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.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; | |
| var $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),1395,(16971|0)); | |
| // unreachable; | |
| } | |
| $4 = (_sqlite3_aggregate_context($0,24)|0); | |
| $5 = HEAP32[$2>>2]|0; | |
| $6 = (_sqlite3_value_numeric_type($5)|0); | |
| $7 = ($6|0)==(5); | |
| if ($7) { | |
| return; | |
| } | |
| $8 = ((($4)) + 16|0); | |
| $9 = $8; | |
| $10 = $9; | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (($9) + 4)|0; | |
| $13 = $12; | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (_i64Add(($11|0),($14|0),1,0)|0); | |
| $16 = tempRet0; | |
| $17 = $8; | |
| $18 = $17; | |
| HEAP32[$18>>2] = $15; | |
| $19 = (($17) + 4)|0; | |
| $20 = $19; | |
| HEAP32[$20>>2] = $16; | |
| $21 = HEAP32[$2>>2]|0; | |
| $22 = (+_sqlite3_value_double($21)); | |
| $23 = +HEAPF64[$4>>3]; | |
| $24 = $22 - $23; | |
| $25 = $8; | |
| $26 = $25; | |
| $27 = HEAP32[$26>>2]|0; | |
| $28 = (($25) + 4)|0; | |
| $29 = $28; | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = (+($27>>>0)) + (4294967296.0*(+($30|0))); | |
| $32 = $24 / $31; | |
| $33 = $23 + $32; | |
| HEAPF64[$4>>3] = $33; | |
| $34 = $22 - $33; | |
| $35 = $24 * $34; | |
| $36 = ((($4)) + 8|0); | |
| $37 = +HEAPF64[$36>>3]; | |
| $38 = $37 + $35; | |
| HEAPF64[$36>>3] = $38; | |
| return; | |
| } | |
| function _stdevFinalize($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = (_sqlite3_aggregate_context($0,0)|0); | |
| $2 = ($1|0)==(0|0); | |
| if (!($2)) { | |
| $3 = ((($1)) + 16|0); | |
| $4 = $3; | |
| $5 = $4; | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($4) + 4)|0; | |
| $8 = $7; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ($9|0)>(0); | |
| $11 = ($6>>>0)>(1); | |
| $12 = ($9|0)==(0); | |
| $13 = $12 & $11; | |
| $14 = $10 | $13; | |
| if ($14) { | |
| $15 = ((($1)) + 8|0); | |
| $16 = +HEAPF64[$15>>3]; | |
| $17 = (_i64Add(($6|0),($9|0),-1,-1)|0); | |
| $18 = tempRet0; | |
| $19 = (+($17>>>0)) + (4294967296.0*(+($18|0))); | |
| $20 = $16 / $19; | |
| $21 = (+Math_sqrt((+$20))); | |
| _sqlite3_result_double($0,$21); | |
| return; | |
| } | |
| } | |
| _sqlite3_result_double($0,0.0); | |
| return; | |
| } | |
| function _varianceFinalize($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = (_sqlite3_aggregate_context($0,0)|0); | |
| $2 = ($1|0)==(0|0); | |
| if (!($2)) { | |
| $3 = ((($1)) + 16|0); | |
| $4 = $3; | |
| $5 = $4; | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($4) + 4)|0; | |
| $8 = $7; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ($9|0)>(0); | |
| $11 = ($6>>>0)>(1); | |
| $12 = ($9|0)==(0); | |
| $13 = $12 & $11; | |
| $14 = $10 | $13; | |
| if ($14) { | |
| $15 = ((($1)) + 8|0); | |
| $16 = +HEAPF64[$15>>3]; | |
| $17 = (_i64Add(($6|0),($9|0),-1,-1)|0); | |
| $18 = tempRet0; | |
| $19 = (+($17>>>0)) + (4294967296.0*(+($18|0))); | |
| $20 = $16 / $19; | |
| _sqlite3_result_double($0,$20); | |
| return; | |
| } | |
| } | |
| _sqlite3_result_double($0,0.0); | |
| return; | |
| } | |
| function _modeStep($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$pre = 0, $$pre$phi50Z2D = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$241$0$$sroa_idx = 0, $$tr$be$i$i = 0, $$tr$be$i$i37 = 0, $$tr$lcssa$i$i = 0, $$tr$lcssa$i$i33 = 0, $$tr23$i$i = 0, $$tr23$i$i35 = 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, $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, $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.0; | |
| var $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; | |
| $3 = ($1|0)==(1); | |
| if (!($3)) { | |
| ___assert_fail((16149|0),(16157|0),1418,(16984|0)); | |
| // unreachable; | |
| } | |
| $4 = HEAP32[$2>>2]|0; | |
| $5 = (_sqlite3_value_numeric_type($4)|0); | |
| $6 = ($5|0)==(5); | |
| if ($6) { | |
| return; | |
| } | |
| $7 = (_sqlite3_aggregate_context($0,64)|0); | |
| $8 = ((($7)) + 56|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ($9|0)==(0|0); | |
| do { | |
| if ($10) { | |
| $11 = (_calloc(1,12)|0); | |
| HEAP32[$8>>2] = $11; | |
| $12 = ($5|0)==(1); | |
| if ($12) { | |
| HEAP32[$11>>2] = 0; | |
| $$sroa$241$0$$sroa_idx = ((($11)) + 4|0); | |
| HEAP32[$$sroa$241$0$$sroa_idx>>2] = 179; | |
| $13 = ((($7)) + 48|0); | |
| $14 = $13; | |
| $15 = $14; | |
| HEAP32[$15>>2] = 0; | |
| $16 = (($14) + 4)|0; | |
| $17 = $16; | |
| HEAP32[$17>>2] = 0; | |
| $$pre$phi50Z2D = $13; | |
| break; | |
| } else { | |
| $18 = ((($7)) + 48|0); | |
| $19 = $18; | |
| $20 = $19; | |
| HEAP32[$20>>2] = 1; | |
| $21 = (($19) + 4)|0; | |
| $22 = $21; | |
| HEAP32[$22>>2] = 0; | |
| HEAP32[$11>>2] = 0; | |
| $$sroa$2$0$$sroa_idx = ((($11)) + 4|0); | |
| HEAP32[$$sroa$2$0$$sroa_idx>>2] = 180; | |
| $$pre$phi50Z2D = $18; | |
| break; | |
| } | |
| } else { | |
| $$pre = ((($7)) + 48|0); | |
| $$pre$phi50Z2D = $$pre; | |
| } | |
| } while(0); | |
| $23 = ((($7)) + 16|0); | |
| $24 = $23; | |
| $25 = $24; | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = (($24) + 4)|0; | |
| $28 = $27; | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = (_i64Add(($26|0),($29|0),1,0)|0); | |
| $31 = tempRet0; | |
| $32 = $23; | |
| $33 = $32; | |
| HEAP32[$33>>2] = $30; | |
| $34 = (($32) + 4)|0; | |
| $35 = $34; | |
| HEAP32[$35>>2] = $31; | |
| $36 = $$pre$phi50Z2D; | |
| $37 = $36; | |
| $38 = HEAP32[$37>>2]|0; | |
| $39 = (($36) + 4)|0; | |
| $40 = $39; | |
| $41 = HEAP32[$40>>2]|0; | |
| $42 = ($38|0)==(0); | |
| $43 = ($41|0)==(0); | |
| $44 = $42 & $43; | |
| $45 = HEAP32[$2>>2]|0; | |
| if ($44) { | |
| $46 = (_sqlite3_value_int64($45)|0); | |
| $47 = tempRet0; | |
| $48 = (_calloc(1,8)|0); | |
| $49 = $48; | |
| $50 = $49; | |
| HEAP32[$50>>2] = $46; | |
| $51 = (($49) + 4)|0; | |
| $52 = $51; | |
| HEAP32[$52>>2] = $47; | |
| $53 = HEAP32[$8>>2]|0; | |
| $54 = ((($53)) + 4|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| $56 = HEAP32[$53>>2]|0; | |
| $57 = ($56|0)==(0|0); | |
| L16: do { | |
| if ($57) { | |
| $$tr$lcssa$i$i33 = $53; | |
| } else { | |
| $$tr23$i$i35 = $53;$66 = $56; | |
| while(1) { | |
| $65 = ((($66)) + 8|0); | |
| $67 = HEAP32[$65>>2]|0; | |
| $68 = (FUNCTION_TABLE_iii[$55 & 255]($67,$48)|0); | |
| $69 = ($68|0)==(0); | |
| $70 = HEAP32[$$tr23$i$i35>>2]|0; | |
| if ($69) { | |
| break; | |
| } | |
| $84 = ($68|0)>(0); | |
| $85 = ((($70)) + 4|0); | |
| $$tr$be$i$i37 = $84 ? $70 : $85; | |
| $86 = HEAP32[$$tr$be$i$i37>>2]|0; | |
| $87 = ($86|0)==(0|0); | |
| if ($87) { | |
| $$tr$lcssa$i$i33 = $$tr$be$i$i37; | |
| break L16; | |
| } else { | |
| $$tr23$i$i35 = $$tr$be$i$i37;$66 = $86; | |
| } | |
| } | |
| $71 = ((($70)) + 16|0); | |
| $72 = $71; | |
| $73 = $72; | |
| $74 = HEAP32[$73>>2]|0; | |
| $75 = (($72) + 4)|0; | |
| $76 = $75; | |
| $77 = HEAP32[$76>>2]|0; | |
| $78 = (_i64Add(($74|0),($77|0),1,0)|0); | |
| $79 = tempRet0; | |
| $80 = $71; | |
| $81 = $80; | |
| HEAP32[$81>>2] = $78; | |
| $82 = (($80) + 4)|0; | |
| $83 = $82; | |
| HEAP32[$83>>2] = $79; | |
| _free($48); | |
| return; | |
| } | |
| } while(0); | |
| $58 = (_calloc(1,24)|0); | |
| $59 = ((($58)) + 8|0); | |
| HEAP32[$59>>2] = $48; | |
| $60 = ((($58)) + 16|0); | |
| $61 = $60; | |
| $62 = $61; | |
| HEAP32[$62>>2] = 1; | |
| $63 = (($61) + 4)|0; | |
| $64 = $63; | |
| HEAP32[$64>>2] = 0; | |
| HEAP32[$$tr$lcssa$i$i33>>2] = $58; | |
| return; | |
| } else { | |
| $88 = (+_sqlite3_value_double($45)); | |
| $89 = (_calloc(1,8)|0); | |
| HEAPF64[$89>>3] = $88; | |
| $90 = HEAP32[$8>>2]|0; | |
| $91 = ((($90)) + 4|0); | |
| $92 = HEAP32[$91>>2]|0; | |
| $93 = HEAP32[$90>>2]|0; | |
| $94 = ($93|0)==(0|0); | |
| L25: do { | |
| if ($94) { | |
| $$tr$lcssa$i$i = $90; | |
| } else { | |
| $$tr23$i$i = $90;$103 = $93; | |
| while(1) { | |
| $102 = ((($103)) + 8|0); | |
| $104 = HEAP32[$102>>2]|0; | |
| $105 = (FUNCTION_TABLE_iii[$92 & 255]($104,$89)|0); | |
| $106 = ($105|0)==(0); | |
| $107 = HEAP32[$$tr23$i$i>>2]|0; | |
| if ($106) { | |
| break; | |
| } | |
| $121 = ($105|0)>(0); | |
| $122 = ((($107)) + 4|0); | |
| $$tr$be$i$i = $121 ? $107 : $122; | |
| $123 = HEAP32[$$tr$be$i$i>>2]|0; | |
| $124 = ($123|0)==(0|0); | |
| if ($124) { | |
| $$tr$lcssa$i$i = $$tr$be$i$i; | |
| break L25; | |
| } else { | |
| $$tr23$i$i = $$tr$be$i$i;$103 = $123; | |
| } | |
| } | |
| $108 = ((($107)) + 16|0); | |
| $109 = $108; | |
| $110 = $109; | |
| $111 = HEAP32[$110>>2]|0; | |
| $112 = (($109) + 4)|0; | |
| $113 = $112; | |
| $114 = HEAP32[$113>>2]|0; | |
| $115 = (_i64Add(($111|0),($114|0),1,0)|0); | |
| $116 = tempRet0; | |
| $117 = $108; | |
| $118 = $117; | |
| HEAP32[$118>>2] = $115; | |
| $119 = (($117) + 4)|0; | |
| $120 = $119; | |
| HEAP32[$120>>2] = $116; | |
| _free($89); | |
| return; | |
| } | |
| } while(0); | |
| $95 = (_calloc(1,24)|0); | |
| $96 = ((($95)) + 8|0); | |
| HEAP32[$96>>2] = $89; | |
| $97 = ((($95)) + 16|0); | |
| $98 = $97; | |
| $99 = $98; | |
| HEAP32[$99>>2] = 1; | |
| $100 = (($98) + 4)|0; | |
| $101 = $100; | |
| HEAP32[$101>>2] = 0; | |
| HEAP32[$$tr$lcssa$i$i>>2] = $95; | |
| return; | |
| } | |
| } | |
| function _modeFinalize($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.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = (_sqlite3_aggregate_context($0,0)|0); | |
| $2 = ($1|0)==(0|0); | |
| if ($2) { | |
| return; | |
| } | |
| $3 = ((($1)) + 56|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ($4|0)==(0|0); | |
| if ($5) { | |
| return; | |
| } | |
| $6 = HEAP32[$4>>2]|0; | |
| _node_iterate($6,131,$1); | |
| $7 = HEAP32[$3>>2]|0; | |
| $8 = HEAP32[$7>>2]|0; | |
| _node_destroy($8); | |
| $9 = HEAP32[$3>>2]|0; | |
| _free($9); | |
| $10 = ((($1)) + 40|0); | |
| $11 = $10; | |
| $12 = $11; | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = (($11) + 4)|0; | |
| $15 = $14; | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ($13|0)==(1); | |
| $18 = ($16|0)==(0); | |
| $19 = $17 & $18; | |
| if (!($19)) { | |
| return; | |
| } | |
| $20 = ((($1)) + 48|0); | |
| $21 = $20; | |
| $22 = $21; | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = (($21) + 4)|0; | |
| $25 = $24; | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ($23|0)==(0); | |
| $28 = ($26|0)==(0); | |
| $29 = $27 & $28; | |
| if ($29) { | |
| $30 = $1; | |
| $31 = $30; | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = (($30) + 4)|0; | |
| $34 = $33; | |
| $35 = HEAP32[$34>>2]|0; | |
| _sqlite3_result_int64($0,$32,$35); | |
| return; | |
| } else { | |
| $36 = ((($1)) + 8|0); | |
| $37 = +HEAPF64[$36>>3]; | |
| _sqlite3_result_double($0,$37); | |
| return; | |
| } | |
| } | |
| function _medianFinalize($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0.0, $11 = 0.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; | |
| $1 = (_sqlite3_aggregate_context($0,0)|0); | |
| $2 = ($1|0)==(0|0); | |
| if ($2) { | |
| return; | |
| } | |
| $3 = ((($1)) + 16|0); | |
| $4 = $3; | |
| $5 = $4; | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($4) + 4)|0; | |
| $8 = $7; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = (+($6>>>0)) + (4294967296.0*(+($9|0))); | |
| $11 = $10 * 0.5; | |
| $12 = ((($1)) + 24|0); | |
| HEAPF64[$12>>3] = $11; | |
| __medianFinalize($0); | |
| return; | |
| } | |
| function _lower_quartileFinalize($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0.0, $11 = 0.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; | |
| $1 = (_sqlite3_aggregate_context($0,0)|0); | |
| $2 = ($1|0)==(0|0); | |
| if ($2) { | |
| return; | |
| } | |
| $3 = ((($1)) + 16|0); | |
| $4 = $3; | |
| $5 = $4; | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($4) + 4)|0; | |
| $8 = $7; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = (+($6>>>0)) + (4294967296.0*(+($9|0))); | |
| $11 = $10 * 0.25; | |
| $12 = ((($1)) + 24|0); | |
| HEAPF64[$12>>3] = $11; | |
| __medianFinalize($0); | |
| return; | |
| } | |
| function _upper_quartileFinalize($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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 = (_sqlite3_aggregate_context($0,0)|0); | |
| $2 = ($1|0)==(0|0); | |
| if ($2) { | |
| return; | |
| } | |
| $3 = ((($1)) + 16|0); | |
| $4 = $3; | |
| $5 = $4; | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($4) + 4)|0; | |
| $8 = $7; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = (___muldi3(($6|0),($9|0),3,0)|0); | |
| $11 = tempRet0; | |
| $12 = (+($10>>>0)) + (4294967296.0*(+($11|0))); | |
| $13 = $12 * 0.25; | |
| $14 = ((($1)) + 24|0); | |
| HEAPF64[$14>>3] = $13; | |
| __medianFinalize($0); | |
| return; | |
| } | |
| function _node_iterate($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$tr = 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; | |
| $$tr = $0; | |
| while(1) { | |
| $3 = ($$tr|0)==(0|0); | |
| if ($3) { | |
| label = 6; | |
| break; | |
| } | |
| $4 = HEAP32[$$tr>>2]|0; | |
| $5 = ($4|0)==(0|0); | |
| if (!($5)) { | |
| _node_iterate($4,$1,$2); | |
| } | |
| $6 = ((($$tr)) + 8|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ((($$tr)) + 16|0); | |
| $9 = $8; | |
| $10 = $9; | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (($9) + 4)|0; | |
| $13 = $12; | |
| $14 = HEAP32[$13>>2]|0; | |
| FUNCTION_TABLE_viiii[$1 & 255]($7,$11,$14,$2); | |
| $15 = ((($$tr)) + 4|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ($16|0)==(0|0); | |
| if ($17) { | |
| label = 6; | |
| break; | |
| } else { | |
| $$tr = $16; | |
| } | |
| } | |
| if ((label|0) == 6) { | |
| return; | |
| } | |
| } | |
| function _node_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 = ($0|0)==(0|0); | |
| if ($1) { | |
| return; | |
| } | |
| $2 = ((($0)) + 8|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| _free($3); | |
| $4 = HEAP32[$0>>2]|0; | |
| $5 = ($4|0)==(0|0); | |
| if (!($5)) { | |
| _node_destroy($4); | |
| } | |
| $6 = ((($0)) + 4|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ($7|0)==(0|0); | |
| if (!($8)) { | |
| _node_destroy($7); | |
| } | |
| _free($0); | |
| return; | |
| } | |
| function _int_cmp($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|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, $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; | |
| $2 = $0; | |
| $3 = $2; | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (($2) + 4)|0; | |
| $6 = $5; | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = $1; | |
| $9 = $8; | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (($8) + 4)|0; | |
| $12 = $11; | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = ($4|0)==($10|0); | |
| $15 = ($7|0)==($13|0); | |
| $16 = $14 & $15; | |
| $17 = ($7|0)<($13|0); | |
| $18 = ($4>>>0)<($10>>>0); | |
| $19 = ($7|0)==($13|0); | |
| $20 = $19 & $18; | |
| $21 = $17 | $20; | |
| $$ = $21 ? -1 : 1; | |
| $$0 = $16 ? 0 : $$; | |
| return ($$0|0); | |
| } | |
| function _double_cmp($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$ = 0, $$0 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = +HEAPF64[$0>>3]; | |
| $3 = +HEAPF64[$1>>3]; | |
| $4 = $2 == $3; | |
| $5 = $2 < $3; | |
| $$ = $5 ? -1 : 1; | |
| $$0 = $4 ? 0 : $$; | |
| return ($$0|0); | |
| } | |
| function _modeIterate($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, $55 = 0, $56 = 0, $57 = 0, $58 = 0.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, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $4 = ((($3)) + 48|0); | |
| $5 = $4; | |
| $6 = $5; | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (($5) + 4)|0; | |
| $9 = $8; | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($7|0)==(0); | |
| $12 = ($10|0)==(0); | |
| $13 = $11 & $12; | |
| $14 = ((($3)) + 32|0); | |
| $15 = $14; | |
| $16 = $15; | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = (($15) + 4)|0; | |
| $19 = $18; | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = ($17|0)==($1|0); | |
| $22 = ($20|0)==($2|0); | |
| $23 = $21 & $22; | |
| if ($13) { | |
| $24 = HEAP32[$0>>2]|0; | |
| $25 = ($24|0)<(0); | |
| $26 = $25 << 31 >> 31; | |
| if ($23) { | |
| $27 = ((($3)) + 40|0); | |
| $28 = $27; | |
| $29 = $28; | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = (($28) + 4)|0; | |
| $32 = $31; | |
| $33 = HEAP32[$32>>2]|0; | |
| $34 = (_i64Add(($30|0),($33|0),1,0)|0); | |
| $35 = tempRet0; | |
| $36 = $27; | |
| $37 = $36; | |
| HEAP32[$37>>2] = $34; | |
| $38 = (($36) + 4)|0; | |
| $39 = $38; | |
| HEAP32[$39>>2] = $35; | |
| return; | |
| } | |
| $40 = ($20|0)<($2|0); | |
| $41 = ($17>>>0)<($1>>>0); | |
| $42 = ($20|0)==($2|0); | |
| $43 = $42 & $41; | |
| $44 = $40 | $43; | |
| if (!($44)) { | |
| return; | |
| } | |
| $45 = $3; | |
| $46 = $45; | |
| HEAP32[$46>>2] = $24; | |
| $47 = (($45) + 4)|0; | |
| $48 = $47; | |
| HEAP32[$48>>2] = $26; | |
| $49 = $14; | |
| $50 = $49; | |
| HEAP32[$50>>2] = $1; | |
| $51 = (($49) + 4)|0; | |
| $52 = $51; | |
| HEAP32[$52>>2] = $2; | |
| $53 = ((($3)) + 40|0); | |
| $54 = $53; | |
| $55 = $54; | |
| HEAP32[$55>>2] = 1; | |
| $56 = (($54) + 4)|0; | |
| $57 = $56; | |
| HEAP32[$57>>2] = 0; | |
| return; | |
| } else { | |
| $58 = +HEAPF64[$0>>3]; | |
| if ($23) { | |
| $59 = ((($3)) + 40|0); | |
| $60 = $59; | |
| $61 = $60; | |
| $62 = HEAP32[$61>>2]|0; | |
| $63 = (($60) + 4)|0; | |
| $64 = $63; | |
| $65 = HEAP32[$64>>2]|0; | |
| $66 = (_i64Add(($62|0),($65|0),1,0)|0); | |
| $67 = tempRet0; | |
| $68 = $59; | |
| $69 = $68; | |
| HEAP32[$69>>2] = $66; | |
| $70 = (($68) + 4)|0; | |
| $71 = $70; | |
| HEAP32[$71>>2] = $67; | |
| return; | |
| } | |
| $72 = ($20|0)<($2|0); | |
| $73 = ($17>>>0)<($1>>>0); | |
| $74 = ($20|0)==($2|0); | |
| $75 = $74 & $73; | |
| $76 = $72 | $75; | |
| if (!($76)) { | |
| return; | |
| } | |
| $77 = ((($3)) + 8|0); | |
| HEAPF64[$77>>3] = $58; | |
| $78 = $14; | |
| $79 = $78; | |
| HEAP32[$79>>2] = $1; | |
| $80 = (($78) + 4)|0; | |
| $81 = $80; | |
| HEAP32[$81>>2] = $2; | |
| $82 = ((($3)) + 40|0); | |
| $83 = $82; | |
| $84 = $83; | |
| HEAP32[$84>>2] = 1; | |
| $85 = (($83) + 4)|0; | |
| $86 = $85; | |
| HEAP32[$86>>2] = 0; | |
| return; | |
| } | |
| } | |
| function __medianFinalize($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.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $5 = 0, $6 = 0; | |
| var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = (_sqlite3_aggregate_context($0,0)|0); | |
| $2 = ($1|0)==(0|0); | |
| if ($2) { | |
| return; | |
| } | |
| $3 = ((($1)) + 56|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ($4|0)==(0|0); | |
| if ($5) { | |
| return; | |
| } | |
| $6 = ((($1)) + 60|0); | |
| HEAP32[$6>>2] = 0; | |
| $7 = HEAP32[$4>>2]|0; | |
| _node_iterate($7,132,$1); | |
| $8 = HEAP32[$3>>2]|0; | |
| $9 = HEAP32[$8>>2]|0; | |
| _node_destroy($9); | |
| $10 = HEAP32[$3>>2]|0; | |
| _free($10); | |
| $11 = ((($1)) + 48|0); | |
| $12 = $11; | |
| $13 = $12; | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (($12) + 4)|0; | |
| $16 = $15; | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = ($14|0)==(0); | |
| $19 = ($17|0)==(0); | |
| $20 = $18 & $19; | |
| $21 = ((($1)) + 40|0); | |
| $22 = $21; | |
| $23 = $22; | |
| $24 = HEAP32[$23>>2]|0; | |
| $25 = (($22) + 4)|0; | |
| $26 = $25; | |
| $27 = HEAP32[$26>>2]|0; | |
| if (!($20)) { | |
| $40 = ((($1)) + 8|0); | |
| $41 = +HEAPF64[$40>>3]; | |
| $42 = (+($24>>>0)) + (4294967296.0*(+($27|0))); | |
| $43 = $41 / $42; | |
| _sqlite3_result_double($0,$43); | |
| return; | |
| } | |
| $28 = ($24|0)==(1); | |
| $29 = ($27|0)==(0); | |
| $30 = $28 & $29; | |
| $31 = $1; | |
| $32 = $31; | |
| $33 = HEAP32[$32>>2]|0; | |
| $34 = (($31) + 4)|0; | |
| $35 = $34; | |
| $36 = HEAP32[$35>>2]|0; | |
| if ($30) { | |
| _sqlite3_result_int64($0,$33,$36); | |
| return; | |
| } else { | |
| $37 = (+($33>>>0)) + (4294967296.0*(+($36|0))); | |
| $38 = (+($24>>>0)) + (4294967296.0*(+($27|0))); | |
| $39 = $37 / $38; | |
| _sqlite3_result_double($0,$39); | |
| return; | |
| } | |
| } | |
| function _medianIterate($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.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0; | |
| var $30 = 0.0, $31 = 0.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.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $4 = ((($3)) + 60|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ($5|0)>(0); | |
| if ($6) { | |
| return; | |
| } | |
| $7 = ((($3)) + 24|0); | |
| $8 = +HEAPF64[$7>>3]; | |
| $9 = ((($3)) + 16|0); | |
| $10 = $9; | |
| $11 = $10; | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = (($10) + 4)|0; | |
| $14 = $13; | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = ((($3)) + 32|0); | |
| $17 = $16; | |
| $18 = $17; | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = (($17) + 4)|0; | |
| $21 = $20; | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = (_i64Add(($19|0),($22|0),($1|0),($2|0))|0); | |
| $24 = tempRet0; | |
| $25 = (+($23|0)); | |
| $26 = !($25 >= $8); | |
| do { | |
| if (!($26)) { | |
| $27 = (_i64Subtract(($12|0),($15|0),($19|0),($22|0))|0); | |
| $28 = tempRet0; | |
| $29 = (+($12>>>0)) + (4294967296.0*(+($15|0))); | |
| $30 = $29 - $8; | |
| $31 = (+($27|0)); | |
| $32 = !($31 >= $30); | |
| if ($32) { | |
| HEAP32[$4>>2] = 1; | |
| break; | |
| } | |
| $33 = ((($3)) + 40|0); | |
| $34 = $33; | |
| $35 = $34; | |
| $36 = HEAP32[$35>>2]|0; | |
| $37 = (($34) + 4)|0; | |
| $38 = $37; | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = (_i64Add(($36|0),($39|0),1,0)|0); | |
| $41 = tempRet0; | |
| $42 = $33; | |
| $43 = $42; | |
| HEAP32[$43>>2] = $40; | |
| $44 = (($42) + 4)|0; | |
| $45 = $44; | |
| HEAP32[$45>>2] = $41; | |
| $46 = ((($3)) + 48|0); | |
| $47 = $46; | |
| $48 = $47; | |
| $49 = HEAP32[$48>>2]|0; | |
| $50 = (($47) + 4)|0; | |
| $51 = $50; | |
| $52 = HEAP32[$51>>2]|0; | |
| $53 = ($49|0)==(0); | |
| $54 = ($52|0)==(0); | |
| $55 = $53 & $54; | |
| if ($55) { | |
| $56 = HEAP32[$0>>2]|0; | |
| $57 = ($56|0)<(0); | |
| $58 = $57 << 31 >> 31; | |
| $59 = $3; | |
| $60 = $59; | |
| $61 = HEAP32[$60>>2]|0; | |
| $62 = (($59) + 4)|0; | |
| $63 = $62; | |
| $64 = HEAP32[$63>>2]|0; | |
| $65 = (_i64Add(($61|0),($64|0),($56|0),($58|0))|0); | |
| $66 = tempRet0; | |
| $67 = $3; | |
| $68 = $67; | |
| HEAP32[$68>>2] = $65; | |
| $69 = (($67) + 4)|0; | |
| $70 = $69; | |
| HEAP32[$70>>2] = $66; | |
| break; | |
| } else { | |
| $71 = +HEAPF64[$0>>3]; | |
| $72 = ((($3)) + 8|0); | |
| $73 = +HEAPF64[$72>>3]; | |
| $74 = $71 + $73; | |
| HEAPF64[$72>>3] = $74; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $75 = $16; | |
| $76 = $75; | |
| HEAP32[$76>>2] = $23; | |
| $77 = (($75) + 4)|0; | |
| $78 = $77; | |
| HEAP32[$78>>2] = $24; | |
| return; | |
| } | |
| function _sqlite3_log($0,$1,$varargs) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $varargs = $varargs|0; | |
| var $$0$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, $3 = 0, $4 = 0, $5 = 0; | |
| var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 256|0; | |
| $2 = sp + 16|0; | |
| $3 = sp + 40|0; | |
| $4 = sp; | |
| $5 = HEAP32[(260)>>2]|0; | |
| $6 = ($5|0)==(0|0); | |
| if ($6) { | |
| STACKTOP = sp;return; | |
| } | |
| HEAP32[$4>>2] = $varargs; | |
| $7 = ((($2)) + 4|0); | |
| HEAP32[$7>>2] = $3; | |
| HEAP32[$2>>2] = 0; | |
| $8 = ((($2)) + 8|0); | |
| HEAP32[$8>>2] = 210; | |
| $9 = ((($2)) + 12|0); | |
| $10 = ((($2)) + 21|0); | |
| ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;HEAP16[$9+8>>1]=0|0; | |
| _sqlite3VXPrintf($2,$1,$4); | |
| $11 = HEAP32[(260)>>2]|0; | |
| $12 = HEAP32[(264)>>2]|0; | |
| $13 = HEAP32[$7>>2]|0; | |
| $14 = ($13|0)==(0|0); | |
| if ($14) { | |
| label = 6; | |
| } else { | |
| $15 = ((($2)) + 16|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = (($13) + ($16)|0); | |
| HEAP8[$17>>0] = 0; | |
| $18 = HEAP32[$9>>2]|0; | |
| $19 = ($18|0)==(0); | |
| if ($19) { | |
| label = 6; | |
| } else { | |
| $20 = HEAP8[$10>>0]|0; | |
| $21 = $20 & 4; | |
| $22 = ($21<<24>>24)==(0); | |
| if ($22) { | |
| $23 = (_strAccumFinishRealloc($2)|0); | |
| $$0$i$i = $23; | |
| } else { | |
| label = 6; | |
| } | |
| } | |
| } | |
| if ((label|0) == 6) { | |
| $24 = HEAP32[$7>>2]|0; | |
| $$0$i$i = $24; | |
| } | |
| FUNCTION_TABLE_viii[$11 & 255]($12,$0,$$0$i$i); | |
| STACKTOP = sp;return; | |
| } | |
| function _sqlite3VXPrintf($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$ = 0, $$$$1508629 = 0, $$$$1508629$ = 0, $$$$1508629$$$$$1508629 = 0, $$$0507 = 0, $$$0527 = 0, $$$0548 = 0, $$$0729 = 0.0, $$$1508 = 0, $$$1508629 = 0, $$$1508629760 = 0, $$$1508629761 = 0, $$$1536751 = 0, $$$1542750 = 0, $$$1547745 = 0, $$$6616 = 0, $$0 = 0, $$0$$0$$0$$i = 0.0, $$0$$0$$0$2$i = 0.0, $$0$$0$$0$3$i = 0.0; | |
| var $$0$i$i691 = 0, $$0$i635 = 0, $$0$i636 = 0, $$0$i681 = 0, $$0$i682838 = 0, $$0$i683840 = 0, $$0$i693907 = 0, $$0$i697905 = 0, $$0489 = 0, $$0497 = 0, $$0507 = 0, $$0523818$lcssa = 0, $$0527 = 0, $$0535 = 0, $$0539 = 0, $$0541 = 0, $$0543 = 0, $$0546 = 0, $$0548$lcssa = 0, $$0548821 = 0; | |
| var $$0550820 = 0, $$0555$lcssa = 0, $$0555819 = 0, $$0557 = 0, $$0559 = 0, $$0565880 = 0, $$0567 = 0.0, $$0570 = 0, $$0576900 = 0, $$0577896 = 0, $$0579895 = 0, $$0581$ph = 0, $$0585 = 0, $$0597 = 0, $$0610 = 0, $$0624$lcssa = 0, $$0624811 = 0, $$0625$lcssa = 0.0, $$0625842 = 0.0, $$0626$lcssa = 0; | |
| var $$0626805 = 0, $$0628$ph = 0, $$0724861 = 0, $$0729 = 0.0, $$1 = 0, $$10 = 0, $$10739 = 0.0, $$11 = 0, $$12863 = 0, $$13 = 0, $$1490 = 0, $$1498 = 0, $$15$lcssa = 0, $$15$ph = 0, $$1508 = 0, $$1508$$$1508 = 0, $$1516$lcssa = 0, $$1524897 = 0, $$1536$ph = 0, $$1536751 = 0; | |
| var $$1540 = 0, $$1542$ph = 0, $$1542750 = 0, $$1544$ph = 0, $$1544747 = 0, $$1547$ph = 0, $$1547745 = 0, $$1552$lcssa = 0, $$1552$ph = 0, $$1552829 = 0, $$1556828 = 0, $$1558$ph = 0, $$1558744 = 0, $$1560 = 0, $$1568 = 0.0, $$1571$ph = 0, $$1571740 = 0, $$1578 = 0, $$1580 = 0, $$1583 = 0; | |
| var $$16$lcssa = 0, $$1603 = 0, $$1611 = 0, $$1620862 = 0, $$16877 = 0, $$17 = 0, $$1725 = 0, $$18 = 0, $$19 = 0, $$2 = 0, $$20 = 0, $$21 = 0, $$21$$0602 = 0, $$22 = 0, $$23 = 0, $$2491$lcssa = 0, $$2491$off = 0, $$2491$off804 = 0, $$2491806 = 0, $$2499 = 0; | |
| var $$25 = 0, $$2525 = 0, $$2529 = 0, $$2553 = 0, $$2561 = 0, $$2569 = 0.0, $$2572 = 0, $$2575 = 0, $$2584 = 0, $$2600 = 0, $$2604 = 0, $$2612 = 0, $$2621 = 0, $$2726 = 0, $$2731$lcssa = 0.0, $$2731848 = 0.0, $$3 = 0, $$3492 = 0, $$3500 = 0, $$3518833 = 0; | |
| var $$3526843 = 0, $$3530 = 0, $$3538 = 0, $$3554 = 0, $$3605 = 0, $$3613$lcssa = 0, $$3613849 = 0, $$3727875 = 0, $$3732$lcssa = 0.0, $$3732854 = 0.0, $$4 = 0, $$4493$off = 0, $$4493$off810 = 0, $$4501$lcssa = 0, $$4531 = 0, $$4606 = 0, $$4614$lcssa = 0, $$4614855 = 0, $$4728 = 0, $$4733 = 0.0; | |
| var $$5$lcssa = 0, $$5494 = 0, $$5502 = 0, $$5615 = 0, $$5734 = 0.0, $$5807 = 0, $$6 = 0, $$634 = 0, $$634$ = 0, $$6495 = 0, $$6503 = 0, $$6513$lcssa = 0, $$6608 = 0, $$6616 = 0, $$6735860 = 0.0, $$7$lcssa = 0, $$7496 = 0, $$7504901 = 0, $$7514876 = 0, $$7522 = 0; | |
| var $$7534 = 0, $$7617 = 0, $$7736 = 0.0, $$7812 = 0, $$8 = 0, $$8505 = 0, $$8618 = 0, $$8737 = 0.0, $$9 = 0, $$9738874 = 0.0, $$idx$i$i$i = 0, $$idx$i$i$i653 = 0, $$idx$i$i$i656 = 0, $$idx$i$i$i664 = 0, $$idx$i$i$i672 = 0, $$idx$val$i$i$i = 0, $$idx$val$i$i$i654 = 0, $$idx$val$i$i$i657 = 0, $$idx$val$i$i$i665 = 0, $$idx$val$i$i$i673 = 0; | |
| var $$idx5$i$i$i = 0, $$idx5$val$i$i$i = 0, $$idx6$i$i$i = 0, $$idx6$val$i$i$i = 0, $$idx8$i$i$i = 0, $$idx8$i$i$i658 = 0, $$idx8$i$i$i666 = 0, $$idx8$i$i$i674 = 0, $$idx8$val$i$i$i = 0, $$idx8$val$i$i$i659 = 0, $$idx8$val$i$i$i667 = 0, $$idx8$val$i$i$i675 = 0, $$idx9$i$i$i = 0, $$idx9$i$i$i660 = 0, $$idx9$i$i$i668 = 0, $$idx9$i$i$i676 = 0, $$idx9$val$i$i$i = 0, $$idx9$val$i$i$i661 = 0, $$idx9$val$i$i$i669 = 0, $$idx9$val$i$i$i677 = 0; | |
| var $$lcssa798 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink$i$i = 0, $$sink$i$i640 = 0, $$sink$i$i648 = 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, $101 = 0, $1010 = 0; | |
| var $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, $1028 = 0, $1029 = 0; | |
| var $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, $1046 = 0, $1047 = 0; | |
| var $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, $1064 = 0, $1065 = 0; | |
| var $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, $1082 = 0, $1083 = 0; | |
| var $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 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.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.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, $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.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.0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0.0, $474 = 0, $475 = 0, $476 = 0.0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0; | |
| var $482 = 0, $483 = 0.0, $484 = 0, $485 = 0, $486 = 0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0.0, $497 = 0, $498 = 0, $499 = 0.0, $5 = 0; | |
| var $50 = 0, $500 = 0, $501 = 0, $502 = 0.0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0.0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0.0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0.0; | |
| var $518 = 0, $519 = 0, $52 = 0, $520 = 0.0, $521 = 0, $522 = 0, $523 = 0.0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0.0, $532 = 0, $533 = 0, $534 = 0.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.0, $624 = 0, $625 = 0.0; | |
| var $626 = 0.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.0, $646 = 0, $647 = 0.0, $648 = 0.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.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, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0, $arglist_current2 = 0, $arglist_current20 = 0; | |
| var $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current29 = 0, $arglist_current32 = 0, $arglist_current35 = 0, $arglist_current38 = 0, $arglist_current41 = 0, $arglist_current44 = 0, $arglist_current47 = 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_next30 = 0; | |
| var $arglist_next33 = 0, $arglist_next36 = 0, $arglist_next39 = 0, $arglist_next42 = 0, $arglist_next45 = 0, $arglist_next48 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $exitcond = 0, $expanded = 0, $expanded100 = 0, $expanded101 = 0, $expanded102 = 0, $expanded104 = 0, $expanded105 = 0, $expanded107 = 0, $expanded108 = 0, $expanded109 = 0, $expanded111 = 0, $expanded112 = 0; | |
| var $expanded114 = 0, $expanded115 = 0, $expanded116 = 0, $expanded118 = 0, $expanded119 = 0, $expanded121 = 0, $expanded122 = 0, $expanded123 = 0, $expanded125 = 0, $expanded126 = 0, $expanded128 = 0, $expanded129 = 0, $expanded130 = 0, $expanded132 = 0, $expanded133 = 0, $expanded135 = 0, $expanded136 = 0, $expanded137 = 0, $expanded139 = 0, $expanded140 = 0; | |
| var $expanded142 = 0, $expanded143 = 0, $expanded144 = 0, $expanded146 = 0, $expanded147 = 0, $expanded149 = 0, $expanded150 = 0, $expanded151 = 0, $expanded153 = 0, $expanded154 = 0, $expanded156 = 0, $expanded157 = 0, $expanded158 = 0, $expanded160 = 0, $expanded161 = 0, $expanded163 = 0, $expanded164 = 0, $expanded165 = 0, $expanded49 = 0, $expanded51 = 0; | |
| var $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0, $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; | |
| var $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0, $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, $expanded97 = 0, $expanded98 = 0, $not$ = 0, $not$769 = 0, $not$770 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0; | |
| var $or$cond630 = 0, $or$cond631 = 0, $or$cond632 = 0, $or$cond7$not = 0, $or$cond9 = 0, $scevgep = 0, $scevgep937 = 0, $scevgep945 = 0, $scevgep948 = 0, $storemerge = 0.0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 96|0; | |
| $3 = sp + 8|0; | |
| $4 = sp; | |
| $5 = sp + 16|0; | |
| $6 = ((($0)) + 21|0); | |
| $7 = HEAP8[$6>>0]|0; | |
| $8 = $7 & 2; | |
| $9 = ($8<<24>>24)==(0); | |
| if ($9) { | |
| $$0581$ph = 0;$$0628$ph = 0; | |
| } else { | |
| $arglist_current = HEAP32[$2>>2]|0; | |
| $10 = $arglist_current; | |
| $11 = ((0) + 4|0); | |
| $expanded49 = $11; | |
| $expanded = (($expanded49) - 1)|0; | |
| $12 = (($10) + ($expanded))|0; | |
| $13 = ((0) + 4|0); | |
| $expanded53 = $13; | |
| $expanded52 = (($expanded53) - 1)|0; | |
| $expanded51 = $expanded52 ^ -1; | |
| $14 = $12 & $expanded51; | |
| $15 = $14; | |
| $16 = HEAP32[$15>>2]|0; | |
| $arglist_next = ((($15)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next; | |
| $$0581$ph = 1;$$0628$ph = $16; | |
| } | |
| $17 = ($$0581$ph<<24>>24)==(0); | |
| $18 = ((($$0628$ph)) + 4|0); | |
| $19 = ((($$0628$ph)) + 8|0); | |
| $20 = ($$0581$ph<<24>>24)!=(0); | |
| $21 = ((($0)) + 16|0); | |
| $22 = ((($0)) + 8|0); | |
| $23 = ((($0)) + 4|0); | |
| $$0 = $1;$$0497 = 0; | |
| L4: while(1) { | |
| $24 = HEAP8[$$0>>0]|0; | |
| switch ($24<<24>>24) { | |
| case 0: { | |
| label = 345; | |
| break L4; | |
| break; | |
| } | |
| case 37: { | |
| $$1498 = $$0497;$$2 = $$0; | |
| break; | |
| } | |
| default: { | |
| $$1 = $$0; | |
| L7: while(1) { | |
| $25 = ((($$1)) + 1|0); | |
| $26 = HEAP8[$25>>0]|0; | |
| switch ($26<<24>>24) { | |
| case 37: case 0: { | |
| break L7; | |
| break; | |
| } | |
| default: { | |
| $$1 = $25; | |
| } | |
| } | |
| } | |
| $27 = $25; | |
| $28 = $$0; | |
| $29 = (($27) - ($28))|0; | |
| $30 = HEAP32[$21>>2]|0; | |
| $31 = (($30) + ($29))|0; | |
| $32 = HEAP32[$22>>2]|0; | |
| $33 = ($31>>>0)<($32>>>0); | |
| if ($33) { | |
| $34 = ($29|0)==(0); | |
| if (!($34)) { | |
| HEAP32[$21>>2] = $31; | |
| $35 = HEAP32[$23>>2]|0; | |
| $36 = (($35) + ($30)|0); | |
| _memcpy(($36|0),($$0|0),($29|0))|0; | |
| } | |
| } else { | |
| _enlargeAndAppend($0,$$0,$29); | |
| } | |
| $37 = HEAP8[$25>>0]|0; | |
| $38 = ($37<<24>>24)==(0); | |
| if ($38) { | |
| label = 345; | |
| break L4; | |
| } else { | |
| $$1498 = $$0;$$2 = $25; | |
| } | |
| } | |
| } | |
| $39 = ((($$2)) + 1|0); | |
| $40 = HEAP8[$39>>0]|0; | |
| $41 = ($40<<24>>24)==(0); | |
| if ($41) { | |
| label = 12; | |
| break; | |
| } | |
| $48 = $40 << 24 >> 24; | |
| $$0489 = $48;$$0535 = 0;$$0541 = 0;$$0543 = 0;$$0546 = 0;$$0557 = 0;$$0570 = 0;$$3 = $39; | |
| L17: while(1) { | |
| switch ($$0489|0) { | |
| case 45: { | |
| $$1536$ph = 1;$$1542$ph = $$0541;$$1544$ph = $$0543;$$1547$ph = $$0546;$$1558$ph = $$0557;$$1571$ph = $$0570; | |
| break; | |
| } | |
| case 43: { | |
| $$1536$ph = $$0535;$$1542$ph = 43;$$1544$ph = $$0543;$$1547$ph = $$0546;$$1558$ph = $$0557;$$1571$ph = $$0570; | |
| break; | |
| } | |
| case 32: { | |
| $$1536$ph = $$0535;$$1542$ph = 32;$$1544$ph = $$0543;$$1547$ph = $$0546;$$1558$ph = $$0557;$$1571$ph = $$0570; | |
| break; | |
| } | |
| case 35: { | |
| $$1536$ph = $$0535;$$1542$ph = $$0541;$$1544$ph = 1;$$1547$ph = $$0546;$$1558$ph = $$0557;$$1571$ph = $$0570; | |
| break; | |
| } | |
| case 33: { | |
| $$1536$ph = $$0535;$$1542$ph = $$0541;$$1544$ph = $$0543;$$1547$ph = 1;$$1558$ph = $$0557;$$1571$ph = $$0570; | |
| break; | |
| } | |
| case 48: { | |
| $$1536$ph = $$0535;$$1542$ph = $$0541;$$1544$ph = $$0543;$$1547$ph = $$0546;$$1558$ph = 1;$$1571$ph = $$0570; | |
| break; | |
| } | |
| case 44: { | |
| $$1536$ph = $$0535;$$1542$ph = $$0541;$$1544$ph = $$0543;$$1547$ph = $$0546;$$1558$ph = $$0557;$$1571$ph = 44; | |
| break; | |
| } | |
| default: { | |
| $$1490 = $$0489;$$1536751 = $$0535;$$1542750 = $$0541;$$1544747 = $$0543;$$1547745 = $$0546;$$1558744 = $$0557;$$1571740 = $$0570;$$4 = $$3; | |
| break L17; | |
| } | |
| } | |
| $49 = ((($$3)) + 1|0); | |
| $50 = HEAP8[$49>>0]|0; | |
| $51 = $50 << 24 >> 24; | |
| $52 = ($50<<24>>24)==(0); | |
| if ($52) { | |
| $$1490 = $51;$$1536751 = $$1536$ph;$$1542750 = $$1542$ph;$$1544747 = $$1544$ph;$$1547745 = $$1547$ph;$$1558744 = $$1558$ph;$$1571740 = $$1571$ph;$$4 = $49; | |
| break; | |
| } else { | |
| $$0489 = $51;$$0535 = $$1536$ph;$$0541 = $$1542$ph;$$0543 = $$1544$ph;$$0546 = $$1547$ph;$$0557 = $$1558$ph;$$0570 = $$1571$ph;$$3 = $49; | |
| } | |
| } | |
| $53 = ($$1490|0)==(42); | |
| if ($53) { | |
| do { | |
| if ($17) { | |
| $arglist_current2 = HEAP32[$2>>2]|0; | |
| $82 = $arglist_current2; | |
| $83 = ((0) + 4|0); | |
| $expanded56 = $83; | |
| $expanded55 = (($expanded56) - 1)|0; | |
| $84 = (($82) + ($expanded55))|0; | |
| $85 = ((0) + 4|0); | |
| $expanded60 = $85; | |
| $expanded59 = (($expanded60) - 1)|0; | |
| $expanded58 = $expanded59 ^ -1; | |
| $86 = $84 & $expanded58; | |
| $87 = $86; | |
| $88 = HEAP32[$87>>2]|0; | |
| $arglist_next3 = ((($87)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next3; | |
| $$0527 = $88; | |
| } else { | |
| $55 = HEAP32[$$0628$ph>>2]|0; | |
| $56 = HEAP32[$18>>2]|0; | |
| $57 = ($55|0)>($56|0); | |
| if ($57) { | |
| $58 = HEAP32[$19>>2]|0; | |
| $59 = (($56) + 1)|0; | |
| HEAP32[$18>>2] = $59; | |
| $60 = (($58) + ($56<<2)|0); | |
| $61 = HEAP32[$60>>2]|0; | |
| $62 = ((($61)) + 8|0); | |
| $63 = HEAP16[$62>>1]|0; | |
| $64 = $63&65535; | |
| $65 = $64 & 4; | |
| $66 = ($65|0)==(0); | |
| if (!($66)) { | |
| $67 = $61; | |
| $68 = $67; | |
| $69 = HEAP32[$68>>2]|0; | |
| $70 = (($67) + 4)|0; | |
| $71 = $70; | |
| $72 = HEAP32[$71>>2]|0; | |
| $$0527 = $69; | |
| break; | |
| } | |
| $73 = $64 & 8; | |
| $74 = ($73|0)==(0); | |
| if (!($74)) { | |
| $75 = +HEAPF64[$61>>3]; | |
| $76 = (_doubleToInt64($75)|0); | |
| $77 = tempRet0; | |
| $$0527 = $76; | |
| break; | |
| } | |
| $78 = $64 & 18; | |
| $79 = ($78|0)==(0); | |
| if ($79) { | |
| $$0527 = 0; | |
| } else { | |
| $$idx$i$i$i672 = ((($61)) + 10|0); | |
| $$idx$val$i$i$i673 = HEAP8[$$idx$i$i$i672>>0]|0; | |
| $$idx8$i$i$i674 = ((($61)) + 12|0); | |
| $$idx8$val$i$i$i675 = HEAP32[$$idx8$i$i$i674>>2]|0; | |
| $$idx9$i$i$i676 = ((($61)) + 16|0); | |
| $$idx9$val$i$i$i677 = HEAP32[$$idx9$i$i$i676>>2]|0; | |
| $80 = (_memIntValue($$idx$val$i$i$i673,$$idx8$val$i$i$i675,$$idx9$val$i$i$i677)|0); | |
| $81 = tempRet0; | |
| $$0527 = $80; | |
| } | |
| } else { | |
| $$0527 = 0; | |
| } | |
| } | |
| } while(0); | |
| $89 = ($$0527|0)<(0); | |
| $90 = ($$0527|0)!=(-2147483648); | |
| $91 = (0 - ($$0527))|0; | |
| $92 = $90 ? $91 : 0; | |
| $$$1536751 = $89 ? 1 : $$1536751; | |
| $$$0527 = $89 ? $92 : $$0527; | |
| $93 = ((($$4)) + 1|0); | |
| $94 = HEAP8[$93>>0]|0; | |
| $95 = $94 << 24 >> 24; | |
| $$2529 = $$$0527;$$3492 = $95;$$3538 = $$$1536751;$$6 = $93; | |
| } else { | |
| $$2491$off804 = (($$1490) + -48)|0; | |
| $54 = ($$2491$off804>>>0)<(10); | |
| if ($54) { | |
| $$0626805 = 0;$$2491806 = $$1490;$$5807 = $$4; | |
| while(1) { | |
| $96 = ($$0626805*10)|0; | |
| $97 = (($$2491806) + -48)|0; | |
| $98 = (($97) + ($96))|0; | |
| $99 = ((($$5807)) + 1|0); | |
| $100 = HEAP8[$99>>0]|0; | |
| $101 = $100 << 24 >> 24; | |
| $$2491$off = (($101) + -48)|0; | |
| $102 = ($$2491$off>>>0)<(10); | |
| if ($102) { | |
| $$0626805 = $98;$$2491806 = $101;$$5807 = $99; | |
| } else { | |
| $$0626$lcssa = $98;$$2491$lcssa = $101;$$5$lcssa = $99; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$0626$lcssa = 0;$$2491$lcssa = $$1490;$$5$lcssa = $$4; | |
| } | |
| $103 = $$0626$lcssa & 2147483647; | |
| $$2529 = $103;$$3492 = $$2491$lcssa;$$3538 = $$1536751;$$6 = $$5$lcssa; | |
| } | |
| $104 = ($$3492|0)==(46); | |
| do { | |
| if ($104) { | |
| $105 = ((($$6)) + 1|0); | |
| $106 = HEAP8[$105>>0]|0; | |
| $107 = ($106<<24>>24)==(42); | |
| if (!($107)) { | |
| $108 = $106 << 24 >> 24; | |
| $$4493$off810 = (($108) + -48)|0; | |
| $109 = ($$4493$off810>>>0)<(10); | |
| if ($109) { | |
| $$0624811 = 0;$$7812 = $105;$153 = $108; | |
| while(1) { | |
| $151 = ($$0624811*10)|0; | |
| $152 = (($153) + -48)|0; | |
| $154 = (($152) + ($151))|0; | |
| $155 = ((($$7812)) + 1|0); | |
| $156 = HEAP8[$155>>0]|0; | |
| $157 = $156 << 24 >> 24; | |
| $$4493$off = (($157) + -48)|0; | |
| $158 = ($$4493$off>>>0)<(10); | |
| if ($158) { | |
| $$0624811 = $154;$$7812 = $155;$153 = $157; | |
| } else { | |
| $$0624$lcssa = $154;$$7$lcssa = $155;$$lcssa798 = $157; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$0624$lcssa = 0;$$7$lcssa = $105;$$lcssa798 = $108; | |
| } | |
| $159 = $$0624$lcssa & 2147483647; | |
| $$1508 = $159;$$5494 = $$lcssa798;$$8 = $$7$lcssa; | |
| break; | |
| } | |
| do { | |
| if ($17) { | |
| $arglist_current5 = HEAP32[$2>>2]|0; | |
| $137 = $arglist_current5; | |
| $138 = ((0) + 4|0); | |
| $expanded63 = $138; | |
| $expanded62 = (($expanded63) - 1)|0; | |
| $139 = (($137) + ($expanded62))|0; | |
| $140 = ((0) + 4|0); | |
| $expanded67 = $140; | |
| $expanded66 = (($expanded67) - 1)|0; | |
| $expanded65 = $expanded66 ^ -1; | |
| $141 = $139 & $expanded65; | |
| $142 = $141; | |
| $143 = HEAP32[$142>>2]|0; | |
| $arglist_next6 = ((($142)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next6; | |
| $$0507 = $143; | |
| } else { | |
| $110 = HEAP32[$$0628$ph>>2]|0; | |
| $111 = HEAP32[$18>>2]|0; | |
| $112 = ($110|0)>($111|0); | |
| if ($112) { | |
| $113 = HEAP32[$19>>2]|0; | |
| $114 = (($111) + 1)|0; | |
| HEAP32[$18>>2] = $114; | |
| $115 = (($113) + ($111<<2)|0); | |
| $116 = HEAP32[$115>>2]|0; | |
| $117 = ((($116)) + 8|0); | |
| $118 = HEAP16[$117>>1]|0; | |
| $119 = $118&65535; | |
| $120 = $119 & 4; | |
| $121 = ($120|0)==(0); | |
| if (!($121)) { | |
| $122 = $116; | |
| $123 = $122; | |
| $124 = HEAP32[$123>>2]|0; | |
| $125 = (($122) + 4)|0; | |
| $126 = $125; | |
| $127 = HEAP32[$126>>2]|0; | |
| $$0507 = $124; | |
| break; | |
| } | |
| $128 = $119 & 8; | |
| $129 = ($128|0)==(0); | |
| if (!($129)) { | |
| $130 = +HEAPF64[$116>>3]; | |
| $131 = (_doubleToInt64($130)|0); | |
| $132 = tempRet0; | |
| $$0507 = $131; | |
| break; | |
| } | |
| $133 = $119 & 18; | |
| $134 = ($133|0)==(0); | |
| if ($134) { | |
| $$0507 = 0; | |
| } else { | |
| $$idx$i$i$i664 = ((($116)) + 10|0); | |
| $$idx$val$i$i$i665 = HEAP8[$$idx$i$i$i664>>0]|0; | |
| $$idx8$i$i$i666 = ((($116)) + 12|0); | |
| $$idx8$val$i$i$i667 = HEAP32[$$idx8$i$i$i666>>2]|0; | |
| $$idx9$i$i$i668 = ((($116)) + 16|0); | |
| $$idx9$val$i$i$i669 = HEAP32[$$idx9$i$i$i668>>2]|0; | |
| $135 = (_memIntValue($$idx$val$i$i$i665,$$idx8$val$i$i$i667,$$idx9$val$i$i$i669)|0); | |
| $136 = tempRet0; | |
| $$0507 = $135; | |
| } | |
| } else { | |
| $$0507 = 0; | |
| } | |
| } | |
| } while(0); | |
| $144 = ((($$6)) + 2|0); | |
| $145 = HEAP8[$144>>0]|0; | |
| $146 = $145 << 24 >> 24; | |
| $147 = ($$0507|0)<(0); | |
| $148 = ($$0507|0)!=(-2147483648); | |
| $149 = (0 - ($$0507))|0; | |
| $150 = $148 ? $149 : -1; | |
| $$$0507 = $147 ? $150 : $$0507; | |
| $$1508 = $$$0507;$$5494 = $146;$$8 = $144; | |
| } else { | |
| $$1508 = -1;$$5494 = $$3492;$$8 = $$6; | |
| } | |
| } while(0); | |
| $160 = ($$5494|0)==(108); | |
| if ($160) { | |
| $161 = ((($$8)) + 1|0); | |
| $162 = HEAP8[$161>>0]|0; | |
| $163 = $162 << 24 >> 24; | |
| $164 = ($162<<24>>24)==(108); | |
| if ($164) { | |
| $165 = ((($$8)) + 2|0); | |
| $166 = HEAP8[$165>>0]|0; | |
| $167 = $166 << 24 >> 24; | |
| $$0559 = 2;$$6495 = $167;$$9 = $165; | |
| } else { | |
| $$0559 = 1;$$6495 = $163;$$9 = $161; | |
| } | |
| } else { | |
| $$0559 = 0;$$6495 = $$5494;$$9 = $$8; | |
| } | |
| do { | |
| switch ($$6495|0) { | |
| case 100: { | |
| $$0523818$lcssa = 0; | |
| break; | |
| } | |
| case 115: { | |
| $$0523818$lcssa = 1; | |
| break; | |
| } | |
| case 103: { | |
| $$0523818$lcssa = 2; | |
| break; | |
| } | |
| case 122: { | |
| $$0523818$lcssa = 3; | |
| break; | |
| } | |
| case 113: { | |
| $$0523818$lcssa = 4; | |
| break; | |
| } | |
| case 81: { | |
| $$0523818$lcssa = 5; | |
| break; | |
| } | |
| case 119: { | |
| $$0523818$lcssa = 6; | |
| break; | |
| } | |
| case 99: { | |
| $$0523818$lcssa = 7; | |
| break; | |
| } | |
| case 111: { | |
| $$0523818$lcssa = 8; | |
| break; | |
| } | |
| case 117: { | |
| $$0523818$lcssa = 9; | |
| break; | |
| } | |
| case 120: { | |
| $$0523818$lcssa = 10; | |
| break; | |
| } | |
| case 88: { | |
| $$0523818$lcssa = 11; | |
| break; | |
| } | |
| case 102: { | |
| $$0523818$lcssa = 12; | |
| break; | |
| } | |
| case 101: { | |
| $$0523818$lcssa = 13; | |
| break; | |
| } | |
| case 69: { | |
| $$0523818$lcssa = 14; | |
| break; | |
| } | |
| case 71: { | |
| $$0523818$lcssa = 15; | |
| break; | |
| } | |
| case 105: { | |
| $$0523818$lcssa = 16; | |
| break; | |
| } | |
| case 110: { | |
| $$0523818$lcssa = 17; | |
| break; | |
| } | |
| case 37: { | |
| $$0523818$lcssa = 18; | |
| break; | |
| } | |
| case 112: { | |
| $$0523818$lcssa = 19; | |
| break; | |
| } | |
| case 84: { | |
| $$0523818$lcssa = 20; | |
| break; | |
| } | |
| case 83: { | |
| $$0523818$lcssa = 21; | |
| break; | |
| } | |
| case 114: { | |
| $$0523818$lcssa = 22; | |
| break; | |
| } | |
| default: { | |
| label = 345; | |
| break L4; | |
| } | |
| } | |
| } while(0); | |
| $168 = (((17119 + (($$0523818$lcssa*6)|0)|0)) + 3|0); | |
| $169 = HEAP8[$168>>0]|0; | |
| L98: do { | |
| switch ($169<<24>>24) { | |
| case 13: { | |
| $$1560 = 1; | |
| label = 81; | |
| break; | |
| } | |
| case 0: case 15: { | |
| $$1560 = $$0559; | |
| label = 81; | |
| break; | |
| } | |
| case 16: { | |
| $$2561 = $$0559;$$2572 = $$1571740; | |
| label = 82; | |
| break; | |
| } | |
| case 3: case 2: case 1: { | |
| do { | |
| if ($17) { | |
| $arglist_current26 = HEAP32[$2>>2]|0; | |
| $477 = $arglist_current26; | |
| $478 = ((0) + 8|0); | |
| $expanded112 = $478; | |
| $expanded111 = (($expanded112) - 1)|0; | |
| $479 = (($477) + ($expanded111))|0; | |
| $480 = ((0) + 8|0); | |
| $expanded116 = $480; | |
| $expanded115 = (($expanded116) - 1)|0; | |
| $expanded114 = $expanded115 ^ -1; | |
| $481 = $479 & $expanded114; | |
| $482 = $481; | |
| $483 = +HEAPF64[$482>>3]; | |
| $arglist_next27 = ((($482)) + 8|0); | |
| HEAP32[$2>>2] = $arglist_next27; | |
| $storemerge = $483; | |
| label = 154; | |
| } else { | |
| $452 = HEAP32[$$0628$ph>>2]|0; | |
| $453 = HEAP32[$18>>2]|0; | |
| $454 = ($452|0)>($453|0); | |
| if ($454) { | |
| $455 = HEAP32[$19>>2]|0; | |
| $456 = (($453) + 1)|0; | |
| HEAP32[$18>>2] = $456; | |
| $457 = (($455) + ($453<<2)|0); | |
| $458 = HEAP32[$457>>2]|0; | |
| $459 = ((($458)) + 8|0); | |
| $460 = HEAP16[$459>>1]|0; | |
| $461 = $460&65535; | |
| $462 = $461 & 8; | |
| $463 = ($462|0)==(0); | |
| if (!($463)) { | |
| $464 = +HEAPF64[$458>>3]; | |
| $storemerge = $464; | |
| label = 154; | |
| break; | |
| } | |
| $465 = $461 & 4; | |
| $466 = ($465|0)==(0); | |
| if (!($466)) { | |
| $467 = $458; | |
| $468 = $467; | |
| $469 = HEAP32[$468>>2]|0; | |
| $470 = (($467) + 4)|0; | |
| $471 = $470; | |
| $472 = HEAP32[$471>>2]|0; | |
| $473 = (+($469>>>0)) + (4294967296.0*(+($472|0))); | |
| $storemerge = $473; | |
| label = 154; | |
| break; | |
| } | |
| $474 = $461 & 18; | |
| $475 = ($474|0)==(0); | |
| if (!($475)) { | |
| $$idx$i$i$i = ((($458)) + 10|0); | |
| $$idx$val$i$i$i = HEAP8[$$idx$i$i$i>>0]|0; | |
| $$idx5$i$i$i = ((($458)) + 12|0); | |
| $$idx5$val$i$i$i = HEAP32[$$idx5$i$i$i>>2]|0; | |
| $$idx6$i$i$i = ((($458)) + 16|0); | |
| $$idx6$val$i$i$i = HEAP32[$$idx6$i$i$i>>2]|0; | |
| $476 = (+_memRealValue($$idx$val$i$i$i,$$idx5$val$i$i$i,$$idx6$val$i$i$i)); | |
| $storemerge = $476; | |
| label = 154; | |
| break; | |
| } | |
| } | |
| $484 = ($$1508|0)<(0); | |
| $$$1508629760 = $484 ? 6 : $$1508; | |
| $$$1508629761 = $$$1508629760;$$0729 = 0.0;$$2584 = $$1542750; | |
| } | |
| } while(0); | |
| if ((label|0) == 154) { | |
| label = 0; | |
| $485 = ($$1508|0)<(0); | |
| $$$1508629 = $485 ? 6 : $$1508; | |
| $486 = $storemerge < 0.0; | |
| if ($486) { | |
| $487 = -$storemerge; | |
| $$$1508629761 = $$$1508629;$$0729 = $487;$$2584 = 45; | |
| } else { | |
| $$$1508629761 = $$$1508629;$$0729 = $storemerge;$$2584 = $$1542750; | |
| } | |
| } | |
| $488 = ($$0523818$lcssa|0)==(2); | |
| $489 = ($$0523818$lcssa|0)==(15); | |
| $490 = $488 | $489; | |
| $491 = ($$$1508629761|0)>(0); | |
| $or$cond = $490 & $491; | |
| $492 = $or$cond << 31 >> 31; | |
| $$$$1508629 = (($492) + ($$$1508629761))|0; | |
| $493 = $$$$1508629 & 4095; | |
| $494 = ($493|0)==(0); | |
| if ($494) { | |
| $$0625$lcssa = 0.5; | |
| } else { | |
| $$0625842 = 0.5;$$3526843 = $493; | |
| while(1) { | |
| $495 = (($$3526843) + -1)|0; | |
| $496 = $$0625842 * 0.10000000000000001; | |
| $497 = ($$3526843|0)>(1); | |
| if ($497) { | |
| $$0625842 = $496;$$3526843 = $495; | |
| } else { | |
| $$0625$lcssa = $496; | |
| break; | |
| } | |
| } | |
| } | |
| $498 = ($$0523818$lcssa|0)==(12); | |
| $499 = $$0729 + $$0625$lcssa; | |
| $$$0729 = $498 ? $499 : $$0729; | |
| HEAPF64[$3>>3] = $$$0729; | |
| $$0$$0$$0$2$i = +HEAPF64[$3>>3]; | |
| HEAPF64[$4>>3] = $$0$$0$$0$2$i; | |
| $$0$$0$$0$3$i = +HEAPF64[$3>>3]; | |
| $$0$$0$$0$$i = +HEAPF64[$4>>3]; | |
| $500 = $$0$$0$$0$3$i != $$0$$0$$0$$i; | |
| if ($500) { | |
| $$25 = 17320;$$6608 = 0;$$7522 = 3;$$7534 = $$2529; | |
| } else { | |
| $501 = $$$0729 > 0.0; | |
| if ($501) { | |
| $$0567 = 1.0;$$0610 = 0; | |
| while(1) { | |
| $502 = $$0567 * 1.0E+100; | |
| $503 = $$$0729 >= $502; | |
| $504 = ($$0610|0)<(351); | |
| $505 = $504 & $503; | |
| $506 = (($$0610) + 100)|0; | |
| if ($505) { | |
| $$0567 = $502;$$0610 = $506; | |
| } else { | |
| $$1568 = $$0567;$$1611 = $$0610; | |
| break; | |
| } | |
| } | |
| while(1) { | |
| $507 = $$1568 * 1.0E+10; | |
| $508 = $$$0729 >= $507; | |
| $509 = ($$1611|0)<(351); | |
| $510 = $509 & $508; | |
| $511 = (($$1611) + 10)|0; | |
| if ($510) { | |
| $$1568 = $507;$$1611 = $511; | |
| } else { | |
| $$2569 = $$1568;$$2612 = $$1611; | |
| break; | |
| } | |
| } | |
| while(1) { | |
| $512 = $$2569 * 10.0; | |
| $513 = $$$0729 >= $512; | |
| $514 = ($$2612|0)<(351); | |
| $515 = $514 & $513; | |
| $516 = (($$2612) + 1)|0; | |
| if ($515) { | |
| $$2569 = $512;$$2612 = $516; | |
| } else { | |
| break; | |
| } | |
| } | |
| $517 = $$$0729 / $$2569; | |
| $518 = $517 < 1.0E-8; | |
| if ($518) { | |
| $$2731848 = $517;$$3613849 = $$2612; | |
| while(1) { | |
| $520 = $$2731848 * 1.0E+8; | |
| $521 = (($$3613849) + -8)|0; | |
| $522 = $520 < 1.0E-8; | |
| if ($522) { | |
| $$2731848 = $520;$$3613849 = $521; | |
| } else { | |
| $$2731$lcssa = $520;$$3613$lcssa = $521; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$2731$lcssa = $517;$$3613$lcssa = $$2612; | |
| } | |
| $519 = $$2731$lcssa < 1.0; | |
| if ($519) { | |
| $$3732854 = $$2731$lcssa;$$4614855 = $$3613$lcssa; | |
| while(1) { | |
| $523 = $$3732854 * 10.0; | |
| $524 = (($$4614855) + -1)|0; | |
| $525 = $523 < 1.0; | |
| if ($525) { | |
| $$3732854 = $523;$$4614855 = $524; | |
| } else { | |
| $$3732$lcssa = $523;$$4614$lcssa = $524; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$3732$lcssa = $$2731$lcssa;$$4614$lcssa = $$3613$lcssa; | |
| } | |
| $526 = ($$4614$lcssa|0)>(350); | |
| $527 = ($$2584<<24>>24)!=(0); | |
| if ($526) { | |
| $528 = $527 ? 4 : 3; | |
| $529 = $527&1; | |
| $530 = (($5) + ($529)|0); | |
| HEAP8[$5>>0] = $$2584; | |
| HEAP8[$530>>0]=6712905&255;HEAP8[$530+1>>0]=(6712905>>8)&255;HEAP8[$530+2>>0]=(6712905>>16)&255;HEAP8[$530+3>>0]=6712905>>24; | |
| $$25 = $5;$$6608 = 0;$$7522 = $528;$$7534 = $$2529; | |
| break L98; | |
| } else { | |
| $$4733 = $$3732$lcssa;$$5615 = $$4614$lcssa; | |
| } | |
| } else { | |
| $$4733 = $$$0729;$$5615 = 0; | |
| } | |
| if ($498) { | |
| $$5734 = $$4733;$$6616 = $$5615; | |
| } else { | |
| $531 = $$0625$lcssa + $$4733; | |
| $532 = !($531 >= 10.0); | |
| if ($532) { | |
| $$5734 = $531;$$6616 = $$5615; | |
| } else { | |
| $533 = (($$5615) + 1)|0; | |
| $534 = $531 * 0.10000000000000001; | |
| $$5734 = $534;$$6616 = $533; | |
| } | |
| } | |
| $535 = ($$1544747<<24>>24)==(0); | |
| $536 = $535&1; | |
| $537 = ($$6616|0)<(-4); | |
| $538 = ($$$$1508629|0)<($$6616|0); | |
| $or$cond630 = $537 | $538; | |
| $$634 = $or$cond630 ? 2 : 1; | |
| $539 = $or$cond630 ? 0 : $$6616; | |
| $$$1547745 = $490 ? $536 : $$1547745; | |
| $$634$ = $490 ? $$634 : $169; | |
| $$$$1508629$ = $490 ? $539 : 0; | |
| $$$$1508629$$$$$1508629 = (($$$$1508629) - ($$$$1508629$))|0; | |
| $540 = ($$634$<<24>>24)==(2); | |
| $$$6616 = $540 ? 0 : $$6616; | |
| $541 = ($$$6616|0)>(0); | |
| $542 = $541 ? $$$6616 : 0; | |
| $543 = ($$$$1508629$$$$$1508629|0)<(0); | |
| $544 = $543 << 31 >> 31; | |
| $545 = ($$2529|0)<(0); | |
| $546 = $545 << 31 >> 31; | |
| $547 = (_i64Add(($$$$1508629$$$$$1508629|0),($544|0),($$2529|0),($546|0))|0); | |
| $548 = tempRet0; | |
| $549 = (_i64Add(($547|0),($548|0),($542|0),0)|0); | |
| $550 = tempRet0; | |
| $551 = ($550|0)>(0); | |
| $552 = ($549>>>0)>(55); | |
| $553 = ($550|0)==(0); | |
| $554 = $553 & $552; | |
| $555 = $551 | $554; | |
| do { | |
| if ($555) { | |
| $556 = (_i64Add(($549|0),($550|0),14,0)|0); | |
| $557 = tempRet0; | |
| $558 = ($557>>>0)>(0); | |
| $559 = ($556>>>0)>(2147483390); | |
| $560 = ($557|0)==(0); | |
| $561 = $560 & $559; | |
| $562 = $558 | $561; | |
| if ($562) { | |
| label = 185; | |
| break L4; | |
| } | |
| $563 = (_i64Add(($549|0),($550|0),15,0)|0); | |
| $564 = tempRet0; | |
| $565 = HEAP32[2]|0; | |
| $566 = ($565|0)==(0); | |
| if ($566) { | |
| $605 = HEAP32[(52)>>2]|0; | |
| $606 = (FUNCTION_TABLE_ii[$605 & 255]($563)|0); | |
| $607 = ($606|0)==(0|0); | |
| if ($607) { | |
| label = 185; | |
| break L4; | |
| } else { | |
| $$10 = $606;$$2604 = $606; | |
| break; | |
| } | |
| } | |
| $567 = HEAP32[(68)>>2]|0; | |
| $568 = (FUNCTION_TABLE_ii[$567 & 255]($563)|0); | |
| $569 = HEAP32[11829]|0; | |
| $570 = ($569>>>0)<($563>>>0); | |
| if ($570) { | |
| HEAP32[11829] = $563; | |
| } | |
| $571 = (46456); | |
| $572 = $571; | |
| $573 = HEAP32[$572>>2]|0; | |
| $574 = (($571) + 4)|0; | |
| $575 = $574; | |
| $576 = HEAP32[$575>>2]|0; | |
| $577 = ($576|0)>(0); | |
| $578 = ($573>>>0)>(0); | |
| $579 = ($576|0)==(0); | |
| $580 = $579 & $578; | |
| $581 = $577 | $580; | |
| if ($581) { | |
| $582 = HEAP32[11822]|0; | |
| $583 = ($568|0)<(0); | |
| $584 = $583 << 31 >> 31; | |
| $585 = (_i64Subtract(($573|0),($576|0),($568|0),($584|0))|0); | |
| $586 = tempRet0; | |
| $587 = (0)>($586|0); | |
| $588 = ($582>>>0)>=($585>>>0); | |
| $589 = (0)==($586|0); | |
| $590 = $589 & $588; | |
| $591 = $587 | $590; | |
| $$sink$i$i640 = $591&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i640; | |
| } | |
| $592 = HEAP32[(52)>>2]|0; | |
| $593 = (FUNCTION_TABLE_ii[$592 & 255]($568)|0); | |
| $594 = ($593|0)==(0|0); | |
| if ($594) { | |
| label = 185; | |
| break L4; | |
| } | |
| $595 = HEAP32[(64)>>2]|0; | |
| $596 = (FUNCTION_TABLE_ii[$595 & 255]($593)|0); | |
| $597 = HEAP32[11822]|0; | |
| $598 = (($597) + ($596))|0; | |
| HEAP32[11822] = $598; | |
| $599 = HEAP32[11826]|0; | |
| $600 = ($598>>>0)>($599>>>0); | |
| if ($600) { | |
| HEAP32[11826] = $598; | |
| } | |
| $601 = HEAP32[11825]|0; | |
| $602 = (($601) + 1)|0; | |
| HEAP32[11825] = $602; | |
| $603 = HEAP32[11831]|0; | |
| $604 = ($602>>>0)>($603>>>0); | |
| if (!($604)) { | |
| $$10 = $593;$$2604 = $593; | |
| break; | |
| } | |
| HEAP32[11831] = $602; | |
| $$10 = $593;$$2604 = $593; | |
| } else { | |
| $$10 = $5;$$2604 = 0; | |
| } | |
| } while(0); | |
| $609 = $$1547745&255; | |
| $610 = ($609*10)|0; | |
| $611 = (($610) + 16)|0; | |
| $612 = ($$$$1508629$$$$$1508629|0)>(0); | |
| $613 = $612&1; | |
| $614 = $$1547745 | $$1544747; | |
| $615 = $614&255; | |
| $616 = $615 | $613; | |
| $617 = ($$2584<<24>>24)==(0); | |
| if ($617) { | |
| $$11 = $$10; | |
| } else { | |
| $618 = ((($$10)) + 1|0); | |
| HEAP8[$$10>>0] = $$2584; | |
| $$11 = $618; | |
| } | |
| $619 = ($$$6616|0)<(0); | |
| if ($619) { | |
| $620 = ((($$11)) + 1|0); | |
| HEAP8[$$11>>0] = 48; | |
| $$13 = $620;$$2621 = $$$6616;$$2726 = $611;$$8737 = $$5734; | |
| } else { | |
| $$0724861 = $611;$$12863 = $$11;$$1620862 = $$$6616;$$6735860 = $$5734; | |
| while(1) { | |
| $621 = ($$0724861|0)<(1); | |
| $622 = (~~(($$6735860))); | |
| $623 = (+($622|0)); | |
| $624 = (($622) + 48)|0; | |
| $625 = $$6735860 - $623; | |
| $626 = $625 * 10.0; | |
| $627 = $624&255; | |
| $$7736 = $621 ? $$6735860 : $626; | |
| $not$770 = $621 ^ 1; | |
| $628 = $not$770 << 31 >> 31; | |
| $$1725 = (($628) + ($$0724861))|0; | |
| $$0$i636 = $621 ? 48 : $627; | |
| $629 = ((($$12863)) + 1|0); | |
| HEAP8[$$12863>>0] = $$0$i636; | |
| $630 = (($$1620862) + -1)|0; | |
| $631 = ($$1620862|0)>(0); | |
| if ($631) { | |
| $$0724861 = $$1725;$$12863 = $629;$$1620862 = $630;$$6735860 = $$7736; | |
| } else { | |
| $$13 = $629;$$2621 = $630;$$2726 = $$1725;$$8737 = $$7736; | |
| break; | |
| } | |
| } | |
| } | |
| $632 = ($616|0)==(0); | |
| if ($632) { | |
| $$15$ph = $$13; | |
| } else { | |
| $633 = ((($$13)) + 1|0); | |
| HEAP8[$$13>>0] = 46; | |
| $$15$ph = $633; | |
| } | |
| $634 = ($$2621|0)<(-1); | |
| if ($634) { | |
| $635 = (0 - ($$2621))|0; | |
| $636 = (($$$1508629761) + 1)|0; | |
| $637 = (($636) + ($$2621))|0; | |
| $638 = (($637) + ($492))|0; | |
| $639 = $$2621 ^ -1; | |
| _memset(($$15$ph|0),48,($639|0))|0; | |
| $scevgep = ((($$15$ph)) + -1|0); | |
| $scevgep937 = (($scevgep) + ($635)|0); | |
| $640 = (($638) - ($$$$1508629$))|0; | |
| $$15$lcssa = $scevgep937;$$6513$lcssa = $640; | |
| } else { | |
| $$15$lcssa = $$15$ph;$$6513$lcssa = $$$$1508629$$$$$1508629; | |
| } | |
| $641 = ($$6513$lcssa|0)>(0); | |
| if ($641) { | |
| $$16877 = $$15$lcssa;$$3727875 = $$2726;$$7514876 = $$6513$lcssa;$$9738874 = $$8737; | |
| while(1) { | |
| $642 = (($$7514876) + -1)|0; | |
| $643 = ($$3727875|0)<(1); | |
| $644 = (~~(($$9738874))); | |
| $645 = (+($644|0)); | |
| $646 = (($644) + 48)|0; | |
| $647 = $$9738874 - $645; | |
| $648 = $647 * 10.0; | |
| $649 = $646&255; | |
| $$10739 = $643 ? $$9738874 : $648; | |
| $not$769 = $643 ^ 1; | |
| $650 = $not$769 << 31 >> 31; | |
| $$4728 = (($650) + ($$3727875))|0; | |
| $$0$i635 = $643 ? 48 : $649; | |
| $651 = ((($$16877)) + 1|0); | |
| HEAP8[$$16877>>0] = $$0$i635; | |
| $652 = ($$7514876|0)>(1); | |
| if ($652) { | |
| $$16877 = $651;$$3727875 = $$4728;$$7514876 = $642;$$9738874 = $$10739; | |
| } else { | |
| $$16$lcssa = $651; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$16$lcssa = $$15$lcssa; | |
| } | |
| $653 = ($$$1547745<<24>>24)==(0); | |
| $or$cond631 = $653 | $632; | |
| L181: do { | |
| if ($or$cond631) { | |
| $$18 = $$16$lcssa; | |
| } else { | |
| $$17 = $$16$lcssa; | |
| L182: while(1) { | |
| $654 = ((($$17)) + -1|0); | |
| $655 = HEAP8[$654>>0]|0; | |
| switch ($655<<24>>24) { | |
| case 46: { | |
| break L182; | |
| break; | |
| } | |
| case 48: { | |
| break; | |
| } | |
| default: { | |
| $$18 = $$17; | |
| break L181; | |
| } | |
| } | |
| HEAP8[$654>>0] = 0; | |
| $$17 = $654; | |
| } | |
| $656 = ($$1547745<<24>>24)==(0); | |
| if ($656) { | |
| HEAP8[$654>>0] = 0; | |
| $$18 = $654; | |
| break; | |
| } else { | |
| $657 = ((($$17)) + 1|0); | |
| HEAP8[$$17>>0] = 48; | |
| $$18 = $657; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| if ($540) { | |
| $658 = (((17119 + (($$0523818$lcssa*6)|0)|0)) + 4|0); | |
| $659 = HEAP8[$658>>0]|0; | |
| $660 = $659&255; | |
| $661 = (17266 + ($660)|0); | |
| $662 = HEAP8[$661>>0]|0; | |
| $663 = ((($$18)) + 1|0); | |
| HEAP8[$$18>>0] = $662; | |
| $664 = ($$6616|0)<(0); | |
| $665 = ((($$18)) + 2|0); | |
| if ($664) { | |
| HEAP8[$663>>0] = 45; | |
| $666 = (0 - ($$6616))|0; | |
| $$7617 = $666; | |
| } else { | |
| HEAP8[$663>>0] = 43; | |
| $$7617 = $$6616; | |
| } | |
| $667 = ($$7617|0)>(99); | |
| if ($667) { | |
| $668 = (($$7617>>>0) / 100)&-1; | |
| $669 = (($668) + 48)|0; | |
| $670 = $669&255; | |
| $671 = ((($$18)) + 3|0); | |
| HEAP8[$665>>0] = $670; | |
| $672 = (($$7617>>>0) % 100)&-1; | |
| $$19 = $671;$$8618 = $672; | |
| } else { | |
| $$19 = $665;$$8618 = $$7617; | |
| } | |
| $673 = (($$8618|0) / 10)&-1; | |
| $674 = (($673) + 48)|0; | |
| $675 = $674&255; | |
| $676 = ((($$19)) + 1|0); | |
| HEAP8[$$19>>0] = $675; | |
| $677 = (($$8618|0) % 10)&-1; | |
| $678 = (($677) + 48)|0; | |
| $679 = $678&255; | |
| $680 = ((($$19)) + 2|0); | |
| HEAP8[$676>>0] = $679; | |
| $$20 = $680; | |
| } else { | |
| $$20 = $$18; | |
| } | |
| HEAP8[$$20>>0] = 0; | |
| $681 = $$20; | |
| $682 = $$10; | |
| $683 = (($681) - ($682))|0; | |
| $notlhs = ($$1558744<<24>>24)!=(0); | |
| $notrhs = ($$3538<<24>>24)==(0); | |
| $or$cond7$not = $notlhs & $notrhs; | |
| $684 = ($$2529|0)>($683|0); | |
| $or$cond632 = $or$cond7$not & $684; | |
| if (!($or$cond632)) { | |
| $$25 = $$10;$$6608 = $$2604;$$7522 = $683;$$7534 = $$2529; | |
| break L98; | |
| } | |
| $685 = (($$2529) - ($683))|0; | |
| $686 = ($683|0)<(0); | |
| if (!($686)) { | |
| $$0565880 = $$2529; | |
| while(1) { | |
| $687 = (($$0565880) - ($685))|0; | |
| $688 = (($$10) + ($687)|0); | |
| $689 = HEAP8[$688>>0]|0; | |
| $690 = (($$10) + ($$0565880)|0); | |
| HEAP8[$690>>0] = $689; | |
| $691 = (($$0565880) + -1)|0; | |
| $692 = ($$0565880|0)>($685|0); | |
| if ($692) { | |
| $$0565880 = $691; | |
| } else { | |
| break; | |
| } | |
| } | |
| } | |
| $693 = ($685|0)==(0); | |
| if ($693) { | |
| $$25 = $$10;$$6608 = $$2604;$$7522 = $$2529;$$7534 = $$2529; | |
| break L98; | |
| } | |
| $694 = ($$2584<<24>>24)!=(0); | |
| $695 = $694&1; | |
| $scevgep945 = (($$10) + ($695)|0); | |
| _memset(($scevgep945|0),48,($685|0))|0; | |
| $$25 = $$10;$$6608 = $$2604;$$7522 = $$2529;$$7534 = $$2529; | |
| } | |
| break; | |
| } | |
| case 4: { | |
| if ($17) { | |
| $696 = HEAP32[$21>>2]|0; | |
| $arglist_current29 = HEAP32[$2>>2]|0; | |
| $697 = $arglist_current29; | |
| $698 = ((0) + 4|0); | |
| $expanded119 = $698; | |
| $expanded118 = (($expanded119) - 1)|0; | |
| $699 = (($697) + ($expanded118))|0; | |
| $700 = ((0) + 4|0); | |
| $expanded123 = $700; | |
| $expanded122 = (($expanded123) - 1)|0; | |
| $expanded121 = $expanded122 ^ -1; | |
| $701 = $699 & $expanded121; | |
| $702 = $701; | |
| $703 = HEAP32[$702>>2]|0; | |
| $arglist_next30 = ((($702)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next30; | |
| HEAP32[$703>>2] = $696; | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| } else { | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| } | |
| break; | |
| } | |
| case 7: { | |
| HEAP8[$5>>0] = 37; | |
| $$25 = $5;$$6608 = 0;$$7522 = 1;$$7534 = $$2529; | |
| break; | |
| } | |
| case 8: { | |
| do { | |
| if ($17) { | |
| $arglist_current32 = HEAP32[$2>>2]|0; | |
| $728 = $arglist_current32; | |
| $729 = ((0) + 4|0); | |
| $expanded126 = $729; | |
| $expanded125 = (($expanded126) - 1)|0; | |
| $730 = (($728) + ($expanded125))|0; | |
| $731 = ((0) + 4|0); | |
| $expanded130 = $731; | |
| $expanded129 = (($expanded130) - 1)|0; | |
| $expanded128 = $expanded129 ^ -1; | |
| $732 = $730 & $expanded128; | |
| $733 = $732; | |
| $734 = HEAP32[$733>>2]|0; | |
| $arglist_next33 = ((($733)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next33; | |
| $$7496 = $734; | |
| } else { | |
| $704 = HEAP32[$$0628$ph>>2]|0; | |
| $705 = HEAP32[$18>>2]|0; | |
| $706 = ($704|0)>($705|0); | |
| if ($706) { | |
| $707 = HEAP32[$19>>2]|0; | |
| $708 = (($705) + 1)|0; | |
| HEAP32[$18>>2] = $708; | |
| $709 = (($707) + ($705<<2)|0); | |
| $710 = HEAP32[$709>>2]|0; | |
| $711 = ($710|0)==(0|0); | |
| if ($711) { | |
| $$7496 = 0; | |
| } else { | |
| $712 = ((($710)) + 8|0); | |
| $713 = HEAP16[$712>>1]|0; | |
| $714 = $713&65535; | |
| $715 = $714 & 514; | |
| $716 = ($715|0)==(514); | |
| if ($716) { | |
| $717 = ((($710)) + 10|0); | |
| $718 = HEAP8[$717>>0]|0; | |
| $719 = ($718<<24>>24)==(1); | |
| if ($719) { | |
| $720 = ((($710)) + 16|0); | |
| $721 = HEAP32[$720>>2]|0; | |
| $$0$i681 = $721; | |
| } else { | |
| label = 224; | |
| } | |
| } else { | |
| label = 224; | |
| } | |
| if ((label|0) == 224) { | |
| label = 0; | |
| $722 = $714 & 1; | |
| $723 = ($722|0)==(0); | |
| if (!($723)) { | |
| $$7496 = 0; | |
| break; | |
| } | |
| $724 = (_valueToText($710,1)|0); | |
| $$0$i681 = $724; | |
| } | |
| $725 = ($$0$i681|0)==(0|0); | |
| if ($725) { | |
| $$7496 = 0; | |
| } else { | |
| $726 = HEAP8[$$0$i681>>0]|0; | |
| $727 = $726 << 24 >> 24; | |
| $$7496 = $727; | |
| } | |
| } | |
| } else { | |
| $$7496 = 0; | |
| } | |
| } | |
| } while(0); | |
| $735 = ($$1508|0)>(1); | |
| do { | |
| if ($735) { | |
| $736 = (($$1508) + -1)|0; | |
| $737 = (($$2529) - ($736))|0; | |
| $738 = ($737|0)<(2); | |
| $739 = ($$3538<<24>>24)!=(0); | |
| $or$cond9 = $739 | $738; | |
| do { | |
| if ($or$cond9) { | |
| $$3530 = $737; | |
| } else { | |
| $740 = (($737) + -1)|0; | |
| $741 = HEAP32[$21>>2]|0; | |
| $742 = ($740|0)<(0); | |
| $743 = $742 << 31 >> 31; | |
| $744 = (_i64Add(($741|0),0,($740|0),($743|0))|0); | |
| $745 = tempRet0; | |
| $746 = HEAP32[$22>>2]|0; | |
| $747 = ($745|0)<(0); | |
| $748 = ($744>>>0)<($746>>>0); | |
| $749 = ($745|0)==(0); | |
| $750 = $749 & $748; | |
| $751 = $747 | $750; | |
| if ($751) { | |
| $754 = ($737|0)>(1); | |
| if ($754) { | |
| $$0$i682838 = $740; | |
| } else { | |
| $$3530 = 0; | |
| break; | |
| } | |
| } else { | |
| $752 = (_sqlite3StrAccumEnlarge($0,$740)|0); | |
| $753 = ($752|0)<(1); | |
| if ($753) { | |
| $$3530 = 0; | |
| break; | |
| } else { | |
| $$0$i682838 = $752; | |
| } | |
| } | |
| while(1) { | |
| $755 = (($$0$i682838) + -1)|0; | |
| $756 = HEAP32[$23>>2]|0; | |
| $757 = HEAP32[$21>>2]|0; | |
| $758 = (($757) + 1)|0; | |
| HEAP32[$21>>2] = $758; | |
| $759 = (($756) + ($757)|0); | |
| HEAP8[$759>>0] = 32; | |
| $760 = ($$0$i682838|0)>(1); | |
| if ($760) { | |
| $$0$i682838 = $755; | |
| } else { | |
| $$3530 = 0; | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $761 = $$7496&255; | |
| $762 = HEAP32[$21>>2]|0; | |
| $763 = ($736|0)<(0); | |
| $764 = $763 << 31 >> 31; | |
| $765 = (_i64Add(($762|0),0,($736|0),($764|0))|0); | |
| $766 = tempRet0; | |
| $767 = HEAP32[$22>>2]|0; | |
| $768 = ($766|0)<(0); | |
| $769 = ($765>>>0)<($767>>>0); | |
| $770 = ($766|0)==(0); | |
| $771 = $770 & $769; | |
| $772 = $768 | $771; | |
| if ($772) { | |
| $775 = ($$1508|0)>(1); | |
| if ($775) { | |
| $$0$i683840 = $736; | |
| } else { | |
| $$4531 = $$3530;$$pre$phiZ2D = $761; | |
| break; | |
| } | |
| } else { | |
| $773 = (_sqlite3StrAccumEnlarge($0,$736)|0); | |
| $774 = ($773|0)<(1); | |
| if ($774) { | |
| $$4531 = $$3530;$$pre$phiZ2D = $761; | |
| break; | |
| } else { | |
| $$0$i683840 = $773; | |
| } | |
| } | |
| while(1) { | |
| $776 = (($$0$i683840) + -1)|0; | |
| $777 = HEAP32[$23>>2]|0; | |
| $778 = HEAP32[$21>>2]|0; | |
| $779 = (($778) + 1)|0; | |
| HEAP32[$21>>2] = $779; | |
| $780 = (($777) + ($778)|0); | |
| HEAP8[$780>>0] = $761; | |
| $781 = ($$0$i683840|0)>(1); | |
| if ($781) { | |
| $$0$i683840 = $776; | |
| } else { | |
| $$4531 = $$3530;$$pre$phiZ2D = $761; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$pre = $$7496&255; | |
| $$4531 = $$2529;$$pre$phiZ2D = $$pre; | |
| } | |
| } while(0); | |
| HEAP8[$5>>0] = $$pre$phiZ2D; | |
| $$25 = $5;$$6608 = 0;$$7522 = 1;$$7534 = $$4531; | |
| break; | |
| } | |
| case 6: case 5: { | |
| do { | |
| if ($17) { | |
| $arglist_current35 = HEAP32[$2>>2]|0; | |
| $803 = $arglist_current35; | |
| $804 = ((0) + 4|0); | |
| $expanded133 = $804; | |
| $expanded132 = (($expanded133) - 1)|0; | |
| $805 = (($803) + ($expanded132))|0; | |
| $806 = ((0) + 4|0); | |
| $expanded137 = $806; | |
| $expanded136 = (($expanded137) - 1)|0; | |
| $expanded135 = $expanded136 ^ -1; | |
| $807 = $805 & $expanded135; | |
| $808 = $807; | |
| $809 = HEAP32[$808>>2]|0; | |
| $arglist_next36 = ((($808)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next36; | |
| $$21 = $809;$$2575 = $169; | |
| } else { | |
| $782 = HEAP32[$$0628$ph>>2]|0; | |
| $783 = HEAP32[$18>>2]|0; | |
| $784 = ($782|0)>($783|0); | |
| if ($784) { | |
| $785 = HEAP32[$19>>2]|0; | |
| $786 = (($783) + 1)|0; | |
| HEAP32[$18>>2] = $786; | |
| $787 = (($785) + ($783<<2)|0); | |
| $788 = HEAP32[$787>>2]|0; | |
| $789 = ($788|0)==(0|0); | |
| if ($789) { | |
| $$21 = 0;$$2575 = 5; | |
| } else { | |
| $790 = ((($788)) + 8|0); | |
| $791 = HEAP16[$790>>1]|0; | |
| $792 = $791&65535; | |
| $793 = $792 & 514; | |
| $794 = ($793|0)==(514); | |
| if ($794) { | |
| $795 = ((($788)) + 10|0); | |
| $796 = HEAP8[$795>>0]|0; | |
| $797 = ($796<<24>>24)==(1); | |
| if ($797) { | |
| $798 = ((($788)) + 16|0); | |
| $799 = HEAP32[$798>>2]|0; | |
| $$21 = $799;$$2575 = 5; | |
| break; | |
| } | |
| } | |
| $800 = $792 & 1; | |
| $801 = ($800|0)==(0); | |
| if ($801) { | |
| $802 = (_valueToText($788,1)|0); | |
| $$21 = $802;$$2575 = 5; | |
| } else { | |
| $$21 = 0;$$2575 = 5; | |
| } | |
| } | |
| } else { | |
| $$21 = 0;$$2575 = 5; | |
| } | |
| } | |
| } while(0); | |
| $810 = ($$21|0)==(0|0); | |
| $811 = ($$2575<<24>>24)==(6); | |
| $$21$$0602 = $811 ? $$21 : 0; | |
| $$3605 = $810 ? 0 : $$21$$0602; | |
| $$22 = $810 ? 47328 : $$21; | |
| $812 = ($$1508|0)>(-1); | |
| if (!($812)) { | |
| $819 = (_strlen($$22)|0); | |
| $820 = $819 & 2147483647; | |
| $$25 = $$22;$$6608 = $$3605;$$7522 = $820;$$7534 = $$2529; | |
| break L98; | |
| } | |
| $813 = ($$1508|0)==(0); | |
| if ($813) { | |
| $$25 = $$22;$$6608 = $$3605;$$7522 = 0;$$7534 = $$2529; | |
| } else { | |
| $$3518833 = 0; | |
| while(1) { | |
| $814 = (($$22) + ($$3518833)|0); | |
| $815 = HEAP8[$814>>0]|0; | |
| $816 = ($815<<24>>24)==(0); | |
| if ($816) { | |
| $$25 = $$22;$$6608 = $$3605;$$7522 = $$3518833;$$7534 = $$2529; | |
| break L98; | |
| } | |
| $817 = (($$3518833) + 1)|0; | |
| $818 = ($817|0)<($$1508|0); | |
| if ($818) { | |
| $$3518833 = $817; | |
| } else { | |
| $$25 = $$22;$$6608 = $$3605;$$7522 = $817;$$7534 = $$2529; | |
| break; | |
| } | |
| } | |
| } | |
| break; | |
| } | |
| case 14: case 10: case 9: { | |
| $821 = ($$0523818$lcssa|0)==(6); | |
| $822 = $821 ? 34 : 39; | |
| do { | |
| if ($17) { | |
| $arglist_current38 = HEAP32[$2>>2]|0; | |
| $844 = $arglist_current38; | |
| $845 = ((0) + 4|0); | |
| $expanded140 = $845; | |
| $expanded139 = (($expanded140) - 1)|0; | |
| $846 = (($844) + ($expanded139))|0; | |
| $847 = ((0) + 4|0); | |
| $expanded144 = $847; | |
| $expanded143 = (($expanded144) - 1)|0; | |
| $expanded142 = $expanded143 ^ -1; | |
| $848 = $846 & $expanded142; | |
| $849 = $848; | |
| $850 = HEAP32[$849>>2]|0; | |
| $arglist_next39 = ((($849)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next39; | |
| $$0539 = $850; | |
| } else { | |
| $823 = HEAP32[$$0628$ph>>2]|0; | |
| $824 = HEAP32[$18>>2]|0; | |
| $825 = ($823|0)>($824|0); | |
| if ($825) { | |
| $826 = HEAP32[$19>>2]|0; | |
| $827 = (($824) + 1)|0; | |
| HEAP32[$18>>2] = $827; | |
| $828 = (($826) + ($824<<2)|0); | |
| $829 = HEAP32[$828>>2]|0; | |
| $830 = ($829|0)==(0|0); | |
| if ($830) { | |
| $$0539 = 0; | |
| } else { | |
| $831 = ((($829)) + 8|0); | |
| $832 = HEAP16[$831>>1]|0; | |
| $833 = $832&65535; | |
| $834 = $833 & 514; | |
| $835 = ($834|0)==(514); | |
| if ($835) { | |
| $836 = ((($829)) + 10|0); | |
| $837 = HEAP8[$836>>0]|0; | |
| $838 = ($837<<24>>24)==(1); | |
| if ($838) { | |
| $839 = ((($829)) + 16|0); | |
| $840 = HEAP32[$839>>2]|0; | |
| $$0539 = $840; | |
| break; | |
| } | |
| } | |
| $841 = $833 & 1; | |
| $842 = ($841|0)==(0); | |
| if ($842) { | |
| $843 = (_valueToText($829,1)|0); | |
| $$0539 = $843; | |
| } else { | |
| $$0539 = 0; | |
| } | |
| } | |
| } else { | |
| $$0539 = 0; | |
| } | |
| } | |
| } while(0); | |
| $851 = ($$0539|0)==(0|0); | |
| $852 = ($$0523818$lcssa|0)==(5); | |
| $853 = $852 ? 17306 : 17311; | |
| $$1540 = $851 ? $853 : $$0539; | |
| $854 = ($$1508|0)==(0); | |
| L271: do { | |
| if ($854) { | |
| $$0548$lcssa = 0;$$0555$lcssa = 0; | |
| } else { | |
| $855 = $822&255; | |
| $$0548821 = 0;$$0550820 = $$1508;$$0555819 = 0; | |
| while(1) { | |
| $856 = (($$1540) + ($$0555819)|0); | |
| $857 = HEAP8[$856>>0]|0; | |
| $858 = ($857<<24>>24)==(0); | |
| if ($858) { | |
| $$0548$lcssa = $$0548821;$$0555$lcssa = $$0555819; | |
| break L271; | |
| } | |
| $859 = $857 << 24 >> 24; | |
| $860 = ($859|0)==($855|0); | |
| $861 = $860&1; | |
| $$$0548 = (($861) + ($$0548821))|0; | |
| $862 = (($$0555819) + 1)|0; | |
| $863 = (($$0550820) + -1)|0; | |
| $864 = ($863|0)==(0); | |
| if ($864) { | |
| $$0548$lcssa = $$$0548;$$0555$lcssa = $862; | |
| break; | |
| } else { | |
| $$0548821 = $$$0548;$$0550820 = $863;$$0555819 = $862; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $not$ = $851 ^ 1; | |
| $$ = $852 & $not$; | |
| $865 = (($$0555$lcssa) + 3)|0; | |
| $866 = (($865) + ($$0548$lcssa))|0; | |
| $867 = ($866|0)>(70); | |
| do { | |
| if ($867) { | |
| $868 = ($866|0)<(0); | |
| $869 = $868 << 31 >> 31; | |
| $870 = (_i64Add(($866|0),($869|0),-1,-1)|0); | |
| $871 = tempRet0; | |
| $872 = ($871>>>0)>(0); | |
| $873 = ($870>>>0)>(2147483390); | |
| $874 = ($871|0)==(0); | |
| $875 = $874 & $873; | |
| $876 = $872 | $875; | |
| if ($876) { | |
| label = 291; | |
| break L4; | |
| } | |
| $877 = HEAP32[2]|0; | |
| $878 = ($877|0)==(0); | |
| if ($878) { | |
| $917 = HEAP32[(52)>>2]|0; | |
| $918 = (FUNCTION_TABLE_ii[$917 & 255]($866)|0); | |
| $919 = ($918|0)==(0|0); | |
| if ($919) { | |
| label = 291; | |
| break L4; | |
| } else { | |
| $$23 = $918;$$4606 = $918; | |
| break; | |
| } | |
| } | |
| $879 = HEAP32[(68)>>2]|0; | |
| $880 = (FUNCTION_TABLE_ii[$879 & 255]($866)|0); | |
| $881 = HEAP32[11829]|0; | |
| $882 = ($881>>>0)<($866>>>0); | |
| if ($882) { | |
| HEAP32[11829] = $866; | |
| } | |
| $883 = (46456); | |
| $884 = $883; | |
| $885 = HEAP32[$884>>2]|0; | |
| $886 = (($883) + 4)|0; | |
| $887 = $886; | |
| $888 = HEAP32[$887>>2]|0; | |
| $889 = ($888|0)>(0); | |
| $890 = ($885>>>0)>(0); | |
| $891 = ($888|0)==(0); | |
| $892 = $891 & $890; | |
| $893 = $889 | $892; | |
| if ($893) { | |
| $894 = HEAP32[11822]|0; | |
| $895 = ($880|0)<(0); | |
| $896 = $895 << 31 >> 31; | |
| $897 = (_i64Subtract(($885|0),($888|0),($880|0),($896|0))|0); | |
| $898 = tempRet0; | |
| $899 = (0)>($898|0); | |
| $900 = ($894>>>0)>=($897>>>0); | |
| $901 = (0)==($898|0); | |
| $902 = $901 & $900; | |
| $903 = $899 | $902; | |
| $$sink$i$i = $903&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i; | |
| } | |
| $904 = HEAP32[(52)>>2]|0; | |
| $905 = (FUNCTION_TABLE_ii[$904 & 255]($880)|0); | |
| $906 = ($905|0)==(0|0); | |
| if ($906) { | |
| label = 291; | |
| break L4; | |
| } | |
| $907 = HEAP32[(64)>>2]|0; | |
| $908 = (FUNCTION_TABLE_ii[$907 & 255]($905)|0); | |
| $909 = HEAP32[11822]|0; | |
| $910 = (($909) + ($908))|0; | |
| HEAP32[11822] = $910; | |
| $911 = HEAP32[11826]|0; | |
| $912 = ($910>>>0)>($911>>>0); | |
| if ($912) { | |
| HEAP32[11826] = $910; | |
| } | |
| $913 = HEAP32[11825]|0; | |
| $914 = (($913) + 1)|0; | |
| HEAP32[11825] = $914; | |
| $915 = HEAP32[11831]|0; | |
| $916 = ($914>>>0)>($915>>>0); | |
| if ($916) { | |
| HEAP32[11831] = $914; | |
| $$23 = $905;$$4606 = $905; | |
| } else { | |
| $$23 = $905;$$4606 = $905; | |
| } | |
| } else { | |
| $$23 = $5;$$4606 = 0; | |
| } | |
| } while(0); | |
| if ($$) { | |
| HEAP8[$$23>>0] = $822; | |
| $$1552$ph = 1; | |
| } else { | |
| $$1552$ph = 0; | |
| } | |
| $920 = ($$0555$lcssa|0)>(0); | |
| if ($920) { | |
| $921 = $822&255; | |
| $$1552829 = $$1552$ph;$$1556828 = 0; | |
| while(1) { | |
| $922 = (($$1540) + ($$1556828)|0); | |
| $923 = HEAP8[$922>>0]|0; | |
| $924 = (($$1552829) + 1)|0; | |
| $925 = (($$23) + ($$1552829)|0); | |
| HEAP8[$925>>0] = $923; | |
| $926 = $923 << 24 >> 24; | |
| $927 = ($926|0)==($921|0); | |
| if ($927) { | |
| $928 = (($$23) + ($924)|0); | |
| $929 = (($$1552829) + 2)|0; | |
| HEAP8[$928>>0] = $923; | |
| $$2553 = $929; | |
| } else { | |
| $$2553 = $924; | |
| } | |
| $930 = (($$1556828) + 1)|0; | |
| $exitcond = ($930|0)==($$0555$lcssa|0); | |
| if ($exitcond) { | |
| $$1552$lcssa = $$2553; | |
| break; | |
| } else { | |
| $$1552829 = $$2553;$$1556828 = $930; | |
| } | |
| } | |
| } else { | |
| $$1552$lcssa = $$1552$ph; | |
| } | |
| if ($$) { | |
| $931 = (($$23) + ($$1552$lcssa)|0); | |
| $932 = (($$1552$lcssa) + 1)|0; | |
| HEAP8[$931>>0] = $822; | |
| $$3554 = $932; | |
| } else { | |
| $$3554 = $$1552$lcssa; | |
| } | |
| $933 = (($$23) + ($$3554)|0); | |
| HEAP8[$933>>0] = 0; | |
| $$25 = $$23;$$6608 = $$4606;$$7522 = $$3554;$$7534 = $$2529; | |
| break; | |
| } | |
| case 11: { | |
| $935 = HEAP8[$6>>0]|0; | |
| $936 = $935 & 1; | |
| $937 = ($936<<24>>24)==(0); | |
| if ($937) { | |
| label = 345; | |
| break L4; | |
| } | |
| $arglist_current41 = HEAP32[$2>>2]|0; | |
| $938 = $arglist_current41; | |
| $939 = ((0) + 4|0); | |
| $expanded147 = $939; | |
| $expanded146 = (($expanded147) - 1)|0; | |
| $940 = (($938) + ($expanded146))|0; | |
| $941 = ((0) + 4|0); | |
| $expanded151 = $941; | |
| $expanded150 = (($expanded151) - 1)|0; | |
| $expanded149 = $expanded150 ^ -1; | |
| $942 = $940 & $expanded149; | |
| $943 = $942; | |
| $944 = HEAP32[$943>>2]|0; | |
| $arglist_next42 = ((($943)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next42; | |
| $945 = ($944|0)==(0|0); | |
| if ($945) { | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| } else { | |
| $946 = ((($944)) + 4|0); | |
| $947 = HEAP32[$946>>2]|0; | |
| $948 = ($947|0)==(0); | |
| if ($948) { | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| } else { | |
| $949 = HEAP32[$944>>2]|0; | |
| $950 = HEAP32[$21>>2]|0; | |
| $951 = (($950) + ($947))|0; | |
| $952 = HEAP32[$22>>2]|0; | |
| $953 = ($951>>>0)<($952>>>0); | |
| if ($953) { | |
| HEAP32[$21>>2] = $951; | |
| $954 = HEAP32[$23>>2]|0; | |
| $955 = (($954) + ($950)|0); | |
| _memcpy(($955|0),($949|0),($947|0))|0; | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| break L98; | |
| } else { | |
| _enlargeAndAppend($0,$949,$947); | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| break L98; | |
| } | |
| } | |
| } | |
| break; | |
| } | |
| case 12: { | |
| $956 = HEAP8[$6>>0]|0; | |
| $957 = $956 & 1; | |
| $958 = ($957<<24>>24)==(0); | |
| if ($958) { | |
| label = 345; | |
| break L4; | |
| } | |
| $arglist_current44 = HEAP32[$2>>2]|0; | |
| $959 = $arglist_current44; | |
| $960 = ((0) + 4|0); | |
| $expanded154 = $960; | |
| $expanded153 = (($expanded154) - 1)|0; | |
| $961 = (($959) + ($expanded153))|0; | |
| $962 = ((0) + 4|0); | |
| $expanded158 = $962; | |
| $expanded157 = (($expanded158) - 1)|0; | |
| $expanded156 = $expanded157 ^ -1; | |
| $963 = $961 & $expanded156; | |
| $964 = $963; | |
| $965 = HEAP32[$964>>2]|0; | |
| $arglist_next45 = ((($964)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next45; | |
| $arglist_current47 = HEAP32[$2>>2]|0; | |
| $966 = $arglist_current47; | |
| $967 = ((0) + 4|0); | |
| $expanded161 = $967; | |
| $expanded160 = (($expanded161) - 1)|0; | |
| $968 = (($966) + ($expanded160))|0; | |
| $969 = ((0) + 4|0); | |
| $expanded165 = $969; | |
| $expanded164 = (($expanded165) - 1)|0; | |
| $expanded163 = $expanded164 ^ -1; | |
| $970 = $968 & $expanded163; | |
| $971 = $970; | |
| $972 = HEAP32[$971>>2]|0; | |
| $arglist_next48 = ((($971)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next48; | |
| $973 = (((((($965)) + 8|0) + (($972*72)|0)|0)) + 4|0); | |
| $974 = HEAP32[$973>>2]|0; | |
| $975 = ($974|0)==(0|0); | |
| do { | |
| if (!($975)) { | |
| $976 = (_strlen($974)|0); | |
| $977 = $976 & 1073741823; | |
| $978 = HEAP32[$21>>2]|0; | |
| $979 = (($978) + ($977))|0; | |
| $980 = HEAP32[$22>>2]|0; | |
| $981 = ($979>>>0)<($980>>>0); | |
| if ($981) { | |
| $982 = ($977|0)==(0); | |
| if (!($982)) { | |
| HEAP32[$21>>2] = $979; | |
| $983 = HEAP32[$23>>2]|0; | |
| $984 = (($983) + ($978)|0); | |
| _memcpy(($984|0),($974|0),($977|0))|0; | |
| } | |
| } else { | |
| _enlargeAndAppend($0,$974,$977); | |
| } | |
| $985 = HEAP32[$21>>2]|0; | |
| $986 = (($985) + 1)|0; | |
| $987 = HEAP32[$22>>2]|0; | |
| $988 = ($986>>>0)<($987>>>0); | |
| if ($988) { | |
| HEAP32[$21>>2] = $986; | |
| $989 = HEAP32[$23>>2]|0; | |
| $990 = (($989) + ($985)|0); | |
| HEAP8[$990>>0] = 46; | |
| break; | |
| } else { | |
| _enlargeAndAppend($0,17318,1); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $991 = (((((($965)) + 8|0) + (($972*72)|0)|0)) + 8|0); | |
| $992 = HEAP32[$991>>2]|0; | |
| $993 = ($992|0)==(0|0); | |
| if ($993) { | |
| $$0$i$i691 = 0; | |
| } else { | |
| $994 = (_strlen($992)|0); | |
| $995 = $994 & 1073741823; | |
| $$0$i$i691 = $995; | |
| } | |
| $996 = HEAP32[$21>>2]|0; | |
| $997 = (($996) + ($$0$i$i691))|0; | |
| $998 = HEAP32[$22>>2]|0; | |
| $999 = ($997>>>0)<($998>>>0); | |
| if (!($999)) { | |
| _enlargeAndAppend($0,$992,$$0$i$i691); | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| break L98; | |
| } | |
| $1000 = ($$0$i$i691|0)==(0); | |
| if ($1000) { | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| } else { | |
| HEAP32[$21>>2] = $997; | |
| $1001 = HEAP32[$23>>2]|0; | |
| $1002 = (($1001) + ($996)|0); | |
| _memcpy(($1002|0),($992|0),($$0$i$i691|0))|0; | |
| $$25 = $$1498;$$6608 = 0;$$7522 = 0;$$7534 = 0; | |
| } | |
| break; | |
| } | |
| default: { | |
| label = 345; | |
| break L4; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 81) { | |
| label = 0; | |
| $$2561 = $$1560;$$2572 = 0; | |
| label = 82; | |
| } | |
| if ((label|0) == 82) { | |
| label = 0; | |
| $170 = 4067322 >>> $$0523818$lcssa; | |
| $171 = $170 & 1; | |
| $172 = ($171|0)==(0); | |
| L340: do { | |
| if ($172) { | |
| L342: do { | |
| if ($20) { | |
| $173 = HEAP32[$$0628$ph>>2]|0; | |
| $174 = HEAP32[$18>>2]|0; | |
| $175 = ($173|0)>($174|0); | |
| if (!($175)) { | |
| $$1583 = $$1542750;$295 = 0;$297 = 0; | |
| break L340; | |
| } | |
| $176 = HEAP32[$19>>2]|0; | |
| $177 = (($174) + 1)|0; | |
| HEAP32[$18>>2] = $177; | |
| $178 = (($176) + ($174<<2)|0); | |
| $179 = HEAP32[$178>>2]|0; | |
| $180 = ((($179)) + 8|0); | |
| $181 = HEAP16[$180>>1]|0; | |
| $182 = $181&65535; | |
| $183 = $182 & 4; | |
| $184 = ($183|0)==(0); | |
| if (!($184)) { | |
| $185 = $179; | |
| $186 = $185; | |
| $187 = HEAP32[$186>>2]|0; | |
| $188 = (($185) + 4)|0; | |
| $189 = $188; | |
| $190 = HEAP32[$189>>2]|0; | |
| $230 = $190;$232 = $187; | |
| break; | |
| } | |
| $191 = $182 & 8; | |
| $192 = ($191|0)==(0); | |
| if (!($192)) { | |
| $193 = +HEAPF64[$179>>3]; | |
| $194 = (_doubleToInt64($193)|0); | |
| $195 = tempRet0; | |
| $230 = $195;$232 = $194; | |
| break; | |
| } | |
| $196 = $182 & 18; | |
| $197 = ($196|0)==(0); | |
| if ($197) { | |
| $$1583 = $$1542750;$295 = 0;$297 = 0; | |
| break L340; | |
| } | |
| $$idx$i$i$i656 = ((($179)) + 10|0); | |
| $$idx$val$i$i$i657 = HEAP8[$$idx$i$i$i656>>0]|0; | |
| $$idx8$i$i$i658 = ((($179)) + 12|0); | |
| $$idx8$val$i$i$i659 = HEAP32[$$idx8$i$i$i658>>2]|0; | |
| $$idx9$i$i$i660 = ((($179)) + 16|0); | |
| $$idx9$val$i$i$i661 = HEAP32[$$idx9$i$i$i660>>2]|0; | |
| $198 = (_memIntValue($$idx$val$i$i$i657,$$idx8$val$i$i$i659,$$idx9$val$i$i$i661)|0); | |
| $199 = tempRet0; | |
| $230 = $199;$232 = $198; | |
| } else { | |
| switch ($$2561<<24>>24) { | |
| case 0: { | |
| $arglist_current14 = HEAP32[$2>>2]|0; | |
| $221 = $arglist_current14; | |
| $222 = ((0) + 4|0); | |
| $expanded84 = $222; | |
| $expanded83 = (($expanded84) - 1)|0; | |
| $223 = (($221) + ($expanded83))|0; | |
| $224 = ((0) + 4|0); | |
| $expanded88 = $224; | |
| $expanded87 = (($expanded88) - 1)|0; | |
| $expanded86 = $expanded87 ^ -1; | |
| $225 = $223 & $expanded86; | |
| $226 = $225; | |
| $227 = HEAP32[$226>>2]|0; | |
| $arglist_next15 = ((($226)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next15; | |
| $228 = ($227|0)<(0); | |
| $229 = $228 << 31 >> 31; | |
| $230 = $229;$232 = $227; | |
| break L342; | |
| break; | |
| } | |
| case 2: { | |
| $arglist_current8 = HEAP32[$2>>2]|0; | |
| $200 = $arglist_current8; | |
| $201 = ((0) + 8|0); | |
| $expanded70 = $201; | |
| $expanded69 = (($expanded70) - 1)|0; | |
| $202 = (($200) + ($expanded69))|0; | |
| $203 = ((0) + 8|0); | |
| $expanded74 = $203; | |
| $expanded73 = (($expanded74) - 1)|0; | |
| $expanded72 = $expanded73 ^ -1; | |
| $204 = $202 & $expanded72; | |
| $205 = $204; | |
| $206 = $205; | |
| $207 = $206; | |
| $208 = HEAP32[$207>>2]|0; | |
| $209 = (($206) + 4)|0; | |
| $210 = $209; | |
| $211 = HEAP32[$210>>2]|0; | |
| $arglist_next9 = ((($205)) + 8|0); | |
| HEAP32[$2>>2] = $arglist_next9; | |
| $230 = $211;$232 = $208; | |
| break L342; | |
| break; | |
| } | |
| default: { | |
| $arglist_current11 = HEAP32[$2>>2]|0; | |
| $212 = $arglist_current11; | |
| $213 = ((0) + 4|0); | |
| $expanded77 = $213; | |
| $expanded76 = (($expanded77) - 1)|0; | |
| $214 = (($212) + ($expanded76))|0; | |
| $215 = ((0) + 4|0); | |
| $expanded81 = $215; | |
| $expanded80 = (($expanded81) - 1)|0; | |
| $expanded79 = $expanded80 ^ -1; | |
| $216 = $214 & $expanded79; | |
| $217 = $216; | |
| $218 = HEAP32[$217>>2]|0; | |
| $arglist_next12 = ((($217)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next12; | |
| $219 = ($218|0)<(0); | |
| $220 = $219 << 31 >> 31; | |
| $230 = $220;$232 = $218; | |
| break L342; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $231 = ($230|0)<(0); | |
| $233 = ($232|0)==(0); | |
| $234 = ($230|0)==(-2147483648); | |
| $235 = $233 & $234; | |
| $236 = (_i64Subtract(0,0,($232|0),($230|0))|0); | |
| $237 = tempRet0; | |
| $238 = $235 ? 0 : $236; | |
| $239 = $235 ? -2147483648 : $237; | |
| $240 = $231 ? $238 : $232; | |
| $241 = $231 ? $239 : $230; | |
| $$$1542750 = $231 ? 45 : $$1542750; | |
| $$1583 = $$$1542750;$295 = $240;$297 = $241; | |
| } else { | |
| if (!($20)) { | |
| switch ($$2561<<24>>24) { | |
| case 0: { | |
| $arglist_current23 = HEAP32[$2>>2]|0; | |
| $288 = $arglist_current23; | |
| $289 = ((0) + 4|0); | |
| $expanded105 = $289; | |
| $expanded104 = (($expanded105) - 1)|0; | |
| $290 = (($288) + ($expanded104))|0; | |
| $291 = ((0) + 4|0); | |
| $expanded109 = $291; | |
| $expanded108 = (($expanded109) - 1)|0; | |
| $expanded107 = $expanded108 ^ -1; | |
| $292 = $290 & $expanded107; | |
| $293 = $292; | |
| $294 = HEAP32[$293>>2]|0; | |
| $arglist_next24 = ((($293)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next24; | |
| $$1583 = 0;$295 = $294;$297 = 0; | |
| break L340; | |
| break; | |
| } | |
| case 2: { | |
| $arglist_current17 = HEAP32[$2>>2]|0; | |
| $269 = $arglist_current17; | |
| $270 = ((0) + 8|0); | |
| $expanded91 = $270; | |
| $expanded90 = (($expanded91) - 1)|0; | |
| $271 = (($269) + ($expanded90))|0; | |
| $272 = ((0) + 8|0); | |
| $expanded95 = $272; | |
| $expanded94 = (($expanded95) - 1)|0; | |
| $expanded93 = $expanded94 ^ -1; | |
| $273 = $271 & $expanded93; | |
| $274 = $273; | |
| $275 = $274; | |
| $276 = $275; | |
| $277 = HEAP32[$276>>2]|0; | |
| $278 = (($275) + 4)|0; | |
| $279 = $278; | |
| $280 = HEAP32[$279>>2]|0; | |
| $arglist_next18 = ((($274)) + 8|0); | |
| HEAP32[$2>>2] = $arglist_next18; | |
| $$1583 = 0;$295 = $277;$297 = $280; | |
| break L340; | |
| break; | |
| } | |
| default: { | |
| $arglist_current20 = HEAP32[$2>>2]|0; | |
| $281 = $arglist_current20; | |
| $282 = ((0) + 4|0); | |
| $expanded98 = $282; | |
| $expanded97 = (($expanded98) - 1)|0; | |
| $283 = (($281) + ($expanded97))|0; | |
| $284 = ((0) + 4|0); | |
| $expanded102 = $284; | |
| $expanded101 = (($expanded102) - 1)|0; | |
| $expanded100 = $expanded101 ^ -1; | |
| $285 = $283 & $expanded100; | |
| $286 = $285; | |
| $287 = HEAP32[$286>>2]|0; | |
| $arglist_next21 = ((($286)) + 4|0); | |
| HEAP32[$2>>2] = $arglist_next21; | |
| $$1583 = 0;$295 = $287;$297 = 0; | |
| break L340; | |
| } | |
| } | |
| } | |
| $242 = HEAP32[$$0628$ph>>2]|0; | |
| $243 = HEAP32[$18>>2]|0; | |
| $244 = ($242|0)>($243|0); | |
| if ($244) { | |
| $245 = HEAP32[$19>>2]|0; | |
| $246 = (($243) + 1)|0; | |
| HEAP32[$18>>2] = $246; | |
| $247 = (($245) + ($243<<2)|0); | |
| $248 = HEAP32[$247>>2]|0; | |
| $249 = ((($248)) + 8|0); | |
| $250 = HEAP16[$249>>1]|0; | |
| $251 = $250&65535; | |
| $252 = $251 & 4; | |
| $253 = ($252|0)==(0); | |
| if (!($253)) { | |
| $254 = $248; | |
| $255 = $254; | |
| $256 = HEAP32[$255>>2]|0; | |
| $257 = (($254) + 4)|0; | |
| $258 = $257; | |
| $259 = HEAP32[$258>>2]|0; | |
| $$1583 = 0;$295 = $256;$297 = $259; | |
| break; | |
| } | |
| $260 = $251 & 8; | |
| $261 = ($260|0)==(0); | |
| if (!($261)) { | |
| $262 = +HEAPF64[$248>>3]; | |
| $263 = (_doubleToInt64($262)|0); | |
| $264 = tempRet0; | |
| $$1583 = 0;$295 = $263;$297 = $264; | |
| break; | |
| } | |
| $265 = $251 & 18; | |
| $266 = ($265|0)==(0); | |
| if ($266) { | |
| $$1583 = 0;$295 = 0;$297 = 0; | |
| } else { | |
| $$idx$i$i$i653 = ((($248)) + 10|0); | |
| $$idx$val$i$i$i654 = HEAP8[$$idx$i$i$i653>>0]|0; | |
| $$idx8$i$i$i = ((($248)) + 12|0); | |
| $$idx8$val$i$i$i = HEAP32[$$idx8$i$i$i>>2]|0; | |
| $$idx9$i$i$i = ((($248)) + 16|0); | |
| $$idx9$val$i$i$i = HEAP32[$$idx9$i$i$i>>2]|0; | |
| $267 = (_memIntValue($$idx$val$i$i$i654,$$idx8$val$i$i$i,$$idx9$val$i$i$i)|0); | |
| $268 = tempRet0; | |
| $$1583 = 0;$295 = $267;$297 = $268; | |
| } | |
| } else { | |
| $$1583 = 0;$295 = 0;$297 = 0; | |
| } | |
| } | |
| } while(0); | |
| $296 = ($295|0)==(0); | |
| $298 = ($297|0)==(0); | |
| $299 = $296 & $298; | |
| $300 = ($$1558744<<24>>24)==(0); | |
| $301 = ($$1583<<24>>24)!=(0); | |
| $302 = $301&1; | |
| $303 = (($$2529) - ($302))|0; | |
| $304 = ($$1508|0)<($303|0); | |
| $$$1508 = $304 ? $303 : $$1508; | |
| $$1508$$$1508 = $300 ? $$1508 : $$$1508; | |
| $305 = ($$1508$$$1508|0)<(37); | |
| do { | |
| if ($305) { | |
| $$0597 = $5;$$1603 = 0;$$2600 = 70; | |
| } else { | |
| $306 = ($$1508$$$1508|0)<(0); | |
| $307 = $306 << 31 >> 31; | |
| $308 = (_i64Add(($$1508$$$1508|0),($307|0),10,0)|0); | |
| $309 = tempRet0; | |
| $310 = (($$1508$$$1508>>>0) / 3)&-1; | |
| $311 = (_i64Add(($308|0),($309|0),($310|0),0)|0); | |
| $312 = tempRet0; | |
| $313 = (_i64Add(($311|0),($312|0),-1,-1)|0); | |
| $314 = tempRet0; | |
| $315 = ($314>>>0)>(0); | |
| $316 = ($313>>>0)>(2147483390); | |
| $317 = ($314|0)==(0); | |
| $318 = $317 & $316; | |
| $319 = $315 | $318; | |
| if ($319) { | |
| label = 121; | |
| break L4; | |
| } | |
| $320 = HEAP32[2]|0; | |
| $321 = ($320|0)==(0); | |
| if ($321) { | |
| $360 = HEAP32[(52)>>2]|0; | |
| $361 = (FUNCTION_TABLE_ii[$360 & 255]($311)|0); | |
| $362 = ($361|0)==(0|0); | |
| if ($362) { | |
| label = 121; | |
| break L4; | |
| } else { | |
| $$0597 = $361;$$1603 = $361;$$2600 = $311; | |
| break; | |
| } | |
| } | |
| $322 = HEAP32[(68)>>2]|0; | |
| $323 = (FUNCTION_TABLE_ii[$322 & 255]($311)|0); | |
| $324 = HEAP32[11829]|0; | |
| $325 = ($324>>>0)<($311>>>0); | |
| if ($325) { | |
| HEAP32[11829] = $311; | |
| } | |
| $326 = (46456); | |
| $327 = $326; | |
| $328 = HEAP32[$327>>2]|0; | |
| $329 = (($326) + 4)|0; | |
| $330 = $329; | |
| $331 = HEAP32[$330>>2]|0; | |
| $332 = ($331|0)>(0); | |
| $333 = ($328>>>0)>(0); | |
| $334 = ($331|0)==(0); | |
| $335 = $334 & $333; | |
| $336 = $332 | $335; | |
| if ($336) { | |
| $337 = HEAP32[11822]|0; | |
| $338 = ($323|0)<(0); | |
| $339 = $338 << 31 >> 31; | |
| $340 = (_i64Subtract(($328|0),($331|0),($323|0),($339|0))|0); | |
| $341 = tempRet0; | |
| $342 = (0)>($341|0); | |
| $343 = ($337>>>0)>=($340>>>0); | |
| $344 = (0)==($341|0); | |
| $345 = $344 & $343; | |
| $346 = $342 | $345; | |
| $$sink$i$i648 = $346&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i648; | |
| } | |
| $347 = HEAP32[(52)>>2]|0; | |
| $348 = (FUNCTION_TABLE_ii[$347 & 255]($323)|0); | |
| $349 = ($348|0)==(0|0); | |
| if ($349) { | |
| label = 121; | |
| break L4; | |
| } | |
| $350 = HEAP32[(64)>>2]|0; | |
| $351 = (FUNCTION_TABLE_ii[$350 & 255]($348)|0); | |
| $352 = HEAP32[11822]|0; | |
| $353 = (($352) + ($351))|0; | |
| HEAP32[11822] = $353; | |
| $354 = HEAP32[11826]|0; | |
| $355 = ($353>>>0)>($354>>>0); | |
| if ($355) { | |
| HEAP32[11826] = $353; | |
| } | |
| $356 = HEAP32[11825]|0; | |
| $357 = (($356) + 1)|0; | |
| HEAP32[11825] = $357; | |
| $358 = HEAP32[11831]|0; | |
| $359 = ($357>>>0)>($358>>>0); | |
| if ($359) { | |
| HEAP32[11831] = $357; | |
| $$0597 = $348;$$1603 = $348;$$2600 = $311; | |
| } else { | |
| $$0597 = $348;$$1603 = $348;$$2600 = $311; | |
| } | |
| } | |
| } while(0); | |
| $364 = (($$2600) + -1)|0; | |
| $365 = (($$0597) + ($364)|0); | |
| $366 = ($$0523818$lcssa|0)==(22); | |
| if ($366) { | |
| $367 = (___uremdi3(($295|0),($297|0),10,0)|0); | |
| $368 = tempRet0; | |
| $369 = ($367>>>0)>(3); | |
| if ($369) { | |
| label = 125; | |
| } else { | |
| $370 = (___udivdi3(($295|0),($297|0),10,0)|0); | |
| $371 = tempRet0; | |
| $372 = (___uremdi3(($370|0),($371|0),10,0)|0); | |
| $373 = tempRet0; | |
| $374 = ($372|0)==(1); | |
| $375 = ($373|0)==(0); | |
| $376 = $374 & $375; | |
| if ($376) { | |
| label = 125; | |
| } else { | |
| $$0585 = $367; | |
| } | |
| } | |
| if ((label|0) == 125) { | |
| label = 0; | |
| $$0585 = 0; | |
| } | |
| $377 = $$0585 << 1; | |
| $378 = $377 | 1; | |
| $379 = (17257 + ($378)|0); | |
| $380 = HEAP8[$379>>0]|0; | |
| $381 = ((($365)) + -1|0); | |
| HEAP8[$381>>0] = $380; | |
| $382 = (17257 + ($377)|0); | |
| $383 = HEAP8[$382>>0]|0; | |
| $384 = ((($381)) + -1|0); | |
| HEAP8[$384>>0] = $383; | |
| $$2499 = $384; | |
| } else { | |
| $$2499 = $365; | |
| } | |
| $385 = (((17119 + (($$0523818$lcssa*6)|0)|0)) + 4|0); | |
| $386 = HEAP8[$385>>0]|0; | |
| $387 = $386&255; | |
| $388 = (17266 + ($387)|0); | |
| $389 = (((17119 + (($$0523818$lcssa*6)|0)|0)) + 1|0); | |
| $390 = HEAP8[$389>>0]|0; | |
| $391 = $390&255; | |
| $$3500 = $$2499;$392 = $295;$393 = $297; | |
| while(1) { | |
| $394 = (___uremdi3(($392|0),($393|0),($391|0),0)|0); | |
| $395 = tempRet0; | |
| $396 = (($388) + ($394)|0); | |
| $397 = HEAP8[$396>>0]|0; | |
| $398 = ((($$3500)) + -1|0); | |
| HEAP8[$398>>0] = $397; | |
| $399 = (___udivdi3(($392|0),($393|0),($391|0),0)|0); | |
| $400 = tempRet0; | |
| $401 = (0)>($393>>>0); | |
| $402 = ($391>>>0)>($392>>>0); | |
| $403 = (0)==($393|0); | |
| $404 = $403 & $402; | |
| $405 = $401 | $404; | |
| if ($405) { | |
| break; | |
| } else { | |
| $$3500 = $398;$392 = $399;$393 = $400; | |
| } | |
| } | |
| $406 = $365; | |
| $407 = $398; | |
| $408 = (($406) - ($407))|0; | |
| $409 = ($$1508$$$1508|0)>($408|0); | |
| if ($409) { | |
| $410 = (($406) - ($$1508$$$1508))|0; | |
| $411 = (($410) - ($407))|0; | |
| $scevgep948 = (($398) + ($411)|0); | |
| $412 = (($$1508$$$1508) + ($407))|0; | |
| $413 = (($412) - ($406))|0; | |
| _memset(($scevgep948|0),48,($413|0))|0; | |
| $$1516$lcssa = $$1508$$$1508;$$4501$lcssa = $scevgep948; | |
| } else { | |
| $$1516$lcssa = $408;$$4501$lcssa = $398; | |
| } | |
| $414 = ($$2572<<24>>24)==(0); | |
| if ($414) { | |
| $$5502 = $$4501$lcssa; | |
| } else { | |
| $415 = (($$1516$lcssa) + -1)|0; | |
| $416 = (($415|0) / 3)&-1; | |
| $417 = (0 - ($416))|0; | |
| $418 = (($$4501$lcssa) + ($417)|0); | |
| $419 = ($415|0)>(2); | |
| if ($419) { | |
| $420 = (($415>>>0) % 3)&-1; | |
| $421 = (($420) + 1)|0; | |
| $$0577896 = $421;$$0579895 = $416;$$1524897 = 0; | |
| while(1) { | |
| $422 = (($$1524897) + ($$0579895))|0; | |
| $423 = (($418) + ($422)|0); | |
| $424 = HEAP8[$423>>0]|0; | |
| $425 = (($418) + ($$1524897)|0); | |
| HEAP8[$425>>0] = $424; | |
| $426 = (($$0577896) + -1)|0; | |
| $427 = ($426|0)==(0); | |
| $428 = (($$1524897) + 1)|0; | |
| if ($427) { | |
| $429 = (($$0579895) + -1)|0; | |
| $430 = (($418) + ($428)|0); | |
| HEAP8[$430>>0] = $$2572; | |
| $$1578 = 3;$$1580 = $429;$$2525 = $428; | |
| } else { | |
| $$1578 = $426;$$1580 = $$0579895;$$2525 = $$1524897; | |
| } | |
| $431 = (($$2525) + 1)|0; | |
| $432 = ($$1580|0)>(0); | |
| if ($432) { | |
| $$0577896 = $$1578;$$0579895 = $$1580;$$1524897 = $431; | |
| } else { | |
| $$5502 = $418; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$5502 = $418; | |
| } | |
| } | |
| $433 = ($$1583<<24>>24)==(0); | |
| if ($433) { | |
| $$6503 = $$5502; | |
| } else { | |
| $434 = ((($$5502)) + -1|0); | |
| HEAP8[$434>>0] = $$1583; | |
| $$6503 = $434; | |
| } | |
| $435 = ($$1544747<<24>>24)==(0); | |
| $436 = $435 | $299; | |
| if ($436) { | |
| $$8505 = $$6503; | |
| } else { | |
| $437 = 7860991 >>> $$0523818$lcssa; | |
| $438 = $437 & 1; | |
| $439 = ($438|0)==(0); | |
| if ($439) { | |
| $440 = (((17119 + (($$0523818$lcssa*6)|0)|0)) + 5|0); | |
| $441 = HEAP8[$440>>0]|0; | |
| $442 = $441&255; | |
| $443 = (17299 + ($442)|0); | |
| $444 = HEAP8[$443>>0]|0; | |
| $$0576900 = $443;$$7504901 = $$6503;$446 = $444; | |
| while(1) { | |
| $445 = ((($$7504901)) + -1|0); | |
| HEAP8[$445>>0] = $446; | |
| $447 = ((($$0576900)) + 1|0); | |
| $448 = HEAP8[$447>>0]|0; | |
| $449 = ($448<<24>>24)==(0); | |
| if ($449) { | |
| $$8505 = $445; | |
| break; | |
| } else { | |
| $$0576900 = $447;$$7504901 = $445;$446 = $448; | |
| } | |
| } | |
| } else { | |
| $$8505 = $$6503; | |
| } | |
| } | |
| $450 = $$8505; | |
| $451 = (($406) - ($450))|0; | |
| $$25 = $$8505;$$6608 = $$1603;$$7522 = $451;$$7534 = $$2529; | |
| } | |
| $1003 = (($$7534) - ($$7522))|0; | |
| $1004 = ($1003|0)>(0); | |
| do { | |
| if ($1004) { | |
| $1005 = ($$3538<<24>>24)==(0); | |
| $1006 = HEAP32[$21>>2]|0; | |
| if ($1005) { | |
| $1007 = ($1003|0)<(0); | |
| $1008 = $1007 << 31 >> 31; | |
| $1009 = (_i64Add(($1006|0),0,($1003|0),($1008|0))|0); | |
| $1010 = tempRet0; | |
| $1011 = HEAP32[$22>>2]|0; | |
| $1012 = ($1010|0)<(0); | |
| $1013 = ($1009>>>0)<($1011>>>0); | |
| $1014 = ($1010|0)==(0); | |
| $1015 = $1014 & $1013; | |
| $1016 = $1012 | $1015; | |
| if ($1016) { | |
| $$0$i693907 = $1003; | |
| label = 317; | |
| } else { | |
| $1017 = (_sqlite3StrAccumEnlarge($0,$1003)|0); | |
| $1018 = ($1017|0)<(1); | |
| if (!($1018)) { | |
| $$0$i693907 = $1017; | |
| label = 317; | |
| } | |
| } | |
| if ((label|0) == 317) { | |
| while(1) { | |
| label = 0; | |
| $1019 = (($$0$i693907) + -1)|0; | |
| $1020 = HEAP32[$23>>2]|0; | |
| $1021 = HEAP32[$21>>2]|0; | |
| $1022 = (($1021) + 1)|0; | |
| HEAP32[$21>>2] = $1022; | |
| $1023 = (($1020) + ($1021)|0); | |
| HEAP8[$1023>>0] = 32; | |
| $1024 = ($$0$i693907|0)>(1); | |
| if ($1024) { | |
| $$0$i693907 = $1019; | |
| label = 317; | |
| } else { | |
| break; | |
| } | |
| } | |
| } | |
| $1025 = HEAP32[$21>>2]|0; | |
| $1026 = (($1025) + ($$7522))|0; | |
| $1027 = HEAP32[$22>>2]|0; | |
| $1028 = ($1026>>>0)<($1027>>>0); | |
| if (!($1028)) { | |
| _enlargeAndAppend($0,$$25,$$7522); | |
| break; | |
| } | |
| $1029 = ($$7522|0)==(0); | |
| if ($1029) { | |
| break; | |
| } | |
| HEAP32[$21>>2] = $1026; | |
| $1030 = HEAP32[$23>>2]|0; | |
| $1031 = (($1030) + ($1025)|0); | |
| _memcpy(($1031|0),($$25|0),($$7522|0))|0; | |
| break; | |
| } | |
| $1032 = (($1006) + ($$7522))|0; | |
| $1033 = HEAP32[$22>>2]|0; | |
| $1034 = ($1032>>>0)<($1033>>>0); | |
| if ($1034) { | |
| $1035 = ($$7522|0)==(0); | |
| if (!($1035)) { | |
| HEAP32[$21>>2] = $1032; | |
| $1036 = HEAP32[$23>>2]|0; | |
| $1037 = (($1036) + ($1006)|0); | |
| _memcpy(($1037|0),($$25|0),($$7522|0))|0; | |
| } | |
| } else { | |
| _enlargeAndAppend($0,$$25,$$7522); | |
| } | |
| $1038 = HEAP32[$21>>2]|0; | |
| $1039 = ($1003|0)<(0); | |
| $1040 = $1039 << 31 >> 31; | |
| $1041 = (_i64Add(($1038|0),0,($1003|0),($1040|0))|0); | |
| $1042 = tempRet0; | |
| $1043 = HEAP32[$22>>2]|0; | |
| $1044 = ($1042|0)<(0); | |
| $1045 = ($1041>>>0)<($1043>>>0); | |
| $1046 = ($1042|0)==(0); | |
| $1047 = $1046 & $1045; | |
| $1048 = $1044 | $1047; | |
| if ($1048) { | |
| $1051 = ($1003|0)>(0); | |
| if ($1051) { | |
| $$0$i697905 = $1003; | |
| } else { | |
| break; | |
| } | |
| } else { | |
| $1049 = (_sqlite3StrAccumEnlarge($0,$1003)|0); | |
| $1050 = ($1049|0)<(1); | |
| if ($1050) { | |
| break; | |
| } else { | |
| $$0$i697905 = $1049; | |
| } | |
| } | |
| while(1) { | |
| $1052 = (($$0$i697905) + -1)|0; | |
| $1053 = HEAP32[$23>>2]|0; | |
| $1054 = HEAP32[$21>>2]|0; | |
| $1055 = (($1054) + 1)|0; | |
| HEAP32[$21>>2] = $1055; | |
| $1056 = (($1053) + ($1054)|0); | |
| HEAP8[$1056>>0] = 32; | |
| $1057 = ($$0$i697905|0)>(1); | |
| if ($1057) { | |
| $$0$i697905 = $1052; | |
| } else { | |
| break; | |
| } | |
| } | |
| } else { | |
| $1058 = HEAP32[$21>>2]|0; | |
| $1059 = (($1058) + ($$7522))|0; | |
| $1060 = HEAP32[$22>>2]|0; | |
| $1061 = ($1059>>>0)<($1060>>>0); | |
| if (!($1061)) { | |
| _enlargeAndAppend($0,$$25,$$7522); | |
| break; | |
| } | |
| $1062 = ($$7522|0)==(0); | |
| if (!($1062)) { | |
| HEAP32[$21>>2] = $1059; | |
| $1063 = HEAP32[$23>>2]|0; | |
| $1064 = (($1063) + ($1058)|0); | |
| _memcpy(($1064|0),($$25|0),($$7522|0))|0; | |
| } | |
| } | |
| } while(0); | |
| $1065 = ($$6608|0)==(0|0); | |
| do { | |
| if (!($1065)) { | |
| $1066 = HEAP32[$0>>2]|0; | |
| $1067 = ($1066|0)==(0|0); | |
| if (!($1067)) { | |
| $1068 = ((($1066)) + 464|0); | |
| $1069 = HEAP32[$1068>>2]|0; | |
| $1070 = ($1069|0)==(0|0); | |
| if (!($1070)) { | |
| _measureAllocationSize($1066,$$6608); | |
| break; | |
| } | |
| $1071 = $$6608; | |
| $1072 = ((($1066)) + 296|0); | |
| $1073 = HEAP32[$1072>>2]|0; | |
| $1074 = ($1071>>>0)<($1073>>>0); | |
| if (!($1074)) { | |
| $1075 = ((($1066)) + 300|0); | |
| $1076 = HEAP32[$1075>>2]|0; | |
| $1077 = ($1071>>>0)<($1076>>>0); | |
| if ($1077) { | |
| $1078 = ((($1066)) + 292|0); | |
| $1079 = HEAP32[$1078>>2]|0; | |
| HEAP32[$$6608>>2] = $1079; | |
| HEAP32[$1078>>2] = $$6608; | |
| break; | |
| } | |
| } | |
| } | |
| $1080 = HEAP32[2]|0; | |
| $1081 = ($1080|0)==(0); | |
| if ($1081) { | |
| $1089 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$1089 & 255]($$6608); | |
| break; | |
| } else { | |
| $1082 = HEAP32[(64)>>2]|0; | |
| $1083 = (FUNCTION_TABLE_ii[$1082 & 255]($$6608)|0); | |
| $1084 = HEAP32[11822]|0; | |
| $1085 = (($1084) - ($1083))|0; | |
| HEAP32[11822] = $1085; | |
| $1086 = HEAP32[11825]|0; | |
| $1087 = (($1086) + -1)|0; | |
| HEAP32[11825] = $1087; | |
| $1088 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$1088 & 255]($$6608); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $1090 = ((($$9)) + 1|0); | |
| $$0 = $1090;$$0497 = $$25; | |
| } | |
| if ((label|0) == 12) { | |
| $42 = HEAP32[$21>>2]|0; | |
| $43 = (($42) + 1)|0; | |
| $44 = HEAP32[$22>>2]|0; | |
| $45 = ($43>>>0)<($44>>>0); | |
| if ($45) { | |
| HEAP32[$21>>2] = $43; | |
| $46 = HEAP32[$23>>2]|0; | |
| $47 = (($46) + ($42)|0); | |
| HEAP8[$47>>0] = 37; | |
| STACKTOP = sp;return; | |
| } else { | |
| _enlargeAndAppend($0,17117,1); | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| else if ((label|0) == 121) { | |
| $363 = ((($0)) + 20|0); | |
| HEAP8[$363>>0] = 1; | |
| HEAP32[$22>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| else if ((label|0) == 185) { | |
| $608 = ((($0)) + 20|0); | |
| HEAP8[$608>>0] = 1; | |
| HEAP32[$22>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| else if ((label|0) == 291) { | |
| $934 = ((($0)) + 20|0); | |
| HEAP8[$934>>0] = 1; | |
| HEAP32[$22>>2] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| else if ((label|0) == 345) { | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| function _strAccumFinishRealloc($0) { | |
| $0 = $0|0; | |
| var $$0$i = 0, $$0$i14 = 0, $$0$i18 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink$i$i = 0, $$sink4$i$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; | |
| 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, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ((($0)) + 16|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = (($3) + 1)|0; | |
| $5 = ($1|0)==(0|0); | |
| do { | |
| if ($5) { | |
| $38 = (_i64Add(($4|0),0,-1,-1)|0); | |
| $39 = tempRet0; | |
| $40 = ($39>>>0)>(0); | |
| $41 = ($38>>>0)>(2147483390); | |
| $42 = ($39|0)==(0); | |
| $43 = $42 & $41; | |
| $44 = $40 | $43; | |
| if ($44) { | |
| label = 25; | |
| } else { | |
| $45 = HEAP32[2]|0; | |
| $46 = ($45|0)==(0); | |
| if ($46) { | |
| $85 = HEAP32[(52)>>2]|0; | |
| $86 = (FUNCTION_TABLE_ii[$85 & 255]($4)|0); | |
| $$0$i = $86; | |
| label = 23; | |
| break; | |
| } | |
| $47 = HEAP32[(68)>>2]|0; | |
| $48 = (FUNCTION_TABLE_ii[$47 & 255]($4)|0); | |
| $49 = HEAP32[11829]|0; | |
| $50 = ($49>>>0)<($4>>>0); | |
| if ($50) { | |
| HEAP32[11829] = $4; | |
| } | |
| $51 = (46456); | |
| $52 = $51; | |
| $53 = HEAP32[$52>>2]|0; | |
| $54 = (($51) + 4)|0; | |
| $55 = $54; | |
| $56 = HEAP32[$55>>2]|0; | |
| $57 = ($56|0)>(0); | |
| $58 = ($53>>>0)>(0); | |
| $59 = ($56|0)==(0); | |
| $60 = $59 & $58; | |
| $61 = $57 | $60; | |
| if ($61) { | |
| $62 = HEAP32[11822]|0; | |
| $63 = ($48|0)<(0); | |
| $64 = $63 << 31 >> 31; | |
| $65 = (_i64Subtract(($53|0),($56|0),($48|0),($64|0))|0); | |
| $66 = tempRet0; | |
| $67 = (0)>($66|0); | |
| $68 = ($62>>>0)>=($65>>>0); | |
| $69 = (0)==($66|0); | |
| $70 = $69 & $68; | |
| $71 = $67 | $70; | |
| $$sink$i$i = $71&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i; | |
| } | |
| $72 = HEAP32[(52)>>2]|0; | |
| $73 = (FUNCTION_TABLE_ii[$72 & 255]($48)|0); | |
| $74 = ($73|0)==(0|0); | |
| if ($74) { | |
| label = 25; | |
| } else { | |
| $75 = HEAP32[(64)>>2]|0; | |
| $76 = (FUNCTION_TABLE_ii[$75 & 255]($73)|0); | |
| $77 = HEAP32[11822]|0; | |
| $78 = (($77) + ($76))|0; | |
| HEAP32[11822] = $78; | |
| $79 = HEAP32[11826]|0; | |
| $80 = ($78>>>0)>($79>>>0); | |
| if ($80) { | |
| HEAP32[11826] = $78; | |
| } | |
| $81 = HEAP32[11825]|0; | |
| $82 = (($81) + 1)|0; | |
| HEAP32[11825] = $82; | |
| $83 = HEAP32[11831]|0; | |
| $84 = ($82>>>0)>($83>>>0); | |
| if ($84) { | |
| HEAP32[11831] = $82; | |
| $$0$i18 = $73; | |
| label = 24; | |
| } else { | |
| $$0$i18 = $73; | |
| label = 24; | |
| } | |
| } | |
| } | |
| } else { | |
| $6 = ((($1)) + 264|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ($7|0)==(0); | |
| if ($8) { | |
| $9 = ((($1)) + 268|0); | |
| $10 = HEAP16[$9>>1]|0; | |
| $11 = $10&65535; | |
| $12 = (0)<(0); | |
| $13 = ($11>>>0)<($4>>>0); | |
| $14 = (0)==(0); | |
| $15 = $14 & $13; | |
| $16 = $12 | $15; | |
| if ($16) { | |
| $$sink4$i$i = 1; | |
| } else { | |
| $17 = ((($1)) + 292|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = ($18|0)==(0|0); | |
| if (!($19)) { | |
| $20 = HEAP32[$18>>2]|0; | |
| HEAP32[$17>>2] = $20; | |
| $21 = ((($1)) + 276|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = (($22) + 1)|0; | |
| HEAP32[$21>>2] = $23; | |
| $$0$i = $18; | |
| label = 23; | |
| break; | |
| } | |
| $24 = ((($1)) + 288|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = ($25|0)==(0|0); | |
| if ($26) { | |
| $$sink4$i$i = 2; | |
| } else { | |
| $27 = HEAP32[$25>>2]|0; | |
| HEAP32[$24>>2] = $27; | |
| $28 = ((($1)) + 276|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = (($29) + 1)|0; | |
| HEAP32[$28>>2] = $30; | |
| $$0$i = $25; | |
| label = 23; | |
| break; | |
| } | |
| } | |
| $34 = (((($1)) + 276|0) + ($$sink4$i$i<<2)|0); | |
| $35 = HEAP32[$34>>2]|0; | |
| $36 = (($35) + 1)|0; | |
| HEAP32[$34>>2] = $36; | |
| } else { | |
| $31 = ((($1)) + 73|0); | |
| $32 = HEAP8[$31>>0]|0; | |
| $33 = ($32<<24>>24)==(0); | |
| if (!($33)) { | |
| label = 25; | |
| break; | |
| } | |
| } | |
| $37 = (_dbMallocRawFinish($1,$4,0)|0); | |
| $$0$i = $37; | |
| label = 23; | |
| } | |
| } while(0); | |
| if ((label|0) == 23) { | |
| $87 = ($$0$i|0)==(0|0); | |
| if ($87) { | |
| label = 25; | |
| } else { | |
| $$0$i18 = $$0$i; | |
| label = 24; | |
| } | |
| } | |
| if ((label|0) == 24) { | |
| $88 = ((($0)) + 4|0); | |
| $89 = HEAP32[$88>>2]|0; | |
| $90 = HEAP32[$2>>2]|0; | |
| $91 = (($90) + 1)|0; | |
| _memcpy(($$0$i18|0),($89|0),($91|0))|0; | |
| $92 = ((($0)) + 21|0); | |
| $93 = HEAP8[$92>>0]|0; | |
| $94 = $93 | 4; | |
| HEAP8[$92>>0] = $94; | |
| $$0$i14 = $$0$i18;$$pre$phiZ2D = $88; | |
| HEAP32[$$pre$phiZ2D>>2] = $$0$i14; | |
| return ($$0$i14|0); | |
| } | |
| else if ((label|0) == 25) { | |
| $95 = ((($0)) + 20|0); | |
| HEAP8[$95>>0] = 1; | |
| $96 = ((($0)) + 8|0); | |
| HEAP32[$96>>2] = 0; | |
| $$pre = ((($0)) + 4|0); | |
| $$0$i14 = 0;$$pre$phiZ2D = $$pre; | |
| HEAP32[$$pre$phiZ2D>>2] = $$0$i14; | |
| return ($$0$i14|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _dbMallocRawFinish($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i4 = 0, $$sink$i$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, $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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = (_i64Add(($1|0),($2|0),-1,-1)|0); | |
| $4 = tempRet0; | |
| $5 = ($4>>>0)>(0); | |
| $6 = ($3>>>0)>(2147483390); | |
| $7 = ($4|0)==(0); | |
| $8 = $7 & $6; | |
| $9 = $5 | $8; | |
| do { | |
| if (!($9)) { | |
| $10 = HEAP32[2]|0; | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $50 = HEAP32[(52)>>2]|0; | |
| $51 = (FUNCTION_TABLE_ii[$50 & 255]($1)|0); | |
| $52 = ($51|0)==(0|0); | |
| if ($52) { | |
| break; | |
| } else { | |
| $$0$i4 = $51; | |
| } | |
| return ($$0$i4|0); | |
| } | |
| $12 = HEAP32[(68)>>2]|0; | |
| $13 = (FUNCTION_TABLE_ii[$12 & 255]($1)|0); | |
| $14 = HEAP32[11829]|0; | |
| $15 = ($14>>>0)<($1>>>0); | |
| if ($15) { | |
| HEAP32[11829] = $1; | |
| } | |
| $16 = (46456); | |
| $17 = $16; | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = (($16) + 4)|0; | |
| $20 = $19; | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = ($21|0)>(0); | |
| $23 = ($18>>>0)>(0); | |
| $24 = ($21|0)==(0); | |
| $25 = $24 & $23; | |
| $26 = $22 | $25; | |
| if ($26) { | |
| $27 = HEAP32[11822]|0; | |
| $28 = ($13|0)<(0); | |
| $29 = $28 << 31 >> 31; | |
| $30 = (_i64Subtract(($18|0),($21|0),($13|0),($29|0))|0); | |
| $31 = tempRet0; | |
| $32 = (0)>($31|0); | |
| $33 = ($27>>>0)>=($30>>>0); | |
| $34 = (0)==($31|0); | |
| $35 = $34 & $33; | |
| $36 = $32 | $35; | |
| $$sink$i$i = $36&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i; | |
| } | |
| $37 = HEAP32[(52)>>2]|0; | |
| $38 = (FUNCTION_TABLE_ii[$37 & 255]($13)|0); | |
| $39 = ($38|0)==(0|0); | |
| if (!($39)) { | |
| $40 = HEAP32[(64)>>2]|0; | |
| $41 = (FUNCTION_TABLE_ii[$40 & 255]($38)|0); | |
| $42 = HEAP32[11822]|0; | |
| $43 = (($42) + ($41))|0; | |
| HEAP32[11822] = $43; | |
| $44 = HEAP32[11826]|0; | |
| $45 = ($43>>>0)>($44>>>0); | |
| if ($45) { | |
| HEAP32[11826] = $43; | |
| } | |
| $46 = HEAP32[11825]|0; | |
| $47 = (($46) + 1)|0; | |
| HEAP32[11825] = $47; | |
| $48 = HEAP32[11831]|0; | |
| $49 = ($47>>>0)>($48>>>0); | |
| if (!($49)) { | |
| $$0$i4 = $38; | |
| return ($$0$i4|0); | |
| } | |
| HEAP32[11831] = $47; | |
| $$0$i4 = $38; | |
| return ($$0$i4|0); | |
| } | |
| } | |
| } while(0); | |
| $53 = ((($0)) + 73|0); | |
| $54 = HEAP8[$53>>0]|0; | |
| $55 = ($54<<24>>24)==(0); | |
| if (!($55)) { | |
| $$0$i4 = 0; | |
| return ($$0$i4|0); | |
| } | |
| $56 = ((($0)) + 74|0); | |
| $57 = HEAP8[$56>>0]|0; | |
| $58 = ($57<<24>>24)==(0); | |
| if (!($58)) { | |
| $$0$i4 = 0; | |
| return ($$0$i4|0); | |
| } | |
| HEAP8[$53>>0] = 1; | |
| $59 = ((($0)) + 172|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = ($60|0)>(0); | |
| if ($61) { | |
| $62 = ((($0)) + 256|0); | |
| HEAP32[$62>>2] = 1; | |
| } | |
| $63 = ((($0)) + 264|0); | |
| $64 = HEAP32[$63>>2]|0; | |
| $65 = (($64) + 1)|0; | |
| HEAP32[$63>>2] = $65; | |
| $$0$i4 = 0; | |
| return ($$0$i4|0); | |
| } | |
| function _enlargeAndAppend($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $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 = (_sqlite3StrAccumEnlarge($0,$2)|0); | |
| $4 = ($3|0)>(0); | |
| if (!($4)) { | |
| return; | |
| } | |
| $5 = ((($0)) + 4|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ((($0)) + 16|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (($6) + ($8)|0); | |
| _memcpy(($9|0),($1|0),($3|0))|0; | |
| $10 = HEAP32[$7>>2]|0; | |
| $11 = (($10) + ($3))|0; | |
| HEAP32[$7>>2] = $11; | |
| return; | |
| } | |
| function _doubleToInt64($0) { | |
| $0 = +$0; | |
| var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = !($0 <= -9.2233720368547758E+18); | |
| if ($1) { | |
| $2 = !($0 >= 9.2233720368547758E+18); | |
| if ($2) { | |
| $3 = (~~$0)>>>0; | |
| $4 = +Math_abs($0) >= 1.0 ? $0 > 0.0 ? (~~+Math_min(+Math_floor($0 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($0 - +(~~$0 >>> 0)) / 4294967296.0) >>> 0 : 0; | |
| $5 = $4;$6 = $3; | |
| } else { | |
| $5 = 2147483647;$6 = -1; | |
| } | |
| } else { | |
| $5 = -2147483648;$6 = 0; | |
| } | |
| tempRet0 = ($5); | |
| return ($6|0); | |
| } | |
| function _memIntValue($$0$2$val,$$0$4$val,$$0$5$val) { | |
| $$0$2$val = $$0$2$val|0; | |
| $$0$4$val = $$0$4$val|0; | |
| $$0$5$val = $$0$5$val|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; | |
| STACKTOP = STACKTOP + 16|0; | |
| $0 = sp; | |
| $1 = $0; | |
| $2 = $1; | |
| HEAP32[$2>>2] = 0; | |
| $3 = (($1) + 4)|0; | |
| $4 = $3; | |
| HEAP32[$4>>2] = 0; | |
| (_sqlite3Atoi64($$0$5$val,$0,$$0$4$val,$$0$2$val)|0); | |
| $5 = $0; | |
| $6 = $5; | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (($5) + 4)|0; | |
| $9 = $8; | |
| $10 = HEAP32[$9>>2]|0; | |
| tempRet0 = ($10); | |
| STACKTOP = sp;return ($7|0); | |
| } | |
| function _memRealValue($$0$2$val,$$0$4$val,$$0$5$val) { | |
| $$0$2$val = $$0$2$val|0; | |
| $$0$4$val = $$0$4$val|0; | |
| $$0$5$val = $$0$5$val|0; | |
| var $0 = 0, $1 = 0.0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $0 = sp; | |
| HEAPF64[$0>>3] = 0.0; | |
| (_sqlite3AtoF($$0$5$val,$0,$$0$4$val,$$0$2$val)|0); | |
| $1 = +HEAPF64[$0>>3]; | |
| STACKTOP = sp;return (+$1); | |
| } | |
| function _valueToText($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$$i16 = 0, $$$i18 = 0, $$0 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$pre22 = 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, $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, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = ((($0)) + 8|0); | |
| $3 = HEAP16[$2>>1]|0; | |
| $4 = $3&65535; | |
| $5 = $4 & 18; | |
| $6 = ($5|0)==(0); | |
| if ($6) { | |
| (_sqlite3VdbeMemStringify($0,$1,0)|0); | |
| $$pre22 = ((($0)) + 10|0); | |
| $$pre$phiZ2D = $$pre22; | |
| } else { | |
| $7 = $4 & 16384; | |
| $8 = ($7|0)==(0); | |
| do { | |
| if ($8) { | |
| $27 = $3; | |
| } else { | |
| $9 = ((($0)) + 12|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = HEAP32[$0>>2]|0; | |
| $12 = (($11) + ($10))|0; | |
| $13 = ($12|0)>(1); | |
| $$$i16 = $13 ? $12 : 1; | |
| $14 = (_sqlite3VdbeMemGrow($0,$$$i16,1)|0); | |
| $15 = ($14|0)==(0); | |
| if ($15) { | |
| $16 = ((($0)) + 16|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = HEAP32[$9>>2]|0; | |
| $19 = (($17) + ($18)|0); | |
| $20 = HEAP32[$0>>2]|0; | |
| _memset(($19|0),0,($20|0))|0; | |
| $21 = HEAP32[$0>>2]|0; | |
| $22 = HEAP32[$9>>2]|0; | |
| $23 = (($22) + ($21))|0; | |
| HEAP32[$9>>2] = $23; | |
| $24 = HEAP16[$2>>1]|0; | |
| $25 = $24 & -16897; | |
| HEAP16[$2>>1] = $25; | |
| $27 = $25; | |
| break; | |
| } else { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| } | |
| } while(0); | |
| $26 = $27 | 2; | |
| HEAP16[$2>>1] = $26; | |
| $28 = ((($0)) + 10|0); | |
| $29 = HEAP8[$28>>0]|0; | |
| $30 = $29&255; | |
| $31 = $1&255; | |
| $32 = $31 & 247; | |
| $33 = ($30|0)==($32|0); | |
| if (!($33)) { | |
| $34 = $32&255; | |
| (_sqlite3VdbeMemTranslate($0,$34)|0); | |
| } | |
| $35 = $31 & 8; | |
| $36 = ($35|0)==(0); | |
| if (!($36)) { | |
| $37 = ((($0)) + 16|0); | |
| $38 = HEAP32[$37>>2]|0; | |
| $39 = $38 & 1; | |
| $40 = ($39|0)==(0); | |
| if (!($40)) { | |
| $41 = HEAP16[$2>>1]|0; | |
| $42 = $41&65535; | |
| $43 = $42 & 18; | |
| $44 = ($43|0)==(0); | |
| do { | |
| if ($44) { | |
| $73 = $41; | |
| } else { | |
| $45 = $42 & 16384; | |
| $46 = ($45|0)==(0); | |
| do { | |
| if ($46) { | |
| $82 = $41; | |
| } else { | |
| $47 = ((($0)) + 12|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $49 = HEAP32[$0>>2]|0; | |
| $50 = (($49) + ($48))|0; | |
| $51 = ($50|0)>(1); | |
| $$$i18 = $51 ? $50 : 1; | |
| $52 = (_sqlite3VdbeMemGrow($0,$$$i18,1)|0); | |
| $53 = ($52|0)==(0); | |
| if ($53) { | |
| $54 = HEAP32[$37>>2]|0; | |
| $55 = HEAP32[$47>>2]|0; | |
| $56 = (($54) + ($55)|0); | |
| $57 = HEAP32[$0>>2]|0; | |
| _memset(($56|0),0,($57|0))|0; | |
| $58 = HEAP32[$0>>2]|0; | |
| $59 = HEAP32[$47>>2]|0; | |
| $60 = (($59) + ($58))|0; | |
| HEAP32[$47>>2] = $60; | |
| $61 = HEAP16[$2>>1]|0; | |
| $62 = $61 & -16897; | |
| HEAP16[$2>>1] = $62; | |
| $82 = $62; | |
| break; | |
| } else { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| } | |
| } while(0); | |
| $63 = ((($0)) + 24|0); | |
| $64 = HEAP32[$63>>2]|0; | |
| $65 = ($64|0)==(0); | |
| if (!($65)) { | |
| $66 = HEAP32[$37>>2]|0; | |
| $67 = ((($0)) + 20|0); | |
| $68 = HEAP32[$67>>2]|0; | |
| $69 = ($66|0)==($68|0); | |
| if ($69) { | |
| $73 = $82; | |
| break; | |
| } | |
| } | |
| $70 = (_vdbeMemAddTerminator($0)|0); | |
| $71 = ($70|0)==(0); | |
| if ($71) { | |
| $$pre = HEAP16[$2>>1]|0; | |
| $73 = $$pre; | |
| break; | |
| } else { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| } | |
| } while(0); | |
| $72 = $73 & -4097; | |
| HEAP16[$2>>1] = $72; | |
| } | |
| } | |
| $74 = HEAP16[$2>>1]|0; | |
| $75 = $74 & 514; | |
| $76 = ($75<<16>>16)==(2); | |
| if ($76) { | |
| (_vdbeMemAddTerminator($0)|0); | |
| $$pre$phiZ2D = $28; | |
| } else { | |
| $$pre$phiZ2D = $28; | |
| } | |
| } | |
| $77 = HEAP8[$$pre$phiZ2D>>0]|0; | |
| $78 = $1 & -9; | |
| $79 = ($77<<24>>24)==($78<<24>>24); | |
| if (!($79)) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $80 = ((($0)) + 16|0); | |
| $81 = HEAP32[$80>>2]|0; | |
| $$0 = $81; | |
| return ($$0|0); | |
| } | |
| function _sqlite3StrAccumEnlarge($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$0$i = 0, $$050 = 0, $$pre$i = 0, $$pre$i52 = 0, $$pre$phi$i57Z2D = 0, $$pre$phi$iZ2D = 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, $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, $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; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $2 = ((($0)) + 20|0); | |
| $3 = HEAP8[$2>>0]|0; | |
| $4 = ($3<<24>>24)==(0); | |
| if (!($4)) { | |
| $134 = 0; | |
| return ($134|0); | |
| } | |
| $5 = ((($0)) + 12|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ($6|0)==(0); | |
| $8 = ((($0)) + 16|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| if ($7) { | |
| $10 = ((($0)) + 8|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = $9 ^ -1; | |
| $13 = (($11) + ($12))|0; | |
| HEAP8[$2>>0] = 2; | |
| HEAP32[$10>>2] = 0; | |
| $134 = $13; | |
| return ($134|0); | |
| } | |
| $14 = ((($0)) + 21|0); | |
| $15 = HEAP8[$14>>0]|0; | |
| $16 = $15 & 4; | |
| $17 = ($16<<24>>24)==(0); | |
| if ($17) { | |
| $72 = 0; | |
| } else { | |
| $18 = ((($0)) + 4|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $72 = $19; | |
| } | |
| $20 = (($1) + 1)|0; | |
| $21 = ($20|0)<(0); | |
| $22 = $21 << 31 >> 31; | |
| $23 = (_i64Add(($9|0),0,($20|0),($22|0))|0); | |
| $24 = tempRet0; | |
| $25 = (_i64Add(($23|0),($24|0),($9|0),0)|0); | |
| $26 = tempRet0; | |
| $27 = ($26|0)>(0); | |
| $28 = ($25>>>0)>($6>>>0); | |
| $29 = ($26|0)==(0); | |
| $30 = $29 & $28; | |
| $31 = $27 | $30; | |
| $32 = $31 ? $23 : $25; | |
| $33 = $31 ? $24 : $26; | |
| $34 = ($33|0)>(0); | |
| $35 = ($32>>>0)>($6>>>0); | |
| $36 = ($33|0)==(0); | |
| $37 = $36 & $35; | |
| $38 = $34 | $37; | |
| if ($38) { | |
| if ($17) { | |
| $$pre$i52 = ((($0)) + 4|0); | |
| $$pre$phi$i57Z2D = $$pre$i52; | |
| } else { | |
| $39 = HEAP32[$0>>2]|0; | |
| $40 = ((($0)) + 4|0); | |
| $41 = HEAP32[$40>>2]|0; | |
| $42 = ($41|0)==(0|0); | |
| do { | |
| if (!($42)) { | |
| $43 = ($39|0)==(0|0); | |
| if (!($43)) { | |
| $44 = ((($39)) + 464|0); | |
| $45 = HEAP32[$44>>2]|0; | |
| $46 = ($45|0)==(0|0); | |
| if (!($46)) { | |
| _measureAllocationSize($39,$41); | |
| break; | |
| } | |
| $47 = $41; | |
| $48 = ((($39)) + 296|0); | |
| $49 = HEAP32[$48>>2]|0; | |
| $50 = ($47>>>0)<($49>>>0); | |
| if (!($50)) { | |
| $51 = ((($39)) + 300|0); | |
| $52 = HEAP32[$51>>2]|0; | |
| $53 = ($47>>>0)<($52>>>0); | |
| if ($53) { | |
| $54 = ((($39)) + 292|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| HEAP32[$41>>2] = $55; | |
| HEAP32[$54>>2] = $41; | |
| break; | |
| } | |
| } | |
| } | |
| $56 = HEAP32[2]|0; | |
| $57 = ($56|0)==(0); | |
| if ($57) { | |
| $65 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$65 & 255]($41); | |
| break; | |
| } else { | |
| $58 = HEAP32[(64)>>2]|0; | |
| $59 = (FUNCTION_TABLE_ii[$58 & 255]($41)|0); | |
| $60 = HEAP32[11822]|0; | |
| $61 = (($60) - ($59))|0; | |
| HEAP32[11822] = $61; | |
| $62 = HEAP32[11825]|0; | |
| $63 = (($62) + -1)|0; | |
| HEAP32[11825] = $63; | |
| $64 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$64 & 255]($41); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $66 = HEAP8[$14>>0]|0; | |
| $67 = $66 & -5; | |
| HEAP8[$14>>0] = $67; | |
| $$pre$phi$i57Z2D = $40; | |
| } | |
| HEAP32[$$pre$phi$i57Z2D>>2] = 0; | |
| HEAP8[$2>>0] = 2; | |
| $68 = ((($0)) + 8|0); | |
| HEAP32[$68>>2] = 0; | |
| $134 = 0; | |
| return ($134|0); | |
| } | |
| $69 = ((($0)) + 8|0); | |
| HEAP32[$69>>2] = $32; | |
| $70 = HEAP32[$0>>2]|0; | |
| $71 = ($70|0)==(0|0); | |
| if ($71) { | |
| $74 = (_sqlite3_initialize()|0); | |
| $75 = ($74|0)==(0); | |
| if ($75) { | |
| $76 = (_sqlite3Realloc($72,$32,0)|0); | |
| $$050 = $76; | |
| label = 25; | |
| } | |
| } else { | |
| $73 = (_sqlite3DbRealloc($70,$72,$32,0)|0); | |
| $$050 = $73; | |
| label = 25; | |
| } | |
| if ((label|0) == 25) { | |
| $77 = ($$050|0)==(0|0); | |
| if (!($77)) { | |
| $78 = HEAP8[$14>>0]|0; | |
| $79 = $78 & 4; | |
| $80 = ($79<<24>>24)==(0); | |
| if ($80) { | |
| $81 = HEAP32[$8>>2]|0; | |
| $82 = ($81|0)==(0); | |
| if (!($82)) { | |
| $83 = ((($0)) + 4|0); | |
| $84 = HEAP32[$83>>2]|0; | |
| _memcpy(($$050|0),($84|0),($81|0))|0; | |
| } | |
| } | |
| $85 = ((($0)) + 4|0); | |
| HEAP32[$85>>2] = $$050; | |
| $86 = HEAP32[$0>>2]|0; | |
| $87 = ($86|0)==(0|0); | |
| if ($87) { | |
| label = 32; | |
| } else { | |
| $88 = $$050; | |
| $89 = ((($86)) + 296|0); | |
| $90 = HEAP32[$89>>2]|0; | |
| $91 = ($88>>>0)<($90>>>0); | |
| if ($91) { | |
| label = 32; | |
| } else { | |
| $92 = ((($86)) + 300|0); | |
| $93 = HEAP32[$92>>2]|0; | |
| $94 = ($88>>>0)<($93>>>0); | |
| if ($94) { | |
| $97 = ((($86)) + 268|0); | |
| $98 = HEAP16[$97>>1]|0; | |
| $99 = $98&65535; | |
| $$0$i = $99; | |
| } else { | |
| label = 32; | |
| } | |
| } | |
| } | |
| if ((label|0) == 32) { | |
| $95 = HEAP32[(64)>>2]|0; | |
| $96 = (FUNCTION_TABLE_ii[$95 & 255]($$050)|0); | |
| $$0$i = $96; | |
| } | |
| HEAP32[$69>>2] = $$0$i; | |
| $132 = HEAP8[$14>>0]|0; | |
| $133 = $132 | 4; | |
| HEAP8[$14>>0] = $133; | |
| $134 = $1; | |
| return ($134|0); | |
| } | |
| } | |
| $100 = HEAP8[$14>>0]|0; | |
| $101 = $100 & 4; | |
| $102 = ($101<<24>>24)==(0); | |
| if ($102) { | |
| $$pre$i = ((($0)) + 4|0); | |
| $$pre$phi$iZ2D = $$pre$i; | |
| } else { | |
| $103 = HEAP32[$0>>2]|0; | |
| $104 = ((($0)) + 4|0); | |
| $105 = HEAP32[$104>>2]|0; | |
| $106 = ($105|0)==(0|0); | |
| do { | |
| if (!($106)) { | |
| $107 = ($103|0)==(0|0); | |
| if (!($107)) { | |
| $108 = ((($103)) + 464|0); | |
| $109 = HEAP32[$108>>2]|0; | |
| $110 = ($109|0)==(0|0); | |
| if (!($110)) { | |
| _measureAllocationSize($103,$105); | |
| break; | |
| } | |
| $111 = $105; | |
| $112 = ((($103)) + 296|0); | |
| $113 = HEAP32[$112>>2]|0; | |
| $114 = ($111>>>0)<($113>>>0); | |
| if (!($114)) { | |
| $115 = ((($103)) + 300|0); | |
| $116 = HEAP32[$115>>2]|0; | |
| $117 = ($111>>>0)<($116>>>0); | |
| if ($117) { | |
| $118 = ((($103)) + 292|0); | |
| $119 = HEAP32[$118>>2]|0; | |
| HEAP32[$105>>2] = $119; | |
| HEAP32[$118>>2] = $105; | |
| break; | |
| } | |
| } | |
| } | |
| $120 = HEAP32[2]|0; | |
| $121 = ($120|0)==(0); | |
| if ($121) { | |
| $129 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$129 & 255]($105); | |
| break; | |
| } else { | |
| $122 = HEAP32[(64)>>2]|0; | |
| $123 = (FUNCTION_TABLE_ii[$122 & 255]($105)|0); | |
| $124 = HEAP32[11822]|0; | |
| $125 = (($124) - ($123))|0; | |
| HEAP32[11822] = $125; | |
| $126 = HEAP32[11825]|0; | |
| $127 = (($126) + -1)|0; | |
| HEAP32[11825] = $127; | |
| $128 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$128 & 255]($105); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $130 = HEAP8[$14>>0]|0; | |
| $131 = $130 & -5; | |
| HEAP8[$14>>0] = $131; | |
| $$pre$phi$iZ2D = $104; | |
| } | |
| HEAP32[$$pre$phi$iZ2D>>2] = 0; | |
| HEAP8[$2>>0] = 1; | |
| HEAP32[$69>>2] = 0; | |
| $134 = 0; | |
| return ($134|0); | |
| } | |
| function _measureAllocationSize($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$0$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 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) { | |
| label = 4; | |
| } else { | |
| $3 = $1; | |
| $4 = ((($0)) + 296|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ($3>>>0)<($5>>>0); | |
| if ($6) { | |
| label = 4; | |
| } else { | |
| $7 = ((($0)) + 300|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ($3>>>0)<($8>>>0); | |
| if ($9) { | |
| $12 = ((($0)) + 268|0); | |
| $13 = HEAP16[$12>>1]|0; | |
| $14 = $13&65535; | |
| $$0$i = $14; | |
| } else { | |
| label = 4; | |
| } | |
| } | |
| } | |
| if ((label|0) == 4) { | |
| $10 = HEAP32[(64)>>2]|0; | |
| $11 = (FUNCTION_TABLE_ii[$10 & 255]($1)|0); | |
| $$0$i = $11; | |
| } | |
| $15 = ((($0)) + 464|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = (($17) + ($$0$i))|0; | |
| HEAP32[$16>>2] = $18; | |
| return; | |
| } | |
| function _sqlite3DbRealloc($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var $$0 = 0, $$sink4$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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $4 = ($1|0)==(0|0); | |
| if (!($4)) { | |
| $37 = $1; | |
| $38 = ((($0)) + 296|0); | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = ($37>>>0)<($39>>>0); | |
| if (!($40)) { | |
| $41 = ((($0)) + 300|0); | |
| $42 = HEAP32[$41>>2]|0; | |
| $43 = ($37>>>0)<($42>>>0); | |
| if ($43) { | |
| $44 = ((($0)) + 268|0); | |
| $45 = HEAP16[$44>>1]|0; | |
| $46 = $45&65535; | |
| $47 = (0)<($3>>>0); | |
| $48 = ($46>>>0)<($2>>>0); | |
| $49 = (0)==($3|0); | |
| $50 = $49 & $48; | |
| $51 = $47 | $50; | |
| if (!($51)) { | |
| $$0 = $1; | |
| return ($$0|0); | |
| } | |
| } | |
| } | |
| $52 = (_dbReallocFinish($0,$1,$2,$3)|0); | |
| $$0 = $52; | |
| return ($$0|0); | |
| } | |
| $5 = ((($0)) + 264|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ($6|0)==(0); | |
| if ($7) { | |
| $8 = ((($0)) + 268|0); | |
| $9 = HEAP16[$8>>1]|0; | |
| $10 = $9&65535; | |
| $11 = (0)<($3>>>0); | |
| $12 = ($10>>>0)<($2>>>0); | |
| $13 = (0)==($3|0); | |
| $14 = $13 & $12; | |
| $15 = $11 | $14; | |
| if ($15) { | |
| $$sink4$i = 1; | |
| } else { | |
| $16 = ((($0)) + 292|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = ($17|0)==(0|0); | |
| if (!($18)) { | |
| $19 = HEAP32[$17>>2]|0; | |
| HEAP32[$16>>2] = $19; | |
| $20 = ((($0)) + 276|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = (($21) + 1)|0; | |
| HEAP32[$20>>2] = $22; | |
| $$0 = $17; | |
| return ($$0|0); | |
| } | |
| $23 = ((($0)) + 288|0); | |
| $24 = HEAP32[$23>>2]|0; | |
| $25 = ($24|0)==(0|0); | |
| if ($25) { | |
| $$sink4$i = 2; | |
| } else { | |
| $26 = HEAP32[$24>>2]|0; | |
| HEAP32[$23>>2] = $26; | |
| $27 = ((($0)) + 276|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = (($28) + 1)|0; | |
| HEAP32[$27>>2] = $29; | |
| $$0 = $24; | |
| return ($$0|0); | |
| } | |
| } | |
| $33 = (((($0)) + 276|0) + ($$sink4$i<<2)|0); | |
| $34 = HEAP32[$33>>2]|0; | |
| $35 = (($34) + 1)|0; | |
| HEAP32[$33>>2] = $35; | |
| } else { | |
| $30 = ((($0)) + 73|0); | |
| $31 = HEAP8[$30>>0]|0; | |
| $32 = ($31<<24>>24)==(0); | |
| if (!($32)) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| } | |
| $36 = (_dbMallocRawFinish($0,$2,$3)|0); | |
| $$0 = $36; | |
| return ($$0|0); | |
| } | |
| function _sqlite3_initialize() { | |
| var $$$i$i$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i20 = 0, $$0$i$i$i3$i = 0, $$0$i$i15$i = 0, $$0$i$i20$i = 0, $$0$i1828 = 0, $$0$i1937 = 0, $$0$lcssa$i = 0, $$01315$i$i$i = 0, $$01315$i$i$i$i = 0, $$01315$i$i$i10$i = 0, $$014 = 0, $$016$i$i$i = 0, $$016$i$i$i$i = 0, $$016$i$i$i9$i = 0, $$019$i = 0, $$033$i$i = 0; | |
| var $$033$i$i$i = 0, $$033$i$i1$i = 0, $$07$i$i = 0, $$07$i$i$i = 0, $$07$i$i4$i = 0, $$08$i$i = 0, $$08$i$i$i = 0, $$08$i$i7$i = 0, $$118$i = 0, $$17$i = 0, $$329 = 0, $$4 = 0, $$lcssa$i$i$i = 0, $$lcssa$i$i$i$i = 0, $$lcssa$i$i$i13$i = 0, $$op$i = 0, $$pr = 0, $$pre = 0, $$pre47 = 0, $$sink$i$i = 0; | |
| var $$sink$i$i$i = 0, $$sink$i$i$i16 = 0, $$sink$i$i18$i = 0, $$sink$i$i22 = 0, $0 = 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; | |
| 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, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; | |
| var $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, $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; | |
| var $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, $238 = 0; | |
| var $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, $256 = 0; | |
| var $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, $274 = 0; | |
| var $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, $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, $exitcond = 0, $exitcond$i$i = 0, $exitcond$i$i$i = 0, $exitcond$i$i19$i = 0; | |
| var $not$$i$i$i21 = 0, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond$i$i$i = 0, $or$cond$i$i$i$i = 0, $or$cond$i$i$i11$i = 0, $or$cond14$i$i$i = 0, $or$cond14$i$i$i$i = 0, $or$cond14$i$i$i8$i = 0, $or$cond3$i = 0, $scevgep = 0, $scevgep$i = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $vararg_buffer1 = sp + 8|0; | |
| $vararg_buffer = sp; | |
| $0 = HEAP32[(232)>>2]|0; | |
| $1 = ($0|0)==(0); | |
| if (!($1)) { | |
| $$014 = 0; | |
| STACKTOP = sp;return ($$014|0); | |
| } | |
| HEAP32[(240)>>2] = 1; | |
| $2 = HEAP32[(244)>>2]|0; | |
| $3 = ($2|0)==(0); | |
| if ($3) { | |
| $4 = HEAP32[(52)>>2]|0; | |
| $5 = ($4|0)==(0|0); | |
| if ($5) { | |
| HEAP32[$vararg_buffer>>2] = 992; | |
| (_sqlite3_config(4,$vararg_buffer)|0); | |
| } | |
| ;HEAP32[46448>>2]=0|0;HEAP32[46448+4>>2]=0|0;HEAP32[46448+8>>2]=0|0;HEAP32[46448+12>>2]=0|0;HEAP32[46448+16>>2]=0|0;HEAP32[46448+20>>2]=0|0; | |
| HEAP32[11612] = (8); | |
| $6 = HEAP32[(208)>>2]|0; | |
| $7 = ($6|0)==(0|0); | |
| $8 = HEAP32[(212)>>2]|0; | |
| $9 = ($8|0)<(512); | |
| $or$cond$i = $7 | $9; | |
| $10 = HEAP32[(216)>>2]|0; | |
| $11 = ($10|0)<(1); | |
| $or$cond3$i = $or$cond$i | $11; | |
| if ($or$cond3$i) { | |
| HEAP32[(208)>>2] = 0; | |
| HEAP32[(212)>>2] = 0; | |
| } | |
| $12 = HEAP32[(72)>>2]|0; | |
| $13 = HEAP32[(80)>>2]|0; | |
| $14 = (FUNCTION_TABLE_ii[$12 & 255]($13)|0); | |
| $15 = ($14|0)==(0); | |
| if (!($15)) { | |
| ;HEAP32[46448>>2]=0|0;HEAP32[46448+4>>2]=0|0;HEAP32[46448+8>>2]=0|0;HEAP32[46448+12>>2]=0|0;HEAP32[46448+16>>2]=0|0;HEAP32[46448+20>>2]=0|0; | |
| $$014 = $14; | |
| STACKTOP = sp;return ($$014|0); | |
| } | |
| } | |
| HEAP32[(244)>>2] = 1; | |
| $16 = HEAP32[(256)>>2]|0; | |
| $17 = ($16|0)==(0|0); | |
| if ($17) { | |
| HEAP32[(256)>>2] = (8); | |
| } | |
| $18 = HEAP32[(252)>>2]|0; | |
| $19 = (($18) + 1)|0; | |
| HEAP32[(252)>>2] = $19; | |
| $20 = HEAP32[(232)>>2]|0; | |
| $21 = HEAP32[(236)>>2]|0; | |
| $22 = $21 | $20; | |
| $23 = ($22|0)==(0); | |
| if ($23) { | |
| HEAP32[(236)>>2] = 1; | |
| dest=46476; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| $$033$i$i$i = 0; | |
| while(1) { | |
| $24 = (1024 + (($$033$i$i$i*28)|0)|0); | |
| $25 = (((1024 + (($$033$i$i$i*28)|0)|0)) + 20|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ($26|0)==(0|0); | |
| if ($27) { | |
| $$0$i$i$i$i = 0; | |
| } else { | |
| $28 = (_strlen($26)|0); | |
| $29 = $28 & 1073741823; | |
| $$0$i$i$i$i = $29; | |
| } | |
| $30 = HEAP8[$26>>0]|0; | |
| $31 = $30 << 24 >> 24; | |
| $32 = (($31) + ($$0$i$i$i$i))|0; | |
| $33 = (($32|0) % 23)&-1; | |
| $34 = (46476 + ($33<<2)|0); | |
| $$07$i$i$i = HEAP32[$34>>2]|0; | |
| $35 = ($$07$i$i$i|0)==(0|0); | |
| $36 = $$07$i$i$i; | |
| L25: do { | |
| if ($35) { | |
| label = 23; | |
| } else { | |
| $37 = $30&255; | |
| $38 = (17324 + ($37)|0); | |
| $39 = HEAP8[$38>>0]|0; | |
| $40 = $39&255; | |
| $$08$i$i$i = $$07$i$i$i; | |
| while(1) { | |
| $41 = ((($$08$i$i$i)) + 20|0); | |
| $42 = HEAP32[$41>>2]|0; | |
| $43 = HEAP8[$42>>0]|0; | |
| $44 = $43&255; | |
| $45 = (17324 + ($44)|0); | |
| $46 = HEAP8[$45>>0]|0; | |
| $47 = $46&255; | |
| $48 = (($47) - ($40))|0; | |
| $49 = ($48|0)!=(0); | |
| $50 = ($43<<24>>24)==(0); | |
| $or$cond14$i$i$i$i = $50 | $49; | |
| if ($or$cond14$i$i$i$i) { | |
| $$lcssa$i$i$i$i = $48; | |
| } else { | |
| $$01315$i$i$i$i = $26;$$016$i$i$i$i = $42; | |
| while(1) { | |
| $51 = ((($$016$i$i$i$i)) + 1|0); | |
| $52 = ((($$01315$i$i$i$i)) + 1|0); | |
| $53 = HEAP8[$51>>0]|0; | |
| $54 = $53&255; | |
| $55 = (17324 + ($54)|0); | |
| $56 = HEAP8[$55>>0]|0; | |
| $57 = $56&255; | |
| $58 = HEAP8[$52>>0]|0; | |
| $59 = $58&255; | |
| $60 = (17324 + ($59)|0); | |
| $61 = HEAP8[$60>>0]|0; | |
| $62 = $61&255; | |
| $63 = (($57) - ($62))|0; | |
| $64 = ($63|0)!=(0); | |
| $65 = ($53<<24>>24)==(0); | |
| $or$cond$i$i$i$i = $65 | $64; | |
| if ($or$cond$i$i$i$i) { | |
| $$lcssa$i$i$i$i = $63; | |
| break; | |
| } else { | |
| $$01315$i$i$i$i = $52;$$016$i$i$i$i = $51; | |
| } | |
| } | |
| } | |
| $66 = ($$lcssa$i$i$i$i|0)==(0); | |
| if ($66) { | |
| break; | |
| } | |
| $67 = ((($$08$i$i$i)) + 24|0); | |
| $$0$i$i$i = HEAP32[$67>>2]|0; | |
| $68 = ($$0$i$i$i|0)==(0|0); | |
| if ($68) { | |
| label = 23; | |
| break L25; | |
| } else { | |
| $$08$i$i$i = $$0$i$i$i; | |
| } | |
| } | |
| $69 = ($$08$i$i$i|0)==(0|0); | |
| if ($69) { | |
| label = 23; | |
| } else { | |
| $70 = ((($$08$i$i$i)) + 8|0); | |
| $71 = HEAP32[$70>>2]|0; | |
| $72 = (((1024 + (($$033$i$i$i*28)|0)|0)) + 8|0); | |
| HEAP32[$72>>2] = $71; | |
| $$sink$i$i$i = $70; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 23) { | |
| label = 0; | |
| $73 = (((1024 + (($$033$i$i$i*28)|0)|0)) + 8|0); | |
| HEAP32[$73>>2] = 0; | |
| $74 = (((1024 + (($$033$i$i$i*28)|0)|0)) + 24|0); | |
| HEAP32[$74>>2] = $36; | |
| $$sink$i$i$i = $34; | |
| } | |
| HEAP32[$$sink$i$i$i>>2] = $24; | |
| $75 = (($$033$i$i$i) + 1)|0; | |
| $exitcond$i$i$i = ($75|0)==(3); | |
| if ($exitcond$i$i$i) { | |
| $$033$i$i1$i = 0; | |
| break; | |
| } else { | |
| $$033$i$i$i = $75; | |
| } | |
| } | |
| while(1) { | |
| $76 = (1108 + (($$033$i$i1$i*28)|0)|0); | |
| $77 = (((1108 + (($$033$i$i1$i*28)|0)|0)) + 20|0); | |
| $78 = HEAP32[$77>>2]|0; | |
| $79 = ($78|0)==(0|0); | |
| if ($79) { | |
| $$0$i$i$i3$i = 0; | |
| } else { | |
| $80 = (_strlen($78)|0); | |
| $81 = $80 & 1073741823; | |
| $$0$i$i$i3$i = $81; | |
| } | |
| $82 = HEAP8[$78>>0]|0; | |
| $83 = $82 << 24 >> 24; | |
| $84 = (($83) + ($$0$i$i$i3$i))|0; | |
| $85 = (($84|0) % 23)&-1; | |
| $86 = (46476 + ($85<<2)|0); | |
| $$07$i$i4$i = HEAP32[$86>>2]|0; | |
| $87 = ($$07$i$i4$i|0)==(0|0); | |
| $88 = $$07$i$i4$i; | |
| L44: do { | |
| if ($87) { | |
| label = 35; | |
| } else { | |
| $89 = $82&255; | |
| $90 = (17324 + ($89)|0); | |
| $91 = HEAP8[$90>>0]|0; | |
| $92 = $91&255; | |
| $$08$i$i7$i = $$07$i$i4$i; | |
| while(1) { | |
| $93 = ((($$08$i$i7$i)) + 20|0); | |
| $94 = HEAP32[$93>>2]|0; | |
| $95 = HEAP8[$94>>0]|0; | |
| $96 = $95&255; | |
| $97 = (17324 + ($96)|0); | |
| $98 = HEAP8[$97>>0]|0; | |
| $99 = $98&255; | |
| $100 = (($99) - ($92))|0; | |
| $101 = ($100|0)!=(0); | |
| $102 = ($95<<24>>24)==(0); | |
| $or$cond14$i$i$i8$i = $102 | $101; | |
| if ($or$cond14$i$i$i8$i) { | |
| $$lcssa$i$i$i13$i = $100; | |
| } else { | |
| $$01315$i$i$i10$i = $78;$$016$i$i$i9$i = $94; | |
| while(1) { | |
| $103 = ((($$016$i$i$i9$i)) + 1|0); | |
| $104 = ((($$01315$i$i$i10$i)) + 1|0); | |
| $105 = HEAP8[$103>>0]|0; | |
| $106 = $105&255; | |
| $107 = (17324 + ($106)|0); | |
| $108 = HEAP8[$107>>0]|0; | |
| $109 = $108&255; | |
| $110 = HEAP8[$104>>0]|0; | |
| $111 = $110&255; | |
| $112 = (17324 + ($111)|0); | |
| $113 = HEAP8[$112>>0]|0; | |
| $114 = $113&255; | |
| $115 = (($109) - ($114))|0; | |
| $116 = ($115|0)!=(0); | |
| $117 = ($105<<24>>24)==(0); | |
| $or$cond$i$i$i11$i = $117 | $116; | |
| if ($or$cond$i$i$i11$i) { | |
| $$lcssa$i$i$i13$i = $115; | |
| break; | |
| } else { | |
| $$01315$i$i$i10$i = $104;$$016$i$i$i9$i = $103; | |
| } | |
| } | |
| } | |
| $118 = ($$lcssa$i$i$i13$i|0)==(0); | |
| if ($118) { | |
| break; | |
| } | |
| $119 = ((($$08$i$i7$i)) + 24|0); | |
| $$0$i$i15$i = HEAP32[$119>>2]|0; | |
| $120 = ($$0$i$i15$i|0)==(0|0); | |
| if ($120) { | |
| label = 35; | |
| break L44; | |
| } else { | |
| $$08$i$i7$i = $$0$i$i15$i; | |
| } | |
| } | |
| $121 = ($$08$i$i7$i|0)==(0|0); | |
| if ($121) { | |
| label = 35; | |
| } else { | |
| $122 = ((($$08$i$i7$i)) + 8|0); | |
| $123 = HEAP32[$122>>2]|0; | |
| $124 = (((1108 + (($$033$i$i1$i*28)|0)|0)) + 8|0); | |
| HEAP32[$124>>2] = $123; | |
| $$sink$i$i18$i = $122; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 35) { | |
| label = 0; | |
| $125 = (((1108 + (($$033$i$i1$i*28)|0)|0)) + 8|0); | |
| HEAP32[$125>>2] = 0; | |
| $126 = (((1108 + (($$033$i$i1$i*28)|0)|0)) + 24|0); | |
| HEAP32[$126>>2] = $88; | |
| $$sink$i$i18$i = $86; | |
| } | |
| HEAP32[$$sink$i$i18$i>>2] = $76; | |
| $127 = (($$033$i$i1$i) + 1)|0; | |
| $exitcond$i$i19$i = ($127|0)==(8); | |
| if ($exitcond$i$i19$i) { | |
| $$033$i$i = 0; | |
| break; | |
| } else { | |
| $$033$i$i1$i = $127; | |
| } | |
| } | |
| while(1) { | |
| $128 = (1332 + (($$033$i$i*28)|0)|0); | |
| $129 = (((1332 + (($$033$i$i*28)|0)|0)) + 20|0); | |
| $130 = HEAP32[$129>>2]|0; | |
| $131 = ($130|0)==(0|0); | |
| if ($131) { | |
| $$0$i$i20$i = 0; | |
| } else { | |
| $132 = (_strlen($130)|0); | |
| $133 = $132 & 1073741823; | |
| $$0$i$i20$i = $133; | |
| } | |
| $134 = HEAP8[$130>>0]|0; | |
| $135 = $134 << 24 >> 24; | |
| $136 = (($135) + ($$0$i$i20$i))|0; | |
| $137 = (($136|0) % 23)&-1; | |
| $138 = (46476 + ($137<<2)|0); | |
| $$07$i$i = HEAP32[$138>>2]|0; | |
| $139 = ($$07$i$i|0)==(0|0); | |
| $140 = $$07$i$i; | |
| L63: do { | |
| if ($139) { | |
| label = 47; | |
| } else { | |
| $141 = $134&255; | |
| $142 = (17324 + ($141)|0); | |
| $143 = HEAP8[$142>>0]|0; | |
| $144 = $143&255; | |
| $$08$i$i = $$07$i$i; | |
| while(1) { | |
| $145 = ((($$08$i$i)) + 20|0); | |
| $146 = HEAP32[$145>>2]|0; | |
| $147 = HEAP8[$146>>0]|0; | |
| $148 = $147&255; | |
| $149 = (17324 + ($148)|0); | |
| $150 = HEAP8[$149>>0]|0; | |
| $151 = $150&255; | |
| $152 = (($151) - ($144))|0; | |
| $153 = ($152|0)!=(0); | |
| $154 = ($147<<24>>24)==(0); | |
| $or$cond14$i$i$i = $154 | $153; | |
| if ($or$cond14$i$i$i) { | |
| $$lcssa$i$i$i = $152; | |
| } else { | |
| $$01315$i$i$i = $130;$$016$i$i$i = $146; | |
| while(1) { | |
| $155 = ((($$016$i$i$i)) + 1|0); | |
| $156 = ((($$01315$i$i$i)) + 1|0); | |
| $157 = HEAP8[$155>>0]|0; | |
| $158 = $157&255; | |
| $159 = (17324 + ($158)|0); | |
| $160 = HEAP8[$159>>0]|0; | |
| $161 = $160&255; | |
| $162 = HEAP8[$156>>0]|0; | |
| $163 = $162&255; | |
| $164 = (17324 + ($163)|0); | |
| $165 = HEAP8[$164>>0]|0; | |
| $166 = $165&255; | |
| $167 = (($161) - ($166))|0; | |
| $168 = ($167|0)!=(0); | |
| $169 = ($157<<24>>24)==(0); | |
| $or$cond$i$i$i = $169 | $168; | |
| if ($or$cond$i$i$i) { | |
| $$lcssa$i$i$i = $167; | |
| break; | |
| } else { | |
| $$01315$i$i$i = $156;$$016$i$i$i = $155; | |
| } | |
| } | |
| } | |
| $170 = ($$lcssa$i$i$i|0)==(0); | |
| if ($170) { | |
| break; | |
| } | |
| $171 = ((($$08$i$i)) + 24|0); | |
| $$0$i$i = HEAP32[$171>>2]|0; | |
| $172 = ($$0$i$i|0)==(0|0); | |
| if ($172) { | |
| label = 47; | |
| break L63; | |
| } else { | |
| $$08$i$i = $$0$i$i; | |
| } | |
| } | |
| $173 = ($$08$i$i|0)==(0|0); | |
| if ($173) { | |
| label = 47; | |
| } else { | |
| $174 = ((($$08$i$i)) + 8|0); | |
| $175 = HEAP32[$174>>2]|0; | |
| $176 = (((1332 + (($$033$i$i*28)|0)|0)) + 8|0); | |
| HEAP32[$176>>2] = $175; | |
| $$sink$i$i = $174; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 47) { | |
| label = 0; | |
| $177 = (((1332 + (($$033$i$i*28)|0)|0)) + 8|0); | |
| HEAP32[$177>>2] = 0; | |
| $178 = (((1332 + (($$033$i$i*28)|0)|0)) + 24|0); | |
| HEAP32[$178>>2] = $140; | |
| $$sink$i$i = $138; | |
| } | |
| HEAP32[$$sink$i$i>>2] = $128; | |
| $179 = (($$033$i$i) + 1)|0; | |
| $exitcond$i$i = ($179|0)==(57); | |
| if ($exitcond$i$i) { | |
| break; | |
| } else { | |
| $$033$i$i = $179; | |
| } | |
| } | |
| $180 = HEAP32[(248)>>2]|0; | |
| $181 = ($180|0)==(0); | |
| if ($181) { | |
| $182 = HEAP32[(128)>>2]|0; | |
| $183 = ($182|0)==(0|0); | |
| if ($183) { | |
| HEAP32[$vararg_buffer1>>2] = 2928; | |
| (_sqlite3_config(18,$vararg_buffer1)|0); | |
| $$pre = HEAP32[(128)>>2]|0; | |
| $185 = $$pre; | |
| } else { | |
| $185 = $182; | |
| } | |
| $184 = HEAP32[(124)>>2]|0; | |
| $186 = (FUNCTION_TABLE_ii[$185 & 255]($184)|0); | |
| $187 = ($186|0)==(0); | |
| if ($187) { | |
| label = 53; | |
| } else { | |
| $$329 = $186; | |
| } | |
| } else { | |
| label = 53; | |
| } | |
| do { | |
| if ((label|0) == 53) { | |
| HEAP32[(248)>>2] = 1; | |
| $188 = (_sqlite3_initialize()|0); | |
| $189 = ($188|0)==(0); | |
| if ($189) { | |
| $190 = HEAP32[2]|0; | |
| $191 = ($190|0)==(0); | |
| if ($191) { | |
| $230 = HEAP32[(52)>>2]|0; | |
| $231 = (FUNCTION_TABLE_ii[$230 & 255](10)|0); | |
| $232 = ($231|0)==(0|0); | |
| if ($232) { | |
| $$329 = 7; | |
| break; | |
| } else { | |
| $$0$i1828 = $231; | |
| } | |
| } else { | |
| $192 = HEAP32[(68)>>2]|0; | |
| $193 = (FUNCTION_TABLE_ii[$192 & 255](10)|0); | |
| $194 = HEAP32[11829]|0; | |
| $195 = ($194>>>0)<(10); | |
| if ($195) { | |
| HEAP32[11829] = 10; | |
| } | |
| $196 = (46456); | |
| $197 = $196; | |
| $198 = HEAP32[$197>>2]|0; | |
| $199 = (($196) + 4)|0; | |
| $200 = $199; | |
| $201 = HEAP32[$200>>2]|0; | |
| $202 = ($201|0)>(0); | |
| $203 = ($198>>>0)>(0); | |
| $204 = ($201|0)==(0); | |
| $205 = $204 & $203; | |
| $206 = $202 | $205; | |
| if ($206) { | |
| $207 = HEAP32[11822]|0; | |
| $208 = ($193|0)<(0); | |
| $209 = $208 << 31 >> 31; | |
| $210 = (_i64Subtract(($198|0),($201|0),($193|0),($209|0))|0); | |
| $211 = tempRet0; | |
| $212 = (0)>($211|0); | |
| $213 = ($207>>>0)>=($210>>>0); | |
| $214 = (0)==($211|0); | |
| $215 = $214 & $213; | |
| $216 = $212 | $215; | |
| $$sink$i$i$i16 = $216&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i16; | |
| } | |
| $217 = HEAP32[(52)>>2]|0; | |
| $218 = (FUNCTION_TABLE_ii[$217 & 255]($193)|0); | |
| $219 = ($218|0)==(0|0); | |
| if ($219) { | |
| $$329 = 7; | |
| break; | |
| } | |
| $220 = HEAP32[(64)>>2]|0; | |
| $221 = (FUNCTION_TABLE_ii[$220 & 255]($218)|0); | |
| $222 = HEAP32[11822]|0; | |
| $223 = (($222) + ($221))|0; | |
| HEAP32[11822] = $223; | |
| $224 = HEAP32[11826]|0; | |
| $225 = ($223>>>0)>($224>>>0); | |
| if ($225) { | |
| HEAP32[11826] = $223; | |
| } | |
| $226 = HEAP32[11825]|0; | |
| $227 = (($226) + 1)|0; | |
| HEAP32[11825] = $227; | |
| $228 = HEAP32[11831]|0; | |
| $229 = ($227>>>0)>($228>>>0); | |
| if ($229) { | |
| HEAP32[11831] = $227; | |
| $$0$i1828 = $218; | |
| } else { | |
| $$0$i1828 = $218; | |
| } | |
| } | |
| $233 = HEAP32[2]|0; | |
| $234 = ($233|0)==(0); | |
| if ($234) { | |
| $242 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$242 & 255]($$0$i1828); | |
| $$0$i1937 = 0; | |
| } else { | |
| $235 = HEAP32[(64)>>2]|0; | |
| $236 = (FUNCTION_TABLE_ii[$235 & 255]($$0$i1828)|0); | |
| $237 = HEAP32[11822]|0; | |
| $238 = (($237) - ($236))|0; | |
| HEAP32[11822] = $238; | |
| $239 = HEAP32[11825]|0; | |
| $240 = (($239) + -1)|0; | |
| HEAP32[11825] = $240; | |
| $241 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$241 & 255]($$0$i1828); | |
| $$0$i1937 = 0; | |
| } | |
| while(1) { | |
| $243 = (2980 + (($$0$i1937*88)|0)|0); | |
| $244 = ($$0$i1937|0)==(0); | |
| $245 = (_sqlite3_initialize()|0); | |
| $246 = ($245|0)==(0); | |
| if ($246) { | |
| $247 = ($243|0)==(0|0); | |
| $$pre47 = HEAP32[11642]|0; | |
| do { | |
| if ($247) { | |
| $259 = $$pre47; | |
| label = 76; | |
| } else { | |
| $248 = ($$pre47|0)==($243|0); | |
| if ($248) { | |
| $249 = (((2980 + (($$0$i1937*88)|0)|0)) + 12|0); | |
| $250 = HEAP32[$249>>2]|0; | |
| HEAP32[11642] = $250; | |
| $251 = $250; | |
| $259 = $251; | |
| label = 76; | |
| break; | |
| } | |
| $252 = ($$pre47|0)==(0|0); | |
| if ($252) { | |
| $262 = 0; | |
| label = 77; | |
| } else { | |
| $$0$i$i$i20 = $$pre47; | |
| while(1) { | |
| $253 = ((($$0$i$i$i20)) + 12|0); | |
| $254 = HEAP32[$253>>2]|0; | |
| $255 = ($254|0)!=($243|0); | |
| $not$$i$i$i21 = ($254|0)!=(0|0); | |
| $$$i$i$i = $255 & $not$$i$i$i21; | |
| if ($$$i$i$i) { | |
| $$0$i$i$i20 = $254; | |
| } else { | |
| break; | |
| } | |
| } | |
| $256 = ($254|0)==($243|0); | |
| if ($256) { | |
| $257 = (((2980 + (($$0$i1937*88)|0)|0)) + 12|0); | |
| $258 = HEAP32[$257>>2]|0; | |
| HEAP32[$253>>2] = $258; | |
| $259 = $$pre47; | |
| label = 76; | |
| } else { | |
| $259 = $$pre47; | |
| label = 76; | |
| } | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 76) { | |
| label = 0; | |
| $260 = ($259|0)==(0|0); | |
| $or$cond$i$i = $244 | $260; | |
| if ($or$cond$i$i) { | |
| $262 = $259; | |
| label = 77; | |
| } else { | |
| $263 = ((($259)) + 12|0); | |
| $264 = HEAP32[$263>>2]|0; | |
| $265 = (((2980 + (($$0$i1937*88)|0)|0)) + 12|0); | |
| HEAP32[$265>>2] = $264; | |
| $266 = ((($259)) + 12|0); | |
| $$sink$i$i22 = $266; | |
| } | |
| } | |
| if ((label|0) == 77) { | |
| label = 0; | |
| $261 = (((2980 + (($$0$i1937*88)|0)|0)) + 12|0); | |
| HEAP32[$261>>2] = $262; | |
| $$sink$i$i22 = 46568; | |
| } | |
| HEAP32[$$sink$i$i22>>2] = $243; | |
| } | |
| $267 = (($$0$i1937) + 1)|0; | |
| $exitcond = ($267|0)==(4); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$0$i1937 = $267; | |
| } | |
| } | |
| $268 = HEAP32[(208)>>2]|0; | |
| $269 = HEAP32[(46624)>>2]|0; | |
| $270 = ($269|0)==(0); | |
| if (!($270)) { | |
| $271 = HEAP32[(216)>>2]|0; | |
| $272 = HEAP32[(212)>>2]|0; | |
| $273 = ($268|0)==(0|0); | |
| $$17$i = $273 ? 0 : $271; | |
| $274 = ($$17$i|0)==(0); | |
| $275 = $273 | $274; | |
| $$op$i = $272 & -8; | |
| $276 = $275 ? 0 : $$op$i; | |
| HEAP32[(46636)>>2] = $276; | |
| HEAP32[(46664)>>2] = $$17$i; | |
| HEAP32[(46640)>>2] = $$17$i; | |
| $277 = ($$17$i|0)>(90); | |
| if ($277) { | |
| $280 = 10; | |
| } else { | |
| $278 = (($$17$i|0) / 10)&-1; | |
| $279 = (($278) + 1)|0; | |
| $280 = $279; | |
| } | |
| HEAP32[(46644)>>2] = $280; | |
| HEAP32[(46648)>>2] = $268; | |
| HEAP32[(46660)>>2] = 0; | |
| HEAP32[(46668)>>2] = 0; | |
| if ($274) { | |
| $$0$lcssa$i = $268; | |
| } else { | |
| $281 = (($$17$i) + -1)|0; | |
| $282 = Math_imul($276, $281)|0; | |
| $$019$i = $268;$$118$i = $$17$i;$284 = 0; | |
| while(1) { | |
| $283 = (($$118$i) + -1)|0; | |
| HEAP32[$$019$i>>2] = $284; | |
| $285 = (($$019$i) + ($276)|0); | |
| $286 = ($283|0)==(0); | |
| $287 = $$019$i; | |
| if ($286) { | |
| break; | |
| } else { | |
| $$019$i = $285;$$118$i = $283;$284 = $287; | |
| } | |
| } | |
| $288 = Math_imul($276, $$17$i)|0; | |
| $scevgep = (($268) + ($282)|0); | |
| HEAP32[(46660)>>2] = $scevgep; | |
| $scevgep$i = (($268) + ($288)|0); | |
| $$0$lcssa$i = $scevgep$i; | |
| } | |
| HEAP32[(46652)>>2] = $$0$lcssa$i; | |
| } | |
| HEAP32[(232)>>2] = 1; | |
| $$329 = 0; | |
| } else { | |
| $$329 = 7; | |
| } | |
| } | |
| } while(0); | |
| HEAP32[(236)>>2] = 0; | |
| $$pr = HEAP32[(252)>>2]|0; | |
| $$4 = $$329;$290 = $$pr; | |
| } else { | |
| $$4 = 0;$290 = $19; | |
| } | |
| $289 = (($290) + -1)|0; | |
| HEAP32[(252)>>2] = $289; | |
| $291 = ($290|0)<(2); | |
| if (!($291)) { | |
| $$014 = $$4; | |
| STACKTOP = sp;return ($$014|0); | |
| } | |
| HEAP32[(256)>>2] = 0; | |
| $$014 = $$4; | |
| STACKTOP = sp;return ($$014|0); | |
| } | |
| function _sqlite3Realloc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0, $$036 = 0, $$sink$i$i = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $or$cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($0|0)==(0|0); | |
| if ($3) { | |
| $4 = (_i64Add(($1|0),($2|0),-1,-1)|0); | |
| $5 = tempRet0; | |
| $6 = ($5>>>0)>(0); | |
| $7 = ($4>>>0)>(2147483390); | |
| $8 = ($5|0)==(0); | |
| $9 = $8 & $7; | |
| $10 = $6 | $9; | |
| if ($10) { | |
| $$036 = 0; | |
| return ($$036|0); | |
| } | |
| $11 = HEAP32[2]|0; | |
| $12 = ($11|0)==(0); | |
| if ($12) { | |
| $51 = HEAP32[(52)>>2]|0; | |
| $52 = (FUNCTION_TABLE_ii[$51 & 255]($1)|0); | |
| $$036 = $52; | |
| return ($$036|0); | |
| } | |
| $13 = HEAP32[(68)>>2]|0; | |
| $14 = (FUNCTION_TABLE_ii[$13 & 255]($1)|0); | |
| $15 = HEAP32[11829]|0; | |
| $16 = ($15>>>0)<($1>>>0); | |
| if ($16) { | |
| HEAP32[11829] = $1; | |
| } | |
| $17 = (46456); | |
| $18 = $17; | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = (($17) + 4)|0; | |
| $21 = $20; | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = ($22|0)>(0); | |
| $24 = ($19>>>0)>(0); | |
| $25 = ($22|0)==(0); | |
| $26 = $25 & $24; | |
| $27 = $23 | $26; | |
| if ($27) { | |
| $28 = HEAP32[11822]|0; | |
| $29 = ($14|0)<(0); | |
| $30 = $29 << 31 >> 31; | |
| $31 = (_i64Subtract(($19|0),($22|0),($14|0),($30|0))|0); | |
| $32 = tempRet0; | |
| $33 = (0)>($32|0); | |
| $34 = ($28>>>0)>=($31>>>0); | |
| $35 = (0)==($32|0); | |
| $36 = $35 & $34; | |
| $37 = $33 | $36; | |
| $$sink$i$i = $37&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i; | |
| } | |
| $38 = HEAP32[(52)>>2]|0; | |
| $39 = (FUNCTION_TABLE_ii[$38 & 255]($14)|0); | |
| $40 = ($39|0)==(0|0); | |
| if ($40) { | |
| $$036 = 0; | |
| return ($$036|0); | |
| } | |
| $41 = HEAP32[(64)>>2]|0; | |
| $42 = (FUNCTION_TABLE_ii[$41 & 255]($39)|0); | |
| $43 = HEAP32[11822]|0; | |
| $44 = (($43) + ($42))|0; | |
| HEAP32[11822] = $44; | |
| $45 = HEAP32[11826]|0; | |
| $46 = ($44>>>0)>($45>>>0); | |
| if ($46) { | |
| HEAP32[11826] = $44; | |
| } | |
| $47 = HEAP32[11825]|0; | |
| $48 = (($47) + 1)|0; | |
| HEAP32[11825] = $48; | |
| $49 = HEAP32[11831]|0; | |
| $50 = ($48>>>0)>($49>>>0); | |
| if (!($50)) { | |
| $$036 = $39; | |
| return ($$036|0); | |
| } | |
| HEAP32[11831] = $48; | |
| $$036 = $39; | |
| return ($$036|0); | |
| } | |
| $53 = ($1|0)==(0); | |
| $54 = ($2|0)==(0); | |
| $55 = $53 & $54; | |
| if ($55) { | |
| $56 = HEAP32[2]|0; | |
| $57 = ($56|0)==(0); | |
| if ($57) { | |
| $65 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$65 & 255]($0); | |
| $$036 = 0; | |
| return ($$036|0); | |
| } else { | |
| $58 = HEAP32[(64)>>2]|0; | |
| $59 = (FUNCTION_TABLE_ii[$58 & 255]($0)|0); | |
| $60 = HEAP32[11822]|0; | |
| $61 = (($60) - ($59))|0; | |
| HEAP32[11822] = $61; | |
| $62 = HEAP32[11825]|0; | |
| $63 = (($62) + -1)|0; | |
| HEAP32[11825] = $63; | |
| $64 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$64 & 255]($0); | |
| $$036 = 0; | |
| return ($$036|0); | |
| } | |
| } | |
| $66 = ($2>>>0)>(0); | |
| $67 = ($1>>>0)>(2147483391); | |
| $68 = ($2|0)==(0); | |
| $69 = $68 & $67; | |
| $70 = $66 | $69; | |
| if ($70) { | |
| $$036 = 0; | |
| return ($$036|0); | |
| } | |
| $71 = HEAP32[(64)>>2]|0; | |
| $72 = (FUNCTION_TABLE_ii[$71 & 255]($0)|0); | |
| $73 = HEAP32[(68)>>2]|0; | |
| $74 = (FUNCTION_TABLE_ii[$73 & 255]($1)|0); | |
| $75 = ($74|0)==($72|0); | |
| if ($75) { | |
| $$036 = $0; | |
| return ($$036|0); | |
| } | |
| $76 = HEAP32[2]|0; | |
| $77 = ($76|0)==(0); | |
| if ($77) { | |
| $104 = HEAP32[(60)>>2]|0; | |
| $105 = (FUNCTION_TABLE_iii[$104 & 255]($0,$74)|0); | |
| $$036 = $105; | |
| return ($$036|0); | |
| } | |
| $78 = HEAP32[11829]|0; | |
| $79 = ($78>>>0)<($1>>>0); | |
| if ($79) { | |
| HEAP32[11829] = $1; | |
| } | |
| $80 = HEAP32[(60)>>2]|0; | |
| $81 = (FUNCTION_TABLE_iii[$80 & 255]($0,$74)|0); | |
| $82 = ($81|0)==(0|0); | |
| $83 = (46456); | |
| $84 = $83; | |
| $85 = HEAP32[$84>>2]|0; | |
| $86 = (($83) + 4)|0; | |
| $87 = $86; | |
| $88 = HEAP32[$87>>2]|0; | |
| $89 = ($88|0)>(0); | |
| $90 = ($85>>>0)>(0); | |
| $91 = ($88|0)==(0); | |
| $92 = $91 & $90; | |
| $93 = $89 | $92; | |
| $or$cond = $82 & $93; | |
| if ($or$cond) { | |
| $94 = HEAP32[(60)>>2]|0; | |
| $95 = (FUNCTION_TABLE_iii[$94 & 255]($0,$74)|0); | |
| $$0 = $95; | |
| } else { | |
| $$0 = $81; | |
| } | |
| $96 = ($$0|0)==(0|0); | |
| if ($96) { | |
| $$036 = 0; | |
| return ($$036|0); | |
| } | |
| $97 = HEAP32[(64)>>2]|0; | |
| $98 = (FUNCTION_TABLE_ii[$97 & 255]($$0)|0); | |
| $99 = (($98) - ($72))|0; | |
| $100 = HEAP32[11822]|0; | |
| $101 = (($100) + ($99))|0; | |
| HEAP32[11822] = $101; | |
| $102 = HEAP32[11826]|0; | |
| $103 = ($101>>>0)>($102>>>0); | |
| if (!($103)) { | |
| $$036 = $$0; | |
| return ($$036|0); | |
| } | |
| HEAP32[11826] = $101; | |
| $$036 = $$0; | |
| return ($$036|0); | |
| } | |
| function _sqlite3_config($0,$varargs) { | |
| $0 = $0|0; | |
| $varargs = $varargs|0; | |
| var $$0 = 0, $$036 = 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; | |
| 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, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 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, $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, $arglist_current = 0, $arglist_current10 = 0, $arglist_current13 = 0, $arglist_current16 = 0, $arglist_current19 = 0, $arglist_current22 = 0, $arglist_current25 = 0, $arglist_current28 = 0, $arglist_current34 = 0, $arglist_current37 = 0, $arglist_current40 = 0, $arglist_current43 = 0, $arglist_current46 = 0; | |
| var $arglist_current49 = 0, $arglist_current52 = 0, $arglist_current55 = 0, $arglist_current58 = 0, $arglist_current61 = 0, $arglist_current64 = 0, $arglist_current7 = 0, $arglist_next = 0, $arglist_next11 = 0, $arglist_next14 = 0, $arglist_next17 = 0, $arglist_next20 = 0, $arglist_next23 = 0, $arglist_next26 = 0, $arglist_next29 = 0, $arglist_next35 = 0, $arglist_next38 = 0, $arglist_next41 = 0, $arglist_next44 = 0, $arglist_next47 = 0; | |
| var $arglist_next50 = 0, $arglist_next53 = 0, $arglist_next56 = 0, $arglist_next59 = 0, $arglist_next62 = 0, $arglist_next65 = 0, $arglist_next8 = 0, $expanded = 0, $expanded100 = 0, $expanded102 = 0, $expanded103 = 0, $expanded104 = 0, $expanded106 = 0, $expanded107 = 0, $expanded109 = 0, $expanded11 = 0, $expanded110 = 0, $expanded111 = 0, $expanded113 = 0, $expanded114 = 0; | |
| var $expanded116 = 0, $expanded117 = 0, $expanded118 = 0, $expanded12 = 0, $expanded120 = 0, $expanded121 = 0, $expanded123 = 0, $expanded124 = 0, $expanded125 = 0, $expanded127 = 0, $expanded128 = 0, $expanded13 = 0, $expanded130 = 0, $expanded131 = 0, $expanded132 = 0, $expanded134 = 0, $expanded135 = 0, $expanded137 = 0, $expanded138 = 0, $expanded139 = 0; | |
| var $expanded15 = 0, $expanded16 = 0, $expanded18 = 0, $expanded19 = 0, $expanded2 = 0, $expanded20 = 0, $expanded22 = 0, $expanded23 = 0, $expanded25 = 0, $expanded26 = 0, $expanded27 = 0, $expanded29 = 0, $expanded30 = 0, $expanded32 = 0, $expanded33 = 0, $expanded34 = 0, $expanded36 = 0, $expanded37 = 0, $expanded39 = 0, $expanded4 = 0; | |
| var $expanded40 = 0, $expanded41 = 0, $expanded43 = 0, $expanded44 = 0, $expanded46 = 0, $expanded47 = 0, $expanded48 = 0, $expanded5 = 0, $expanded50 = 0, $expanded51 = 0, $expanded53 = 0, $expanded54 = 0, $expanded55 = 0, $expanded57 = 0, $expanded58 = 0, $expanded6 = 0, $expanded60 = 0, $expanded61 = 0, $expanded62 = 0, $expanded64 = 0; | |
| var $expanded65 = 0, $expanded67 = 0, $expanded68 = 0, $expanded69 = 0, $expanded71 = 0, $expanded72 = 0, $expanded74 = 0, $expanded75 = 0, $expanded76 = 0, $expanded78 = 0, $expanded79 = 0, $expanded8 = 0, $expanded81 = 0, $expanded82 = 0, $expanded83 = 0, $expanded85 = 0, $expanded86 = 0, $expanded88 = 0, $expanded89 = 0, $expanded9 = 0; | |
| var $expanded90 = 0, $expanded92 = 0, $expanded93 = 0, $expanded95 = 0, $expanded96 = 0, $expanded97 = 0, $expanded99 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer30 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; | |
| $vararg_buffer30 = sp + 24|0; | |
| $vararg_buffer3 = sp + 16|0; | |
| $vararg_buffer = sp; | |
| $1 = sp + 32|0; | |
| $2 = HEAP32[(232)>>2]|0; | |
| $3 = ($2|0)==(0); | |
| if (!($3)) { | |
| HEAP32[$vararg_buffer>>2] = 17025; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = 142853; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = (17052); | |
| _sqlite3_log(21,17000,$vararg_buffer); | |
| $$0 = 21; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| HEAP32[$1>>2] = $varargs; | |
| do { | |
| switch ($0|0) { | |
| case 4: { | |
| $arglist_current = HEAP32[$1>>2]|0; | |
| $4 = $arglist_current; | |
| $5 = ((0) + 4|0); | |
| $expanded2 = $5; | |
| $expanded = (($expanded2) - 1)|0; | |
| $6 = (($4) + ($expanded))|0; | |
| $7 = ((0) + 4|0); | |
| $expanded6 = $7; | |
| $expanded5 = (($expanded6) - 1)|0; | |
| $expanded4 = $expanded5 ^ -1; | |
| $8 = $6 & $expanded4; | |
| $9 = $8; | |
| $10 = HEAP32[$9>>2]|0; | |
| $arglist_next = ((($9)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next; | |
| ;HEAP32[(52)>>2]=HEAP32[$10>>2]|0;HEAP32[(52)+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[(52)+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[(52)+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[(52)+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[(52)+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[(52)+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[(52)+28>>2]=HEAP32[$10+28>>2]|0; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 5: { | |
| $11 = HEAP32[(52)>>2]|0; | |
| $12 = ($11|0)==(0|0); | |
| if ($12) { | |
| HEAP32[$vararg_buffer3>>2] = 992; | |
| (_sqlite3_config(4,$vararg_buffer3)|0); | |
| } | |
| $arglist_current7 = HEAP32[$1>>2]|0; | |
| $13 = $arglist_current7; | |
| $14 = ((0) + 4|0); | |
| $expanded9 = $14; | |
| $expanded8 = (($expanded9) - 1)|0; | |
| $15 = (($13) + ($expanded8))|0; | |
| $16 = ((0) + 4|0); | |
| $expanded13 = $16; | |
| $expanded12 = (($expanded13) - 1)|0; | |
| $expanded11 = $expanded12 ^ -1; | |
| $17 = $15 & $expanded11; | |
| $18 = $17; | |
| $19 = HEAP32[$18>>2]|0; | |
| $arglist_next8 = ((($18)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next8; | |
| ;HEAP32[$19>>2]=HEAP32[(52)>>2]|0;HEAP32[$19+4>>2]=HEAP32[(52)+4>>2]|0;HEAP32[$19+8>>2]=HEAP32[(52)+8>>2]|0;HEAP32[$19+12>>2]=HEAP32[(52)+12>>2]|0;HEAP32[$19+16>>2]=HEAP32[(52)+16>>2]|0;HEAP32[$19+20>>2]=HEAP32[(52)+20>>2]|0;HEAP32[$19+24>>2]=HEAP32[(52)+24>>2]|0;HEAP32[$19+28>>2]=HEAP32[(52)+28>>2]|0; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 9: { | |
| $arglist_current10 = HEAP32[$1>>2]|0; | |
| $20 = $arglist_current10; | |
| $21 = ((0) + 4|0); | |
| $expanded16 = $21; | |
| $expanded15 = (($expanded16) - 1)|0; | |
| $22 = (($20) + ($expanded15))|0; | |
| $23 = ((0) + 4|0); | |
| $expanded20 = $23; | |
| $expanded19 = (($expanded20) - 1)|0; | |
| $expanded18 = $expanded19 ^ -1; | |
| $24 = $22 & $expanded18; | |
| $25 = $24; | |
| $26 = HEAP32[$25>>2]|0; | |
| $arglist_next11 = ((($25)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next11; | |
| HEAP32[2] = $26; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 27: { | |
| $arglist_current13 = HEAP32[$1>>2]|0; | |
| $27 = $arglist_current13; | |
| $28 = ((0) + 4|0); | |
| $expanded23 = $28; | |
| $expanded22 = (($expanded23) - 1)|0; | |
| $29 = (($27) + ($expanded22))|0; | |
| $30 = ((0) + 4|0); | |
| $expanded27 = $30; | |
| $expanded26 = (($expanded27) - 1)|0; | |
| $expanded25 = $expanded26 ^ -1; | |
| $31 = $29 & $expanded25; | |
| $32 = $31; | |
| $33 = HEAP32[$32>>2]|0; | |
| $arglist_next14 = ((($32)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next14; | |
| HEAP32[(28)>>2] = $33; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 7: { | |
| $arglist_current16 = HEAP32[$1>>2]|0; | |
| $34 = $arglist_current16; | |
| $35 = ((0) + 4|0); | |
| $expanded30 = $35; | |
| $expanded29 = (($expanded30) - 1)|0; | |
| $36 = (($34) + ($expanded29))|0; | |
| $37 = ((0) + 4|0); | |
| $expanded34 = $37; | |
| $expanded33 = (($expanded34) - 1)|0; | |
| $expanded32 = $expanded33 ^ -1; | |
| $38 = $36 & $expanded32; | |
| $39 = $38; | |
| $40 = HEAP32[$39>>2]|0; | |
| $arglist_next17 = ((($39)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next17; | |
| HEAP32[(208)>>2] = $40; | |
| $arglist_current19 = HEAP32[$1>>2]|0; | |
| $41 = $arglist_current19; | |
| $42 = ((0) + 4|0); | |
| $expanded37 = $42; | |
| $expanded36 = (($expanded37) - 1)|0; | |
| $43 = (($41) + ($expanded36))|0; | |
| $44 = ((0) + 4|0); | |
| $expanded41 = $44; | |
| $expanded40 = (($expanded41) - 1)|0; | |
| $expanded39 = $expanded40 ^ -1; | |
| $45 = $43 & $expanded39; | |
| $46 = $45; | |
| $47 = HEAP32[$46>>2]|0; | |
| $arglist_next20 = ((($46)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next20; | |
| HEAP32[(212)>>2] = $47; | |
| $arglist_current22 = HEAP32[$1>>2]|0; | |
| $48 = $arglist_current22; | |
| $49 = ((0) + 4|0); | |
| $expanded44 = $49; | |
| $expanded43 = (($expanded44) - 1)|0; | |
| $50 = (($48) + ($expanded43))|0; | |
| $51 = ((0) + 4|0); | |
| $expanded48 = $51; | |
| $expanded47 = (($expanded48) - 1)|0; | |
| $expanded46 = $expanded47 ^ -1; | |
| $52 = $50 & $expanded46; | |
| $53 = $52; | |
| $54 = HEAP32[$53>>2]|0; | |
| $arglist_next23 = ((($53)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next23; | |
| HEAP32[(216)>>2] = $54; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 24: { | |
| $arglist_current25 = HEAP32[$1>>2]|0; | |
| $55 = $arglist_current25; | |
| $56 = ((0) + 4|0); | |
| $expanded51 = $56; | |
| $expanded50 = (($expanded51) - 1)|0; | |
| $57 = (($55) + ($expanded50))|0; | |
| $58 = ((0) + 4|0); | |
| $expanded55 = $58; | |
| $expanded54 = (($expanded55) - 1)|0; | |
| $expanded53 = $expanded54 ^ -1; | |
| $59 = $57 & $expanded53; | |
| $60 = $59; | |
| $61 = HEAP32[$60>>2]|0; | |
| $arglist_next26 = ((($60)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next26; | |
| HEAP32[$61>>2] = 160; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 14: { | |
| $$036 = 0; | |
| break; | |
| } | |
| case 15: { | |
| $$036 = 1; | |
| break; | |
| } | |
| case 18: { | |
| $arglist_current28 = HEAP32[$1>>2]|0; | |
| $62 = $arglist_current28; | |
| $63 = ((0) + 4|0); | |
| $expanded58 = $63; | |
| $expanded57 = (($expanded58) - 1)|0; | |
| $64 = (($62) + ($expanded57))|0; | |
| $65 = ((0) + 4|0); | |
| $expanded62 = $65; | |
| $expanded61 = (($expanded62) - 1)|0; | |
| $expanded60 = $expanded61 ^ -1; | |
| $66 = $64 & $expanded60; | |
| $67 = $66; | |
| $68 = HEAP32[$67>>2]|0; | |
| $arglist_next29 = ((($67)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next29; | |
| dest=(120); src=$68; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); | |
| $$036 = 0; | |
| break; | |
| } | |
| case 19: { | |
| $69 = HEAP32[(128)>>2]|0; | |
| $70 = ($69|0)==(0|0); | |
| if ($70) { | |
| HEAP32[$vararg_buffer30>>2] = 2928; | |
| (_sqlite3_config(18,$vararg_buffer30)|0); | |
| } | |
| $arglist_current34 = HEAP32[$1>>2]|0; | |
| $71 = $arglist_current34; | |
| $72 = ((0) + 4|0); | |
| $expanded65 = $72; | |
| $expanded64 = (($expanded65) - 1)|0; | |
| $73 = (($71) + ($expanded64))|0; | |
| $74 = ((0) + 4|0); | |
| $expanded69 = $74; | |
| $expanded68 = (($expanded69) - 1)|0; | |
| $expanded67 = $expanded68 ^ -1; | |
| $75 = $73 & $expanded67; | |
| $76 = $75; | |
| $77 = HEAP32[$76>>2]|0; | |
| $arglist_next35 = ((($76)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next35; | |
| dest=$77; src=(120); stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); | |
| $$036 = 0; | |
| break; | |
| } | |
| case 13: { | |
| $arglist_current37 = HEAP32[$1>>2]|0; | |
| $78 = $arglist_current37; | |
| $79 = ((0) + 4|0); | |
| $expanded72 = $79; | |
| $expanded71 = (($expanded72) - 1)|0; | |
| $80 = (($78) + ($expanded71))|0; | |
| $81 = ((0) + 4|0); | |
| $expanded76 = $81; | |
| $expanded75 = (($expanded76) - 1)|0; | |
| $expanded74 = $expanded75 ^ -1; | |
| $82 = $80 & $expanded74; | |
| $83 = $82; | |
| $84 = HEAP32[$83>>2]|0; | |
| $arglist_next38 = ((($83)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next38; | |
| HEAP32[(40)>>2] = $84; | |
| $arglist_current40 = HEAP32[$1>>2]|0; | |
| $85 = $arglist_current40; | |
| $86 = ((0) + 4|0); | |
| $expanded79 = $86; | |
| $expanded78 = (($expanded79) - 1)|0; | |
| $87 = (($85) + ($expanded78))|0; | |
| $88 = ((0) + 4|0); | |
| $expanded83 = $88; | |
| $expanded82 = (($expanded83) - 1)|0; | |
| $expanded81 = $expanded82 ^ -1; | |
| $89 = $87 & $expanded81; | |
| $90 = $89; | |
| $91 = HEAP32[$90>>2]|0; | |
| $arglist_next41 = ((($90)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next41; | |
| HEAP32[(44)>>2] = $91; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 16: { | |
| $arglist_current43 = HEAP32[$1>>2]|0; | |
| $92 = $arglist_current43; | |
| $93 = ((0) + 4|0); | |
| $expanded86 = $93; | |
| $expanded85 = (($expanded86) - 1)|0; | |
| $94 = (($92) + ($expanded85))|0; | |
| $95 = ((0) + 4|0); | |
| $expanded90 = $95; | |
| $expanded89 = (($expanded90) - 1)|0; | |
| $expanded88 = $expanded89 ^ -1; | |
| $96 = $94 & $expanded88; | |
| $97 = $96; | |
| $98 = HEAP32[$97>>2]|0; | |
| $arglist_next44 = ((($97)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next44; | |
| HEAP32[(260)>>2] = $98; | |
| $arglist_current46 = HEAP32[$1>>2]|0; | |
| $99 = $arglist_current46; | |
| $100 = ((0) + 4|0); | |
| $expanded93 = $100; | |
| $expanded92 = (($expanded93) - 1)|0; | |
| $101 = (($99) + ($expanded92))|0; | |
| $102 = ((0) + 4|0); | |
| $expanded97 = $102; | |
| $expanded96 = (($expanded97) - 1)|0; | |
| $expanded95 = $expanded96 ^ -1; | |
| $103 = $101 & $expanded95; | |
| $104 = $103; | |
| $105 = HEAP32[$104>>2]|0; | |
| $arglist_next47 = ((($104)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next47; | |
| HEAP32[(264)>>2] = $105; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 17: { | |
| $arglist_current49 = HEAP32[$1>>2]|0; | |
| $106 = $arglist_current49; | |
| $107 = ((0) + 4|0); | |
| $expanded100 = $107; | |
| $expanded99 = (($expanded100) - 1)|0; | |
| $108 = (($106) + ($expanded99))|0; | |
| $109 = ((0) + 4|0); | |
| $expanded104 = $109; | |
| $expanded103 = (($expanded104) - 1)|0; | |
| $expanded102 = $expanded103 ^ -1; | |
| $110 = $108 & $expanded102; | |
| $111 = $110; | |
| $112 = HEAP32[$111>>2]|0; | |
| $arglist_next50 = ((($111)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next50; | |
| HEAP32[(20)>>2] = $112; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 20: { | |
| $arglist_current52 = HEAP32[$1>>2]|0; | |
| $113 = $arglist_current52; | |
| $114 = ((0) + 4|0); | |
| $expanded107 = $114; | |
| $expanded106 = (($expanded107) - 1)|0; | |
| $115 = (($113) + ($expanded106))|0; | |
| $116 = ((0) + 4|0); | |
| $expanded111 = $116; | |
| $expanded110 = (($expanded111) - 1)|0; | |
| $expanded109 = $expanded110 ^ -1; | |
| $117 = $115 & $expanded109; | |
| $118 = $117; | |
| $119 = HEAP32[$118>>2]|0; | |
| $arglist_next53 = ((($118)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next53; | |
| HEAP32[(24)>>2] = $119; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 22: { | |
| $arglist_current55 = HEAP32[$1>>2]|0; | |
| $120 = $arglist_current55; | |
| $121 = ((0) + 8|0); | |
| $expanded114 = $121; | |
| $expanded113 = (($expanded114) - 1)|0; | |
| $122 = (($120) + ($expanded113))|0; | |
| $123 = ((0) + 8|0); | |
| $expanded118 = $123; | |
| $expanded117 = (($expanded118) - 1)|0; | |
| $expanded116 = $expanded117 ^ -1; | |
| $124 = $122 & $expanded116; | |
| $125 = $124; | |
| $arglist_next56 = ((($125)) + 8|0); | |
| HEAP32[$1>>2] = $arglist_next56; | |
| $arglist_current58 = HEAP32[$1>>2]|0; | |
| $126 = $arglist_current58; | |
| $127 = ((0) + 8|0); | |
| $expanded121 = $127; | |
| $expanded120 = (($expanded121) - 1)|0; | |
| $128 = (($126) + ($expanded120))|0; | |
| $129 = ((0) + 8|0); | |
| $expanded125 = $129; | |
| $expanded124 = (($expanded125) - 1)|0; | |
| $expanded123 = $expanded124 ^ -1; | |
| $130 = $128 & $expanded123; | |
| $131 = $130; | |
| $arglist_next59 = ((($131)) + 8|0); | |
| HEAP32[$1>>2] = $arglist_next59; | |
| ;HEAP32[(192)>>2]=0|0;HEAP32[(192)+4>>2]=0|0;HEAP32[(192)+8>>2]=0|0;HEAP32[(192)+12>>2]=0|0; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 25: { | |
| $arglist_current61 = HEAP32[$1>>2]|0; | |
| $132 = $arglist_current61; | |
| $133 = ((0) + 4|0); | |
| $expanded128 = $133; | |
| $expanded127 = (($expanded128) - 1)|0; | |
| $134 = (($132) + ($expanded127))|0; | |
| $135 = ((0) + 4|0); | |
| $expanded132 = $135; | |
| $expanded131 = (($expanded132) - 1)|0; | |
| $expanded130 = $expanded131 ^ -1; | |
| $136 = $134 & $expanded130; | |
| $137 = $136; | |
| $138 = HEAP32[$137>>2]|0; | |
| $arglist_next62 = ((($137)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next62; | |
| HEAP32[(228)>>2] = $138; | |
| $$036 = 0; | |
| break; | |
| } | |
| case 26: { | |
| $arglist_current64 = HEAP32[$1>>2]|0; | |
| $139 = $arglist_current64; | |
| $140 = ((0) + 4|0); | |
| $expanded135 = $140; | |
| $expanded134 = (($expanded135) - 1)|0; | |
| $141 = (($139) + ($expanded134))|0; | |
| $142 = ((0) + 4|0); | |
| $expanded139 = $142; | |
| $expanded138 = (($expanded139) - 1)|0; | |
| $expanded137 = $expanded138 ^ -1; | |
| $143 = $141 & $expanded137; | |
| $144 = $143; | |
| $145 = HEAP32[$144>>2]|0; | |
| $arglist_next65 = ((($144)) + 4|0); | |
| HEAP32[$1>>2] = $arglist_next65; | |
| HEAP32[(48)>>2] = $145; | |
| $$036 = 0; | |
| break; | |
| } | |
| default: { | |
| $$036 = 1; | |
| } | |
| } | |
| } while(0); | |
| $$0 = $$036; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| function _unixOpen($0,$1,$2,$3,$4) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| $4 = $4|0; | |
| var $$$i = 0, $$$i$i = 0, $$$i$i$i = 0, $$$i$i54$i = 0, $$0$i$i = 0, $$0$i37$i = 0, $$0$i38$i = 0, $$0$i5364$i = 0, $$0116 = 0, $$0117 = 0, $$0120172 = 0, $$0123171 = 0, $$0126 = 0, $$0150 = 0, $$0153 = 0, $$0156 = 0, $$019$i = 0, $$01930$i = 0, $$01931$i = 0, $$024$i$ph$i = 0; | |
| var $$029$i = 0, $$029$i$i = 0, $$031$i$i = 0, $$034$i = 0, $$034$in$i = 0, $$0505665$i = 0, $$1$i$i = 0, $$1$i141 = 0, $$1135$ph = 0, $$1137 = 0, $$1137$ = 0, $$1151 = 0, $$1154 = 0, $$1157 = 0, $$2122 = 0, $$2125 = 0, $$2128 = 0, $$2152 = 0, $$2152163 = 0, $$2155 = 0; | |
| var $$2155162 = 0, $$2158 = 0, $$2158161 = 0, $$3 = 0, $$3129170 = 0, $$3133 = 0, $$3139 = 0, $$5 = 0, $$in$i$i = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink$i$i$i = 0, $$sink$i$i$i$i = 0, $$sink$i$i$i$i$i = 0, $$sink24$i$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, $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; | |
| var $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, $158 = 0; | |
| var $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, $176 = 0; | |
| var $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, $194 = 0; | |
| var $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, $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, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; | |
| var $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, $321 = 0; | |
| var $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, $34 = 0; | |
| var $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, $358 = 0; | |
| var $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, $374 = 0, $375 = 0, $376 = 0; | |
| var $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, $394 = 0; | |
| var $395 = 0, $396 = 0, $397 = 0, $398 = 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, $cond$i$i = 0, $cond30$i$i = 0, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond3 = 0, $or$cond42$i = 0, $switch$split2D = 0, $switch$split332D = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer17 = 0; | |
| var $vararg_buffer20 = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr23 = 0, $vararg_ptr24 = 0, $vararg_ptr25 = 0, $vararg_ptr26 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 1200|0; | |
| $vararg_buffer20 = sp + 152|0; | |
| $vararg_buffer17 = sp + 144|0; | |
| $vararg_buffer10 = sp + 120|0; | |
| $vararg_buffer3 = sp + 96|0; | |
| $vararg_buffer = sp + 80|0; | |
| $5 = sp; | |
| $6 = sp + 172|0; | |
| $7 = sp + 686|0; | |
| $8 = $3 & -256; | |
| $9 = $3 & 16; | |
| $10 = $3 & 8; | |
| $11 = $3 & 4; | |
| $12 = $3 & 1; | |
| $13 = $3 & 2; | |
| $14 = ($11|0)==(0); | |
| L1: do { | |
| if ($14) { | |
| $197 = 0; | |
| } else { | |
| $switch$split2D = ($8|0)<(16384); | |
| L3: do { | |
| if ($switch$split2D) { | |
| switch ($8|0) { | |
| case 2048: { | |
| $197 = 1; | |
| break L1; | |
| break; | |
| } | |
| default: { | |
| } | |
| } | |
| } else { | |
| $switch$split332D = ($8|0)<(524288); | |
| if ($switch$split332D) { | |
| switch ($8|0) { | |
| case 16384: { | |
| $197 = 1; | |
| break L1; | |
| break; | |
| } | |
| default: { | |
| break L3; | |
| } | |
| } | |
| } else { | |
| switch ($8|0) { | |
| case 524288: { | |
| $197 = 1; | |
| break L1; | |
| break; | |
| } | |
| default: { | |
| break L3; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| $197 = 0; | |
| } | |
| } while(0); | |
| $15 = HEAP32[11668]|0; | |
| $16 = (_getpid()|0); | |
| $17 = ($15|0)==($16|0); | |
| if (!($17)) { | |
| $18 = (_getpid()|0); | |
| HEAP32[11668] = $18; | |
| $19 = (_sqlite3_initialize()|0); | |
| $20 = ($19|0)==(0); | |
| if ($20) { | |
| HEAP8[47374] = 0; | |
| } | |
| } | |
| dest=$2; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| $21 = ($8|0)==(256); | |
| if ($21) { | |
| $22 = HEAP32[11669]|0; | |
| $23 = ($22|0)==(0); | |
| L17: do { | |
| if ($23) { | |
| label = 19; | |
| } else { | |
| $24 = HEAP32[(3472)>>2]|0; | |
| $25 = (FUNCTION_TABLE_iii[$24 & 255]($1,$5)|0); | |
| $26 = ($25|0)==(0); | |
| if ($26) { | |
| $$01930$i = HEAP32[11670]|0; | |
| $27 = ($$01930$i|0)==(0|0); | |
| if ($27) { | |
| label = 19; | |
| } else { | |
| $28 = HEAP32[$5>>2]|0; | |
| $29 = ((($5)) + 72|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $$01931$i = $$01930$i; | |
| while(1) { | |
| $31 = HEAP32[$$01931$i>>2]|0; | |
| $32 = ($31|0)==($28|0); | |
| if ($32) { | |
| $33 = ((($$01931$i)) + 8|0); | |
| $34 = $33; | |
| $35 = $34; | |
| $36 = HEAP32[$35>>2]|0; | |
| $37 = (($34) + 4)|0; | |
| $38 = $37; | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = ($36|0)==($30|0); | |
| $41 = ($39|0)==(0); | |
| $42 = $40 & $41; | |
| if ($42) { | |
| break; | |
| } | |
| } | |
| $43 = ((($$01931$i)) + 40|0); | |
| $$019$i = HEAP32[$43>>2]|0; | |
| $44 = ($$019$i|0)==(0|0); | |
| if ($44) { | |
| label = 19; | |
| break L17; | |
| } else { | |
| $$01931$i = $$019$i; | |
| } | |
| } | |
| $45 = ((($$01931$i)) + 36|0); | |
| $46 = HEAP32[$45>>2]|0; | |
| $47 = ($46|0)==(0|0); | |
| if ($47) { | |
| label = 19; | |
| } else { | |
| $$029$i = $45;$49 = $46; | |
| while(1) { | |
| $48 = ((($49)) + 4|0); | |
| $50 = HEAP32[$48>>2]|0; | |
| $51 = ($50|0)==($3|0); | |
| if ($51) { | |
| break; | |
| } | |
| $52 = ((($49)) + 8|0); | |
| $53 = HEAP32[$52>>2]|0; | |
| $54 = ($53|0)==(0|0); | |
| if ($54) { | |
| label = 19; | |
| break L17; | |
| } else { | |
| $$029$i = $52;$49 = $53; | |
| } | |
| } | |
| $55 = HEAP32[11669]|0; | |
| $56 = (($55) + -1)|0; | |
| HEAP32[11669] = $56; | |
| $57 = ((($49)) + 8|0); | |
| $58 = HEAP32[$57>>2]|0; | |
| HEAP32[$$029$i>>2] = $58; | |
| $59 = HEAP32[$49>>2]|0; | |
| $$0116 = $49;$$0126 = $59; | |
| } | |
| } | |
| } else { | |
| label = 19; | |
| } | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 19) { | |
| $60 = (_sqlite3_initialize()|0); | |
| $61 = ($60|0)==(0); | |
| if (!($61)) { | |
| $$3 = 7; | |
| STACKTOP = sp;return ($$3|0); | |
| } | |
| $62 = HEAP32[2]|0; | |
| $63 = ($62|0)==(0); | |
| if ($63) { | |
| $102 = HEAP32[(52)>>2]|0; | |
| $103 = (FUNCTION_TABLE_ii[$102 & 255](12)|0); | |
| $104 = ($103|0)==(0|0); | |
| if ($104) { | |
| $$3 = 7; | |
| } else { | |
| $$0116 = $103;$$0126 = -1; | |
| break; | |
| } | |
| STACKTOP = sp;return ($$3|0); | |
| } | |
| $64 = HEAP32[(68)>>2]|0; | |
| $65 = (FUNCTION_TABLE_ii[$64 & 255](12)|0); | |
| $66 = HEAP32[11829]|0; | |
| $67 = ($66>>>0)<(12); | |
| if ($67) { | |
| HEAP32[11829] = 12; | |
| } | |
| $68 = (46456); | |
| $69 = $68; | |
| $70 = HEAP32[$69>>2]|0; | |
| $71 = (($68) + 4)|0; | |
| $72 = $71; | |
| $73 = HEAP32[$72>>2]|0; | |
| $74 = ($73|0)>(0); | |
| $75 = ($70>>>0)>(0); | |
| $76 = ($73|0)==(0); | |
| $77 = $76 & $75; | |
| $78 = $74 | $77; | |
| if ($78) { | |
| $79 = HEAP32[11822]|0; | |
| $80 = ($65|0)<(0); | |
| $81 = $80 << 31 >> 31; | |
| $82 = (_i64Subtract(($70|0),($73|0),($65|0),($81|0))|0); | |
| $83 = tempRet0; | |
| $84 = (0)>($83|0); | |
| $85 = ($79>>>0)>=($82>>>0); | |
| $86 = (0)==($83|0); | |
| $87 = $86 & $85; | |
| $88 = $84 | $87; | |
| $$sink$i$i$i = $88&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i; | |
| } | |
| $89 = HEAP32[(52)>>2]|0; | |
| $90 = (FUNCTION_TABLE_ii[$89 & 255]($65)|0); | |
| $91 = ($90|0)==(0|0); | |
| if ($91) { | |
| $$3 = 7; | |
| STACKTOP = sp;return ($$3|0); | |
| } | |
| $92 = HEAP32[(64)>>2]|0; | |
| $93 = (FUNCTION_TABLE_ii[$92 & 255]($90)|0); | |
| $94 = HEAP32[11822]|0; | |
| $95 = (($94) + ($93))|0; | |
| HEAP32[11822] = $95; | |
| $96 = HEAP32[11826]|0; | |
| $97 = ($95>>>0)>($96>>>0); | |
| if ($97) { | |
| HEAP32[11826] = $95; | |
| } | |
| $98 = HEAP32[11825]|0; | |
| $99 = (($98) + 1)|0; | |
| HEAP32[11825] = $99; | |
| $100 = HEAP32[11831]|0; | |
| $101 = ($99>>>0)>($100>>>0); | |
| if ($101) { | |
| HEAP32[11831] = $99; | |
| } | |
| $$0116 = $90;$$0126 = -1; | |
| } | |
| } while(0); | |
| $105 = ((($2)) + 28|0); | |
| HEAP32[$105>>2] = $$0116; | |
| $$0117 = $1;$$2128 = $$0126; | |
| } else { | |
| $106 = ($1|0)==(0|0); | |
| if ($106) { | |
| $107 = ((($0)) + 8|0); | |
| $108 = HEAP32[$107>>2]|0; | |
| $109 = (_unixGetTempname($108,$7)|0); | |
| $110 = ($109|0)==(0); | |
| if ($110) { | |
| $$0117 = $7;$$2128 = -1; | |
| } else { | |
| $$3 = $109; | |
| STACKTOP = sp;return ($$3|0); | |
| } | |
| } else { | |
| $$0117 = $1;$$2128 = -1; | |
| } | |
| } | |
| $111 = ($13|0)!=(0); | |
| $112 = $11 << 4; | |
| $113 = $112 | $13; | |
| $114 = ($9|0)==(0); | |
| $115 = $113 | 131200; | |
| $$3133 = $114 ? $113 : $115; | |
| $116 = ($$2128|0)<(0); | |
| L60: do { | |
| if ($116) { | |
| $117 = $3 & 526336; | |
| $118 = ($117|0)==(0); | |
| L62: do { | |
| if ($118) { | |
| $138 = ($10|0)==(0); | |
| if ($138) { | |
| $139 = $3 & 64; | |
| $140 = ($139|0)==(0); | |
| $141 = ($$0117|0)==(0|0); | |
| $or$cond42$i = $140 | $141; | |
| if ($or$cond42$i) { | |
| $$2152163 = 0;$$2155162 = 0;$$2158161 = 0; | |
| } else { | |
| $$sink24$i$i = $$0117; | |
| while(1) { | |
| $142 = (_strlen($$sink24$i$i)|0); | |
| $143 = $142 & 1073741823; | |
| $144 = (($143) + 1)|0; | |
| $145 = (($$sink24$i$i) + ($144)|0); | |
| $146 = HEAP8[$145>>0]|0; | |
| $147 = ($146<<24>>24)==(0); | |
| if ($147) { | |
| $$2152163 = 0;$$2155162 = 0;$$2158161 = 0; | |
| break L62; | |
| } | |
| $148 = (_strcmp($145,18023)|0); | |
| $149 = (_strlen($145)|0); | |
| $150 = $149 & 1073741823; | |
| $151 = (($150) + 1)|0; | |
| $152 = (($145) + ($151)|0); | |
| $153 = ($148|0)==(0); | |
| if ($153) { | |
| break; | |
| } else { | |
| $$sink24$i$i = $152; | |
| } | |
| } | |
| $154 = HEAP32[(3472)>>2]|0; | |
| $155 = (FUNCTION_TABLE_iii[$154 & 255]($152,$5)|0); | |
| $156 = ($155|0)==(0); | |
| if ($156) { | |
| $157 = ((($5)) + 12|0); | |
| $158 = HEAP32[$157>>2]|0; | |
| $159 = $158 & 511; | |
| $160 = ((($5)) + 20|0); | |
| $161 = HEAP32[$160>>2]|0; | |
| $162 = ((($5)) + 24|0); | |
| $163 = HEAP32[$162>>2]|0; | |
| $$0$i38$i = 0;$$1151 = $163;$$1154 = $161;$$1157 = $159; | |
| } else { | |
| $$0$i38$i = 1802;$$1151 = 0;$$1154 = 0;$$1157 = 0; | |
| } | |
| $$1$i141 = $$0$i38$i;$$2152 = $$1151;$$2155 = $$1154;$$2158 = $$1157; | |
| label = 52; | |
| } | |
| } else { | |
| $$2152163 = 0;$$2155162 = 0;$$2158161 = 384; | |
| } | |
| } else { | |
| $119 = ($$0117|0)==(0|0); | |
| if ($119) { | |
| $$034$in$i = 0; | |
| } else { | |
| $120 = (_strlen($$0117)|0); | |
| $121 = $120 & 1073741823; | |
| $$034$in$i = $121; | |
| } | |
| while(1) { | |
| $$034$i = (($$034$in$i) + -1)|0; | |
| $122 = (($$0117) + ($$034$i)|0); | |
| $123 = HEAP8[$122>>0]|0; | |
| $124 = ($123<<24>>24)==(45); | |
| if ($124) { | |
| break; | |
| } | |
| $125 = ($$034$i|0)==(0); | |
| $126 = ($123<<24>>24)==(46); | |
| $or$cond$i = $125 | $126; | |
| if ($or$cond$i) { | |
| label = 44; | |
| break; | |
| } else { | |
| $$034$in$i = $$034$i; | |
| } | |
| } | |
| if ((label|0) == 44) { | |
| $$2152163 = 0;$$2155162 = 0;$$2158161 = 0; | |
| break; | |
| } | |
| _memcpy(($6|0),($$0117|0),($$034$i|0))|0; | |
| $127 = (($6) + ($$034$i)|0); | |
| HEAP8[$127>>0] = 0; | |
| $128 = HEAP32[(3472)>>2]|0; | |
| $129 = (FUNCTION_TABLE_iii[$128 & 255]($6,$5)|0); | |
| $130 = ($129|0)==(0); | |
| if ($130) { | |
| $131 = ((($5)) + 12|0); | |
| $132 = HEAP32[$131>>2]|0; | |
| $133 = $132 & 511; | |
| $134 = ((($5)) + 20|0); | |
| $135 = HEAP32[$134>>2]|0; | |
| $136 = ((($5)) + 24|0); | |
| $137 = HEAP32[$136>>2]|0; | |
| $$0$i37$i = 0;$$0150 = $137;$$0153 = $135;$$0156 = $133; | |
| } else { | |
| $$0$i37$i = 1802;$$0150 = 0;$$0153 = 0;$$0156 = 0; | |
| } | |
| $$1$i141 = $$0$i37$i;$$2152 = $$0150;$$2155 = $$0153;$$2158 = $$0156; | |
| label = 52; | |
| } | |
| } while(0); | |
| if ((label|0) == 52) { | |
| $164 = ($$1$i141|0)==(0); | |
| if ($164) { | |
| $$2152163 = $$2152;$$2155162 = $$2155;$$2158161 = $$2158; | |
| } else { | |
| $$3 = $$1$i141; | |
| STACKTOP = sp;return ($$3|0); | |
| } | |
| } | |
| $165 = (_robust_open($$0117,$$3133,$$2158161)|0); | |
| $166 = ($165|0)<(0); | |
| do { | |
| if ($166) { | |
| $167 = (___errno_location()|0); | |
| $168 = HEAP32[$167>>2]|0; | |
| $169 = ($168|0)!=(21); | |
| $or$cond3 = $111 & $169; | |
| if ($or$cond3) { | |
| $170 = $3 & -8; | |
| $171 = $170 | 1; | |
| $172 = $$3133 & 131200; | |
| $173 = (_robust_open($$0117,$172,$$2158161)|0); | |
| $174 = ($173|0)<(0); | |
| if (!($174)) { | |
| $$0120172 = $171;$$0123171 = 1;$$3129170 = $173; | |
| break; | |
| } | |
| } | |
| HEAP32[$vararg_buffer>>2] = 17915; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = 36304; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer); | |
| $181 = (___errno_location()|0); | |
| $182 = HEAP32[$181>>2]|0; | |
| $183 = (_strerror($182)|0); | |
| $184 = ($$0117|0)==(0|0); | |
| $$$i = $184 ? 47328 : $$0117; | |
| HEAP32[$vararg_buffer3>>2] = 36304; | |
| $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); | |
| HEAP32[$vararg_ptr6>>2] = $182; | |
| $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); | |
| HEAP32[$vararg_ptr7>>2] = 17655; | |
| $vararg_ptr8 = ((($vararg_buffer3)) + 12|0); | |
| HEAP32[$vararg_ptr8>>2] = $$$i; | |
| $vararg_ptr9 = ((($vararg_buffer3)) + 16|0); | |
| HEAP32[$vararg_ptr9>>2] = $183; | |
| _sqlite3_log(14,17618,$vararg_buffer3); | |
| $$pre = ((($2)) + 28|0); | |
| $$1135$ph = 14;$$pre$phiZ2D = $$pre; | |
| break L60; | |
| } else { | |
| $$0120172 = $3;$$0123171 = $12;$$3129170 = $165; | |
| } | |
| } while(0); | |
| $175 = $$0120172 & 526336; | |
| $176 = ($175|0)==(0); | |
| if ($176) { | |
| $$2122 = $$0120172;$$2125 = $$0123171;$$5 = $$3129170; | |
| label = 60; | |
| } else { | |
| $177 = HEAP32[(3676)>>2]|0; | |
| $178 = (FUNCTION_TABLE_i[$177 & 255]()|0); | |
| $179 = ($178|0)==(0); | |
| if ($179) { | |
| $180 = HEAP32[(3664)>>2]|0; | |
| (FUNCTION_TABLE_iiii[$180 & 255]($$3129170,$$2155162,$$2152163)|0); | |
| $$2122 = $$0120172;$$2125 = $$0123171;$$5 = $$3129170; | |
| label = 60; | |
| } else { | |
| $$2122 = $$0120172;$$2125 = $$0123171;$$5 = $$3129170; | |
| label = 60; | |
| } | |
| } | |
| } else { | |
| $$2122 = $3;$$2125 = $12;$$5 = $$2128; | |
| label = 60; | |
| } | |
| } while(0); | |
| L96: do { | |
| if ((label|0) == 60) { | |
| $185 = ($4|0)==(0|0); | |
| if (!($185)) { | |
| HEAP32[$4>>2] = $$2122; | |
| } | |
| $186 = ((($2)) + 28|0); | |
| $187 = HEAP32[$186>>2]|0; | |
| $188 = ($187|0)==(0|0); | |
| if (!($188)) { | |
| HEAP32[$187>>2] = $$5; | |
| $189 = ((($187)) + 4|0); | |
| HEAP32[$189>>2] = $$2122; | |
| } | |
| $190 = ($10|0)==(0); | |
| if (!($190)) { | |
| $191 = HEAP32[(3616)>>2]|0; | |
| (FUNCTION_TABLE_ii[$191 & 255]($$0117)|0); | |
| } | |
| $192 = $10 << 2; | |
| $193 = ($$2125|0)==(0); | |
| $194 = $192 | 2; | |
| $$1137 = $193 ? $192 : $194; | |
| $195 = $$1137 | 128; | |
| $$1137$ = $21 ? $$1137 : $195; | |
| $196 = $$1137$ | 8; | |
| $$3139 = $197 ? $196 : $$1137$; | |
| $198 = $$2122 & 64; | |
| $199 = $$3139 | $198; | |
| $200 = ((($2)) + 12|0); | |
| HEAP32[$200>>2] = $$5; | |
| $201 = ((($2)) + 4|0); | |
| HEAP32[$201>>2] = $0; | |
| $202 = ((($2)) + 32|0); | |
| HEAP32[$202>>2] = $1; | |
| $203 = $199&65535; | |
| $204 = $203 & 255; | |
| $205 = ((($2)) + 18|0); | |
| HEAP16[$205>>1] = $204; | |
| $206 = $199 & 64; | |
| $207 = ($206|0)!=(0); | |
| $208 = $207 ? $1 : 0; | |
| $209 = (_sqlite3_uri_boolean($208,18030,1)|0); | |
| $210 = ($209|0)==(0); | |
| if (!($210)) { | |
| $211 = HEAP16[$205>>1]|0; | |
| $212 = $211 | 16; | |
| HEAP16[$205>>1] = $212; | |
| } | |
| $213 = ((($0)) + 16|0); | |
| $214 = HEAP32[$213>>2]|0; | |
| $215 = (_strcmp($214,17608)|0); | |
| $216 = ($215|0)==(0); | |
| if ($216) { | |
| $217 = HEAP16[$205>>1]|0; | |
| $218 = $217 | 1; | |
| HEAP16[$205>>1] = $218; | |
| } | |
| $219 = $$3139 & 128; | |
| $220 = ($219|0)==(0); | |
| L113: do { | |
| if ($220) { | |
| $221 = ((($0)) + 20|0); | |
| $222 = HEAP32[$221>>2]|0; | |
| $223 = HEAP32[$222>>2]|0; | |
| $224 = (FUNCTION_TABLE_iii[$223 & 255]($1,$2)|0); | |
| $225 = ($224|0)==(3868|0); | |
| if (!($225)) { | |
| $316 = ($224|0)==(3344|0); | |
| if (!($316)) { | |
| $$0505665$i = $224; | |
| break; | |
| } | |
| $317 = (_strlen($1)|0); | |
| $318 = (($317) + 6)|0; | |
| $319 = ($318|0)<(0); | |
| $320 = $319 << 31 >> 31; | |
| $321 = (_sqlite3_initialize()|0); | |
| $322 = ($321|0)!=(0); | |
| $323 = (_i64Add(($318|0),($320|0),-1,-1)|0); | |
| $324 = tempRet0; | |
| $325 = ($324>>>0)>(0); | |
| $326 = ($323>>>0)>(2147483390); | |
| $327 = ($324|0)==(0); | |
| $328 = $327 & $326; | |
| $329 = $325 | $328; | |
| $or$cond$i$i = $322 | $329; | |
| L118: do { | |
| if (!($or$cond$i$i)) { | |
| $330 = HEAP32[2]|0; | |
| $331 = ($330|0)==(0); | |
| do { | |
| if ($331) { | |
| $370 = HEAP32[(52)>>2]|0; | |
| $371 = (FUNCTION_TABLE_ii[$370 & 255]($318)|0); | |
| $372 = ($371|0)==(0|0); | |
| if ($372) { | |
| break L118; | |
| } else { | |
| $$0$i5364$i = $371; | |
| } | |
| } else { | |
| $332 = HEAP32[(68)>>2]|0; | |
| $333 = (FUNCTION_TABLE_ii[$332 & 255]($318)|0); | |
| $334 = HEAP32[11829]|0; | |
| $335 = ($334>>>0)<($318>>>0); | |
| if ($335) { | |
| HEAP32[11829] = $318; | |
| } | |
| $336 = (46456); | |
| $337 = $336; | |
| $338 = HEAP32[$337>>2]|0; | |
| $339 = (($336) + 4)|0; | |
| $340 = $339; | |
| $341 = HEAP32[$340>>2]|0; | |
| $342 = ($341|0)>(0); | |
| $343 = ($338>>>0)>(0); | |
| $344 = ($341|0)==(0); | |
| $345 = $344 & $343; | |
| $346 = $342 | $345; | |
| if ($346) { | |
| $347 = HEAP32[11822]|0; | |
| $348 = ($333|0)<(0); | |
| $349 = $348 << 31 >> 31; | |
| $350 = (_i64Subtract(($338|0),($341|0),($333|0),($349|0))|0); | |
| $351 = tempRet0; | |
| $352 = (0)>($351|0); | |
| $353 = ($347>>>0)>=($350>>>0); | |
| $354 = (0)==($351|0); | |
| $355 = $354 & $353; | |
| $356 = $352 | $355; | |
| $$sink$i$i$i$i = $356&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i$i; | |
| } | |
| $357 = HEAP32[(52)>>2]|0; | |
| $358 = (FUNCTION_TABLE_ii[$357 & 255]($333)|0); | |
| $359 = ($358|0)==(0|0); | |
| if ($359) { | |
| break L118; | |
| } | |
| $360 = HEAP32[(64)>>2]|0; | |
| $361 = (FUNCTION_TABLE_ii[$360 & 255]($358)|0); | |
| $362 = HEAP32[11822]|0; | |
| $363 = (($362) + ($361))|0; | |
| HEAP32[11822] = $363; | |
| $364 = HEAP32[11826]|0; | |
| $365 = ($363>>>0)>($364>>>0); | |
| if ($365) { | |
| HEAP32[11826] = $363; | |
| } | |
| $366 = HEAP32[11825]|0; | |
| $367 = (($366) + 1)|0; | |
| HEAP32[11825] = $367; | |
| $368 = HEAP32[11831]|0; | |
| $369 = ($367>>>0)>($368>>>0); | |
| if (!($369)) { | |
| $$0$i5364$i = $358; | |
| break; | |
| } | |
| HEAP32[11831] = $367; | |
| $$0$i5364$i = $358; | |
| } | |
| } while(0); | |
| HEAP32[$vararg_buffer17>>2] = $1; | |
| (_sqlite3_snprintf($318,$$0$i5364$i,18035,$vararg_buffer17)|0); | |
| $374 = ((($2)) + 24|0); | |
| HEAP32[$374>>2] = $$0$i5364$i; | |
| $$0505665$i = 3344; | |
| break L113; | |
| } | |
| } while(0); | |
| $375 = ((($2)) + 24|0); | |
| HEAP32[$375>>2] = 0; | |
| $376 = ((($2)) + 20|0); | |
| HEAP32[$376>>2] = 0; | |
| $377 = ($$5|0)>(-1); | |
| if (!($377)) { | |
| $$1135$ph = 7;$$pre$phiZ2D = $186; | |
| break L96; | |
| } | |
| $378 = HEAP32[(3436)>>2]|0; | |
| $379 = (FUNCTION_TABLE_ii[$378 & 255]($$5)|0); | |
| $380 = ($379|0)==(0); | |
| if ($380) { | |
| $$1135$ph = 7;$$pre$phiZ2D = $186; | |
| break L96; | |
| } | |
| $381 = HEAP32[$202>>2]|0; | |
| $382 = (___errno_location()|0); | |
| $383 = HEAP32[$382>>2]|0; | |
| $384 = (_strerror($383)|0); | |
| $385 = ($381|0)==(0|0); | |
| $$$i$i54$i = $385 ? 47328 : $381; | |
| HEAP32[$vararg_buffer20>>2] = 35898; | |
| $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); | |
| HEAP32[$vararg_ptr23>>2] = $383; | |
| $vararg_ptr24 = ((($vararg_buffer20)) + 8|0); | |
| HEAP32[$vararg_ptr24>>2] = 17649; | |
| $vararg_ptr25 = ((($vararg_buffer20)) + 12|0); | |
| HEAP32[$vararg_ptr25>>2] = $$$i$i54$i; | |
| $vararg_ptr26 = ((($vararg_buffer20)) + 16|0); | |
| HEAP32[$vararg_ptr26>>2] = $384; | |
| _sqlite3_log(4106,17618,$vararg_buffer20); | |
| $$1135$ph = 7;$$pre$phiZ2D = $186; | |
| break L96; | |
| } | |
| $226 = ((($2)) + 8|0); | |
| $227 = HEAP32[$200>>2]|0; | |
| $228 = HEAP32[(3484)>>2]|0; | |
| $229 = (FUNCTION_TABLE_iii[$228 & 255]($227,$6)|0); | |
| $230 = ($229|0)==(0); | |
| L139: do { | |
| if ($230) { | |
| $235 = $5; | |
| $236 = $235; | |
| HEAP32[$236>>2] = 0; | |
| $237 = (($235) + 4)|0; | |
| $238 = $237; | |
| HEAP32[$238>>2] = 0; | |
| $239 = HEAP32[$6>>2]|0; | |
| HEAP32[$5>>2] = $239; | |
| $240 = ((($6)) + 72|0); | |
| $241 = HEAP32[$240>>2]|0; | |
| $242 = ((($5)) + 8|0); | |
| $243 = $242; | |
| $244 = $243; | |
| HEAP32[$244>>2] = $241; | |
| $245 = (($243) + 4)|0; | |
| $246 = $245; | |
| HEAP32[$246>>2] = 0; | |
| $$029$i$i = HEAP32[11670]|0; | |
| $cond30$i$i = ($$029$i$i|0)==(0|0); | |
| L141: do { | |
| if ($cond30$i$i) { | |
| label = 77; | |
| } else { | |
| $$031$i$i = $$029$i$i; | |
| while(1) { | |
| $247 = (_memcmp($5,$$031$i$i,16)|0); | |
| $248 = ($247|0)==(0); | |
| if ($248) { | |
| break; | |
| } | |
| $249 = ((($$031$i$i)) + 40|0); | |
| $$0$i$i = HEAP32[$249>>2]|0; | |
| $cond$i$i = ($$0$i$i|0)==(0|0); | |
| if ($cond$i$i) { | |
| label = 77; | |
| break L141; | |
| } else { | |
| $$031$i$i = $$0$i$i; | |
| } | |
| } | |
| $303 = ((($$031$i$i)) + 24|0); | |
| $304 = HEAP32[$303>>2]|0; | |
| $305 = (($304) + 1)|0; | |
| HEAP32[$303>>2] = $305; | |
| $$1$i$i = $$031$i$i; | |
| } | |
| } while(0); | |
| if ((label|0) == 77) { | |
| $250 = (_sqlite3_initialize()|0); | |
| $251 = ($250|0)==(0); | |
| if (!($251)) { | |
| $$024$i$ph$i = 7; | |
| break; | |
| } | |
| $252 = HEAP32[2]|0; | |
| $253 = ($252|0)==(0); | |
| do { | |
| if ($253) { | |
| $292 = HEAP32[(52)>>2]|0; | |
| $293 = (FUNCTION_TABLE_ii[$292 & 255](48)|0); | |
| $294 = ($293|0)==(0|0); | |
| if ($294) { | |
| $$024$i$ph$i = 7; | |
| break L139; | |
| } else { | |
| $$in$i$i = $293; | |
| } | |
| } else { | |
| $254 = HEAP32[(68)>>2]|0; | |
| $255 = (FUNCTION_TABLE_ii[$254 & 255](48)|0); | |
| $256 = HEAP32[11829]|0; | |
| $257 = ($256>>>0)<(48); | |
| if ($257) { | |
| HEAP32[11829] = 48; | |
| } | |
| $258 = (46456); | |
| $259 = $258; | |
| $260 = HEAP32[$259>>2]|0; | |
| $261 = (($258) + 4)|0; | |
| $262 = $261; | |
| $263 = HEAP32[$262>>2]|0; | |
| $264 = ($263|0)>(0); | |
| $265 = ($260>>>0)>(0); | |
| $266 = ($263|0)==(0); | |
| $267 = $266 & $265; | |
| $268 = $264 | $267; | |
| if ($268) { | |
| $269 = HEAP32[11822]|0; | |
| $270 = ($255|0)<(0); | |
| $271 = $270 << 31 >> 31; | |
| $272 = (_i64Subtract(($260|0),($263|0),($255|0),($271|0))|0); | |
| $273 = tempRet0; | |
| $274 = (0)>($273|0); | |
| $275 = ($269>>>0)>=($272>>>0); | |
| $276 = (0)==($273|0); | |
| $277 = $276 & $275; | |
| $278 = $274 | $277; | |
| $$sink$i$i$i$i$i = $278&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i$i$i; | |
| } | |
| $279 = HEAP32[(52)>>2]|0; | |
| $280 = (FUNCTION_TABLE_ii[$279 & 255]($255)|0); | |
| $281 = ($280|0)==(0|0); | |
| if ($281) { | |
| $$024$i$ph$i = 7; | |
| break L139; | |
| } | |
| $282 = HEAP32[(64)>>2]|0; | |
| $283 = (FUNCTION_TABLE_ii[$282 & 255]($280)|0); | |
| $284 = HEAP32[11822]|0; | |
| $285 = (($284) + ($283))|0; | |
| HEAP32[11822] = $285; | |
| $286 = HEAP32[11826]|0; | |
| $287 = ($285>>>0)>($286>>>0); | |
| if ($287) { | |
| HEAP32[11826] = $285; | |
| } | |
| $288 = HEAP32[11825]|0; | |
| $289 = (($288) + 1)|0; | |
| HEAP32[11825] = $289; | |
| $290 = HEAP32[11831]|0; | |
| $291 = ($289>>>0)>($290>>>0); | |
| if (!($291)) { | |
| $$in$i$i = $280; | |
| break; | |
| } | |
| HEAP32[11831] = $289; | |
| $$in$i$i = $280; | |
| } | |
| } while(0); | |
| $295 = ((($$in$i$i)) + 16|0); | |
| ;HEAP32[$295>>2]=0|0;HEAP32[$295+4>>2]=0|0;HEAP32[$295+8>>2]=0|0;HEAP32[$295+12>>2]=0|0;HEAP32[$295+16>>2]=0|0;HEAP32[$295+20>>2]=0|0; | |
| ;HEAP32[$$in$i$i>>2]=HEAP32[$5>>2]|0;HEAP32[$$in$i$i+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$in$i$i+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$in$i$i+12>>2]=HEAP32[$5+12>>2]|0; | |
| $296 = ((($$in$i$i)) + 24|0); | |
| HEAP32[$296>>2] = 1; | |
| $297 = HEAP32[11670]|0; | |
| $298 = ((($$in$i$i)) + 40|0); | |
| HEAP32[$298>>2] = $297; | |
| $299 = ((($$in$i$i)) + 44|0); | |
| HEAP32[$299>>2] = 0; | |
| $300 = ($297|0)==(0); | |
| if (!($300)) { | |
| $301 = $297; | |
| $302 = ((($301)) + 44|0); | |
| HEAP32[$302>>2] = $$in$i$i; | |
| } | |
| HEAP32[11670] = $$in$i$i; | |
| $$1$i$i = $$in$i$i; | |
| } | |
| HEAP32[$226>>2] = $$1$i$i; | |
| $$0505665$i = 3868; | |
| break L113; | |
| } else { | |
| $231 = (___errno_location()|0); | |
| $232 = HEAP32[$231>>2]|0; | |
| $233 = ((($2)) + 20|0); | |
| HEAP32[$233>>2] = $232; | |
| $234 = ($232|0)==(75); | |
| $$$i$i = $234 ? 22 : 10; | |
| $$024$i$ph$i = $$$i$i; | |
| } | |
| } while(0); | |
| $306 = HEAP32[(3436)>>2]|0; | |
| $307 = (FUNCTION_TABLE_ii[$306 & 255]($$5)|0); | |
| $308 = ($307|0)==(0); | |
| if (!($308)) { | |
| $309 = ($2|0)==(0|0); | |
| if ($309) { | |
| $314 = 0; | |
| } else { | |
| $310 = HEAP32[$202>>2]|0; | |
| $314 = $310; | |
| } | |
| $311 = (___errno_location()|0); | |
| $312 = HEAP32[$311>>2]|0; | |
| $313 = (_strerror($312)|0); | |
| $315 = ($314|0)==(0|0); | |
| $$$i$i$i = $315 ? 47328 : $314; | |
| HEAP32[$vararg_buffer10>>2] = 35813; | |
| $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); | |
| HEAP32[$vararg_ptr13>>2] = $312; | |
| $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); | |
| HEAP32[$vararg_ptr14>>2] = 17649; | |
| $vararg_ptr15 = ((($vararg_buffer10)) + 12|0); | |
| HEAP32[$vararg_ptr15>>2] = $$$i$i$i; | |
| $vararg_ptr16 = ((($vararg_buffer10)) + 16|0); | |
| HEAP32[$vararg_ptr16>>2] = $313; | |
| _sqlite3_log(4106,17618,$vararg_buffer10); | |
| } | |
| $373 = ((($2)) + 20|0); | |
| HEAP32[$373>>2] = 0; | |
| $$1135$ph = $$024$i$ph$i;$$pre$phiZ2D = $186; | |
| break L96; | |
| } else { | |
| $$0505665$i = 3792; | |
| } | |
| } while(0); | |
| $386 = ((($2)) + 20|0); | |
| HEAP32[$386>>2] = 0; | |
| HEAP32[$2>>2] = $$0505665$i; | |
| _verifyDbFile($2); | |
| $$3 = 0; | |
| STACKTOP = sp;return ($$3|0); | |
| } | |
| } while(0); | |
| $387 = HEAP32[$$pre$phiZ2D>>2]|0; | |
| $388 = ($387|0)==(0|0); | |
| if ($388) { | |
| $$3 = $$1135$ph; | |
| STACKTOP = sp;return ($$3|0); | |
| } | |
| $389 = HEAP32[2]|0; | |
| $390 = ($389|0)==(0); | |
| if ($390) { | |
| $398 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$398 & 255]($387); | |
| $$3 = $$1135$ph; | |
| STACKTOP = sp;return ($$3|0); | |
| } else { | |
| $391 = HEAP32[(64)>>2]|0; | |
| $392 = (FUNCTION_TABLE_ii[$391 & 255]($387)|0); | |
| $393 = HEAP32[11822]|0; | |
| $394 = (($393) - ($392))|0; | |
| HEAP32[11822] = $394; | |
| $395 = HEAP32[11825]|0; | |
| $396 = (($395) + -1)|0; | |
| HEAP32[11825] = $396; | |
| $397 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$397 & 255]($387); | |
| $$3 = $$1135$ph; | |
| STACKTOP = sp;return ($$3|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _unixDelete($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$i = 0, $$$i11 = 0, $$010 = 0, $$1 = 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; | |
| var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0; | |
| var $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 80|0; | |
| $vararg_buffer12 = sp + 48|0; | |
| $vararg_buffer5 = sp + 24|0; | |
| $vararg_buffer = sp; | |
| $3 = sp + 68|0; | |
| $4 = HEAP32[(3616)>>2]|0; | |
| $5 = (FUNCTION_TABLE_ii[$4 & 255]($1)|0); | |
| $6 = ($5|0)==(-1); | |
| if ($6) { | |
| $7 = (___errno_location()|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ($8|0)==(2); | |
| if ($9) { | |
| $$010 = 5898; | |
| STACKTOP = sp;return ($$010|0); | |
| } | |
| $10 = ($1|0)==(0|0); | |
| $$$i = $10 ? 47328 : $1; | |
| $11 = (___errno_location()|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = (_strerror($12)|0); | |
| HEAP32[$vararg_buffer>>2] = 36433; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $12; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = 17759; | |
| $vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$vararg_ptr3>>2] = $$$i; | |
| $vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr4>>2] = $13; | |
| _sqlite3_log(2570,17618,$vararg_buffer); | |
| $$010 = 2570; | |
| STACKTOP = sp;return ($$010|0); | |
| } | |
| $14 = $2 & 1; | |
| $15 = ($14|0)==(0); | |
| if ($15) { | |
| $$010 = 0; | |
| STACKTOP = sp;return ($$010|0); | |
| } | |
| $16 = HEAP32[(3628)>>2]|0; | |
| $17 = (FUNCTION_TABLE_iii[$16 & 255]($1,$3)|0); | |
| $18 = ($17|0)==(0); | |
| if ($18) { | |
| $19 = HEAP32[$3>>2]|0; | |
| $20 = (_fsync($19)|0); | |
| $21 = ($20|0)==(0); | |
| if ($21) { | |
| $$1 = 0; | |
| } else { | |
| $22 = ($1|0)==(0|0); | |
| $$$i11 = $22 ? 47328 : $1; | |
| $23 = (___errno_location()|0); | |
| $24 = HEAP32[$23>>2]|0; | |
| $25 = (_strerror($24)|0); | |
| HEAP32[$vararg_buffer5>>2] = 36443; | |
| $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); | |
| HEAP32[$vararg_ptr8>>2] = $24; | |
| $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); | |
| HEAP32[$vararg_ptr9>>2] = 18017; | |
| $vararg_ptr10 = ((($vararg_buffer5)) + 12|0); | |
| HEAP32[$vararg_ptr10>>2] = $$$i11; | |
| $vararg_ptr11 = ((($vararg_buffer5)) + 16|0); | |
| HEAP32[$vararg_ptr11>>2] = $25; | |
| _sqlite3_log(1290,17618,$vararg_buffer5); | |
| $$1 = 1290; | |
| } | |
| $26 = HEAP32[$3>>2]|0; | |
| $27 = HEAP32[(3436)>>2]|0; | |
| $28 = (FUNCTION_TABLE_ii[$27 & 255]($26)|0); | |
| $29 = ($28|0)==(0); | |
| if ($29) { | |
| $$2 = $$1; | |
| } else { | |
| $30 = (___errno_location()|0); | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = (_strerror($31)|0); | |
| HEAP32[$vararg_buffer12>>2] = 36445; | |
| $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); | |
| HEAP32[$vararg_ptr15>>2] = $31; | |
| $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); | |
| HEAP32[$vararg_ptr16>>2] = 17649; | |
| $vararg_ptr17 = ((($vararg_buffer12)) + 12|0); | |
| HEAP32[$vararg_ptr17>>2] = 47328; | |
| $vararg_ptr18 = ((($vararg_buffer12)) + 16|0); | |
| HEAP32[$vararg_ptr18>>2] = $32; | |
| _sqlite3_log(4106,17618,$vararg_buffer12); | |
| $$2 = $$1; | |
| } | |
| } else { | |
| $$2 = 0; | |
| } | |
| $$010 = $$2; | |
| STACKTOP = sp;return ($$010|0); | |
| } | |
| function _unixAccess($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 80|0; | |
| $4 = sp; | |
| $5 = ($2|0)==(0); | |
| if ($5) { | |
| $6 = HEAP32[(3472)>>2]|0; | |
| $7 = (FUNCTION_TABLE_iii[$6 & 255]($1,$4)|0); | |
| $8 = ($7|0)==(0); | |
| $9 = ((($4)) + 36|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)>(0); | |
| $12 = $8 & $11; | |
| $13 = $12&1; | |
| HEAP32[$3>>2] = $13; | |
| STACKTOP = sp;return 0; | |
| } else { | |
| $14 = HEAP32[(3448)>>2]|0; | |
| $15 = (FUNCTION_TABLE_iii[$14 & 255]($1,6)|0); | |
| $16 = ($15|0)==(0); | |
| $17 = $16&1; | |
| HEAP32[$3>>2] = $17; | |
| STACKTOP = sp;return 0; | |
| } | |
| return (0)|0; | |
| } | |
| function _unixFullPathname($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var $$$i = 0, $$$i$i = 0, $$$i76 = 0, $$0$i$i = 0, $$0$i22$i = 0, $$0$i77 = 0, $$061 = 0, $$063 = 0, $$064 = 0, $$067 = 0, $$1$ph = 0, $$165 = 0, $$165$ = 0, $$168$ph = 0, $$171 = 0, $$2 = 0, $$269 = 0, $$288$ph = 0, $$28892 = 0, $$4 = 0; | |
| var $$6 = 0, $$7 = 0, $$7$ph = 0, $$793 = 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, $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, $9 = 0, $not$ = 0, $or$cond = 0, $or$cond75 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer15 = 0, $vararg_buffer20 = 0, $vararg_buffer27 = 0, $vararg_buffer3 = 0, $vararg_buffer32 = 0, $vararg_buffer37 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0; | |
| var $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr2 = 0, $vararg_ptr23 = 0, $vararg_ptr24 = 0, $vararg_ptr25 = 0, $vararg_ptr26 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr35 = 0, $vararg_ptr36 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0; | |
| var $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 256|0; | |
| $vararg_buffer49 = sp + 168|0; | |
| $vararg_buffer44 = sp + 152|0; | |
| $vararg_buffer37 = sp + 128|0; | |
| $vararg_buffer32 = sp + 112|0; | |
| $vararg_buffer27 = sp + 96|0; | |
| $vararg_buffer20 = sp + 72|0; | |
| $vararg_buffer15 = sp + 56|0; | |
| $vararg_buffer10 = sp + 40|0; | |
| $vararg_buffer3 = sp + 16|0; | |
| $vararg_buffer = sp; | |
| $4 = sp + 172|0; | |
| $5 = ((($4)) + 12|0); | |
| $6 = (($2) + -1)|0; | |
| $7 = (($2) + -2)|0; | |
| $8 = ($3|0)==(0|0); | |
| $$063 = 0;$$064 = $1;$$067 = 1; | |
| while(1) { | |
| $9 = HEAP32[(3748)>>2]|0; | |
| $10 = (FUNCTION_TABLE_iii[$9 & 255]($$064,$4)|0); | |
| $11 = ($10|0)==(0); | |
| if ($11) { | |
| $19 = HEAP32[$5>>2]|0; | |
| $20 = $19 & 61440; | |
| $21 = ($20|0)==(40960); | |
| $22 = $21 ^ 1; | |
| if ($21) { | |
| $23 = ($$063|0)==(0|0); | |
| if ($23) { | |
| $24 = (_sqlite3_malloc($2)|0); | |
| $25 = ($24|0)==(0|0); | |
| if ($25) { | |
| $$288$ph = 0;$$7$ph = 7; | |
| label = 33; | |
| break; | |
| } else { | |
| $$1$ph = $24;$$168$ph = $$067; | |
| } | |
| } else { | |
| $26 = (($$067) + 1)|0; | |
| $27 = ($$067|0)>(99); | |
| if ($27) { | |
| label = 9; | |
| break; | |
| } else { | |
| $$1$ph = $$063;$$168$ph = $26; | |
| } | |
| } | |
| $28 = HEAP32[(3736)>>2]|0; | |
| $29 = (FUNCTION_TABLE_iiii[$28 & 255]($$064,$$1$ph,$6)|0); | |
| $30 = ($29|0)<(0); | |
| if ($30) { | |
| label = 11; | |
| break; | |
| } | |
| $35 = HEAP8[$$1$ph>>0]|0; | |
| $36 = ($35<<24>>24)==(47); | |
| do { | |
| if ($36) { | |
| $$171 = $29;$$4 = 0; | |
| } else { | |
| $37 = ($$064|0)==(0|0); | |
| if ($37) { | |
| $$061 = 0; | |
| } else { | |
| $38 = (_strlen($$064)|0); | |
| $39 = $38 & 1073741823; | |
| $$061 = $39; | |
| } | |
| while(1) { | |
| $40 = ($$061|0)>(0); | |
| if (!($40)) { | |
| break; | |
| } | |
| $41 = (($$061) + -1)|0; | |
| $42 = (($$064) + ($41)|0); | |
| $43 = HEAP8[$42>>0]|0; | |
| $44 = ($43<<24>>24)==(47); | |
| if ($44) { | |
| break; | |
| } else { | |
| $$061 = $41; | |
| } | |
| } | |
| $45 = (($$061) + ($29))|0; | |
| $46 = ($45|0)<($2|0); | |
| if ($46) { | |
| $47 = (($$1$ph) + ($$061)|0); | |
| $48 = (($29) + 1)|0; | |
| _memmove(($47|0),($$1$ph|0),($48|0))|0; | |
| _memcpy(($$1$ph|0),($$064|0),($$061|0))|0; | |
| $$171 = $45;$$4 = 0; | |
| break; | |
| } else { | |
| HEAP32[$vararg_buffer27>>2] = 17915; | |
| $vararg_ptr30 = ((($vararg_buffer27)) + 4|0); | |
| HEAP32[$vararg_ptr30>>2] = 36580; | |
| $vararg_ptr31 = ((($vararg_buffer27)) + 8|0); | |
| HEAP32[$vararg_ptr31>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer27); | |
| $$171 = $29;$$4 = 14; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $49 = (($$1$ph) + ($$171)|0); | |
| HEAP8[$49>>0] = 0; | |
| $$165 = $$1$ph;$$2 = $$1$ph;$$269 = $$168$ph;$$6 = $$4;$72 = $22; | |
| } else { | |
| $$165 = $$064;$$2 = $$063;$$269 = $$067;$$6 = 0;$72 = 1; | |
| } | |
| } else { | |
| $12 = (___errno_location()|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = ($13|0)==(2); | |
| if ($14) { | |
| $$165 = $$064;$$2 = $$063;$$269 = $$067;$$6 = 0;$72 = 1; | |
| } else { | |
| label = 4; | |
| break; | |
| } | |
| } | |
| $50 = ($$6|0)!=(0); | |
| $51 = ($$165|0)==($3|0); | |
| $or$cond75 = $50 | $51; | |
| if ($or$cond75) { | |
| $$7 = $$6; | |
| } else { | |
| $52 = ($$165|0)==(0|0); | |
| if ($52) { | |
| $$0$i$i = 0; | |
| } else { | |
| $53 = (_strlen($$165)|0); | |
| $54 = $53 & 1073741823; | |
| $$0$i$i = $54; | |
| } | |
| $55 = HEAP8[$$165>>0]|0; | |
| $56 = ($55<<24>>24)==(47); | |
| if ($56) { | |
| $$0$i77 = 0; | |
| } else { | |
| $57 = HEAP32[(3460)>>2]|0; | |
| $58 = (FUNCTION_TABLE_iii[$57 & 255]($3,$7)|0); | |
| $59 = ($58|0)==(0|0); | |
| if ($59) { | |
| label = 26; | |
| break; | |
| } | |
| if ($8) { | |
| $$0$i22$i = 0; | |
| } else { | |
| $63 = (_strlen($3)|0); | |
| $64 = $63 & 1073741823; | |
| $$0$i22$i = $64; | |
| } | |
| $65 = (($$0$i22$i) + 1)|0; | |
| $66 = (($3) + ($$0$i22$i)|0); | |
| HEAP8[$66>>0] = 47; | |
| $$0$i77 = $65; | |
| } | |
| $67 = (($$0$i77) + ($$0$i$i))|0; | |
| $68 = ($67|0)<($2|0); | |
| if (!($68)) { | |
| label = 31; | |
| break; | |
| } | |
| $70 = (($2) - ($$0$i77))|0; | |
| $71 = (($3) + ($$0$i77)|0); | |
| HEAP32[$vararg_buffer49>>2] = $$165; | |
| (_sqlite3_snprintf($70,$71,17859,$vararg_buffer49)|0); | |
| $$7 = 0; | |
| } | |
| $$165$ = $72 ? $$165 : $3; | |
| $not$ = $72 ^ 1; | |
| $73 = ($$7|0)==(0); | |
| $or$cond = $73 & $not$; | |
| if ($or$cond) { | |
| $$063 = $$2;$$064 = $$165$;$$067 = $$269; | |
| } else { | |
| $$28892 = $$2;$$793 = $$7; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 4) { | |
| HEAP32[$vararg_buffer>>2] = 17915; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = 36557; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer); | |
| $15 = (___errno_location()|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = (_strerror($16)|0); | |
| $18 = ($$064|0)==(0|0); | |
| $$$i = $18 ? 47328 : $$064; | |
| HEAP32[$vararg_buffer3>>2] = 36557; | |
| $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); | |
| HEAP32[$vararg_ptr6>>2] = $16; | |
| $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); | |
| HEAP32[$vararg_ptr7>>2] = 17847; | |
| $vararg_ptr8 = ((($vararg_buffer3)) + 12|0); | |
| HEAP32[$vararg_ptr8>>2] = $$$i; | |
| $vararg_ptr9 = ((($vararg_buffer3)) + 16|0); | |
| HEAP32[$vararg_ptr9>>2] = $17; | |
| _sqlite3_log(14,17618,$vararg_buffer3); | |
| $$28892 = $$063;$$793 = 14; | |
| } | |
| else if ((label|0) == 9) { | |
| HEAP32[$vararg_buffer10>>2] = 17915; | |
| $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); | |
| HEAP32[$vararg_ptr13>>2] = 36568; | |
| $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); | |
| HEAP32[$vararg_ptr14>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer10); | |
| $$288$ph = $$063;$$7$ph = 14; | |
| label = 33; | |
| } | |
| else if ((label|0) == 11) { | |
| HEAP32[$vararg_buffer15>>2] = 17915; | |
| $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); | |
| HEAP32[$vararg_ptr18>>2] = 36574; | |
| $vararg_ptr19 = ((($vararg_buffer15)) + 8|0); | |
| HEAP32[$vararg_ptr19>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer15); | |
| $31 = (___errno_location()|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = (_strerror($32)|0); | |
| $34 = ($$064|0)==(0|0); | |
| $$$i76 = $34 ? 47328 : $$064; | |
| HEAP32[$vararg_buffer20>>2] = 36574; | |
| $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); | |
| HEAP32[$vararg_ptr23>>2] = $32; | |
| $vararg_ptr24 = ((($vararg_buffer20)) + 8|0); | |
| HEAP32[$vararg_ptr24>>2] = 17838; | |
| $vararg_ptr25 = ((($vararg_buffer20)) + 12|0); | |
| HEAP32[$vararg_ptr25>>2] = $$$i76; | |
| $vararg_ptr26 = ((($vararg_buffer20)) + 16|0); | |
| HEAP32[$vararg_ptr26>>2] = $33; | |
| _sqlite3_log(14,17618,$vararg_buffer20); | |
| $$288$ph = $$1$ph;$$7$ph = 14; | |
| label = 33; | |
| } | |
| else if ((label|0) == 26) { | |
| HEAP32[$vararg_buffer32>>2] = 17915; | |
| $vararg_ptr35 = ((($vararg_buffer32)) + 4|0); | |
| HEAP32[$vararg_ptr35>>2] = 36500; | |
| $vararg_ptr36 = ((($vararg_buffer32)) + 8|0); | |
| HEAP32[$vararg_ptr36>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer32); | |
| $60 = (___errno_location()|0); | |
| $61 = HEAP32[$60>>2]|0; | |
| $62 = (_strerror($61)|0); | |
| $$$i$i = $52 ? 47328 : $$165; | |
| HEAP32[$vararg_buffer37>>2] = 36500; | |
| $vararg_ptr40 = ((($vararg_buffer37)) + 4|0); | |
| HEAP32[$vararg_ptr40>>2] = $61; | |
| $vararg_ptr41 = ((($vararg_buffer37)) + 8|0); | |
| HEAP32[$vararg_ptr41>>2] = 17667; | |
| $vararg_ptr42 = ((($vararg_buffer37)) + 12|0); | |
| HEAP32[$vararg_ptr42>>2] = $$$i$i; | |
| $vararg_ptr43 = ((($vararg_buffer37)) + 16|0); | |
| HEAP32[$vararg_ptr43>>2] = $62; | |
| _sqlite3_log(14,17618,$vararg_buffer37); | |
| $$288$ph = $$2;$$7$ph = 14; | |
| label = 33; | |
| } | |
| else if ((label|0) == 31) { | |
| $69 = (($3) + ($$0$i77)|0); | |
| HEAP8[$69>>0] = 0; | |
| HEAP32[$vararg_buffer44>>2] = 17915; | |
| $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); | |
| HEAP32[$vararg_ptr47>>2] = 36509; | |
| $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); | |
| HEAP32[$vararg_ptr48>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer44); | |
| $$288$ph = $$2;$$7$ph = 14; | |
| label = 33; | |
| } | |
| if ((label|0) == 33) { | |
| $$28892 = $$288$ph;$$793 = $$7$ph; | |
| } | |
| $74 = ($$28892|0)==(0|0); | |
| if ($74) { | |
| STACKTOP = sp;return ($$793|0); | |
| } | |
| $75 = HEAP32[2]|0; | |
| $76 = ($75|0)==(0); | |
| if ($76) { | |
| $84 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$84 & 255]($$28892); | |
| STACKTOP = sp;return ($$793|0); | |
| } else { | |
| $77 = HEAP32[(64)>>2]|0; | |
| $78 = (FUNCTION_TABLE_ii[$77 & 255]($$28892)|0); | |
| $79 = HEAP32[11822]|0; | |
| $80 = (($79) - ($78))|0; | |
| HEAP32[11822] = $80; | |
| $81 = HEAP32[11825]|0; | |
| $82 = (($81) + -1)|0; | |
| HEAP32[11825] = $82; | |
| $83 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$83 & 255]($$28892); | |
| STACKTOP = sp;return ($$793|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _unixRandomness($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; | |
| $vararg_buffer2 = sp + 8|0; | |
| $vararg_buffer = sp; | |
| $3 = sp + 28|0; | |
| _memset(($2|0),0,($1|0))|0; | |
| $4 = (_getpid()|0); | |
| HEAP32[11668] = $4; | |
| while(1) { | |
| $5 = HEAP32[(3424)>>2]|0; | |
| $6 = (FUNCTION_TABLE_iiii[$5 & 255](18004,524288,420)|0); | |
| $7 = ($6|0)<(0); | |
| if ($7) { | |
| $8 = (___errno_location()|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ($9|0)==(4); | |
| if ($10) { | |
| continue; | |
| } else { | |
| label = 6; | |
| break; | |
| } | |
| } | |
| $11 = ($6|0)>(2); | |
| if ($11) { | |
| break; | |
| } | |
| $12 = HEAP32[(3436)>>2]|0; | |
| (FUNCTION_TABLE_ii[$12 & 255]($6)|0); | |
| HEAP32[$vararg_buffer>>2] = 18004; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $6; | |
| _sqlite3_log(28,17862,$vararg_buffer); | |
| $13 = HEAP32[(3424)>>2]|0; | |
| $14 = (FUNCTION_TABLE_iiii[$13 & 255](17905,0,0)|0); | |
| $15 = ($14|0)<(0); | |
| if ($15) { | |
| label = 6; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 6) { | |
| (_time(($3|0))|0); | |
| $16 = HEAP32[$3>>2]|0; | |
| HEAP8[$2>>0]=$16&255;HEAP8[$2+1>>0]=($16>>8)&255;HEAP8[$2+2>>0]=($16>>16)&255;HEAP8[$2+3>>0]=$16>>24; | |
| $17 = ((($2)) + 4|0); | |
| $18 = HEAP32[11668]|0; | |
| HEAP8[$17>>0]=$18&255;HEAP8[$17+1>>0]=($18>>8)&255;HEAP8[$17+2>>0]=($18>>16)&255;HEAP8[$17+3>>0]=$18>>24; | |
| $$0 = 8; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| while(1) { | |
| $19 = HEAP32[(3520)>>2]|0; | |
| $20 = (FUNCTION_TABLE_iiii[$19 & 255]($6,$2,$1)|0); | |
| $21 = ($20|0)<(0); | |
| if (!($21)) { | |
| break; | |
| } | |
| $22 = (___errno_location()|0); | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = ($23|0)==(4); | |
| if (!($24)) { | |
| break; | |
| } | |
| } | |
| $25 = HEAP32[(3436)>>2]|0; | |
| $26 = (FUNCTION_TABLE_ii[$25 & 255]($6)|0); | |
| $27 = ($26|0)==(0); | |
| if ($27) { | |
| $$0 = $1; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| $28 = (___errno_location()|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = (_strerror($29)|0); | |
| HEAP32[$vararg_buffer2>>2] = 36704; | |
| $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); | |
| HEAP32[$vararg_ptr5>>2] = $29; | |
| $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); | |
| HEAP32[$vararg_ptr6>>2] = 17649; | |
| $vararg_ptr7 = ((($vararg_buffer2)) + 12|0); | |
| HEAP32[$vararg_ptr7>>2] = 47328; | |
| $vararg_ptr8 = ((($vararg_buffer2)) + 16|0); | |
| HEAP32[$vararg_ptr8>>2] = $30; | |
| _sqlite3_log(4106,17618,$vararg_buffer2); | |
| $$0 = $1; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| function _unixSleep($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = (($1) + 999999)|0; | |
| $3 = (($2|0) / 1000000)&-1; | |
| (_sleep($3)|0); | |
| $4 = ($3*1000000)|0; | |
| return ($4|0); | |
| } | |
| function _unixCurrentTime($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.0, $18 = 0.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; | |
| $2 = sp; | |
| (_gettimeofday(($2|0),(0|0))|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3|0)<(0); | |
| $5 = $4 << 31 >> 31; | |
| $6 = (___muldi3(($3|0),($5|0),1000,0)|0); | |
| $7 = tempRet0; | |
| $8 = (_i64Add(($6|0),($7|0),1045635584,49096)|0); | |
| $9 = tempRet0; | |
| $10 = ((($2)) + 4|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (($11|0) / 1000)&-1; | |
| $13 = ($12|0)<(0); | |
| $14 = $13 << 31 >> 31; | |
| $15 = (_i64Add(($8|0),($9|0),($12|0),($14|0))|0); | |
| $16 = tempRet0; | |
| $17 = (+($15>>>0)) + (4294967296.0*(+($16|0))); | |
| $18 = $17 / 8.64E+7; | |
| HEAPF64[$1>>3] = $18; | |
| STACKTOP = sp;return 0; | |
| } | |
| function _unixGetLastError($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $3 = 0, $4 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = (___errno_location()|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| return ($4|0); | |
| } | |
| function _unixCurrentTimeInt64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $2 = sp; | |
| (_gettimeofday(($2|0),(0|0))|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3|0)<(0); | |
| $5 = $4 << 31 >> 31; | |
| $6 = (___muldi3(($3|0),($5|0),1000,0)|0); | |
| $7 = tempRet0; | |
| $8 = (_i64Add(($6|0),($7|0),1045635584,49096)|0); | |
| $9 = tempRet0; | |
| $10 = ((($2)) + 4|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (($11|0) / 1000)&-1; | |
| $13 = ($12|0)<(0); | |
| $14 = $13 << 31 >> 31; | |
| $15 = (_i64Add(($8|0),($9|0),($12|0),($14|0))|0); | |
| $16 = tempRet0; | |
| $17 = $1; | |
| $18 = $17; | |
| HEAP32[$18>>2] = $15; | |
| $19 = (($17) + 4)|0; | |
| $20 = $19; | |
| HEAP32[$20>>2] = $16; | |
| STACKTOP = sp;return 0; | |
| } | |
| function _unixSetSystemCall($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$ = 0, $$0 = 0, $$02025 = 0, $$126 = 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, $3 = 0, $4 = 0; | |
| var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ($1|0)==(0|0); | |
| if ($3) { | |
| $$02025 = 0; | |
| while(1) { | |
| $4 = (((3420 + (($$02025*12)|0)|0)) + 8|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ($5|0)==(0|0); | |
| if (!($6)) { | |
| $7 = (((3420 + (($$02025*12)|0)|0)) + 4|0); | |
| HEAP32[$7>>2] = $5; | |
| } | |
| $8 = (($$02025) + 1)|0; | |
| $exitcond = ($8|0)==(29); | |
| if ($exitcond) { | |
| $$0 = 0; | |
| break; | |
| } else { | |
| $$02025 = $8; | |
| } | |
| } | |
| return ($$0|0); | |
| } else { | |
| $$126 = 0; | |
| } | |
| while(1) { | |
| $9 = (3420 + (($$126*12)|0)|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (_strcmp($1,$10)|0); | |
| $12 = ($11|0)==(0); | |
| if ($12) { | |
| break; | |
| } | |
| $22 = (($$126) + 1)|0; | |
| $23 = ($22>>>0)<(29); | |
| if ($23) { | |
| $$126 = $22; | |
| } else { | |
| $$0 = 12; | |
| label = 10; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 10) { | |
| return ($$0|0); | |
| } | |
| $13 = (((3420 + (($$126*12)|0)|0)) + 8|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = ($14|0)==(0|0); | |
| if ($15) { | |
| $16 = (((3420 + (($$126*12)|0)|0)) + 4|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| HEAP32[$13>>2] = $17; | |
| $18 = $17; | |
| $20 = $18; | |
| } else { | |
| $20 = $14; | |
| } | |
| $19 = ($2|0)==(0|0); | |
| $$ = $19 ? $20 : $2; | |
| $21 = (((3420 + (($$126*12)|0)|0)) + 4|0); | |
| HEAP32[$21>>2] = $$; | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| function _unixGetSystemCall($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$06 = 0, $$08 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $$08 = 0; | |
| while(1) { | |
| $2 = (3420 + (($$08*12)|0)|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = (_strcmp($1,$3)|0); | |
| $5 = ($4|0)==(0); | |
| if ($5) { | |
| break; | |
| } | |
| $8 = (($$08) + 1)|0; | |
| $9 = ($8>>>0)<(29); | |
| if ($9) { | |
| $$08 = $8; | |
| } else { | |
| $$06 = 0; | |
| label = 5; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 5) { | |
| return ($$06|0); | |
| } | |
| $6 = (((3420 + (($$08*12)|0)|0)) + 4|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $$06 = $7; | |
| return ($$06|0); | |
| } | |
| function _unixNextSystemCall($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$011 = 0, $$014 = 0, $$2 = 0, $$2$in = 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 = ($1|0)==(0|0); | |
| L1: do { | |
| if ($2) { | |
| $$2$in = -1; | |
| } else { | |
| $$014 = 0; | |
| while(1) { | |
| $3 = (3420 + (($$014*12)|0)|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (_strcmp($1,$4)|0); | |
| $6 = ($5|0)==(0); | |
| if ($6) { | |
| $$2$in = $$014; | |
| break L1; | |
| } | |
| $7 = (($$014) + 1)|0; | |
| $8 = ($7|0)<(28); | |
| if ($8) { | |
| $$014 = $7; | |
| } else { | |
| $$2$in = $7; | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| while(1) { | |
| $$2 = (($$2$in) + 1)|0; | |
| $9 = ($$2|0)<(29); | |
| if (!($9)) { | |
| $$011 = 0; | |
| label = 7; | |
| break; | |
| } | |
| $10 = (((3420 + (($$2*12)|0)|0)) + 4|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ($11|0)==(0|0); | |
| if ($12) { | |
| $$2$in = $$2; | |
| } else { | |
| break; | |
| } | |
| } | |
| if ((label|0) == 7) { | |
| return ($$011|0); | |
| } | |
| $13 = (3420 + (($$2*12)|0)|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $$011 = $14; | |
| return ($$011|0); | |
| } | |
| function _dotlockIoFinderImpl($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return (3344|0); | |
| } | |
| function _dotlockClose($0) { | |
| $0 = $0|0; | |
| var $$$i$i$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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; | |
| $vararg_buffer = sp; | |
| $1 = ((($0)) + 24|0); | |
| $2 = ((($0)) + 16|0); | |
| $3 = HEAP8[$2>>0]|0; | |
| $4 = ($3<<24>>24)==(0); | |
| do { | |
| if (!($4)) { | |
| $5 = HEAP32[$1>>2]|0; | |
| $6 = HEAP32[(3652)>>2]|0; | |
| $7 = (FUNCTION_TABLE_ii[$6 & 255]($5)|0); | |
| $8 = ($7|0)<(0); | |
| if (!($8)) { | |
| HEAP8[$2>>0] = 0; | |
| break; | |
| } | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ($10|0)==(2); | |
| if (!($11)) { | |
| $12 = ((($0)) + 20|0); | |
| HEAP32[$12>>2] = $10; | |
| } | |
| } | |
| } while(0); | |
| $13 = HEAP32[$1>>2]|0; | |
| $14 = ($13|0)==(0|0); | |
| do { | |
| if (!($14)) { | |
| $15 = HEAP32[2]|0; | |
| $16 = ($15|0)==(0); | |
| if ($16) { | |
| $24 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$24 & 255]($13); | |
| break; | |
| } else { | |
| $17 = HEAP32[(64)>>2]|0; | |
| $18 = (FUNCTION_TABLE_ii[$17 & 255]($13)|0); | |
| $19 = HEAP32[11822]|0; | |
| $20 = (($19) - ($18))|0; | |
| HEAP32[11822] = $20; | |
| $21 = HEAP32[11825]|0; | |
| $22 = (($21) + -1)|0; | |
| HEAP32[11825] = $22; | |
| $23 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$23 & 255]($13); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $25 = ((($0)) + 12|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ($26|0)>(-1); | |
| if ($27) { | |
| $28 = HEAP32[(3436)>>2]|0; | |
| $29 = (FUNCTION_TABLE_ii[$28 & 255]($26)|0); | |
| $30 = ($29|0)==(0); | |
| if (!($30)) { | |
| $31 = ((($0)) + 32|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = (___errno_location()|0); | |
| $34 = HEAP32[$33>>2]|0; | |
| $35 = (_strerror($34)|0); | |
| $36 = ($32|0)==(0|0); | |
| $$$i$i$i = $36 ? 47328 : $32; | |
| HEAP32[$vararg_buffer>>2] = 32357; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $34; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = 17649; | |
| $vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$vararg_ptr3>>2] = $$$i$i$i; | |
| $vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr4>>2] = $35; | |
| _sqlite3_log(4106,17618,$vararg_buffer); | |
| } | |
| HEAP32[$25>>2] = -1; | |
| } | |
| $37 = ((($0)) + 28|0); | |
| $38 = HEAP32[$37>>2]|0; | |
| $39 = ($38|0)==(0|0); | |
| if ($39) { | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } | |
| $40 = HEAP32[2]|0; | |
| $41 = ($40|0)==(0); | |
| if ($41) { | |
| $49 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$49 & 255]($38); | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } else { | |
| $42 = HEAP32[(64)>>2]|0; | |
| $43 = (FUNCTION_TABLE_ii[$42 & 255]($38)|0); | |
| $44 = HEAP32[11822]|0; | |
| $45 = (($44) - ($43))|0; | |
| HEAP32[11822] = $45; | |
| $46 = HEAP32[11825]|0; | |
| $47 = (($46) + -1)|0; | |
| HEAP32[11825] = $47; | |
| $48 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$48 & 255]($38); | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } | |
| return (0)|0; | |
| } | |
| function _unixRead($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 = 0, $$028$ph$i = 0, $$031$ph$i = 0, $$033$ph$i = 0, $$130$i = 0, $$2$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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $5 = ((($0)) + 12|0); | |
| $$028$ph$i = 0;$$031$ph$i = $2;$$033$ph$i = $1;$28 = $4;$7 = $3; | |
| L1: while(1) { | |
| while(1) { | |
| $6 = HEAP32[$5>>2]|0; | |
| $8 = (_lseek($6,$7,0)|0); | |
| $9 = ($8|0)<(0); | |
| if ($9) { | |
| label = 4; | |
| break L1; | |
| } | |
| $13 = HEAP32[(3520)>>2]|0; | |
| $14 = HEAP32[$5>>2]|0; | |
| $15 = (FUNCTION_TABLE_iiii[$13 & 255]($14,$$033$ph$i,$$031$ph$i)|0); | |
| $16 = ($$031$ph$i|0)==($15|0); | |
| if ($16) { | |
| $$130$i = $$031$ph$i;$$2$i = $$028$ph$i; | |
| label = 10; | |
| break L1; | |
| } | |
| $17 = ($15|0)<(0); | |
| if (!($17)) { | |
| break; | |
| } | |
| $18 = (___errno_location()|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = ($19|0)==(4); | |
| if (!($20)) { | |
| label = 8; | |
| break L1; | |
| } | |
| } | |
| $24 = ($15|0)==(0); | |
| $25 = (($$031$ph$i) - ($15))|0; | |
| $26 = ($15|0)<(0); | |
| $27 = $26 << 31 >> 31; | |
| $29 = (_i64Add(($15|0),($27|0),($7|0),($28|0))|0); | |
| $30 = tempRet0; | |
| $31 = (($15) + ($$028$ph$i))|0; | |
| $32 = (($$033$ph$i) + ($15)|0); | |
| if ($24) { | |
| $$130$i = 0;$$2$i = $$028$ph$i; | |
| label = 10; | |
| break; | |
| } else { | |
| $$028$ph$i = $31;$$031$ph$i = $25;$$033$ph$i = $32;$28 = $30;$7 = $29; | |
| } | |
| } | |
| if ((label|0) == 4) { | |
| $10 = (___errno_location()|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ((($0)) + 20|0); | |
| HEAP32[$12>>2] = $11; | |
| $$0$i = -1; | |
| } | |
| else if ((label|0) == 8) { | |
| $21 = (___errno_location()|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = ((($0)) + 20|0); | |
| HEAP32[$23>>2] = $22; | |
| $$130$i = $15;$$2$i = 0; | |
| label = 10; | |
| } | |
| if ((label|0) == 10) { | |
| $33 = (($$2$i) + ($$130$i))|0; | |
| $$0$i = $33; | |
| } | |
| $34 = ($$0$i|0)==($2|0); | |
| if ($34) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $35 = ($$0$i|0)<(0); | |
| if ($35) { | |
| $$0 = 266; | |
| return ($$0|0); | |
| } | |
| $36 = (($2) - ($$0$i))|0; | |
| $37 = (($1) + ($$0$i)|0); | |
| $38 = ((($0)) + 20|0); | |
| HEAP32[$38>>2] = 0; | |
| _memset(($37|0),0,($36|0))|0; | |
| $$0 = 522; | |
| return ($$0|0); | |
| } | |
| function _unixWrite($0,$1,$2,$3,$4) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| $4 = $4|0; | |
| var $$0 = 0, $$0151719$i$i = 0, $$022 = 0, $$023 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $5 = ((($0)) + 12|0); | |
| $$022 = $2;$$023 = $1;$27 = $4;$8 = $3; | |
| L1: while(1) { | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = $$022 & 131071; | |
| while(1) { | |
| $9 = (_lseek($6,$8,0)|0); | |
| $10 = ($9|0)<(0); | |
| if ($10) { | |
| $$0151719$i$i = -1; | |
| label = 6; | |
| break L1; | |
| } | |
| $11 = HEAP32[(3556)>>2]|0; | |
| $12 = (FUNCTION_TABLE_iiii[$11 & 255]($6,$$023,$7)|0); | |
| $13 = ($12|0)<(0); | |
| if (!($13)) { | |
| break; | |
| } | |
| $14 = (___errno_location()|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = ($15|0)==(4); | |
| if (!($16)) { | |
| $$0151719$i$i = $12; | |
| label = 6; | |
| break L1; | |
| } | |
| } | |
| $21 = ($$022|0)>($12|0); | |
| $22 = ($12|0)!=(0); | |
| $23 = $21 & $22; | |
| if (!($23)) { | |
| label = 9; | |
| break; | |
| } | |
| $24 = (($$022) - ($12))|0; | |
| $25 = ($12|0)<(0); | |
| $26 = $25 << 31 >> 31; | |
| $28 = (_i64Add(($12|0),($26|0),($8|0),($27|0))|0); | |
| $29 = tempRet0; | |
| $30 = (($$023) + ($12)|0); | |
| $$022 = $24;$$023 = $30;$27 = $29;$8 = $28; | |
| } | |
| if ((label|0) == 6) { | |
| $17 = ((($0)) + 20|0); | |
| $18 = (___errno_location()|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| HEAP32[$17>>2] = $19; | |
| $20 = ($$022|0)>($$0151719$i$i|0); | |
| if (!($20)) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $32 = ($19|0)==(28); | |
| if ($32) { | |
| $33 = $17; | |
| } else { | |
| $$0 = 778; | |
| return ($$0|0); | |
| } | |
| } | |
| else if ((label|0) == 9) { | |
| $31 = ((($0)) + 20|0); | |
| if ($21) { | |
| $33 = $31; | |
| } else { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| } | |
| HEAP32[$33>>2] = 0; | |
| $$0 = 13; | |
| return ($$0|0); | |
| } | |
| function _unixTruncate($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$i = 0, $$0 = 0, $$014$off0 = 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, $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; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; | |
| $vararg_buffer = sp; | |
| $3 = ((($0)) + 40|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ($4|0)>(0); | |
| $6 = ($4|0)<(0); | |
| $7 = $6 << 31 >> 31; | |
| $8 = (_i64Add(($1|0),($2|0),-1,-1)|0); | |
| $9 = tempRet0; | |
| $10 = (_i64Add(($8|0),($9|0),($4|0),($7|0))|0); | |
| $11 = tempRet0; | |
| if ($5) { | |
| $12 = (___remdi3(($10|0),($11|0),($4|0),($7|0))|0); | |
| $13 = tempRet0; | |
| $14 = (_i64Subtract(($10|0),($11|0),($12|0),($13|0))|0); | |
| $15 = tempRet0; | |
| $$014$off0 = $14; | |
| } else { | |
| $$014$off0 = $1; | |
| } | |
| $16 = ((($0)) + 12|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| while(1) { | |
| $18 = HEAP32[(3496)>>2]|0; | |
| $19 = (FUNCTION_TABLE_iii[$18 & 255]($17,$$014$off0)|0); | |
| $20 = ($19|0)<(0); | |
| if (!($20)) { | |
| label = 6; | |
| break; | |
| } | |
| $21 = (___errno_location()|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = ($22|0)==(4); | |
| if (!($23)) { | |
| break; | |
| } | |
| } | |
| if ((label|0) == 6) { | |
| $24 = ($19|0)==(0); | |
| if ($24) { | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| } | |
| $25 = (___errno_location()|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ((($0)) + 20|0); | |
| HEAP32[$27>>2] = $26; | |
| $28 = ((($0)) + 32|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = (___errno_location()|0); | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = (_strerror($31)|0); | |
| $33 = ($29|0)==(0|0); | |
| $$$i = $33 ? 47328 : $29; | |
| HEAP32[$vararg_buffer>>2] = 34034; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $31; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = 17685; | |
| $vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$vararg_ptr3>>2] = $$$i; | |
| $vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr4>>2] = $32; | |
| _sqlite3_log(1546,17618,$vararg_buffer); | |
| $$0 = 1546; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| function _unixSync($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$$i = 0, $$$i$i = 0, $$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; | |
| 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer5 = 0; | |
| var $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; | |
| $vararg_buffer5 = sp + 24|0; | |
| $vararg_buffer = sp; | |
| $2 = sp + 44|0; | |
| $3 = ((($0)) + 12|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (_fsync($4)|0); | |
| $6 = ($5|0)==(0); | |
| if (!($6)) { | |
| $7 = (___errno_location()|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ((($0)) + 20|0); | |
| HEAP32[$9>>2] = $8; | |
| $10 = ((($0)) + 32|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (___errno_location()|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = (_strerror($13)|0); | |
| $15 = ($11|0)==(0|0); | |
| $$$i = $15 ? 47328 : $11; | |
| HEAP32[$vararg_buffer>>2] = 33989; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $13; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = 17993; | |
| $vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$vararg_ptr3>>2] = $$$i; | |
| $vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr4>>2] = $14; | |
| _sqlite3_log(1034,17618,$vararg_buffer); | |
| $$0 = 1034; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| $16 = ((($0)) + 18|0); | |
| $17 = HEAP16[$16>>1]|0; | |
| $18 = $17 & 8; | |
| $19 = ($18<<16>>16)==(0); | |
| if ($19) { | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| $20 = HEAP32[(3628)>>2]|0; | |
| $21 = ((($0)) + 32|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = (FUNCTION_TABLE_iii[$20 & 255]($22,$2)|0); | |
| $24 = ($23|0)==(0); | |
| if ($24) { | |
| $25 = HEAP32[$2>>2]|0; | |
| (_fsync($25)|0); | |
| $26 = HEAP32[$2>>2]|0; | |
| $27 = HEAP32[(3436)>>2]|0; | |
| $28 = (FUNCTION_TABLE_ii[$27 & 255]($26)|0); | |
| $29 = ($28|0)==(0); | |
| if (!($29)) { | |
| $30 = HEAP32[$21>>2]|0; | |
| $31 = (___errno_location()|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = (_strerror($32)|0); | |
| $34 = ($30|0)==(0|0); | |
| $$$i$i = $34 ? 47328 : $30; | |
| HEAP32[$vararg_buffer5>>2] = 34003; | |
| $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); | |
| HEAP32[$vararg_ptr8>>2] = $32; | |
| $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); | |
| HEAP32[$vararg_ptr9>>2] = 17649; | |
| $vararg_ptr10 = ((($vararg_buffer5)) + 12|0); | |
| HEAP32[$vararg_ptr10>>2] = $$$i$i; | |
| $vararg_ptr11 = ((($vararg_buffer5)) + 16|0); | |
| HEAP32[$vararg_ptr11>>2] = $33; | |
| _sqlite3_log(4106,17618,$vararg_buffer5); | |
| } | |
| } | |
| $35 = HEAP16[$16>>1]|0; | |
| $36 = $35 & -9; | |
| HEAP16[$16>>1] = $36; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| function _unixFileSize($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 80|0; | |
| $2 = sp; | |
| $3 = HEAP32[(3484)>>2]|0; | |
| $4 = ((($0)) + 12|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = (FUNCTION_TABLE_iii[$3 & 255]($5,$2)|0); | |
| $7 = ($6|0)==(0); | |
| if ($7) { | |
| $11 = ((($2)) + 36|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = ($12|0)<(0); | |
| $14 = $13 << 31 >> 31; | |
| $15 = ($12|0)==(1); | |
| $16 = $15 ? 0 : $12; | |
| $17 = $15 ? 0 : $14; | |
| $18 = $1; | |
| $19 = $18; | |
| HEAP32[$19>>2] = $16; | |
| $20 = (($18) + 4)|0; | |
| $21 = $20; | |
| HEAP32[$21>>2] = $17; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } else { | |
| $8 = (___errno_location()|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ((($0)) + 20|0); | |
| HEAP32[$10>>2] = $9; | |
| $$0 = 1802; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _dotlockLock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$0 = 0, $$0$i$ph = 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)) + 24|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($0)) + 16|0); | |
| $5 = HEAP8[$4>>0]|0; | |
| $6 = ($5<<24>>24)==(0); | |
| if (!($6)) { | |
| $7 = $1&255; | |
| HEAP8[$4>>0] = $7; | |
| (_utimes(($3|0),(0|0))|0); | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $8 = HEAP32[(3640)>>2]|0; | |
| $9 = (FUNCTION_TABLE_iii[$8 & 255]($3,511)|0); | |
| $10 = ($9|0)<(0); | |
| if (!($10)) { | |
| $14 = $1&255; | |
| HEAP8[$4>>0] = $14; | |
| $$0 = $9; | |
| return ($$0|0); | |
| } | |
| $11 = (___errno_location()|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| switch ($12|0) { | |
| case 1: { | |
| $$0$i$ph = 3; | |
| break; | |
| } | |
| case 37: case 4: case 16: case 110: case 11: case 13: case 17: { | |
| $$0 = 5; | |
| return ($$0|0); | |
| break; | |
| } | |
| default: { | |
| $$0$i$ph = 3850; | |
| } | |
| } | |
| $13 = ((($0)) + 20|0); | |
| HEAP32[$13>>2] = $12; | |
| $$0 = $$0$i$ph; | |
| return ($$0|0); | |
| } | |
| function _dotlockUnlock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$0 = 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, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = ((($0)) + 24|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($0)) + 16|0); | |
| $5 = HEAP8[$4>>0]|0; | |
| $6 = $5&255; | |
| $7 = ($6|0)==($1|0); | |
| if ($7) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $8 = ($1|0)==(1); | |
| if ($8) { | |
| HEAP8[$4>>0] = 1; | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $9 = HEAP32[(3652)>>2]|0; | |
| $10 = (FUNCTION_TABLE_ii[$9 & 255]($3)|0); | |
| $11 = ($10|0)<(0); | |
| if (!($11)) { | |
| HEAP8[$4>>0] = 0; | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $12 = (___errno_location()|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = ($13|0)==(2); | |
| if ($14) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $15 = ((($0)) + 20|0); | |
| HEAP32[$15>>2] = $13; | |
| $$0 = 2058; | |
| return ($$0|0); | |
| } | |
| function _dotlockCheckReservedLock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP32[(3448)>>2]|0; | |
| $3 = ((($0)) + 24|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = (FUNCTION_TABLE_iii[$2 & 255]($4,0)|0); | |
| $6 = ($5|0)==(0); | |
| $7 = $6&1; | |
| HEAP32[$1>>2] = $7; | |
| return 0; | |
| } | |
| function _unixFileControl($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0, $$0$i34 = 0, $$2$i = 0, $$lobit = 0, $$lobit35 = 0, $$sink$i$i$i = 0, $$sink2$i = 0, $$sink2$i30 = 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, $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, $or$cond$i = 0, $vararg_buffer = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 80|0; | |
| $vararg_buffer = sp; | |
| $3 = sp + 4|0; | |
| do { | |
| switch ($1|0) { | |
| case 1: { | |
| $4 = ((($0)) + 16|0); | |
| $5 = HEAP8[$4>>0]|0; | |
| $6 = $5&255; | |
| HEAP32[$2>>2] = $6; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| break; | |
| } | |
| case 4: { | |
| $7 = ((($0)) + 20|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| HEAP32[$2>>2] = $8; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| break; | |
| } | |
| case 6: { | |
| $9 = HEAP32[$2>>2]|0; | |
| $10 = ((($0)) + 40|0); | |
| HEAP32[$10>>2] = $9; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| break; | |
| } | |
| case 5: { | |
| $11 = $2; | |
| $12 = $11; | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = (($11) + 4)|0; | |
| $15 = $14; | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ((($0)) + 40|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = ($18|0)>(0); | |
| if (!($19)) { | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| $20 = HEAP32[(3484)>>2]|0; | |
| $21 = ((($0)) + 12|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = (FUNCTION_TABLE_iii[$20 & 255]($22,$3)|0); | |
| $24 = ($23|0)==(0); | |
| L12: do { | |
| if ($24) { | |
| $25 = HEAP32[$17>>2]|0; | |
| $26 = ($25|0)<(0); | |
| $27 = $26 << 31 >> 31; | |
| $28 = (_i64Add(($13|0),($16|0),-1,-1)|0); | |
| $29 = tempRet0; | |
| $30 = (_i64Add(($28|0),($29|0),($25|0),($27|0))|0); | |
| $31 = tempRet0; | |
| $32 = (___remdi3(($30|0),($31|0),($25|0),($27|0))|0); | |
| $33 = tempRet0; | |
| $34 = (_i64Subtract(($30|0),($31|0),($32|0),($33|0))|0); | |
| $35 = tempRet0; | |
| $36 = ((($3)) + 36|0); | |
| $37 = HEAP32[$36>>2]|0; | |
| $38 = ($37|0)<(0); | |
| $39 = $38 << 31 >> 31; | |
| $40 = ($35|0)>($39|0); | |
| $41 = ($34>>>0)>($37>>>0); | |
| $42 = ($35|0)==($39|0); | |
| $43 = $42 & $41; | |
| $44 = $40 | $43; | |
| L14: do { | |
| if ($44) { | |
| $45 = ((($3)) + 40|0); | |
| $46 = HEAP32[$45>>2]|0; | |
| $47 = (($37|0) % ($46|0))&-1; | |
| $48 = (($37) + -1)|0; | |
| $49 = (($48) + ($46))|0; | |
| $50 = (($49) - ($47))|0; | |
| $51 = ($50|0)<(0); | |
| $52 = $51 << 31 >> 31; | |
| $53 = ($46|0)<(0); | |
| $54 = $53 << 31 >> 31; | |
| $55 = (_i64Add(($34|0),($35|0),-1,-1)|0); | |
| $56 = tempRet0; | |
| $57 = (_i64Add(($46|0),($54|0),($55|0),($56|0))|0); | |
| $58 = tempRet0; | |
| $59 = ($52|0)<($58|0); | |
| $60 = ($50>>>0)<($57>>>0); | |
| $61 = ($52|0)==($58|0); | |
| $62 = $61 & $60; | |
| $63 = $59 | $62; | |
| if ($63) { | |
| $71 = $52;$73 = $50; | |
| L16: while(1) { | |
| $72 = ($71|0)<($35|0); | |
| $74 = ($73>>>0)<($34>>>0); | |
| $75 = ($71|0)==($35|0); | |
| $76 = $75 & $74; | |
| $77 = $72 | $76; | |
| $78 = $77 ? $73 : $55; | |
| $79 = $77 ? $71 : $56; | |
| $80 = HEAP32[$21>>2]|0; | |
| while(1) { | |
| $81 = (_lseek($80,$78,0)|0); | |
| $82 = ($81|0)<(0); | |
| if ($82) { | |
| break L16; | |
| } | |
| $83 = HEAP32[(3556)>>2]|0; | |
| $84 = (FUNCTION_TABLE_iiii[$83 & 255]($80,47328,1)|0); | |
| $85 = ($84|0)<(0); | |
| if (!($85)) { | |
| break; | |
| } | |
| $86 = (___errno_location()|0); | |
| $87 = HEAP32[$86>>2]|0; | |
| $88 = ($87|0)==(4); | |
| if (!($88)) { | |
| break L16; | |
| } | |
| } | |
| $92 = ($84|0)==(1); | |
| $66 = (_i64Add(($78|0),($79|0),($46|0),($54|0))|0); | |
| $64 = tempRet0; | |
| if (!($92)) { | |
| $$2$i = 778; | |
| break L12; | |
| } | |
| $65 = ($64|0)<($58|0); | |
| $67 = ($66>>>0)<($57>>>0); | |
| $68 = ($64|0)==($58|0); | |
| $69 = $68 & $67; | |
| $70 = $65 | $69; | |
| if ($70) { | |
| $71 = $64;$73 = $66; | |
| } else { | |
| break L14; | |
| } | |
| } | |
| $89 = ((($0)) + 20|0); | |
| $90 = (___errno_location()|0); | |
| $91 = HEAP32[$90>>2]|0; | |
| HEAP32[$89>>2] = $91; | |
| $$2$i = 778; | |
| break L12; | |
| } | |
| } | |
| } while(0); | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } else { | |
| $$2$i = 1802; | |
| } | |
| } while(0); | |
| $$0 = $$2$i; | |
| STACKTOP = sp;return ($$0|0); | |
| break; | |
| } | |
| case 10: { | |
| $93 = HEAP32[$2>>2]|0; | |
| $94 = ($93|0)<(0); | |
| $95 = ((($0)) + 18|0); | |
| $96 = HEAP16[$95>>1]|0; | |
| $97 = $96&65535; | |
| if ($94) { | |
| $98 = $97 >>> 2; | |
| $$lobit35 = $98 & 1; | |
| HEAP32[$2>>2] = $$lobit35; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } else { | |
| $99 = ($93|0)==(0); | |
| $100 = $97 | 4; | |
| $101 = $97 & 65531; | |
| $$sink2$i = $99 ? $101 : $100; | |
| $102 = $$sink2$i&65535; | |
| HEAP16[$95>>1] = $102; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| break; | |
| } | |
| case 13: { | |
| $103 = HEAP32[$2>>2]|0; | |
| $104 = ($103|0)<(0); | |
| $105 = ((($0)) + 18|0); | |
| $106 = HEAP16[$105>>1]|0; | |
| $107 = $106&65535; | |
| if ($104) { | |
| $108 = $107 >>> 4; | |
| $$lobit = $108 & 1; | |
| HEAP32[$2>>2] = $$lobit; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } else { | |
| $109 = ($103|0)==(0); | |
| $110 = $107 | 16; | |
| $111 = $107 & 65519; | |
| $$sink2$i30 = $109 ? $111 : $110; | |
| $112 = $$sink2$i30&65535; | |
| HEAP16[$105>>1] = $112; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| break; | |
| } | |
| case 12: { | |
| $113 = ((($0)) + 4|0); | |
| $114 = HEAP32[$113>>2]|0; | |
| $115 = ((($114)) + 16|0); | |
| $116 = HEAP32[$115>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $116; | |
| $117 = (_sqlite3_mprintf(17859,$vararg_buffer)|0); | |
| HEAP32[$2>>2] = $117; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| break; | |
| } | |
| case 16: { | |
| $118 = ((($0)) + 4|0); | |
| $119 = HEAP32[$118>>2]|0; | |
| $120 = ((($119)) + 8|0); | |
| $121 = HEAP32[$120>>2]|0; | |
| $122 = ($121|0)<(0); | |
| $123 = $122 << 31 >> 31; | |
| $124 = (_sqlite3_initialize()|0); | |
| $125 = ($124|0)!=(0); | |
| $126 = (_i64Add(($121|0),($123|0),-1,-1)|0); | |
| $127 = tempRet0; | |
| $128 = ($127>>>0)>(0); | |
| $129 = ($126>>>0)>(2147483390); | |
| $130 = ($127|0)==(0); | |
| $131 = $130 & $129; | |
| $132 = $128 | $131; | |
| $or$cond$i = $125 | $132; | |
| if ($or$cond$i) { | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| $133 = HEAP32[2]|0; | |
| $134 = ($133|0)==(0); | |
| if ($134) { | |
| $173 = HEAP32[(52)>>2]|0; | |
| $174 = (FUNCTION_TABLE_ii[$173 & 255]($121)|0); | |
| $175 = ($174|0)==(0|0); | |
| if ($175) { | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } else { | |
| $$0$i34 = $174; | |
| } | |
| } else { | |
| $135 = HEAP32[(68)>>2]|0; | |
| $136 = (FUNCTION_TABLE_ii[$135 & 255]($121)|0); | |
| $137 = HEAP32[11829]|0; | |
| $138 = ($137>>>0)<($121>>>0); | |
| if ($138) { | |
| HEAP32[11829] = $121; | |
| } | |
| $139 = (46456); | |
| $140 = $139; | |
| $141 = HEAP32[$140>>2]|0; | |
| $142 = (($139) + 4)|0; | |
| $143 = $142; | |
| $144 = HEAP32[$143>>2]|0; | |
| $145 = ($144|0)>(0); | |
| $146 = ($141>>>0)>(0); | |
| $147 = ($144|0)==(0); | |
| $148 = $147 & $146; | |
| $149 = $145 | $148; | |
| if ($149) { | |
| $150 = HEAP32[11822]|0; | |
| $151 = ($136|0)<(0); | |
| $152 = $151 << 31 >> 31; | |
| $153 = (_i64Subtract(($141|0),($144|0),($136|0),($152|0))|0); | |
| $154 = tempRet0; | |
| $155 = (0)>($154|0); | |
| $156 = ($150>>>0)>=($153>>>0); | |
| $157 = (0)==($154|0); | |
| $158 = $157 & $156; | |
| $159 = $155 | $158; | |
| $$sink$i$i$i = $159&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i; | |
| } | |
| $160 = HEAP32[(52)>>2]|0; | |
| $161 = (FUNCTION_TABLE_ii[$160 & 255]($136)|0); | |
| $162 = ($161|0)==(0|0); | |
| if ($162) { | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| $163 = HEAP32[(64)>>2]|0; | |
| $164 = (FUNCTION_TABLE_ii[$163 & 255]($161)|0); | |
| $165 = HEAP32[11822]|0; | |
| $166 = (($165) + ($164))|0; | |
| HEAP32[11822] = $166; | |
| $167 = HEAP32[11826]|0; | |
| $168 = ($166>>>0)>($167>>>0); | |
| if ($168) { | |
| HEAP32[11826] = $166; | |
| } | |
| $169 = HEAP32[11825]|0; | |
| $170 = (($169) + 1)|0; | |
| HEAP32[11825] = $170; | |
| $171 = HEAP32[11831]|0; | |
| $172 = ($170>>>0)>($171>>>0); | |
| if ($172) { | |
| HEAP32[11831] = $170; | |
| $$0$i34 = $161; | |
| } else { | |
| $$0$i34 = $161; | |
| } | |
| } | |
| $176 = HEAP32[$118>>2]|0; | |
| $177 = ((($176)) + 8|0); | |
| $178 = HEAP32[$177>>2]|0; | |
| (_unixGetTempname($178,$$0$i34)|0); | |
| HEAP32[$2>>2] = $$0$i34; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| break; | |
| } | |
| case 20: { | |
| $179 = ((($0)) + 8|0); | |
| $180 = HEAP32[$179>>2]|0; | |
| $181 = ($180|0)==(0|0); | |
| if ($181) { | |
| $201 = 0; | |
| } else { | |
| $182 = HEAP32[(3472)>>2]|0; | |
| $183 = ((($0)) + 32|0); | |
| $184 = HEAP32[$183>>2]|0; | |
| $185 = (FUNCTION_TABLE_iii[$182 & 255]($184,$3)|0); | |
| $186 = ($185|0)==(0); | |
| if ($186) { | |
| $187 = ((($3)) + 72|0); | |
| $188 = HEAP32[$187>>2]|0; | |
| $189 = HEAP32[$179>>2]|0; | |
| $190 = ((($189)) + 8|0); | |
| $191 = $190; | |
| $192 = $191; | |
| $193 = HEAP32[$192>>2]|0; | |
| $194 = (($191) + 4)|0; | |
| $195 = $194; | |
| $196 = HEAP32[$195>>2]|0; | |
| $197 = ($188|0)!=($193|0); | |
| $198 = (0)!=($196|0); | |
| $199 = $197 | $198; | |
| $201 = $199; | |
| } else { | |
| $201 = 1; | |
| } | |
| } | |
| $200 = $201&1; | |
| HEAP32[$2>>2] = $200; | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| break; | |
| } | |
| default: { | |
| $$0 = 12; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| } | |
| } while(0); | |
| return (0)|0; | |
| } | |
| function _unixSectorSize($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)) + 44|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)==(0); | |
| if (!($3)) { | |
| $11 = $2; | |
| return ($11|0); | |
| } | |
| $4 = ((($0)) + 18|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5 & 16; | |
| $7 = ($6<<16>>16)==(0); | |
| if (!($7)) { | |
| $8 = ((($0)) + 48|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = $9 | 4096; | |
| HEAP32[$8>>2] = $10; | |
| } | |
| HEAP32[$1>>2] = 4096; | |
| $11 = 4096; | |
| return ($11|0); | |
| } | |
| function _unixDeviceCharacteristics($0) { | |
| $0 = $0|0; | |
| var $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; | |
| $1 = ((($0)) + 44|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)==(0); | |
| if ($3) { | |
| $4 = ((($0)) + 18|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5 & 16; | |
| $7 = ($6<<16>>16)==(0); | |
| if (!($7)) { | |
| $8 = ((($0)) + 48|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = $9 | 4096; | |
| HEAP32[$8>>2] = $10; | |
| } | |
| HEAP32[$1>>2] = 4096; | |
| } | |
| $11 = ((($0)) + 48|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| return ($12|0); | |
| } | |
| function _unixShmLock($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var $$0$lcssa = 0, $$0101 = 0, $$070$lcssa = 0, $$070105 = 0, $$071104 = 0, $$1 = 0, $$172100 = 0, $$299 = 0, $$4 = 0, $$idx = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$idx$val$idx$val$idx = 0, $$idx$val$idx$val$idx$val = 0, $$idx76 = 0, $$idx76$val = 0, $$idx76$val$idx = 0, $$idx76$val$idx$val = 0, $$idx76$val$idx$val$idx = 0; | |
| var $$idx76$val$idx$val$idx$val = 0, $$idx77 = 0, $$idx77$val = 0, $$idx77$val$idx = 0, $$idx77$val$idx$val = 0, $$idx77$val$idx$val$idx = 0, $$idx77$val$idx$val$idx$val = 0, $$not = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; | |
| $vararg_buffer5 = sp + 16|0; | |
| $vararg_buffer1 = sp + 8|0; | |
| $vararg_buffer = sp; | |
| $4 = sp + 24|0; | |
| $5 = ((($0)) + 36|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (($2) + ($1))|0; | |
| $9 = 1 << $8; | |
| $10 = 1 << $1; | |
| $11 = (($9) - ($10))|0; | |
| $12 = $3 & 1; | |
| $13 = ($12|0)==(0); | |
| $14 = ((($7)) + 32|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| if (!($13)) { | |
| $16 = ($15|0)==(0|0); | |
| if ($16) { | |
| $$070$lcssa = 0; | |
| } else { | |
| $$070105 = 0;$$071104 = $15; | |
| while(1) { | |
| $17 = ($$071104|0)==($6|0); | |
| if ($17) { | |
| $$1 = $$070105; | |
| } else { | |
| $18 = ((($$071104)) + 10|0); | |
| $19 = HEAP16[$18>>1]|0; | |
| $20 = $19 | $$070105; | |
| $$1 = $20; | |
| } | |
| $21 = ((($$071104)) + 4|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = ($22|0)==(0|0); | |
| if ($23) { | |
| $$070$lcssa = $$1; | |
| break; | |
| } else { | |
| $$070105 = $$1;$$071104 = $22; | |
| } | |
| } | |
| } | |
| $24 = $$070$lcssa&65535; | |
| $25 = $24 & $11; | |
| $26 = ($25|0)==(0); | |
| if ($26) { | |
| $$idx77 = ((($0)) + 8|0); | |
| $$idx77$val = HEAP32[$$idx77>>2]|0; | |
| $$idx77$val$idx = ((($$idx77$val)) + 28|0); | |
| $$idx77$val$idx$val = HEAP32[$$idx77$val$idx>>2]|0; | |
| $$idx77$val$idx$val$idx = ((($$idx77$val$idx$val)) + 12|0); | |
| $$idx77$val$idx$val$idx$val = HEAP32[$$idx77$val$idx$val$idx>>2]|0; | |
| $27 = ($$idx77$val$idx$val$idx$val|0)>(-1); | |
| if ($27) { | |
| $28 = (($1) + 120)|0; | |
| $29 = ((($4)) + 12|0); | |
| HEAP32[$29>>2] = 0; | |
| HEAP16[$4>>1] = 2; | |
| $30 = ((($4)) + 2|0); | |
| HEAP16[$30>>1] = 0; | |
| $31 = ((($4)) + 4|0); | |
| HEAP32[$31>>2] = $28; | |
| $32 = ((($4)) + 8|0); | |
| HEAP32[$32>>2] = $2; | |
| $33 = HEAP32[(3508)>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $4; | |
| $34 = (FUNCTION_TABLE_iiii[$33 & 255]($$idx77$val$idx$val$idx$val,13,$vararg_buffer)|0); | |
| $35 = ($34|0)==(-1); | |
| if ($35) { | |
| $$4 = 5; | |
| STACKTOP = sp;return ($$4|0); | |
| } | |
| } | |
| } | |
| $$not = $11 | -65536; | |
| $36 = $$not ^ 65535; | |
| $37 = ((($6)) + 12|0); | |
| $38 = HEAP16[$37>>1]|0; | |
| $39 = $38&65535; | |
| $40 = $39 & $36; | |
| $41 = $40&65535; | |
| HEAP16[$37>>1] = $41; | |
| $42 = ((($6)) + 10|0); | |
| $43 = HEAP16[$42>>1]|0; | |
| $44 = $43&65535; | |
| $45 = $44 & $36; | |
| $46 = $45&65535; | |
| HEAP16[$42>>1] = $46; | |
| $$4 = 0; | |
| STACKTOP = sp;return ($$4|0); | |
| } | |
| $47 = $3 & 4; | |
| $48 = ($47|0)==(0); | |
| $49 = ($15|0)==(0|0); | |
| if (!($48)) { | |
| L22: do { | |
| if ($49) { | |
| $$0$lcssa = 0; | |
| } else { | |
| $$0101 = 0;$$172100 = $15; | |
| while(1) { | |
| $51 = ((($$172100)) + 12|0); | |
| $52 = HEAP16[$51>>1]|0; | |
| $53 = $52&65535; | |
| $54 = $11 & $53; | |
| $55 = ($54|0)==(0); | |
| if (!($55)) { | |
| $$4 = 5; | |
| break; | |
| } | |
| $56 = ((($$172100)) + 10|0); | |
| $57 = HEAP16[$56>>1]|0; | |
| $58 = $57 | $$0101; | |
| $59 = ((($$172100)) + 4|0); | |
| $60 = HEAP32[$59>>2]|0; | |
| $61 = ($60|0)==(0|0); | |
| if ($61) { | |
| $$0$lcssa = $58; | |
| break L22; | |
| } else { | |
| $$0101 = $58;$$172100 = $60; | |
| } | |
| } | |
| STACKTOP = sp;return ($$4|0); | |
| } | |
| } while(0); | |
| $62 = $$0$lcssa&65535; | |
| $63 = $11 & $62; | |
| $64 = ($63|0)==(0); | |
| if ($64) { | |
| $$idx76 = ((($0)) + 8|0); | |
| $$idx76$val = HEAP32[$$idx76>>2]|0; | |
| $$idx76$val$idx = ((($$idx76$val)) + 28|0); | |
| $$idx76$val$idx$val = HEAP32[$$idx76$val$idx>>2]|0; | |
| $$idx76$val$idx$val$idx = ((($$idx76$val$idx$val)) + 12|0); | |
| $$idx76$val$idx$val$idx$val = HEAP32[$$idx76$val$idx$val$idx>>2]|0; | |
| $65 = ($$idx76$val$idx$val$idx$val|0)>(-1); | |
| if ($65) { | |
| $66 = (($1) + 120)|0; | |
| $67 = ((($4)) + 12|0); | |
| HEAP32[$67>>2] = 0; | |
| HEAP16[$4>>1] = 0; | |
| $68 = ((($4)) + 2|0); | |
| HEAP16[$68>>1] = 0; | |
| $69 = ((($4)) + 4|0); | |
| HEAP32[$69>>2] = $66; | |
| $70 = ((($4)) + 8|0); | |
| HEAP32[$70>>2] = $2; | |
| $71 = HEAP32[(3508)>>2]|0; | |
| HEAP32[$vararg_buffer1>>2] = $4; | |
| $72 = (FUNCTION_TABLE_iiii[$71 & 255]($$idx76$val$idx$val$idx$val,13,$vararg_buffer1)|0); | |
| $73 = ($72|0)==(-1); | |
| if ($73) { | |
| $$4 = 5; | |
| STACKTOP = sp;return ($$4|0); | |
| } | |
| } | |
| } | |
| $74 = ((($6)) + 10|0); | |
| $75 = HEAP16[$74>>1]|0; | |
| $76 = $75&65535; | |
| $77 = $76 | $11; | |
| $78 = $77&65535; | |
| HEAP16[$74>>1] = $78; | |
| $$4 = 0; | |
| STACKTOP = sp;return ($$4|0); | |
| } | |
| L38: do { | |
| if (!($49)) { | |
| $50 = $11 & 65535; | |
| $$299 = $15; | |
| while(1) { | |
| $79 = ((($$299)) + 12|0); | |
| $80 = HEAP16[$79>>1]|0; | |
| $81 = $80&65535; | |
| $82 = $81 & $50; | |
| $83 = ($82|0)==(0); | |
| if (!($83)) { | |
| $$4 = 5; | |
| label = 31; | |
| break; | |
| } | |
| $84 = ((($$299)) + 10|0); | |
| $85 = HEAP16[$84>>1]|0; | |
| $86 = $85&65535; | |
| $87 = $86 & $50; | |
| $88 = ($87|0)==(0); | |
| if (!($88)) { | |
| $$4 = 5; | |
| label = 31; | |
| break; | |
| } | |
| $89 = ((($$299)) + 4|0); | |
| $90 = HEAP32[$89>>2]|0; | |
| $91 = ($90|0)==(0|0); | |
| if ($91) { | |
| break L38; | |
| } else { | |
| $$299 = $90; | |
| } | |
| } | |
| if ((label|0) == 31) { | |
| STACKTOP = sp;return ($$4|0); | |
| } | |
| } | |
| } while(0); | |
| $$idx = ((($0)) + 8|0); | |
| $$idx$val = HEAP32[$$idx>>2]|0; | |
| $$idx$val$idx = ((($$idx$val)) + 28|0); | |
| $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0; | |
| $$idx$val$idx$val$idx = ((($$idx$val$idx$val)) + 12|0); | |
| $$idx$val$idx$val$idx$val = HEAP32[$$idx$val$idx$val$idx>>2]|0; | |
| $92 = ($$idx$val$idx$val$idx$val|0)>(-1); | |
| if ($92) { | |
| $93 = (($1) + 120)|0; | |
| $94 = ((($4)) + 12|0); | |
| HEAP32[$94>>2] = 0; | |
| HEAP16[$4>>1] = 1; | |
| $95 = ((($4)) + 2|0); | |
| HEAP16[$95>>1] = 0; | |
| $96 = ((($4)) + 4|0); | |
| HEAP32[$96>>2] = $93; | |
| $97 = ((($4)) + 8|0); | |
| HEAP32[$97>>2] = $2; | |
| $98 = HEAP32[(3508)>>2]|0; | |
| HEAP32[$vararg_buffer5>>2] = $4; | |
| $99 = (FUNCTION_TABLE_iiii[$98 & 255]($$idx$val$idx$val$idx$val,13,$vararg_buffer5)|0); | |
| $100 = ($99|0)==(-1); | |
| if ($100) { | |
| $$4 = 5; | |
| STACKTOP = sp;return ($$4|0); | |
| } | |
| } | |
| $101 = ((($6)) + 12|0); | |
| $102 = HEAP16[$101>>1]|0; | |
| $103 = $102&65535; | |
| $104 = $103 | $11; | |
| $105 = $104&65535; | |
| HEAP16[$101>>1] = $105; | |
| $$4 = 0; | |
| STACKTOP = sp;return ($$4|0); | |
| } | |
| function _unixShmBarrier($0) { | |
| $0 = $0|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return; | |
| } | |
| function _unixShmUnmap($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$025 = 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, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = ((($0)) + 36|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3|0)==(0|0); | |
| if ($4) { | |
| return 0; | |
| } | |
| $5 = HEAP32[$3>>2]|0; | |
| $6 = ((($5)) + 32|0); | |
| $$025 = $6; | |
| while(1) { | |
| $7 = HEAP32[$$025>>2]|0; | |
| $8 = ($7|0)==($3|0); | |
| $9 = ((($7)) + 4|0); | |
| if ($8) { | |
| break; | |
| } else { | |
| $$025 = $9; | |
| } | |
| } | |
| $10 = ((($3)) + 4|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| HEAP32[$$025>>2] = $11; | |
| $12 = HEAP32[2]|0; | |
| $13 = ($12|0)==(0); | |
| if ($13) { | |
| $21 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$21 & 255]($3); | |
| } else { | |
| $14 = HEAP32[(64)>>2]|0; | |
| $15 = (FUNCTION_TABLE_ii[$14 & 255]($3)|0); | |
| $16 = HEAP32[11822]|0; | |
| $17 = (($16) - ($15))|0; | |
| HEAP32[11822] = $17; | |
| $18 = HEAP32[11825]|0; | |
| $19 = (($18) + -1)|0; | |
| HEAP32[11825] = $19; | |
| $20 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$20 & 255]($3); | |
| } | |
| HEAP32[$2>>2] = 0; | |
| $22 = ((($5)) + 28|0); | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = (($23) + -1)|0; | |
| HEAP32[$22>>2] = $24; | |
| $25 = ($24|0)==(0); | |
| if (!($25)) { | |
| return 0; | |
| } | |
| $26 = ($1|0)==(0); | |
| if (!($26)) { | |
| $27 = ((($5)) + 12|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = ($28|0)>(-1); | |
| if ($29) { | |
| $30 = HEAP32[(3616)>>2]|0; | |
| $31 = ((($5)) + 8|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| (FUNCTION_TABLE_ii[$30 & 255]($32)|0); | |
| } | |
| } | |
| _unixShmPurge($0); | |
| return 0; | |
| } | |
| function _unixFetch($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; | |
| HEAP32[$4>>2] = 0; | |
| return 0; | |
| } | |
| function _unixUnfetch($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return 0; | |
| } | |
| function _unixShmPurge($0) { | |
| $0 = $0|0; | |
| var $$$i$i = 0, $$0$i = 0, $$025 = 0, $$lcssa = 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; | |
| 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, $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; | |
| $vararg_buffer = sp; | |
| $1 = ((($0)) + 8|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ((($2)) + 28|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ($4|0)==(0|0); | |
| if ($5) { | |
| STACKTOP = sp;return; | |
| } | |
| $6 = ((($4)) + 28|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ($7|0)==(0); | |
| if (!($8)) { | |
| STACKTOP = sp;return; | |
| } | |
| $9 = HEAP32[(3724)>>2]|0; | |
| $10 = (FUNCTION_TABLE_i[$9 & 255]()|0); | |
| $11 = ($10|0)<(32768); | |
| $12 = (($10|0) / 32768)&-1; | |
| $$0$i = $11 ? 1 : $12; | |
| $13 = ((($4)) + 20|0); | |
| $14 = HEAP16[$13>>1]|0; | |
| $15 = ($14<<16>>16)==(0); | |
| $16 = ((($4)) + 24|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| if ($15) { | |
| $$lcssa = $17; | |
| } else { | |
| $18 = ((($4)) + 12|0); | |
| $19 = ((($4)) + 16|0); | |
| $$025 = 0;$23 = $17; | |
| while(1) { | |
| $20 = HEAP32[$18>>2]|0; | |
| $21 = ($20|0)>(-1); | |
| $22 = (($23) + ($$025<<2)|0); | |
| $24 = HEAP32[$22>>2]|0; | |
| do { | |
| if ($21) { | |
| $25 = HEAP32[(3700)>>2]|0; | |
| $26 = HEAP32[$19>>2]|0; | |
| (FUNCTION_TABLE_iii[$25 & 255]($24,$26)|0); | |
| } else { | |
| $27 = ($24|0)==(0|0); | |
| if (!($27)) { | |
| $28 = HEAP32[2]|0; | |
| $29 = ($28|0)==(0); | |
| if ($29) { | |
| $37 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$37 & 255]($24); | |
| break; | |
| } else { | |
| $30 = HEAP32[(64)>>2]|0; | |
| $31 = (FUNCTION_TABLE_ii[$30 & 255]($24)|0); | |
| $32 = HEAP32[11822]|0; | |
| $33 = (($32) - ($31))|0; | |
| HEAP32[11822] = $33; | |
| $34 = HEAP32[11825]|0; | |
| $35 = (($34) + -1)|0; | |
| HEAP32[11825] = $35; | |
| $36 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$36 & 255]($24); | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $38 = (($$025) + ($$0$i))|0; | |
| $39 = HEAP16[$13>>1]|0; | |
| $40 = $39&65535; | |
| $41 = ($38|0)<($40|0); | |
| $42 = HEAP32[$16>>2]|0; | |
| if ($41) { | |
| $$025 = $38;$23 = $42; | |
| } else { | |
| $$lcssa = $42; | |
| break; | |
| } | |
| } | |
| } | |
| $43 = ($$lcssa|0)==(0|0); | |
| do { | |
| if (!($43)) { | |
| $44 = HEAP32[2]|0; | |
| $45 = ($44|0)==(0); | |
| if ($45) { | |
| $53 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$53 & 255]($$lcssa); | |
| break; | |
| } else { | |
| $46 = HEAP32[(64)>>2]|0; | |
| $47 = (FUNCTION_TABLE_ii[$46 & 255]($$lcssa)|0); | |
| $48 = HEAP32[11822]|0; | |
| $49 = (($48) - ($47))|0; | |
| HEAP32[11822] = $49; | |
| $50 = HEAP32[11825]|0; | |
| $51 = (($50) + -1)|0; | |
| HEAP32[11825] = $51; | |
| $52 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$52 & 255]($$lcssa); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $54 = ((($4)) + 12|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| $56 = ($55|0)>(-1); | |
| if ($56) { | |
| $57 = HEAP32[(3436)>>2]|0; | |
| $58 = (FUNCTION_TABLE_ii[$57 & 255]($55)|0); | |
| $59 = ($58|0)==(0); | |
| if (!($59)) { | |
| $60 = ($0|0)==(0|0); | |
| if ($60) { | |
| $66 = 0; | |
| } else { | |
| $61 = ((($0)) + 32|0); | |
| $62 = HEAP32[$61>>2]|0; | |
| $66 = $62; | |
| } | |
| $63 = (___errno_location()|0); | |
| $64 = HEAP32[$63>>2]|0; | |
| $65 = (_strerror($64)|0); | |
| $67 = ($66|0)==(0|0); | |
| $$$i$i = $67 ? 47328 : $66; | |
| HEAP32[$vararg_buffer>>2] = 34653; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $64; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = 17649; | |
| $vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$vararg_ptr3>>2] = $$$i$i; | |
| $vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr4>>2] = $65; | |
| _sqlite3_log(4106,17618,$vararg_buffer); | |
| } | |
| HEAP32[$54>>2] = -1; | |
| } | |
| $68 = HEAP32[$4>>2]|0; | |
| $69 = ((($68)) + 28|0); | |
| HEAP32[$69>>2] = 0; | |
| $70 = HEAP32[2]|0; | |
| $71 = ($70|0)==(0); | |
| if ($71) { | |
| $79 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$79 & 255]($4); | |
| STACKTOP = sp;return; | |
| } else { | |
| $72 = HEAP32[(64)>>2]|0; | |
| $73 = (FUNCTION_TABLE_ii[$72 & 255]($4)|0); | |
| $74 = HEAP32[11822]|0; | |
| $75 = (($74) - ($73))|0; | |
| HEAP32[11822] = $75; | |
| $76 = HEAP32[11825]|0; | |
| $77 = (($76) + -1)|0; | |
| HEAP32[11825] = $77; | |
| $78 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$78 & 255]($4); | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| function _posixOpen($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; | |
| $vararg_buffer = sp; | |
| HEAP32[$vararg_buffer>>2] = $2; | |
| $3 = (_open($0,$1,$vararg_buffer)|0); | |
| STACKTOP = sp;return ($3|0); | |
| } | |
| function _openDirectory($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$014 = 0, $$018 = 0, $$023$i$ph = 0, $$sink1 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer5 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 576|0; | |
| $vararg_buffer10 = sp + 32|0; | |
| $vararg_buffer5 = sp + 16|0; | |
| $vararg_buffer1 = sp + 8|0; | |
| $vararg_buffer = sp; | |
| $2 = sp + 52|0; | |
| HEAP32[$vararg_buffer>>2] = $0; | |
| (_sqlite3_snprintf(512,$2,17859,$vararg_buffer)|0); | |
| $3 = (_strlen($2)|0); | |
| $4 = ($3|0)>(0); | |
| L1: do { | |
| if ($4) { | |
| $$018 = $3; | |
| while(1) { | |
| $5 = (($2) + ($$018)|0); | |
| $6 = HEAP8[$5>>0]|0; | |
| $7 = ($6<<24>>24)==(47); | |
| if ($7) { | |
| $$sink1 = $$018; | |
| break L1; | |
| } | |
| $8 = (($$018) + -1)|0; | |
| $9 = ($$018|0)>(1); | |
| if ($9) { | |
| $$018 = $8; | |
| } else { | |
| label = 4; | |
| break; | |
| } | |
| } | |
| } else { | |
| label = 4; | |
| } | |
| } while(0); | |
| if ((label|0) == 4) { | |
| $10 = HEAP8[$2>>0]|0; | |
| $11 = ($10<<24>>24)==(47); | |
| if ($11) { | |
| $$sink1 = 1; | |
| } else { | |
| HEAP8[$2>>0] = 46; | |
| $$sink1 = 1; | |
| } | |
| } | |
| $12 = (($2) + ($$sink1)|0); | |
| HEAP8[$12>>0] = 0; | |
| while(1) { | |
| $13 = HEAP32[(3424)>>2]|0; | |
| $14 = (FUNCTION_TABLE_iiii[$13 & 255]($2,524288,420)|0); | |
| $15 = ($14|0)<(0); | |
| if ($15) { | |
| $16 = (___errno_location()|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = ($17|0)==(4); | |
| if ($18) { | |
| continue; | |
| } else { | |
| $$023$i$ph = $14; | |
| label = 12; | |
| break; | |
| } | |
| } | |
| $19 = ($14|0)>(2); | |
| if ($19) { | |
| label = 11; | |
| break; | |
| } | |
| $20 = HEAP32[(3436)>>2]|0; | |
| (FUNCTION_TABLE_ii[$20 & 255]($14)|0); | |
| HEAP32[$vararg_buffer1>>2] = $2; | |
| $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); | |
| HEAP32[$vararg_ptr4>>2] = $14; | |
| _sqlite3_log(28,17862,$vararg_buffer1); | |
| $21 = HEAP32[(3424)>>2]|0; | |
| $22 = (FUNCTION_TABLE_iiii[$21 & 255](17905,0,0)|0); | |
| $23 = ($22|0)<(0); | |
| if ($23) { | |
| $$023$i$ph = -1; | |
| label = 12; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 11) { | |
| HEAP32[$1>>2] = $14; | |
| $$014 = 0; | |
| STACKTOP = sp;return ($$014|0); | |
| } | |
| else if ((label|0) == 12) { | |
| HEAP32[$1>>2] = $$023$i$ph; | |
| HEAP32[$vararg_buffer5>>2] = 17915; | |
| $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); | |
| HEAP32[$vararg_ptr8>>2] = 33948; | |
| $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); | |
| HEAP32[$vararg_ptr9>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer5); | |
| $24 = (___errno_location()|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = (_strerror($25)|0); | |
| HEAP32[$vararg_buffer10>>2] = 33948; | |
| $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); | |
| HEAP32[$vararg_ptr13>>2] = $25; | |
| $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); | |
| HEAP32[$vararg_ptr14>>2] = 17766; | |
| $vararg_ptr15 = ((($vararg_buffer10)) + 12|0); | |
| HEAP32[$vararg_ptr15>>2] = $2; | |
| $vararg_ptr16 = ((($vararg_buffer10)) + 16|0); | |
| HEAP32[$vararg_ptr16>>2] = $26; | |
| _sqlite3_log(14,17618,$vararg_buffer10); | |
| $$014 = 14; | |
| STACKTOP = sp;return ($$014|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _unixGetpagesize() { | |
| var $0 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $0 = (_sysconf(30)|0); | |
| return ($0|0); | |
| } | |
| function _sqlite3_snprintf($0,$1,$2,$varargs) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $varargs = $varargs|0; | |
| var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; | |
| $3 = sp + 16|0; | |
| $4 = sp; | |
| HEAP32[$4>>2] = $varargs; | |
| $5 = ($0|0)<(1); | |
| if ($5) { | |
| STACKTOP = sp;return ($1|0); | |
| } | |
| $6 = ((($3)) + 4|0); | |
| HEAP32[$6>>2] = $1; | |
| HEAP32[$3>>2] = 0; | |
| $7 = ((($3)) + 8|0); | |
| HEAP32[$7>>2] = $0; | |
| $8 = ((($3)) + 12|0); | |
| $9 = ((($3)) + 16|0); | |
| ;HEAP32[$8>>2]=0|0;HEAP32[$8+4>>2]=0|0;HEAP16[$8+8>>1]=0|0; | |
| _sqlite3VXPrintf($3,$2,$4); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (($1) + ($10)|0); | |
| HEAP8[$11>>0] = 0; | |
| STACKTOP = sp;return ($1|0); | |
| } | |
| function _sqlite3_mprintf($0,$varargs) { | |
| $0 = $0|0; | |
| $varargs = $varargs|0; | |
| var $$0 = 0, $$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, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0; | |
| var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 112|0; | |
| $1 = sp + 40|0; | |
| $2 = sp + 16|0; | |
| $3 = sp; | |
| $4 = (_sqlite3_initialize()|0); | |
| $5 = ($4|0)==(0); | |
| if (!($5)) { | |
| $$0 = 0; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| HEAP32[$3>>2] = $varargs; | |
| $6 = (_sqlite3_initialize()|0); | |
| $7 = ($6|0)==(0); | |
| do { | |
| if ($7) { | |
| $8 = ((($2)) + 4|0); | |
| HEAP32[$8>>2] = $1; | |
| HEAP32[$2>>2] = 0; | |
| $9 = ((($2)) + 8|0); | |
| HEAP32[$9>>2] = 70; | |
| $10 = ((($2)) + 12|0); | |
| HEAP32[$10>>2] = 1000000000; | |
| $11 = ((($2)) + 16|0); | |
| HEAP32[$11>>2] = 0; | |
| $12 = ((($2)) + 20|0); | |
| HEAP8[$12>>0] = 0; | |
| $13 = ((($2)) + 21|0); | |
| HEAP8[$13>>0] = 0; | |
| _sqlite3VXPrintf($2,$0,$3); | |
| $14 = HEAP32[$8>>2]|0; | |
| $15 = ($14|0)==(0|0); | |
| if (!($15)) { | |
| $16 = HEAP32[$11>>2]|0; | |
| $17 = (($14) + ($16)|0); | |
| HEAP8[$17>>0] = 0; | |
| $18 = HEAP32[$10>>2]|0; | |
| $19 = ($18|0)==(0); | |
| if (!($19)) { | |
| $20 = HEAP8[$13>>0]|0; | |
| $21 = $20 & 4; | |
| $22 = ($21<<24>>24)==(0); | |
| if ($22) { | |
| $23 = (_strAccumFinishRealloc($2)|0); | |
| $$0$i = $23; | |
| break; | |
| } | |
| } | |
| } | |
| $24 = HEAP32[$8>>2]|0; | |
| $$0$i = $24; | |
| } else { | |
| $$0$i = 0; | |
| } | |
| } while(0); | |
| $$0 = $$0$i; | |
| STACKTOP = sp;return ($$0|0); | |
| } | |
| function _unixGetTempname($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$$not = 0, $$0$i = 0, $$015 = 0, $$09$i = 0, $$218 = 0, $$not = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $brmerge = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 112|0; | |
| $vararg_buffer = sp + 80|0; | |
| $2 = sp; | |
| HEAP8[$1>>0] = 0; | |
| $3 = HEAP32[11618]|0; | |
| $4 = HEAP32[942]|0; | |
| $5 = ($4|0)==(0|0); | |
| if ($5) { | |
| $6 = (_getenv((17932|0))|0); | |
| HEAP32[942] = $6; | |
| } | |
| $7 = HEAP32[(3772)>>2]|0; | |
| $8 = ($7|0)==(0|0); | |
| if ($8) { | |
| $9 = (_getenv((17946|0))|0); | |
| HEAP32[(3772)>>2] = $9; | |
| } | |
| $10 = ((($2)) + 12|0); | |
| $$0$i = $3;$$09$i = 0; | |
| while(1) { | |
| $11 = ($$0$i|0)==(0|0); | |
| if (!($11)) { | |
| $12 = HEAP32[(3472)>>2]|0; | |
| $13 = (FUNCTION_TABLE_iii[$12 & 255]($$0$i,$2)|0); | |
| $14 = ($13|0)==(0); | |
| if ($14) { | |
| $15 = HEAP32[$10>>2]|0; | |
| $16 = $15 & 61440; | |
| $17 = ($16|0)==(16384); | |
| if ($17) { | |
| $18 = HEAP32[(3448)>>2]|0; | |
| $19 = (FUNCTION_TABLE_iii[$18 & 255]($$0$i,3)|0); | |
| $20 = ($19|0)==(0); | |
| if ($20) { | |
| break; | |
| } | |
| } | |
| } | |
| } | |
| $21 = ($$09$i>>>0)>(5); | |
| if ($21) { | |
| label = 11; | |
| break; | |
| } | |
| $22 = (($$09$i) + 1)|0; | |
| $23 = (3768 + ($$09$i<<2)|0); | |
| $24 = HEAP32[$23>>2]|0; | |
| $$0$i = $24;$$09$i = $22; | |
| } | |
| if ((label|0) == 11) { | |
| $$218 = 6410; | |
| STACKTOP = sp;return ($$218|0); | |
| } | |
| $25 = (($0) + -2)|0; | |
| $26 = (($1) + ($25)|0); | |
| $$015 = 0; | |
| while(1) { | |
| _sqlite3_randomness(8,$2); | |
| HEAP8[$26>>0] = 0; | |
| $27 = $2; | |
| $28 = $27; | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = (($27) + 4)|0; | |
| $31 = $30; | |
| $32 = HEAP32[$31>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $$0$i; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 8|0); | |
| $33 = $vararg_ptr1; | |
| $34 = $33; | |
| HEAP32[$34>>2] = $29; | |
| $35 = (($33) + 4)|0; | |
| $36 = $35; | |
| HEAP32[$36>>2] = $32; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr2>>2] = 0; | |
| (_sqlite3_snprintf($0,$1,17953,$vararg_buffer)|0); | |
| $37 = HEAP8[$26>>0]|0; | |
| $$not = ($37<<24>>24)!=(0); | |
| $$$not = ($$015|0)>(10); | |
| $brmerge = $$$not | $$not; | |
| if ($brmerge) { | |
| $$218 = 1; | |
| label = 16; | |
| break; | |
| } | |
| $38 = (($$015) + 1)|0; | |
| $39 = HEAP32[(3448)>>2]|0; | |
| $40 = (FUNCTION_TABLE_iii[$39 & 255]($1,0)|0); | |
| $41 = ($40|0)==(0); | |
| if ($41) { | |
| $$015 = $38; | |
| } else { | |
| $$218 = 0; | |
| label = 16; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 16) { | |
| STACKTOP = sp;return ($$218|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _sqlite3_randomness($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$01112$i = 0, $$01112$i$ = 0, $$023 = 0, $$024 = 0, $$027 = 0, $$126 = 0, $$3 = 0, $$31 = 0, $$32 = 0, $$33 = 0, $$34 = 0, $$35 = 0, $$36 = 0, $$promoted = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
| var $exitcond = 0, $exitcond28 = 0, $or$cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 256|0; | |
| $2 = sp; | |
| $3 = (_sqlite3_initialize()|0); | |
| $4 = ($3|0)==(0); | |
| if (!($4)) { | |
| STACKTOP = sp;return; | |
| } | |
| $5 = ($0|0)<(1); | |
| $6 = ($1|0)==(0|0); | |
| $or$cond = $5 | $6; | |
| if ($or$cond) { | |
| HEAP8[47374] = 0; | |
| STACKTOP = sp;return; | |
| } | |
| $7 = HEAP8[47374]|0; | |
| $8 = ($7<<24>>24)==(0); | |
| if ($8) { | |
| HEAP8[47376] = 0; | |
| HEAP8[47375] = 0; | |
| $9 = (_sqlite3_initialize()|0); | |
| $10 = ($9|0)==(0); | |
| $$01112$i = HEAP32[11642]|0; | |
| $$01112$i$ = $10 ? $$01112$i : 0; | |
| $11 = ((($$01112$i$)) + 56|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| (FUNCTION_TABLE_iiii[$12 & 255]($$01112$i$,256,$2)|0); | |
| $$027 = 0; | |
| while(1) { | |
| $13 = $$027&255; | |
| $$36 = (47377 + ($$027)|0); | |
| HEAP8[$$36>>0] = $13; | |
| $14 = (($$027) + 1)|0; | |
| $exitcond28 = ($14|0)==(256); | |
| if ($exitcond28) { | |
| break; | |
| } else { | |
| $$027 = $14; | |
| } | |
| } | |
| $$promoted = HEAP8[47376]|0; | |
| $$126 = 0;$22 = $$promoted; | |
| while(1) { | |
| $$35 = (47377 + ($$126)|0); | |
| $15 = HEAP8[$$35>>0]|0; | |
| $16 = $15&255; | |
| $17 = (($2) + ($$126)|0); | |
| $18 = HEAP8[$17>>0]|0; | |
| $19 = $18&255; | |
| $20 = (($19) + ($16))|0; | |
| $21 = $22&255; | |
| $23 = (($20) + ($21))|0; | |
| $24 = $23&255; | |
| $25 = $23 & 255; | |
| $$34 = (47377 + ($25)|0); | |
| $26 = HEAP8[$$34>>0]|0; | |
| HEAP8[$$34>>0] = $15; | |
| HEAP8[$$35>>0] = $26; | |
| $27 = (($$126) + 1)|0; | |
| $exitcond = ($27|0)==(256); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$126 = $27;$22 = $24; | |
| } | |
| } | |
| HEAP8[47376] = $24; | |
| HEAP8[47374] = 1; | |
| $$023 = $1;$$024 = $0; | |
| } else { | |
| $$023 = $1;$$024 = $0; | |
| } | |
| while(1) { | |
| $28 = HEAP8[47375]|0; | |
| $29 = (($28) + 1)<<24>>24; | |
| HEAP8[47375] = $29; | |
| $30 = $29&255; | |
| $$33 = (47377 + ($30)|0); | |
| $31 = HEAP8[$$33>>0]|0; | |
| $32 = $31&255; | |
| $33 = HEAP8[47376]|0; | |
| $34 = $33&255; | |
| $35 = (($34) + ($32))|0; | |
| $36 = $35&255; | |
| HEAP8[47376] = $36; | |
| $37 = $35 & 255; | |
| $$32 = (47377 + ($37)|0); | |
| $38 = HEAP8[$$32>>0]|0; | |
| HEAP8[$$33>>0] = $38; | |
| $39 = $35 & 255; | |
| $$31 = (47377 + ($39)|0); | |
| HEAP8[$$31>>0] = $31; | |
| $40 = HEAP8[$$33>>0]|0; | |
| $41 = $40&255; | |
| $42 = (($41) + ($32))|0; | |
| $43 = $42 & 255; | |
| $$3 = (47377 + ($43)|0); | |
| $44 = HEAP8[$$3>>0]|0; | |
| $45 = ((($$023)) + 1|0); | |
| HEAP8[$$023>>0] = $44; | |
| $46 = (($$024) + -1)|0; | |
| $47 = ($46|0)==(0); | |
| if ($47) { | |
| break; | |
| } else { | |
| $$023 = $45;$$024 = $46; | |
| } | |
| } | |
| STACKTOP = sp;return; | |
| } | |
| function _nolockIoFinderImpl($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return (3792|0); | |
| } | |
| function _nolockClose($0) { | |
| $0 = $0|0; | |
| var $$$i$i$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, $23 = 0, $24 = 0, $25 = 0, $3 = 0; | |
| var $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, dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; | |
| $vararg_buffer = sp; | |
| $1 = ((($0)) + 12|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)>(-1); | |
| if ($3) { | |
| $4 = HEAP32[(3436)>>2]|0; | |
| $5 = (FUNCTION_TABLE_ii[$4 & 255]($2)|0); | |
| $6 = ($5|0)==(0); | |
| if (!($6)) { | |
| $7 = ((($0)) + 32|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (___errno_location()|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (_strerror($10)|0); | |
| $12 = ($8|0)==(0|0); | |
| $$$i$i$i = $12 ? 47328 : $8; | |
| HEAP32[$vararg_buffer>>2] = 32357; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $10; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = 17649; | |
| $vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$vararg_ptr3>>2] = $$$i$i$i; | |
| $vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr4>>2] = $11; | |
| _sqlite3_log(4106,17618,$vararg_buffer); | |
| } | |
| HEAP32[$1>>2] = -1; | |
| } | |
| $13 = ((($0)) + 28|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = ($14|0)==(0|0); | |
| if ($15) { | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } | |
| $16 = HEAP32[2]|0; | |
| $17 = ($16|0)==(0); | |
| if ($17) { | |
| $25 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$25 & 255]($14); | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } else { | |
| $18 = HEAP32[(64)>>2]|0; | |
| $19 = (FUNCTION_TABLE_ii[$18 & 255]($14)|0); | |
| $20 = HEAP32[11822]|0; | |
| $21 = (($20) - ($19))|0; | |
| HEAP32[11822] = $21; | |
| $22 = HEAP32[11825]|0; | |
| $23 = (($22) + -1)|0; | |
| HEAP32[11825] = $23; | |
| $24 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$24 & 255]($14); | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } | |
| return (0)|0; | |
| } | |
| function _nolockLock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return 0; | |
| } | |
| function _nolockUnlock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return 0; | |
| } | |
| function _nolockCheckReservedLock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| HEAP32[$1>>2] = 0; | |
| return 0; | |
| } | |
| function _sqlite3_malloc($0) { | |
| $0 = $0|0; | |
| var $$0 = 0, $$sink$i$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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = (_sqlite3_initialize()|0); | |
| $2 = ($1|0)!=(0); | |
| $3 = ($0|0)<(1); | |
| $or$cond = $3 | $2; | |
| if ($or$cond) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $4 = ($0|0)<(0); | |
| $5 = $4 << 31 >> 31; | |
| $6 = (_i64Add(($0|0),($5|0),-1,-1)|0); | |
| $7 = tempRet0; | |
| $8 = ($7>>>0)>(0); | |
| $9 = ($6>>>0)>(2147483390); | |
| $10 = ($7|0)==(0); | |
| $11 = $10 & $9; | |
| $12 = $8 | $11; | |
| if ($12) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $13 = HEAP32[2]|0; | |
| $14 = ($13|0)==(0); | |
| if ($14) { | |
| $53 = HEAP32[(52)>>2]|0; | |
| $54 = (FUNCTION_TABLE_ii[$53 & 255]($0)|0); | |
| $$0 = $54; | |
| return ($$0|0); | |
| } | |
| $15 = HEAP32[(68)>>2]|0; | |
| $16 = (FUNCTION_TABLE_ii[$15 & 255]($0)|0); | |
| $17 = HEAP32[11829]|0; | |
| $18 = ($17>>>0)<($0>>>0); | |
| if ($18) { | |
| HEAP32[11829] = $0; | |
| } | |
| $19 = (46456); | |
| $20 = $19; | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = (($19) + 4)|0; | |
| $23 = $22; | |
| $24 = HEAP32[$23>>2]|0; | |
| $25 = ($24|0)>(0); | |
| $26 = ($21>>>0)>(0); | |
| $27 = ($24|0)==(0); | |
| $28 = $27 & $26; | |
| $29 = $25 | $28; | |
| if ($29) { | |
| $30 = HEAP32[11822]|0; | |
| $31 = ($16|0)<(0); | |
| $32 = $31 << 31 >> 31; | |
| $33 = (_i64Subtract(($21|0),($24|0),($16|0),($32|0))|0); | |
| $34 = tempRet0; | |
| $35 = (0)>($34|0); | |
| $36 = ($30>>>0)>=($33>>>0); | |
| $37 = (0)==($34|0); | |
| $38 = $37 & $36; | |
| $39 = $35 | $38; | |
| $$sink$i$i = $39&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i; | |
| } | |
| $40 = HEAP32[(52)>>2]|0; | |
| $41 = (FUNCTION_TABLE_ii[$40 & 255]($16)|0); | |
| $42 = ($41|0)==(0|0); | |
| if ($42) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $43 = HEAP32[(64)>>2]|0; | |
| $44 = (FUNCTION_TABLE_ii[$43 & 255]($41)|0); | |
| $45 = HEAP32[11822]|0; | |
| $46 = (($45) + ($44))|0; | |
| HEAP32[11822] = $46; | |
| $47 = HEAP32[11826]|0; | |
| $48 = ($46>>>0)>($47>>>0); | |
| if ($48) { | |
| HEAP32[11826] = $46; | |
| } | |
| $49 = HEAP32[11825]|0; | |
| $50 = (($49) + 1)|0; | |
| HEAP32[11825] = $50; | |
| $51 = HEAP32[11831]|0; | |
| $52 = ($50>>>0)>($51>>>0); | |
| if (!($52)) { | |
| $$0 = $41; | |
| return ($$0|0); | |
| } | |
| HEAP32[11831] = $50; | |
| $$0 = $41; | |
| return ($$0|0); | |
| } | |
| function _robust_open($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$023 = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 96|0; | |
| $vararg_buffer = sp; | |
| $3 = sp + 8|0; | |
| $4 = ($2|0)!=(0); | |
| $5 = $4 ? $2 : 420; | |
| $6 = $1 | 524288; | |
| while(1) { | |
| $7 = HEAP32[(3424)>>2]|0; | |
| $8 = (FUNCTION_TABLE_iiii[$7 & 255]($0,$6,$5)|0); | |
| $9 = ($8|0)<(0); | |
| if ($9) { | |
| $10 = (___errno_location()|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ($11|0)==(4); | |
| if ($12) { | |
| continue; | |
| } else { | |
| $$023 = $8; | |
| label = 12; | |
| break; | |
| } | |
| } | |
| $13 = ($8|0)>(2); | |
| if ($13) { | |
| label = 6; | |
| break; | |
| } | |
| $14 = HEAP32[(3436)>>2]|0; | |
| (FUNCTION_TABLE_ii[$14 & 255]($8)|0); | |
| HEAP32[$vararg_buffer>>2] = $0; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $8; | |
| _sqlite3_log(28,17862,$vararg_buffer); | |
| $15 = HEAP32[(3424)>>2]|0; | |
| $16 = (FUNCTION_TABLE_iiii[$15 & 255](17905,$1,$2)|0); | |
| $17 = ($16|0)<(0); | |
| if ($17) { | |
| $$023 = -1; | |
| label = 12; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 6) { | |
| if (!($4)) { | |
| $$023 = $8; | |
| STACKTOP = sp;return ($$023|0); | |
| } | |
| $18 = HEAP32[(3484)>>2]|0; | |
| $19 = (FUNCTION_TABLE_iii[$18 & 255]($8,$3)|0); | |
| $20 = ($19|0)==(0); | |
| if ($20) { | |
| $21 = ((($3)) + 36|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = ($22|0)==(0); | |
| if ($23) { | |
| $24 = ((($3)) + 12|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = $25 & 511; | |
| $27 = ($26|0)==($2|0); | |
| if (!($27)) { | |
| $28 = HEAP32[(3592)>>2]|0; | |
| (FUNCTION_TABLE_iii[$28 & 255]($8,$2)|0); | |
| } | |
| } | |
| } | |
| $$023 = $8; | |
| STACKTOP = sp;return ($$023|0); | |
| } | |
| else if ((label|0) == 12) { | |
| STACKTOP = sp;return ($$023|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _sqlite3_uri_boolean($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0, $$016$cmp$us$i$i = 0, $$01617$us$i$i = 0, $$01722$i = 0, $$023$i = 0, $$in$i = 0, $$phi$trans$insert28$i = 0, $$phi$trans$insert29$i = 0, $$pre$i$i$i = 0, $$pre27$i = 0, $$pre30$i = 0, $$sink = 0, $$sink24$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, $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, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $3 = sp; | |
| $4 = ($0|0)==(0|0); | |
| $5 = ($1|0)==(0|0); | |
| $or$cond$i = $4 | $5; | |
| L1: do { | |
| if (!($or$cond$i)) { | |
| $$sink24$i = $0; | |
| while(1) { | |
| $6 = (_strlen($$sink24$i)|0); | |
| $7 = $6 & 1073741823; | |
| $8 = (($7) + 1)|0; | |
| $9 = (($$sink24$i) + ($8)|0); | |
| $10 = HEAP8[$9>>0]|0; | |
| $11 = ($10<<24>>24)==(0); | |
| if ($11) { | |
| break L1; | |
| } | |
| $12 = (_strcmp($9,$1)|0); | |
| $13 = (_strlen($9)|0); | |
| $14 = $13 & 1073741823; | |
| $15 = (($14) + 1)|0; | |
| $16 = (($9) + ($15)|0); | |
| $17 = ($12|0)==(0); | |
| if ($17) { | |
| break; | |
| } else { | |
| $$sink24$i = $16; | |
| } | |
| } | |
| $18 = ($2|0)!=(0); | |
| $19 = $18&1; | |
| $20 = HEAP8[$16>>0]|0; | |
| $21 = $20&255; | |
| $22 = (($21) + -48)|0; | |
| $23 = ($22>>>0)<(10); | |
| L6: do { | |
| if ($23) { | |
| HEAP32[$3>>2] = 0; | |
| (_sqlite3GetInt32($16,$3)|0); | |
| $$pre$i$i$i = HEAP32[$3>>2]|0; | |
| $24 = $$pre$i$i$i&255; | |
| $$0$i$i = $24; | |
| } else { | |
| $25 = (_strlen($16)|0); | |
| $26 = $25 & 1073741823; | |
| $27 = ($26|0)==(0); | |
| if ($27) { | |
| $$0$i$i = $19; | |
| } else { | |
| $$01617$us$i$i = 0; | |
| while(1) { | |
| $28 = (18171 + ($$01617$us$i$i)|0); | |
| $29 = HEAP8[$28>>0]|0; | |
| $30 = $29&255; | |
| $31 = ($30|0)==($26|0); | |
| do { | |
| if ($31) { | |
| $32 = (18179 + ($$01617$us$i$i)|0); | |
| $33 = HEAP8[$32>>0]|0; | |
| $34 = $33&255; | |
| $35 = (18187 + ($34)|0); | |
| $36 = ($35|0)==(0|0); | |
| if (!($36)) { | |
| $$01722$i = $35;$$023$i = $16;$$in$i = $26; | |
| while(1) { | |
| $37 = (($$in$i) + -1)|0; | |
| $38 = HEAP8[$$01722$i>>0]|0; | |
| $39 = ($38<<24>>24)==(0); | |
| if ($39) { | |
| label = 10; | |
| break; | |
| } | |
| $40 = $38&255; | |
| $41 = (17324 + ($40)|0); | |
| $42 = HEAP8[$41>>0]|0; | |
| $43 = HEAP8[$$023$i>>0]|0; | |
| $44 = $43&255; | |
| $45 = (17324 + ($44)|0); | |
| $46 = HEAP8[$45>>0]|0; | |
| $47 = ($42<<24>>24)==($46<<24>>24); | |
| if (!($47)) { | |
| $51 = $42;$53 = $46; | |
| label = 13; | |
| break; | |
| } | |
| $48 = ((($$01722$i)) + 1|0); | |
| $49 = ((($$023$i)) + 1|0); | |
| $50 = ($$in$i|0)>(1); | |
| if ($50) { | |
| $$01722$i = $48;$$023$i = $49;$$in$i = $37; | |
| } else { | |
| break; | |
| } | |
| } | |
| if ((label|0) == 10) { | |
| label = 0; | |
| $$pre27$i = HEAP8[$$023$i>>0]|0; | |
| $$phi$trans$insert28$i = $$pre27$i&255; | |
| $$phi$trans$insert29$i = (17324 + ($$phi$trans$insert28$i)|0); | |
| $$pre30$i = HEAP8[$$phi$trans$insert29$i>>0]|0; | |
| $51 = 0;$53 = $$pre30$i; | |
| label = 13; | |
| } | |
| if ((label|0) == 13) { | |
| label = 0; | |
| $52 = ($51<<24>>24)==($53<<24>>24); | |
| if (!($52)) { | |
| break; | |
| } | |
| } | |
| $54 = (18212 + ($$01617$us$i$i)|0); | |
| $55 = HEAP8[$54>>0]|0; | |
| $56 = $$01617$us$i$i & -2; | |
| $$016$cmp$us$i$i = ($56|0)==(6); | |
| if (!($$016$cmp$us$i$i)) { | |
| $$0$i$i = $55; | |
| break L6; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $57 = (($$01617$us$i$i) + 1)|0; | |
| $58 = ($57|0)<(8); | |
| if ($58) { | |
| $$01617$us$i$i = $57; | |
| } else { | |
| $$0$i$i = $19; | |
| break; | |
| } | |
| } | |
| } | |
| } | |
| } while(0); | |
| $59 = ($$0$i$i<<24>>24)!=(0); | |
| $$sink = $59; | |
| $61 = $$sink&1; | |
| STACKTOP = sp;return ($61|0); | |
| } | |
| } while(0); | |
| $60 = ($2|0)!=(0); | |
| $$sink = $60; | |
| $61 = $$sink&1; | |
| STACKTOP = sp;return ($61|0); | |
| } | |
| function _verifyDbFile($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 192|0; | |
| $vararg_buffer7 = sp + 24|0; | |
| $vararg_buffer4 = sp + 16|0; | |
| $vararg_buffer1 = sp + 8|0; | |
| $vararg_buffer = sp; | |
| $1 = sp + 104|0; | |
| $2 = sp + 28|0; | |
| $3 = ((($0)) + 18|0); | |
| $4 = HEAP16[$3>>1]|0; | |
| $5 = $4 & 128; | |
| $6 = ($5<<16>>16)==(0); | |
| if (!($6)) { | |
| STACKTOP = sp;return; | |
| } | |
| $7 = HEAP32[(3484)>>2]|0; | |
| $8 = ((($0)) + 12|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = (FUNCTION_TABLE_iii[$7 & 255]($9,$2)|0); | |
| $11 = ($10|0)==(0); | |
| if (!($11)) { | |
| $12 = ((($0)) + 32|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $13; | |
| _sqlite3_log(28,18043,$vararg_buffer); | |
| STACKTOP = sp;return; | |
| } | |
| $14 = ((($2)) + 16|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| switch ($15|0) { | |
| case 0: { | |
| $16 = ((($0)) + 32|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| HEAP32[$vararg_buffer1>>2] = $17; | |
| _sqlite3_log(28,18067,$vararg_buffer1); | |
| STACKTOP = sp;return; | |
| break; | |
| } | |
| case 1: { | |
| $20 = ((($0)) + 8|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = ($21|0)==(0|0); | |
| if ($22) { | |
| STACKTOP = sp;return; | |
| } | |
| $23 = HEAP32[(3472)>>2]|0; | |
| $24 = ((($0)) + 32|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = (FUNCTION_TABLE_iii[$23 & 255]($25,$1)|0); | |
| $27 = ($26|0)==(0); | |
| if ($27) { | |
| $28 = ((($1)) + 72|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = HEAP32[$20>>2]|0; | |
| $31 = ((($30)) + 8|0); | |
| $32 = $31; | |
| $33 = $32; | |
| $34 = HEAP32[$33>>2]|0; | |
| $35 = (($32) + 4)|0; | |
| $36 = $35; | |
| $37 = HEAP32[$36>>2]|0; | |
| $38 = ($29|0)==($34|0); | |
| $39 = (0)==($37|0); | |
| $40 = $38 & $39; | |
| if ($40) { | |
| STACKTOP = sp;return; | |
| } | |
| } else { | |
| } | |
| $41 = HEAP32[$24>>2]|0; | |
| HEAP32[$vararg_buffer7>>2] = $41; | |
| _sqlite3_log(28,18123,$vararg_buffer7); | |
| STACKTOP = sp;return; | |
| break; | |
| } | |
| default: { | |
| $18 = ((($0)) + 32|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| HEAP32[$vararg_buffer4>>2] = $19; | |
| _sqlite3_log(28,18096,$vararg_buffer4); | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| } | |
| function _unixClose($0) { | |
| $0 = $0|0; | |
| var $$$i$i$i = 0, $$$i$i$i$i = 0, $$in$i$i = 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, $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, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0; | |
| var $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; | |
| $vararg_buffer5 = sp + 24|0; | |
| $vararg_buffer = sp; | |
| _verifyDbFile($0); | |
| (_unixUnlock($0,0)|0); | |
| $1 = ((($0)) + 8|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)==(0|0); | |
| do { | |
| if (!($3)) { | |
| $4 = ((($2)) + 32|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ($5|0)==(0); | |
| if (!($6)) { | |
| $7 = ((($0)) + 28|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ((($2)) + 36|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = ((($8)) + 8|0); | |
| HEAP32[$11>>2] = $10; | |
| HEAP32[$9>>2] = $8; | |
| $12 = ((($0)) + 12|0); | |
| HEAP32[$12>>2] = -1; | |
| HEAP32[$7>>2] = 0; | |
| $13 = HEAP32[11669]|0; | |
| $14 = (($13) + 1)|0; | |
| HEAP32[11669] = $14; | |
| } | |
| $15 = ((($2)) + 24|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = (($16) + -1)|0; | |
| HEAP32[$15>>2] = $17; | |
| $18 = ($17|0)==(0); | |
| if ($18) { | |
| $19 = ((($2)) + 36|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = ($20|0)==(0|0); | |
| if (!($21)) { | |
| $22 = ((($0)) + 32|0); | |
| $$in$i$i = $20; | |
| while(1) { | |
| $23 = ((($$in$i$i)) + 8|0); | |
| $24 = HEAP32[$23>>2]|0; | |
| $25 = HEAP32[$$in$i$i>>2]|0; | |
| $26 = HEAP32[(3436)>>2]|0; | |
| $27 = (FUNCTION_TABLE_ii[$26 & 255]($25)|0); | |
| $28 = ($27|0)==(0); | |
| if (!($28)) { | |
| $29 = HEAP32[$22>>2]|0; | |
| $30 = (___errno_location()|0); | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = (_strerror($31)|0); | |
| $33 = ($29|0)==(0|0); | |
| $$$i$i$i$i = $33 ? 47328 : $29; | |
| HEAP32[$vararg_buffer>>2] = 31623; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$vararg_ptr1>>2] = $31; | |
| $vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$vararg_ptr2>>2] = 17649; | |
| $vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$vararg_ptr3>>2] = $$$i$i$i$i; | |
| $vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
| HEAP32[$vararg_ptr4>>2] = $32; | |
| _sqlite3_log(4106,17618,$vararg_buffer); | |
| } | |
| $34 = HEAP32[2]|0; | |
| $35 = ($34|0)==(0); | |
| if ($35) { | |
| $43 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$43 & 255]($$in$i$i); | |
| } else { | |
| $36 = HEAP32[(64)>>2]|0; | |
| $37 = (FUNCTION_TABLE_ii[$36 & 255]($$in$i$i)|0); | |
| $38 = HEAP32[11822]|0; | |
| $39 = (($38) - ($37))|0; | |
| HEAP32[11822] = $39; | |
| $40 = HEAP32[11825]|0; | |
| $41 = (($40) + -1)|0; | |
| HEAP32[11825] = $41; | |
| $42 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$42 & 255]($$in$i$i); | |
| } | |
| $44 = HEAP32[11669]|0; | |
| $45 = (($44) + -1)|0; | |
| HEAP32[11669] = $45; | |
| $46 = ($24|0)==(0|0); | |
| if ($46) { | |
| break; | |
| } else { | |
| $$in$i$i = $24; | |
| } | |
| } | |
| } | |
| HEAP32[$19>>2] = 0; | |
| $47 = ((($2)) + 44|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $49 = ($48|0)==(0|0); | |
| $50 = ((($2)) + 40|0); | |
| $51 = HEAP32[$50>>2]|0; | |
| $52 = $48; | |
| if ($49) { | |
| $54 = $51; | |
| HEAP32[11670] = $51; | |
| $55 = $54; | |
| } else { | |
| $53 = ((($48)) + 40|0); | |
| HEAP32[$53>>2] = $51; | |
| $$pre$i = HEAP32[$50>>2]|0; | |
| $55 = $$pre$i; | |
| } | |
| $56 = ($55|0)==(0|0); | |
| if (!($56)) { | |
| $57 = ((($55)) + 44|0); | |
| HEAP32[$57>>2] = $52; | |
| } | |
| $58 = HEAP32[2]|0; | |
| $59 = ($58|0)==(0); | |
| if ($59) { | |
| $67 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$67 & 255]($2); | |
| break; | |
| } else { | |
| $60 = HEAP32[(64)>>2]|0; | |
| $61 = (FUNCTION_TABLE_ii[$60 & 255]($2)|0); | |
| $62 = HEAP32[11822]|0; | |
| $63 = (($62) - ($61))|0; | |
| HEAP32[11822] = $63; | |
| $64 = HEAP32[11825]|0; | |
| $65 = (($64) + -1)|0; | |
| HEAP32[11825] = $65; | |
| $66 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$66 & 255]($2); | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $68 = ((($0)) + 12|0); | |
| $69 = HEAP32[$68>>2]|0; | |
| $70 = ($69|0)>(-1); | |
| if ($70) { | |
| $71 = HEAP32[(3436)>>2]|0; | |
| $72 = (FUNCTION_TABLE_ii[$71 & 255]($69)|0); | |
| $73 = ($72|0)==(0); | |
| if (!($73)) { | |
| $74 = ((($0)) + 32|0); | |
| $75 = HEAP32[$74>>2]|0; | |
| $76 = (___errno_location()|0); | |
| $77 = HEAP32[$76>>2]|0; | |
| $78 = (_strerror($77)|0); | |
| $79 = ($75|0)==(0|0); | |
| $$$i$i$i = $79 ? 47328 : $75; | |
| HEAP32[$vararg_buffer5>>2] = 32357; | |
| $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); | |
| HEAP32[$vararg_ptr8>>2] = $77; | |
| $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); | |
| HEAP32[$vararg_ptr9>>2] = 17649; | |
| $vararg_ptr10 = ((($vararg_buffer5)) + 12|0); | |
| HEAP32[$vararg_ptr10>>2] = $$$i$i$i; | |
| $vararg_ptr11 = ((($vararg_buffer5)) + 16|0); | |
| HEAP32[$vararg_ptr11>>2] = $78; | |
| _sqlite3_log(4106,17618,$vararg_buffer5); | |
| } | |
| HEAP32[$68>>2] = -1; | |
| } | |
| $80 = ((($0)) + 28|0); | |
| $81 = HEAP32[$80>>2]|0; | |
| $82 = ($81|0)==(0|0); | |
| if ($82) { | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } | |
| $83 = HEAP32[2]|0; | |
| $84 = ($83|0)==(0); | |
| if ($84) { | |
| $92 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$92 & 255]($81); | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } else { | |
| $85 = HEAP32[(64)>>2]|0; | |
| $86 = (FUNCTION_TABLE_ii[$85 & 255]($81)|0); | |
| $87 = HEAP32[11822]|0; | |
| $88 = (($87) - ($86))|0; | |
| HEAP32[11822] = $88; | |
| $89 = HEAP32[11825]|0; | |
| $90 = (($89) + -1)|0; | |
| HEAP32[11825] = $90; | |
| $91 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$91 & 255]($81); | |
| dest=$0; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| STACKTOP = sp;return 0; | |
| } | |
| return (0)|0; | |
| } | |
| function _unixLock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$0 = 0, $$0$i$ph = 0, $$0$i71$ph = 0, $$065 = 0, $$066 = 0, $$1$i = 0, $$1$i69 = 0, $$1$i74 = 0, $$1$i79 = 0, $$16788 = 0, $$189 = 0, $$2 = 0, $$293 = 0, $$off = 0, $$sink = 0, $$sink7 = 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, $16 = 0, $17 = 0; | |
| var $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, $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, $not$ = 0, $or$cond = 0, $or$cond3 = 0, $switch = 0, $trunc = 0, $trunc$clear = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0; | |
| var $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 96|0; | |
| $vararg_buffer25 = sp + 56|0; | |
| $vararg_buffer21 = sp + 48|0; | |
| $vararg_buffer17 = sp + 40|0; | |
| $vararg_buffer13 = sp + 32|0; | |
| $vararg_buffer9 = sp + 24|0; | |
| $vararg_buffer5 = sp + 16|0; | |
| $vararg_buffer1 = sp + 8|0; | |
| $vararg_buffer = sp; | |
| $2 = sp + 80|0; | |
| $3 = sp + 64|0; | |
| $4 = ((($0)) + 16|0); | |
| $5 = HEAP8[$4>>0]|0; | |
| $6 = $5&255; | |
| $7 = ($6|0)<($1|0); | |
| if (!($7)) { | |
| $$065 = 0; | |
| STACKTOP = sp;return ($$065|0); | |
| } | |
| $8 = ((($0)) + 8|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ((($9)) + 20|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| $12 = ($5<<24>>24)==($11<<24>>24); | |
| if (!($12)) { | |
| $13 = ($11&255)>(2); | |
| $14 = ($1|0)>(1); | |
| $or$cond = $14 | $13; | |
| if ($or$cond) { | |
| $$065 = 5; | |
| STACKTOP = sp;return ($$065|0); | |
| } | |
| } | |
| $15 = ($1|0)==(1); | |
| do { | |
| if ($15) { | |
| $$off = (($11) + -1)<<24>>24; | |
| $switch = ($$off&255)<(2); | |
| if (!($switch)) { | |
| $16 = ((($3)) + 8|0); | |
| HEAP32[$16>>2] = 1; | |
| $17 = ((($3)) + 2|0); | |
| HEAP16[$17>>1] = 0; | |
| $58 = $16; | |
| label = 10; | |
| break; | |
| } | |
| HEAP8[$4>>0] = 1; | |
| $18 = ((($9)) + 16|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = (($19) + 1)|0; | |
| HEAP32[$18>>2] = $20; | |
| $21 = ((($9)) + 32|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = (($22) + 1)|0; | |
| HEAP32[$21>>2] = $23; | |
| $$065 = 0; | |
| STACKTOP = sp;return ($$065|0); | |
| } else { | |
| $24 = ((($3)) + 8|0); | |
| HEAP32[$24>>2] = 1; | |
| $25 = ((($3)) + 2|0); | |
| HEAP16[$25>>1] = 0; | |
| $26 = ($1|0)==(4); | |
| if ($26) { | |
| $27 = ($5&255)<(3); | |
| if ($27) { | |
| $58 = $24; | |
| label = 10; | |
| } else { | |
| $155 = $24; | |
| label = 43; | |
| } | |
| } else { | |
| $154 = $24; | |
| label = 42; | |
| } | |
| } | |
| } while(0); | |
| L16: do { | |
| if ((label|0) == 10) { | |
| $not$ = $15 ^ 1; | |
| $28 = $not$&1; | |
| HEAP16[$3>>1] = $28; | |
| $29 = ((($3)) + 4|0); | |
| HEAP32[$29>>2] = 1073741824; | |
| $30 = ((($0)) + 18|0); | |
| $31 = HEAP16[$30>>1]|0; | |
| $32 = $31 & 3; | |
| $33 = ($32<<16>>16)==(1); | |
| do { | |
| if ($33) { | |
| $34 = ((($9)) + 21|0); | |
| $35 = HEAP8[$34>>0]|0; | |
| $36 = ($35<<24>>24)==(0); | |
| if ($36) { | |
| $37 = ((($2)) + 2|0); | |
| HEAP16[$37>>1] = 0; | |
| $38 = (1073741824 + 2)|0; | |
| $39 = ((($2)) + 4|0); | |
| HEAP32[$39>>2] = $38; | |
| $40 = ((($2)) + 8|0); | |
| HEAP32[$40>>2] = 510; | |
| HEAP16[$2>>1] = 1; | |
| $41 = HEAP32[(3508)>>2]|0; | |
| $42 = ((($0)) + 12|0); | |
| $43 = HEAP32[$42>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $2; | |
| $44 = (FUNCTION_TABLE_iiii[$41 & 255]($43,13,$vararg_buffer)|0); | |
| $45 = ($44|0)<(0); | |
| if ($45) { | |
| label = 17; | |
| break; | |
| } else { | |
| HEAP8[$34>>0] = 1; | |
| $46 = ((($9)) + 32|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $48 = (($47) + 1)|0; | |
| HEAP32[$46>>2] = $48; | |
| $$1$i69 = $44; | |
| label = 16; | |
| break; | |
| } | |
| } | |
| } else { | |
| $49 = HEAP32[(3508)>>2]|0; | |
| $50 = ((($0)) + 12|0); | |
| $51 = HEAP32[$50>>2]|0; | |
| HEAP32[$vararg_buffer1>>2] = $3; | |
| $52 = (FUNCTION_TABLE_iiii[$49 & 255]($51,13,$vararg_buffer1)|0); | |
| $$1$i69 = $52; | |
| label = 16; | |
| } | |
| } while(0); | |
| if ((label|0) == 16) { | |
| $53 = ($$1$i69|0)==(0); | |
| if (!($53)) { | |
| label = 17; | |
| } | |
| } | |
| if ((label|0) == 17) { | |
| $54 = (___errno_location()|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| switch ($55|0) { | |
| case 1: { | |
| $$0$i71$ph = 3; | |
| break; | |
| } | |
| case 37: case 4: case 16: case 110: case 11: case 13: { | |
| $$065 = 5; | |
| STACKTOP = sp;return ($$065|0); | |
| break; | |
| } | |
| default: { | |
| $$0$i71$ph = 3850; | |
| } | |
| } | |
| $56 = ((($0)) + 20|0); | |
| HEAP32[$56>>2] = $55; | |
| $$065 = $$0$i71$ph; | |
| STACKTOP = sp;return ($$065|0); | |
| } | |
| if ($15) { | |
| $57 = (1073741824 + 2)|0; | |
| HEAP32[$29>>2] = $57; | |
| HEAP32[$58>>2] = 510; | |
| $59 = HEAP32[$8>>2]|0; | |
| $60 = HEAP16[$30>>1]|0; | |
| $61 = $60 & 3; | |
| $62 = ($61<<16>>16)==(1); | |
| do { | |
| if ($62) { | |
| $63 = ((($59)) + 21|0); | |
| $64 = HEAP8[$63>>0]|0; | |
| $65 = ($64<<24>>24)==(0); | |
| if ($65) { | |
| $66 = ((($2)) + 2|0); | |
| HEAP16[$66>>1] = 0; | |
| $67 = ((($2)) + 4|0); | |
| HEAP32[$67>>2] = $57; | |
| $68 = ((($2)) + 8|0); | |
| HEAP32[$68>>2] = 510; | |
| HEAP16[$2>>1] = 1; | |
| $69 = HEAP32[(3508)>>2]|0; | |
| $70 = ((($0)) + 12|0); | |
| $71 = HEAP32[$70>>2]|0; | |
| HEAP32[$vararg_buffer5>>2] = $2; | |
| $72 = (FUNCTION_TABLE_iiii[$69 & 255]($71,13,$vararg_buffer5)|0); | |
| $73 = ($72|0)<(0); | |
| if ($73) { | |
| label = 28; | |
| break; | |
| } else { | |
| HEAP8[$63>>0] = 1; | |
| $74 = ((($59)) + 32|0); | |
| $75 = HEAP32[$74>>2]|0; | |
| $76 = (($75) + 1)|0; | |
| HEAP32[$74>>2] = $76; | |
| $$1$i74 = $72; | |
| label = 27; | |
| break; | |
| } | |
| } else { | |
| $$0 = 0;$$066 = 0; | |
| } | |
| } else { | |
| $77 = HEAP32[(3508)>>2]|0; | |
| $78 = ((($0)) + 12|0); | |
| $79 = HEAP32[$78>>2]|0; | |
| HEAP32[$vararg_buffer9>>2] = $3; | |
| $80 = (FUNCTION_TABLE_iiii[$77 & 255]($79,13,$vararg_buffer9)|0); | |
| $$1$i74 = $80; | |
| label = 27; | |
| } | |
| } while(0); | |
| if ((label|0) == 27) { | |
| $81 = ($$1$i74|0)==(0); | |
| if ($81) { | |
| $$0 = 0;$$066 = 0; | |
| } else { | |
| label = 28; | |
| } | |
| } | |
| L45: do { | |
| if ((label|0) == 28) { | |
| $82 = (___errno_location()|0); | |
| $83 = HEAP32[$82>>2]|0; | |
| switch ($83|0) { | |
| case 37: case 4: case 16: case 110: case 11: case 13: { | |
| $$0 = $83;$$066 = 5; | |
| break L45; | |
| break; | |
| } | |
| case 1: { | |
| $$0 = 1;$$066 = 3; | |
| break L45; | |
| break; | |
| } | |
| default: { | |
| $$0 = $83;$$066 = 3850; | |
| break L45; | |
| } | |
| } | |
| } | |
| } while(0); | |
| HEAP32[$29>>2] = 1073741824; | |
| HEAP32[$58>>2] = 1; | |
| HEAP16[$3>>1] = 2; | |
| $84 = HEAP32[$8>>2]|0; | |
| $85 = HEAP16[$30>>1]|0; | |
| $86 = $85 & 3; | |
| $87 = ($86<<16>>16)==(1); | |
| do { | |
| if ($87) { | |
| $88 = ((($84)) + 21|0); | |
| $89 = HEAP8[$88>>0]|0; | |
| $90 = ($89<<24>>24)==(0); | |
| if ($90) { | |
| $91 = ((($2)) + 2|0); | |
| HEAP16[$91>>1] = 0; | |
| $92 = (1073741824 + 2)|0; | |
| $93 = ((($2)) + 4|0); | |
| HEAP32[$93>>2] = $92; | |
| $94 = ((($2)) + 8|0); | |
| HEAP32[$94>>2] = 510; | |
| HEAP16[$2>>1] = 1; | |
| $95 = HEAP32[(3508)>>2]|0; | |
| $96 = ((($0)) + 12|0); | |
| $97 = HEAP32[$96>>2]|0; | |
| HEAP32[$vararg_buffer13>>2] = $2; | |
| $98 = (FUNCTION_TABLE_iiii[$95 & 255]($97,13,$vararg_buffer13)|0); | |
| $99 = ($98|0)<(0); | |
| if ($99) { | |
| $$1$i79 = $98; | |
| label = 37; | |
| break; | |
| } else { | |
| HEAP8[$88>>0] = 1; | |
| $100 = ((($84)) + 32|0); | |
| $101 = HEAP32[$100>>2]|0; | |
| $102 = (($101) + 1)|0; | |
| HEAP32[$100>>2] = $102; | |
| $$1$i79 = $98; | |
| label = 37; | |
| break; | |
| } | |
| } else { | |
| label = 39; | |
| } | |
| } else { | |
| $103 = HEAP32[(3508)>>2]|0; | |
| $104 = ((($0)) + 12|0); | |
| $105 = HEAP32[$104>>2]|0; | |
| HEAP32[$vararg_buffer17>>2] = $3; | |
| $106 = (FUNCTION_TABLE_iiii[$103 & 255]($105,13,$vararg_buffer17)|0); | |
| $$1$i79 = $106; | |
| label = 37; | |
| } | |
| } while(0); | |
| if ((label|0) == 37) { | |
| $107 = ($$1$i79|0)!=(0); | |
| $108 = ($$066|0)==(0); | |
| $or$cond3 = $108 & $107; | |
| if ($or$cond3) { | |
| $109 = (___errno_location()|0); | |
| $110 = HEAP32[$109>>2]|0; | |
| $$16788 = 2058;$$189 = $110; | |
| } else { | |
| label = 39; | |
| } | |
| } | |
| L61: do { | |
| if ((label|0) == 39) { | |
| $trunc = $$066&65535; | |
| $trunc$clear = $trunc & 4095; | |
| switch ($trunc$clear<<16>>16) { | |
| case 0: { | |
| HEAP8[$4>>0] = 1; | |
| $112 = ((($9)) + 32|0); | |
| $113 = HEAP32[$112>>2]|0; | |
| $114 = (($113) + 1)|0; | |
| HEAP32[$112>>2] = $114; | |
| $115 = ((($9)) + 16|0); | |
| HEAP32[$115>>2] = 1; | |
| label = 54; | |
| break L16; | |
| break; | |
| } | |
| case 5: { | |
| $$065 = 5; | |
| STACKTOP = sp;return ($$065|0); | |
| break; | |
| } | |
| default: { | |
| $$16788 = $$066;$$189 = $$0; | |
| break L61; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $111 = ((($0)) + 20|0); | |
| HEAP32[$111>>2] = $$189; | |
| $$065 = $$16788; | |
| STACKTOP = sp;return ($$065|0); | |
| } else { | |
| $154 = $58; | |
| label = 42; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 42) { | |
| $116 = ($1|0)==(4); | |
| if ($116) { | |
| $155 = $154; | |
| label = 43; | |
| } else { | |
| $123 = $154; | |
| label = 44; | |
| } | |
| } | |
| if ((label|0) == 43) { | |
| $117 = ((($9)) + 16|0); | |
| $118 = HEAP32[$117>>2]|0; | |
| $119 = ($118|0)>(1); | |
| if ($119) { | |
| $$293 = 5; | |
| label = 56; | |
| } else { | |
| $123 = $155; | |
| label = 44; | |
| } | |
| } | |
| L72: do { | |
| if ((label|0) == 44) { | |
| HEAP16[$3>>1] = 1; | |
| $120 = ($1|0)==(2); | |
| $$sink7 = $120 ? 1 : 2; | |
| $$sink = $120 ? 1 : 510; | |
| $121 = (1073741824 + ($$sink7))|0; | |
| $122 = ((($3)) + 4|0); | |
| HEAP32[$122>>2] = $121; | |
| HEAP32[$123>>2] = $$sink; | |
| $124 = HEAP32[$8>>2]|0; | |
| $125 = ((($0)) + 18|0); | |
| $126 = HEAP16[$125>>1]|0; | |
| $127 = $126 & 3; | |
| $128 = ($127<<16>>16)==(1); | |
| do { | |
| if ($128) { | |
| $129 = ((($124)) + 21|0); | |
| $130 = HEAP8[$129>>0]|0; | |
| $131 = ($130<<24>>24)==(0); | |
| if (!($131)) { | |
| label = 54; | |
| break L72; | |
| } | |
| $132 = ((($2)) + 2|0); | |
| HEAP16[$132>>1] = 0; | |
| $133 = (1073741824 + 2)|0; | |
| $134 = ((($2)) + 4|0); | |
| HEAP32[$134>>2] = $133; | |
| $135 = ((($2)) + 8|0); | |
| HEAP32[$135>>2] = 510; | |
| HEAP16[$2>>1] = 1; | |
| $136 = HEAP32[(3508)>>2]|0; | |
| $137 = ((($0)) + 12|0); | |
| $138 = HEAP32[$137>>2]|0; | |
| HEAP32[$vararg_buffer21>>2] = $2; | |
| $139 = (FUNCTION_TABLE_iiii[$136 & 255]($138,13,$vararg_buffer21)|0); | |
| $140 = ($139|0)<(0); | |
| if ($140) { | |
| break; | |
| } else { | |
| HEAP8[$129>>0] = 1; | |
| $141 = ((($124)) + 32|0); | |
| $142 = HEAP32[$141>>2]|0; | |
| $143 = (($142) + 1)|0; | |
| HEAP32[$141>>2] = $143; | |
| $$1$i = $139; | |
| label = 50; | |
| break; | |
| } | |
| } else { | |
| $144 = HEAP32[(3508)>>2]|0; | |
| $145 = ((($0)) + 12|0); | |
| $146 = HEAP32[$145>>2]|0; | |
| HEAP32[$vararg_buffer25>>2] = $3; | |
| $147 = (FUNCTION_TABLE_iiii[$144 & 255]($146,13,$vararg_buffer25)|0); | |
| $$1$i = $147; | |
| label = 50; | |
| } | |
| } while(0); | |
| if ((label|0) == 50) { | |
| $148 = ($$1$i|0)==(0); | |
| if ($148) { | |
| label = 54; | |
| break; | |
| } | |
| } | |
| $149 = (___errno_location()|0); | |
| $150 = HEAP32[$149>>2]|0; | |
| switch ($150|0) { | |
| case 37: case 4: case 16: case 110: case 11: case 13: { | |
| $$2 = 5; | |
| break; | |
| } | |
| case 1: { | |
| $$0$i$ph = 3; | |
| label = 53; | |
| break; | |
| } | |
| default: { | |
| $$0$i$ph = 3850; | |
| label = 53; | |
| } | |
| } | |
| if ((label|0) == 53) { | |
| $151 = ((($0)) + 20|0); | |
| HEAP32[$151>>2] = $150; | |
| $$2 = $$0$i$ph; | |
| } | |
| $153 = ($1|0)==(4); | |
| if ($153) { | |
| $$293 = $$2; | |
| label = 56; | |
| } else { | |
| $$065 = $$2; | |
| STACKTOP = sp;return ($$065|0); | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 54) { | |
| $152 = $1&255; | |
| HEAP8[$4>>0] = $152; | |
| HEAP8[$10>>0] = $152; | |
| $$065 = 0; | |
| STACKTOP = sp;return ($$065|0); | |
| } | |
| else if ((label|0) == 56) { | |
| HEAP8[$4>>0] = 3; | |
| HEAP8[$10>>0] = 3; | |
| $$065 = $$293; | |
| STACKTOP = sp;return ($$065|0); | |
| } | |
| return (0)|0; | |
| } | |
| function _unixUnlock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$$i$i$i$i = 0, $$0$i = 0, $$032$i = 0, $$1$i = 0, $$1$i$i = 0, $$1$i2$i = 0, $$1$i5$i = 0, $$in$i$i = 0, $$pre$i = 0, $$pre$phi14$iZ2D = 0, $$pre$phi16$iZ2D = 0, $$pre$phi18$iZ2D = 0, $$pre$phi20$iZ2D = 0, $$pre13$i = 0, $$pre15$i = 0, $$pre17$i = 0, $$pre19$i = 0, $$sink$i = 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, $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, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0; | |
| var $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr24 = 0, $vararg_ptr25 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 112|0; | |
| $vararg_buffer21 = sp + 48|0; | |
| $vararg_buffer17 = sp + 40|0; | |
| $vararg_buffer13 = sp + 32|0; | |
| $vararg_buffer9 = sp + 24|0; | |
| $vararg_buffer5 = sp + 16|0; | |
| $vararg_buffer1 = sp + 8|0; | |
| $vararg_buffer = sp; | |
| $2 = sp + 88|0; | |
| $3 = sp + 72|0; | |
| $4 = ((($0)) + 16|0); | |
| $5 = HEAP8[$4>>0]|0; | |
| $6 = $5&255; | |
| $7 = ($6|0)>($1|0); | |
| if (!($7)) { | |
| $$032$i = 0; | |
| STACKTOP = sp;return ($$032$i|0); | |
| } | |
| $8 = ((($0)) + 8|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ($5&255)>(1); | |
| do { | |
| if ($10) { | |
| $11 = ($1|0)==(1); | |
| L6: do { | |
| if ($11) { | |
| HEAP16[$3>>1] = 0; | |
| $12 = ((($3)) + 2|0); | |
| HEAP16[$12>>1] = 0; | |
| $13 = (1073741824 + 2)|0; | |
| $14 = ((($3)) + 4|0); | |
| HEAP32[$14>>2] = $13; | |
| $15 = ((($3)) + 8|0); | |
| HEAP32[$15>>2] = 510; | |
| $16 = ((($0)) + 18|0); | |
| $17 = HEAP16[$16>>1]|0; | |
| $18 = $17 & 3; | |
| $19 = ($18<<16>>16)==(1); | |
| do { | |
| if ($19) { | |
| $20 = ((($9)) + 21|0); | |
| $21 = HEAP8[$20>>0]|0; | |
| $22 = ($21<<24>>24)==(0); | |
| if (!($22)) { | |
| $$pre$phi14$iZ2D = $12;$$pre$phi16$iZ2D = $14;$$pre$phi18$iZ2D = $15;$$pre$phi20$iZ2D = $16;$46 = $9; | |
| break L6; | |
| } | |
| $23 = ((($2)) + 2|0); | |
| HEAP16[$23>>1] = 0; | |
| $24 = ((($2)) + 4|0); | |
| HEAP32[$24>>2] = $13; | |
| $25 = ((($2)) + 8|0); | |
| HEAP32[$25>>2] = 510; | |
| HEAP16[$2>>1] = 1; | |
| $26 = HEAP32[(3508)>>2]|0; | |
| $27 = ((($0)) + 12|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $2; | |
| $29 = (FUNCTION_TABLE_iiii[$26 & 255]($28,13,$vararg_buffer)|0); | |
| $30 = ($29|0)<(0); | |
| if ($30) { | |
| break; | |
| } else { | |
| HEAP8[$20>>0] = 1; | |
| $31 = ((($9)) + 32|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = (($32) + 1)|0; | |
| HEAP32[$31>>2] = $33; | |
| $$1$i$i = $29; | |
| label = 11; | |
| break; | |
| } | |
| } else { | |
| $34 = HEAP32[(3508)>>2]|0; | |
| $35 = ((($0)) + 12|0); | |
| $36 = HEAP32[$35>>2]|0; | |
| HEAP32[$vararg_buffer1>>2] = $3; | |
| $37 = (FUNCTION_TABLE_iiii[$34 & 255]($36,13,$vararg_buffer1)|0); | |
| $$1$i$i = $37; | |
| label = 11; | |
| } | |
| } while(0); | |
| if ((label|0) == 11) { | |
| $38 = ($$1$i$i|0)==(0); | |
| if ($38) { | |
| $$pre$i = HEAP32[$8>>2]|0; | |
| $$pre$phi14$iZ2D = $12;$$pre$phi16$iZ2D = $14;$$pre$phi18$iZ2D = $15;$$pre$phi20$iZ2D = $16;$46 = $$pre$i; | |
| break; | |
| } | |
| } | |
| $39 = (___errno_location()|0); | |
| $40 = HEAP32[$39>>2]|0; | |
| $41 = ((($0)) + 20|0); | |
| HEAP32[$41>>2] = $40; | |
| $$032$i = 2314; | |
| STACKTOP = sp;return ($$032$i|0); | |
| } else { | |
| $$pre13$i = ((($3)) + 2|0); | |
| $$pre15$i = ((($3)) + 4|0); | |
| $$pre17$i = ((($3)) + 8|0); | |
| $$pre19$i = ((($0)) + 18|0); | |
| $$pre$phi14$iZ2D = $$pre13$i;$$pre$phi16$iZ2D = $$pre15$i;$$pre$phi18$iZ2D = $$pre17$i;$$pre$phi20$iZ2D = $$pre19$i;$46 = $9; | |
| } | |
| } while(0); | |
| HEAP16[$3>>1] = 2; | |
| HEAP16[$$pre$phi14$iZ2D>>1] = 0; | |
| HEAP32[$$pre$phi16$iZ2D>>2] = 1073741824; | |
| HEAP32[$$pre$phi18$iZ2D>>2] = 2; | |
| $42 = HEAP16[$$pre$phi20$iZ2D>>1]|0; | |
| $43 = $42 & 3; | |
| $44 = ($43<<16>>16)==(1); | |
| do { | |
| if ($44) { | |
| $45 = ((($46)) + 21|0); | |
| $47 = HEAP8[$45>>0]|0; | |
| $48 = ($47<<24>>24)==(0); | |
| if ($48) { | |
| $49 = ((($2)) + 2|0); | |
| HEAP16[$49>>1] = 0; | |
| $50 = (1073741824 + 2)|0; | |
| $51 = ((($2)) + 4|0); | |
| HEAP32[$51>>2] = $50; | |
| $52 = ((($2)) + 8|0); | |
| HEAP32[$52>>2] = 510; | |
| HEAP16[$2>>1] = 1; | |
| $53 = HEAP32[(3508)>>2]|0; | |
| $54 = ((($0)) + 12|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| HEAP32[$vararg_buffer5>>2] = $2; | |
| $56 = (FUNCTION_TABLE_iiii[$53 & 255]($55,13,$vararg_buffer5)|0); | |
| $57 = ($56|0)<(0); | |
| if ($57) { | |
| break; | |
| } else { | |
| HEAP8[$45>>0] = 1; | |
| $58 = ((($46)) + 32|0); | |
| $59 = HEAP32[$58>>2]|0; | |
| $60 = (($59) + 1)|0; | |
| HEAP32[$58>>2] = $60; | |
| $$1$i2$i = $56; | |
| label = 20; | |
| break; | |
| } | |
| } else { | |
| label = 21; | |
| } | |
| } else { | |
| $61 = HEAP32[(3508)>>2]|0; | |
| $62 = ((($0)) + 12|0); | |
| $63 = HEAP32[$62>>2]|0; | |
| HEAP32[$vararg_buffer9>>2] = $3; | |
| $64 = (FUNCTION_TABLE_iiii[$61 & 255]($63,13,$vararg_buffer9)|0); | |
| $$1$i2$i = $64; | |
| label = 20; | |
| } | |
| } while(0); | |
| if ((label|0) == 20) { | |
| $65 = ($$1$i2$i|0)==(0); | |
| if ($65) { | |
| label = 21; | |
| } | |
| } | |
| if ((label|0) == 21) { | |
| $66 = ((($9)) + 20|0); | |
| HEAP8[$66>>0] = 1; | |
| break; | |
| } | |
| $67 = (___errno_location()|0); | |
| $68 = HEAP32[$67>>2]|0; | |
| $69 = ((($0)) + 20|0); | |
| HEAP32[$69>>2] = $68; | |
| $$032$i = 2058; | |
| STACKTOP = sp;return ($$032$i|0); | |
| } | |
| } while(0); | |
| $70 = ($1|0)==(0); | |
| if ($70) { | |
| $71 = ((($9)) + 16|0); | |
| $72 = HEAP32[$71>>2]|0; | |
| $73 = (($72) + -1)|0; | |
| HEAP32[$71>>2] = $73; | |
| $74 = ($73|0)==(0); | |
| if ($74) { | |
| HEAP16[$3>>1] = 2; | |
| $75 = ((($3)) + 2|0); | |
| HEAP16[$75>>1] = 0; | |
| $76 = ((($3)) + 8|0); | |
| HEAP32[$76>>2] = 0; | |
| $77 = ((($3)) + 4|0); | |
| HEAP32[$77>>2] = 0; | |
| $78 = HEAP32[$8>>2]|0; | |
| $79 = ((($0)) + 18|0); | |
| $80 = HEAP16[$79>>1]|0; | |
| $81 = $80 & 3; | |
| $82 = ($81<<16>>16)==(1); | |
| do { | |
| if ($82) { | |
| $83 = ((($78)) + 21|0); | |
| $84 = HEAP8[$83>>0]|0; | |
| $85 = ($84<<24>>24)==(0); | |
| if ($85) { | |
| $86 = ((($2)) + 2|0); | |
| HEAP16[$86>>1] = 0; | |
| $87 = (1073741824 + 2)|0; | |
| $88 = ((($2)) + 4|0); | |
| HEAP32[$88>>2] = $87; | |
| $89 = ((($2)) + 8|0); | |
| HEAP32[$89>>2] = 510; | |
| HEAP16[$2>>1] = 1; | |
| $90 = HEAP32[(3508)>>2]|0; | |
| $91 = ((($0)) + 12|0); | |
| $92 = HEAP32[$91>>2]|0; | |
| HEAP32[$vararg_buffer13>>2] = $2; | |
| $93 = (FUNCTION_TABLE_iiii[$90 & 255]($92,13,$vararg_buffer13)|0); | |
| $94 = ($93|0)<(0); | |
| if ($94) { | |
| label = 33; | |
| break; | |
| } else { | |
| HEAP8[$83>>0] = 1; | |
| $95 = ((($78)) + 32|0); | |
| $96 = HEAP32[$95>>2]|0; | |
| $97 = (($96) + 1)|0; | |
| HEAP32[$95>>2] = $97; | |
| $$1$i5$i = $93; | |
| label = 31; | |
| break; | |
| } | |
| } else { | |
| label = 32; | |
| } | |
| } else { | |
| $98 = HEAP32[(3508)>>2]|0; | |
| $99 = ((($0)) + 12|0); | |
| $100 = HEAP32[$99>>2]|0; | |
| HEAP32[$vararg_buffer17>>2] = $3; | |
| $101 = (FUNCTION_TABLE_iiii[$98 & 255]($100,13,$vararg_buffer17)|0); | |
| $$1$i5$i = $101; | |
| label = 31; | |
| } | |
| } while(0); | |
| if ((label|0) == 31) { | |
| $102 = ($$1$i5$i|0)==(0); | |
| if ($102) { | |
| label = 32; | |
| } else { | |
| label = 33; | |
| } | |
| } | |
| if ((label|0) == 32) { | |
| $103 = ((($9)) + 20|0); | |
| $$0$i = 0;$$sink$i = $103; | |
| } | |
| else if ((label|0) == 33) { | |
| $104 = (___errno_location()|0); | |
| $105 = HEAP32[$104>>2]|0; | |
| $106 = ((($0)) + 20|0); | |
| HEAP32[$106>>2] = $105; | |
| $107 = ((($9)) + 20|0); | |
| HEAP8[$107>>0] = 0; | |
| $$0$i = 2058;$$sink$i = $4; | |
| } | |
| HEAP8[$$sink$i>>0] = 0; | |
| $$1$i = $$0$i; | |
| } else { | |
| $$1$i = 0; | |
| } | |
| $108 = ((($9)) + 32|0); | |
| $109 = HEAP32[$108>>2]|0; | |
| $110 = (($109) + -1)|0; | |
| HEAP32[$108>>2] = $110; | |
| $111 = ($110|0)==(0); | |
| if ($111) { | |
| $112 = HEAP32[$8>>2]|0; | |
| $113 = ((($112)) + 36|0); | |
| $114 = HEAP32[$113>>2]|0; | |
| $115 = ($114|0)==(0|0); | |
| if (!($115)) { | |
| $116 = ((($0)) + 32|0); | |
| $$in$i$i = $114; | |
| while(1) { | |
| $117 = ((($$in$i$i)) + 8|0); | |
| $118 = HEAP32[$117>>2]|0; | |
| $119 = HEAP32[$$in$i$i>>2]|0; | |
| $120 = HEAP32[(3436)>>2]|0; | |
| $121 = (FUNCTION_TABLE_ii[$120 & 255]($119)|0); | |
| $122 = ($121|0)==(0); | |
| if (!($122)) { | |
| $123 = HEAP32[$116>>2]|0; | |
| $124 = (___errno_location()|0); | |
| $125 = HEAP32[$124>>2]|0; | |
| $126 = (_strerror($125)|0); | |
| $127 = ($123|0)==(0|0); | |
| $$$i$i$i$i = $127 ? 47328 : $123; | |
| HEAP32[$vararg_buffer21>>2] = 31623; | |
| $vararg_ptr24 = ((($vararg_buffer21)) + 4|0); | |
| HEAP32[$vararg_ptr24>>2] = $125; | |
| $vararg_ptr25 = ((($vararg_buffer21)) + 8|0); | |
| HEAP32[$vararg_ptr25>>2] = 17649; | |
| $vararg_ptr26 = ((($vararg_buffer21)) + 12|0); | |
| HEAP32[$vararg_ptr26>>2] = $$$i$i$i$i; | |
| $vararg_ptr27 = ((($vararg_buffer21)) + 16|0); | |
| HEAP32[$vararg_ptr27>>2] = $126; | |
| _sqlite3_log(4106,17618,$vararg_buffer21); | |
| } | |
| $128 = HEAP32[2]|0; | |
| $129 = ($128|0)==(0); | |
| if ($129) { | |
| $137 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$137 & 255]($$in$i$i); | |
| } else { | |
| $130 = HEAP32[(64)>>2]|0; | |
| $131 = (FUNCTION_TABLE_ii[$130 & 255]($$in$i$i)|0); | |
| $132 = HEAP32[11822]|0; | |
| $133 = (($132) - ($131))|0; | |
| HEAP32[11822] = $133; | |
| $134 = HEAP32[11825]|0; | |
| $135 = (($134) + -1)|0; | |
| HEAP32[11825] = $135; | |
| $136 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$136 & 255]($$in$i$i); | |
| } | |
| $138 = HEAP32[11669]|0; | |
| $139 = (($138) + -1)|0; | |
| HEAP32[11669] = $139; | |
| $140 = ($118|0)==(0|0); | |
| if ($140) { | |
| break; | |
| } else { | |
| $$in$i$i = $118; | |
| } | |
| } | |
| } | |
| HEAP32[$113>>2] = 0; | |
| } | |
| $141 = ($$1$i|0)==(0); | |
| if (!($141)) { | |
| $$032$i = $$1$i; | |
| STACKTOP = sp;return ($$032$i|0); | |
| } | |
| } | |
| $142 = $1&255; | |
| HEAP8[$4>>0] = $142; | |
| $$032$i = 0; | |
| STACKTOP = sp;return ($$032$i|0); | |
| } | |
| function _unixCheckReservedLock($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$$ = 0, $$0 = 0, $$1 = 0, $$114 = 0, $$2 = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $vararg_buffer = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 32|0; | |
| $vararg_buffer = sp; | |
| $2 = sp + 8|0; | |
| $3 = ((($0)) + 8|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ((($4)) + 20|0); | |
| $6 = HEAP8[$5>>0]|0; | |
| $7 = ($6&255)>(1); | |
| if ($7) { | |
| $$1 = 0;$$2 = 1; | |
| HEAP32[$1>>2] = $$2; | |
| STACKTOP = sp;return ($$1|0); | |
| } | |
| $8 = ((($4)) + 21|0); | |
| $9 = HEAP8[$8>>0]|0; | |
| $10 = ($9<<24>>24)==(0); | |
| if (!($10)) { | |
| $$1 = 0;$$2 = 0; | |
| HEAP32[$1>>2] = $$2; | |
| STACKTOP = sp;return ($$1|0); | |
| } | |
| $11 = ((($2)) + 2|0); | |
| HEAP16[$11>>1] = 0; | |
| $12 = (1073741824 + 1)|0; | |
| $13 = ((($2)) + 4|0); | |
| HEAP32[$13>>2] = $12; | |
| $14 = ((($2)) + 8|0); | |
| HEAP32[$14>>2] = 1; | |
| HEAP16[$2>>1] = 1; | |
| $15 = HEAP32[(3508)>>2]|0; | |
| $16 = ((($0)) + 12|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $2; | |
| $18 = (FUNCTION_TABLE_iiii[$15 & 255]($17,12,$vararg_buffer)|0); | |
| $19 = ($18|0)==(0); | |
| if ($19) { | |
| $23 = HEAP16[$2>>1]|0; | |
| $not$ = ($23<<16>>16)!=(2); | |
| $$$ = $not$&1; | |
| $$0 = 0;$$114 = $$$; | |
| } else { | |
| $20 = (___errno_location()|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = ((($0)) + 20|0); | |
| HEAP32[$22>>2] = $21; | |
| $$0 = 3594;$$114 = 0; | |
| } | |
| $$1 = $$0;$$2 = $$114; | |
| HEAP32[$1>>2] = $$2; | |
| STACKTOP = sp;return ($$1|0); | |
| } | |
| function _unixShmMap($0,$1,$2,$3,$4) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|0; | |
| $4 = $4|0; | |
| var $$$9 = 0, $$$i = 0, $$$i115 = 0, $$$i116 = 0, $$0 = 0, $$0$i = 0, $$0$i117124 = 0, $$0$i80$i = 0, $$0106130 = 0, $$0106130$us = 0, $$0107 = 0, $$0109139 = 0, $$069$i = 0, $$1$i = 0, $$170$ph$i = 0, $$2$i = 0, $$8$ph = 0, $$9 = 0, $$in$i = 0, $$pr$i = 0; | |
| var $$pre = 0, $$pre$phiZ2D = 0, $$sink$i$i$i = 0, $$sink$i$i$i$i = 0, $$sink$i$i$i73$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; | |
| 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, $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; | |
| var $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, $258 = 0; | |
| var $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, $276 = 0; | |
| var $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, $293 = 0, $294 = 0; | |
| var $295 = 0, $296 = 0, $297 = 0, $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; | |
| 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, $37 = 0, $38 = 0, $39 = 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 $exitcond = 0, $exitcond145 = 0, $or$cond = 0, $or$cond$i$i = 0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer20 = 0, $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr24 = 0, $vararg_ptr25 = 0; | |
| var $vararg_ptr26 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 176|0; | |
| $vararg_buffer20 = sp + 72|0; | |
| $vararg_buffer13 = sp + 48|0; | |
| $vararg_buffer6 = sp + 24|0; | |
| $vararg_buffer1 = sp + 8|0; | |
| $vararg_buffer = sp; | |
| $5 = sp + 92|0; | |
| $6 = HEAP32[(3724)>>2]|0; | |
| $7 = (FUNCTION_TABLE_i[$6 & 255]()|0); | |
| $8 = ($7|0)<(32768); | |
| $9 = (($7|0) / 32768)&-1; | |
| $$0$i = $8 ? 1 : $9; | |
| $10 = ((($0)) + 36|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ($11|0)==(0|0); | |
| if ($12) { | |
| $13 = (_sqlite3_initialize()|0); | |
| $14 = ($13|0)==(0); | |
| if (!($14)) { | |
| $$0107 = 7; | |
| STACKTOP = sp;return ($$0107|0); | |
| } | |
| $15 = HEAP32[2]|0; | |
| $16 = ($15|0)==(0); | |
| if ($16) { | |
| $55 = HEAP32[(52)>>2]|0; | |
| $56 = (FUNCTION_TABLE_ii[$55 & 255](16)|0); | |
| $57 = ($56|0)==(0|0); | |
| if ($57) { | |
| $$0107 = 7; | |
| STACKTOP = sp;return ($$0107|0); | |
| } else { | |
| $$0$i80$i = $56; | |
| } | |
| } else { | |
| $17 = HEAP32[(68)>>2]|0; | |
| $18 = (FUNCTION_TABLE_ii[$17 & 255](16)|0); | |
| $19 = HEAP32[11829]|0; | |
| $20 = ($19>>>0)<(16); | |
| if ($20) { | |
| HEAP32[11829] = 16; | |
| } | |
| $21 = (46456); | |
| $22 = $21; | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = (($21) + 4)|0; | |
| $25 = $24; | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ($26|0)>(0); | |
| $28 = ($23>>>0)>(0); | |
| $29 = ($26|0)==(0); | |
| $30 = $29 & $28; | |
| $31 = $27 | $30; | |
| if ($31) { | |
| $32 = HEAP32[11822]|0; | |
| $33 = ($18|0)<(0); | |
| $34 = $33 << 31 >> 31; | |
| $35 = (_i64Subtract(($23|0),($26|0),($18|0),($34|0))|0); | |
| $36 = tempRet0; | |
| $37 = (0)>($36|0); | |
| $38 = ($32>>>0)>=($35>>>0); | |
| $39 = (0)==($36|0); | |
| $40 = $39 & $38; | |
| $41 = $37 | $40; | |
| $$sink$i$i$i$i = $41&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i$i; | |
| } | |
| $42 = HEAP32[(52)>>2]|0; | |
| $43 = (FUNCTION_TABLE_ii[$42 & 255]($18)|0); | |
| $44 = ($43|0)==(0|0); | |
| if ($44) { | |
| $$0107 = 7; | |
| STACKTOP = sp;return ($$0107|0); | |
| } | |
| $45 = HEAP32[(64)>>2]|0; | |
| $46 = (FUNCTION_TABLE_ii[$45 & 255]($43)|0); | |
| $47 = HEAP32[11822]|0; | |
| $48 = (($47) + ($46))|0; | |
| HEAP32[11822] = $48; | |
| $49 = HEAP32[11826]|0; | |
| $50 = ($48>>>0)>($49>>>0); | |
| if ($50) { | |
| HEAP32[11826] = $48; | |
| } | |
| $51 = HEAP32[11825]|0; | |
| $52 = (($51) + 1)|0; | |
| HEAP32[11825] = $52; | |
| $53 = HEAP32[11831]|0; | |
| $54 = ($52>>>0)>($53>>>0); | |
| if ($54) { | |
| HEAP32[11831] = $52; | |
| $$0$i80$i = $43; | |
| } else { | |
| $$0$i80$i = $43; | |
| } | |
| } | |
| ;HEAP32[$$0$i80$i>>2]=0|0;HEAP32[$$0$i80$i+4>>2]=0|0;HEAP32[$$0$i80$i+8>>2]=0|0;HEAP32[$$0$i80$i+12>>2]=0|0; | |
| $58 = ((($0)) + 8|0); | |
| $59 = HEAP32[$58>>2]|0; | |
| $60 = ((($59)) + 28|0); | |
| $61 = HEAP32[$60>>2]|0; | |
| $62 = ($61|0)==(0|0); | |
| L24: do { | |
| if ($62) { | |
| $63 = ((($0)) + 32|0); | |
| $64 = HEAP32[$63>>2]|0; | |
| $65 = HEAP32[(3484)>>2]|0; | |
| $66 = ((($0)) + 12|0); | |
| $67 = HEAP32[$66>>2]|0; | |
| $68 = (FUNCTION_TABLE_iii[$65 & 255]($67,$5)|0); | |
| $69 = ($68|0)==(0); | |
| L26: do { | |
| if ($69) { | |
| $70 = (_strlen($64)|0); | |
| $71 = (($70) + 42)|0; | |
| $72 = (_sqlite3_initialize()|0); | |
| $73 = ($72|0)!=(0); | |
| $74 = (_i64Add(($71|0),0,-1,-1)|0); | |
| $75 = tempRet0; | |
| $76 = ($75>>>0)>(0); | |
| $77 = ($74>>>0)>(2147483390); | |
| $78 = ($75|0)==(0); | |
| $79 = $78 & $77; | |
| $80 = $76 | $79; | |
| $or$cond$i$i = $73 | $80; | |
| if ($or$cond$i$i) { | |
| $$170$ph$i = 7; | |
| } else { | |
| $81 = HEAP32[2]|0; | |
| $82 = ($81|0)==(0); | |
| if ($82) { | |
| $121 = HEAP32[(52)>>2]|0; | |
| $122 = (FUNCTION_TABLE_ii[$121 & 255]($71)|0); | |
| $123 = ($122|0)==(0|0); | |
| if ($123) { | |
| $$170$ph$i = 7; | |
| break; | |
| } else { | |
| $$in$i = $122; | |
| } | |
| } else { | |
| $83 = HEAP32[(68)>>2]|0; | |
| $84 = (FUNCTION_TABLE_ii[$83 & 255]($71)|0); | |
| $85 = HEAP32[11829]|0; | |
| $86 = ($85>>>0)<($71>>>0); | |
| if ($86) { | |
| HEAP32[11829] = $71; | |
| } | |
| $87 = (46456); | |
| $88 = $87; | |
| $89 = HEAP32[$88>>2]|0; | |
| $90 = (($87) + 4)|0; | |
| $91 = $90; | |
| $92 = HEAP32[$91>>2]|0; | |
| $93 = ($92|0)>(0); | |
| $94 = ($89>>>0)>(0); | |
| $95 = ($92|0)==(0); | |
| $96 = $95 & $94; | |
| $97 = $93 | $96; | |
| if ($97) { | |
| $98 = HEAP32[11822]|0; | |
| $99 = ($84|0)<(0); | |
| $100 = $99 << 31 >> 31; | |
| $101 = (_i64Subtract(($89|0),($92|0),($84|0),($100|0))|0); | |
| $102 = tempRet0; | |
| $103 = (0)>($102|0); | |
| $104 = ($98>>>0)>=($101>>>0); | |
| $105 = (0)==($102|0); | |
| $106 = $105 & $104; | |
| $107 = $103 | $106; | |
| $$sink$i$i$i73$i = $107&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i73$i; | |
| } | |
| $108 = HEAP32[(52)>>2]|0; | |
| $109 = (FUNCTION_TABLE_ii[$108 & 255]($84)|0); | |
| $110 = ($109|0)==(0|0); | |
| if ($110) { | |
| $$170$ph$i = 7; | |
| break; | |
| } | |
| $111 = HEAP32[(64)>>2]|0; | |
| $112 = (FUNCTION_TABLE_ii[$111 & 255]($109)|0); | |
| $113 = HEAP32[11822]|0; | |
| $114 = (($113) + ($112))|0; | |
| HEAP32[11822] = $114; | |
| $115 = HEAP32[11826]|0; | |
| $116 = ($114>>>0)>($115>>>0); | |
| if ($116) { | |
| HEAP32[11826] = $114; | |
| } | |
| $117 = HEAP32[11825]|0; | |
| $118 = (($117) + 1)|0; | |
| HEAP32[11825] = $118; | |
| $119 = HEAP32[11831]|0; | |
| $120 = ($118>>>0)>($119>>>0); | |
| if ($120) { | |
| HEAP32[11831] = $118; | |
| $$in$i = $109; | |
| } else { | |
| $$in$i = $109; | |
| } | |
| } | |
| $124 = (($70) + 6)|0; | |
| _memset(($$in$i|0),0,($71|0))|0; | |
| $125 = ((($$in$i)) + 36|0); | |
| $126 = ((($$in$i)) + 8|0); | |
| HEAP32[$126>>2] = $125; | |
| HEAP32[$vararg_buffer>>2] = $64; | |
| (_sqlite3_snprintf($124,$125,18151,$vararg_buffer)|0); | |
| $127 = ((($$in$i)) + 12|0); | |
| HEAP32[$127>>2] = -1; | |
| $128 = HEAP32[$58>>2]|0; | |
| $129 = ((($128)) + 28|0); | |
| HEAP32[$129>>2] = $$in$i; | |
| $130 = $128; | |
| HEAP32[$$in$i>>2] = $130; | |
| $131 = HEAP32[(12)>>2]|0; | |
| $132 = ($131|0)==(0); | |
| if (!($132)) { | |
| $133 = ((($$in$i)) + 4|0); | |
| HEAP32[$133>>2] = (8); | |
| } | |
| $134 = ((($59)) + 21|0); | |
| $135 = HEAP8[$134>>0]|0; | |
| $136 = ($135<<24>>24)==(0); | |
| if ($136) { | |
| $137 = HEAP32[$63>>2]|0; | |
| $138 = (_sqlite3_uri_boolean($137,18158,0)|0); | |
| $139 = ($138|0)==(0); | |
| if ($139) { | |
| $140 = ((($5)) + 12|0); | |
| $141 = HEAP32[$140>>2]|0; | |
| $142 = $141 & 511; | |
| $143 = (_robust_open($125,66,$142)|0); | |
| HEAP32[$127>>2] = $143; | |
| $144 = $143; | |
| } else { | |
| $$pr$i = HEAP32[$127>>2]|0; | |
| $144 = $$pr$i; | |
| } | |
| $145 = ($144|0)<(0); | |
| do { | |
| if ($145) { | |
| $146 = ((($5)) + 12|0); | |
| $147 = HEAP32[$146>>2]|0; | |
| $148 = $147 & 511; | |
| $149 = (_robust_open($125,0,$148)|0); | |
| HEAP32[$127>>2] = $149; | |
| $150 = ($149|0)<(0); | |
| if ($150) { | |
| HEAP32[$vararg_buffer1>>2] = 17915; | |
| $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); | |
| HEAP32[$vararg_ptr4>>2] = 34827; | |
| $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); | |
| HEAP32[$vararg_ptr5>>2] = (17052); | |
| _sqlite3_log(14,17000,$vararg_buffer1); | |
| $151 = (___errno_location()|0); | |
| $152 = HEAP32[$151>>2]|0; | |
| $153 = (_strerror($152)|0); | |
| HEAP32[$vararg_buffer6>>2] = 34827; | |
| $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); | |
| HEAP32[$vararg_ptr9>>2] = $152; | |
| $vararg_ptr10 = ((($vararg_buffer6)) + 8|0); | |
| HEAP32[$vararg_ptr10>>2] = 17655; | |
| $vararg_ptr11 = ((($vararg_buffer6)) + 12|0); | |
| HEAP32[$vararg_ptr11>>2] = $125; | |
| $vararg_ptr12 = ((($vararg_buffer6)) + 16|0); | |
| HEAP32[$vararg_ptr12>>2] = $153; | |
| _sqlite3_log(14,17618,$vararg_buffer6); | |
| $$170$ph$i = 14; | |
| break L26; | |
| } else { | |
| $154 = ((($$in$i)) + 22|0); | |
| HEAP8[$154>>0] = 1; | |
| $163 = $149; | |
| break; | |
| } | |
| } else { | |
| $163 = $144; | |
| } | |
| } while(0); | |
| $155 = ((($5)) + 20|0); | |
| $156 = HEAP32[$155>>2]|0; | |
| $157 = ((($5)) + 24|0); | |
| $158 = HEAP32[$157>>2]|0; | |
| $159 = HEAP32[(3676)>>2]|0; | |
| $160 = (FUNCTION_TABLE_i[$159 & 255]()|0); | |
| $161 = ($160|0)==(0); | |
| if ($161) { | |
| $162 = HEAP32[(3664)>>2]|0; | |
| (FUNCTION_TABLE_iiii[$162 & 255]($163,$156,$158)|0); | |
| } | |
| $164 = (_unixLockSharedMemory($0,$$in$i)|0); | |
| switch ($164|0) { | |
| case 0: case 1288: { | |
| $$069$i = $164; | |
| break; | |
| } | |
| default: { | |
| $$170$ph$i = $164; | |
| break L26; | |
| } | |
| } | |
| } else { | |
| $$069$i = 0; | |
| } | |
| $$1$i = $$in$i;$$2$i = $$069$i; | |
| break L24; | |
| } | |
| } else { | |
| $$170$ph$i = 1802; | |
| } | |
| } while(0); | |
| _unixShmPurge($0); | |
| $165 = HEAP32[2]|0; | |
| $166 = ($165|0)==(0); | |
| if ($166) { | |
| $174 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$174 & 255]($$0$i80$i); | |
| $$0107 = $$170$ph$i; | |
| STACKTOP = sp;return ($$0107|0); | |
| } else { | |
| $167 = HEAP32[(64)>>2]|0; | |
| $168 = (FUNCTION_TABLE_ii[$167 & 255]($$0$i80$i)|0); | |
| $169 = HEAP32[11822]|0; | |
| $170 = (($169) - ($168))|0; | |
| HEAP32[11822] = $170; | |
| $171 = HEAP32[11825]|0; | |
| $172 = (($171) + -1)|0; | |
| HEAP32[11825] = $172; | |
| $173 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$173 & 255]($$0$i80$i); | |
| $$0107 = $$170$ph$i; | |
| STACKTOP = sp;return ($$0107|0); | |
| } | |
| } else { | |
| $$1$i = $61;$$2$i = 0; | |
| } | |
| } while(0); | |
| HEAP32[$$0$i80$i>>2] = $$1$i; | |
| $175 = ((($$1$i)) + 28|0); | |
| $176 = HEAP32[$175>>2]|0; | |
| $177 = (($176) + 1)|0; | |
| HEAP32[$175>>2] = $177; | |
| HEAP32[$10>>2] = $$0$i80$i; | |
| $178 = ((($$1$i)) + 32|0); | |
| $179 = HEAP32[$178>>2]|0; | |
| $180 = ((($$0$i80$i)) + 4|0); | |
| HEAP32[$180>>2] = $179; | |
| HEAP32[$178>>2] = $$0$i80$i; | |
| $181 = ($$2$i|0)==(0); | |
| if ($181) { | |
| $183 = $$0$i80$i; | |
| } else { | |
| $$0107 = $$2$i; | |
| STACKTOP = sp;return ($$0107|0); | |
| } | |
| } else { | |
| $183 = $11; | |
| } | |
| $182 = HEAP32[$183>>2]|0; | |
| $184 = ((($182)) + 23|0); | |
| $185 = HEAP8[$184>>0]|0; | |
| $186 = ($185<<24>>24)==(0); | |
| do { | |
| if ($186) { | |
| label = 50; | |
| } else { | |
| $187 = (_unixLockSharedMemory($0,$182)|0); | |
| $188 = ($187|0)==(0); | |
| if ($188) { | |
| HEAP8[$184>>0] = 0; | |
| label = 50; | |
| break; | |
| } else { | |
| $$pre = ((($182)) + 20|0); | |
| $$9 = $187;$$pre$phiZ2D = $$pre; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| if ((label|0) == 50) { | |
| $189 = (($$0$i) + ($1))|0; | |
| $190 = (($189|0) % ($$0$i|0))&-1; | |
| $191 = (($189) - ($190))|0; | |
| $192 = ((($182)) + 20|0); | |
| $193 = HEAP16[$192>>1]|0; | |
| $194 = $193&65535; | |
| $195 = ($194|0)<($191|0); | |
| if ($195) { | |
| $196 = Math_imul($191, $2)|0; | |
| $197 = ((($182)) + 16|0); | |
| HEAP32[$197>>2] = $2; | |
| $198 = ((($182)) + 12|0); | |
| $199 = HEAP32[$198>>2]|0; | |
| $200 = ($199|0)>(-1); | |
| L80: do { | |
| if ($200) { | |
| $201 = HEAP32[(3484)>>2]|0; | |
| $202 = (FUNCTION_TABLE_iii[$201 & 255]($199,$5)|0); | |
| $203 = ($202|0)==(0); | |
| if ($203) { | |
| $204 = ((($5)) + 36|0); | |
| $205 = HEAP32[$204>>2]|0; | |
| $206 = ($205|0)<($196|0); | |
| if ($206) { | |
| $207 = ($3|0)==(0); | |
| if ($207) { | |
| $$8$ph = 0; | |
| } else { | |
| $208 = (($205|0) / 4096)&-1; | |
| $209 = (($196|0) / 4096)&-1; | |
| $210 = ($208|0)<($209|0); | |
| if ($210) { | |
| $$0109139 = $208; | |
| L85: while(1) { | |
| $213 = HEAP32[$198>>2]|0; | |
| $214 = $$0109139 << 12; | |
| $215 = $214 | 4095; | |
| while(1) { | |
| $216 = (_lseek($213,$215,0)|0); | |
| $217 = ($216|0)<(0); | |
| if ($217) { | |
| label = 61; | |
| break L85; | |
| } | |
| $218 = HEAP32[(3556)>>2]|0; | |
| $219 = (FUNCTION_TABLE_iiii[$218 & 255]($213,47328,1)|0); | |
| $220 = ($219|0)<(0); | |
| if (!($220)) { | |
| break; | |
| } | |
| $221 = (___errno_location()|0); | |
| $222 = HEAP32[$221>>2]|0; | |
| $223 = ($222|0)==(4); | |
| if (!($223)) { | |
| label = 61; | |
| break L85; | |
| } | |
| } | |
| $224 = ($219|0)==(1); | |
| $211 = (($$0109139) + 1)|0; | |
| if (!($224)) { | |
| break; | |
| } | |
| $212 = ($211|0)<($209|0); | |
| if ($212) { | |
| $$0109139 = $211; | |
| } else { | |
| label = 64; | |
| break L80; | |
| } | |
| } | |
| if ((label|0) == 61) { | |
| (___errno_location()|0); | |
| } | |
| $225 = ((($182)) + 8|0); | |
| $226 = HEAP32[$225>>2]|0; | |
| $227 = (___errno_location()|0); | |
| $228 = HEAP32[$227>>2]|0; | |
| $229 = (_strerror($228)|0); | |
| $230 = ($226|0)==(0|0); | |
| $$$i = $230 ? 47328 : $226; | |
| HEAP32[$vararg_buffer13>>2] = 34971; | |
| $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); | |
| HEAP32[$vararg_ptr16>>2] = $228; | |
| $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); | |
| HEAP32[$vararg_ptr17>>2] = 17720; | |
| $vararg_ptr18 = ((($vararg_buffer13)) + 12|0); | |
| HEAP32[$vararg_ptr18>>2] = $$$i; | |
| $vararg_ptr19 = ((($vararg_buffer13)) + 16|0); | |
| HEAP32[$vararg_ptr19>>2] = $229; | |
| _sqlite3_log(4874,17618,$vararg_buffer13); | |
| $$8$ph = 4874; | |
| } else { | |
| label = 64; | |
| } | |
| } | |
| } else { | |
| label = 64; | |
| } | |
| } else { | |
| $$8$ph = 4874; | |
| } | |
| } else { | |
| label = 64; | |
| } | |
| } while(0); | |
| L96: do { | |
| if ((label|0) == 64) { | |
| $231 = ((($182)) + 24|0); | |
| $232 = HEAP32[$231>>2]|0; | |
| $233 = $191 << 2; | |
| $234 = (_sqlite3_initialize()|0); | |
| $235 = ($234|0)==(0); | |
| if ($235) { | |
| $236 = ($233|0)>(0); | |
| $$$i115 = $236 ? $233 : 0; | |
| $237 = (_sqlite3Realloc($232,$$$i115,0)|0); | |
| $238 = ($237|0)==(0|0); | |
| if ($238) { | |
| $$8$ph = 3082; | |
| } else { | |
| HEAP32[$231>>2] = $237; | |
| $239 = HEAP16[$192>>1]|0; | |
| $240 = $239&65535; | |
| $241 = ($240|0)<($191|0); | |
| if ($241) { | |
| $242 = Math_imul($$0$i, $2)|0; | |
| $243 = ((($182)) + 22|0); | |
| $244 = ($$0$i|0)>(0); | |
| $245 = ($2|0)<(0); | |
| $246 = $245 << 31 >> 31; | |
| $247 = (_i64Add(($2|0),($246|0),-1,-1)|0); | |
| $248 = tempRet0; | |
| $249 = ($248>>>0)>(0); | |
| $250 = ($247>>>0)>(2147483390); | |
| $251 = ($248|0)==(0); | |
| $252 = $251 & $250; | |
| $253 = $249 | $252; | |
| L101: do { | |
| if ($253) { | |
| $261 = $240; | |
| while(1) { | |
| $254 = HEAP32[$198>>2]|0; | |
| $255 = ($254|0)>(-1); | |
| if (!($255)) { | |
| break; | |
| } | |
| $256 = HEAP32[(3688)>>2]|0; | |
| $257 = HEAP8[$243>>0]|0; | |
| $258 = ($257<<24>>24)!=(0); | |
| $259 = $258 ? 1 : 3; | |
| $260 = Math_imul($261, $2)|0; | |
| $262 = (FUNCTION_TABLE_iiiiiii[$256 & 255](0,$242,$259,1,$254,$260)|0); | |
| $263 = ($262|0)==((-1)|0); | |
| if ($263) { | |
| break L101; | |
| } | |
| $264 = HEAP16[$192>>1]|0; | |
| $265 = $264&65535; | |
| if ($244) { | |
| $$0106130$us = 0; | |
| while(1) { | |
| $270 = Math_imul($$0106130$us, $2)|0; | |
| $271 = (($262) + ($270)|0); | |
| $272 = HEAP32[$231>>2]|0; | |
| $273 = (($265) + ($$0106130$us))|0; | |
| $274 = (($272) + ($273<<2)|0); | |
| HEAP32[$274>>2] = $271; | |
| $275 = (($$0106130$us) + 1)|0; | |
| $exitcond = ($275|0)==($$0$i|0); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$0106130$us = $275; | |
| } | |
| } | |
| } | |
| $266 = (($265) + ($$0$i))|0; | |
| $267 = $266&65535; | |
| HEAP16[$192>>1] = $267; | |
| $268 = $266 & 65535; | |
| $269 = ($268|0)<($191|0); | |
| if ($269) { | |
| $261 = $268; | |
| } else { | |
| $$8$ph = 0; | |
| break L96; | |
| } | |
| } | |
| (_sqlite3_initialize()|0); | |
| $$8$ph = 7; | |
| break L96; | |
| } else { | |
| $283 = $240; | |
| while(1) { | |
| $276 = HEAP32[$198>>2]|0; | |
| $277 = ($276|0)>(-1); | |
| if ($277) { | |
| $278 = HEAP32[(3688)>>2]|0; | |
| $279 = HEAP8[$243>>0]|0; | |
| $280 = ($279<<24>>24)!=(0); | |
| $281 = $280 ? 1 : 3; | |
| $282 = Math_imul($283, $2)|0; | |
| $284 = (FUNCTION_TABLE_iiiiiii[$278 & 255](0,$242,$281,1,$276,$282)|0); | |
| $285 = ($284|0)==((-1)|0); | |
| if ($285) { | |
| break L101; | |
| } else { | |
| $$0 = $284; | |
| } | |
| } else { | |
| $292 = (_sqlite3_initialize()|0); | |
| $293 = ($292|0)==(0); | |
| if (!($293)) { | |
| $$8$ph = 7; | |
| break L96; | |
| } | |
| $294 = HEAP32[2]|0; | |
| $295 = ($294|0)==(0); | |
| do { | |
| if ($295) { | |
| $334 = HEAP32[(52)>>2]|0; | |
| $335 = (FUNCTION_TABLE_ii[$334 & 255]($2)|0); | |
| $336 = ($335|0)==(0|0); | |
| if ($336) { | |
| $$8$ph = 7; | |
| break L96; | |
| } else { | |
| $$0$i117124 = $335; | |
| } | |
| } else { | |
| $296 = HEAP32[(68)>>2]|0; | |
| $297 = (FUNCTION_TABLE_ii[$296 & 255]($2)|0); | |
| $298 = HEAP32[11829]|0; | |
| $299 = ($298>>>0)<($2>>>0); | |
| if ($299) { | |
| HEAP32[11829] = $2; | |
| } | |
| $300 = (46456); | |
| $301 = $300; | |
| $302 = HEAP32[$301>>2]|0; | |
| $303 = (($300) + 4)|0; | |
| $304 = $303; | |
| $305 = HEAP32[$304>>2]|0; | |
| $306 = ($305|0)>(0); | |
| $307 = ($302>>>0)>(0); | |
| $308 = ($305|0)==(0); | |
| $309 = $308 & $307; | |
| $310 = $306 | $309; | |
| if ($310) { | |
| $311 = HEAP32[11822]|0; | |
| $312 = ($297|0)<(0); | |
| $313 = $312 << 31 >> 31; | |
| $314 = (_i64Subtract(($302|0),($305|0),($297|0),($313|0))|0); | |
| $315 = tempRet0; | |
| $316 = (0)>($315|0); | |
| $317 = ($311>>>0)>=($314>>>0); | |
| $318 = (0)==($315|0); | |
| $319 = $318 & $317; | |
| $320 = $316 | $319; | |
| $$sink$i$i$i = $320&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i; | |
| } | |
| $321 = HEAP32[(52)>>2]|0; | |
| $322 = (FUNCTION_TABLE_ii[$321 & 255]($297)|0); | |
| $323 = ($322|0)==(0|0); | |
| if ($323) { | |
| $$8$ph = 7; | |
| break L96; | |
| } | |
| $324 = HEAP32[(64)>>2]|0; | |
| $325 = (FUNCTION_TABLE_ii[$324 & 255]($322)|0); | |
| $326 = HEAP32[11822]|0; | |
| $327 = (($326) + ($325))|0; | |
| HEAP32[11822] = $327; | |
| $328 = HEAP32[11826]|0; | |
| $329 = ($327>>>0)>($328>>>0); | |
| if ($329) { | |
| HEAP32[11826] = $327; | |
| } | |
| $330 = HEAP32[11825]|0; | |
| $331 = (($330) + 1)|0; | |
| HEAP32[11825] = $331; | |
| $332 = HEAP32[11831]|0; | |
| $333 = ($331>>>0)>($332>>>0); | |
| if (!($333)) { | |
| $$0$i117124 = $322; | |
| break; | |
| } | |
| HEAP32[11831] = $331; | |
| $$0$i117124 = $322; | |
| } | |
| } while(0); | |
| _memset(($$0$i117124|0),0,($2|0))|0; | |
| $$0 = $$0$i117124; | |
| } | |
| $337 = HEAP16[$192>>1]|0; | |
| $338 = $337&65535; | |
| if ($244) { | |
| $$0106130 = 0; | |
| while(1) { | |
| $339 = Math_imul($$0106130, $2)|0; | |
| $340 = (($$0) + ($339)|0); | |
| $341 = HEAP32[$231>>2]|0; | |
| $342 = (($338) + ($$0106130))|0; | |
| $343 = (($341) + ($342<<2)|0); | |
| HEAP32[$343>>2] = $340; | |
| $344 = (($$0106130) + 1)|0; | |
| $exitcond145 = ($344|0)==($$0$i|0); | |
| if ($exitcond145) { | |
| break; | |
| } else { | |
| $$0106130 = $344; | |
| } | |
| } | |
| } | |
| $345 = (($338) + ($$0$i))|0; | |
| $346 = $345&65535; | |
| HEAP16[$192>>1] = $346; | |
| $347 = $345 & 65535; | |
| $348 = ($347|0)<($191|0); | |
| if ($348) { | |
| $283 = $347; | |
| } else { | |
| $$8$ph = 0; | |
| break L96; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $286 = ((($182)) + 8|0); | |
| $287 = HEAP32[$286>>2]|0; | |
| $288 = (___errno_location()|0); | |
| $289 = HEAP32[$288>>2]|0; | |
| $290 = (_strerror($289)|0); | |
| $291 = ($287|0)==(0|0); | |
| $$$i116 = $291 ? 47328 : $287; | |
| HEAP32[$vararg_buffer20>>2] = 34998; | |
| $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); | |
| HEAP32[$vararg_ptr23>>2] = $289; | |
| $vararg_ptr24 = ((($vararg_buffer20)) + 8|0); | |
| HEAP32[$vararg_ptr24>>2] = 17807; | |
| $vararg_ptr25 = ((($vararg_buffer20)) + 12|0); | |
| HEAP32[$vararg_ptr25>>2] = $$$i116; | |
| $vararg_ptr26 = ((($vararg_buffer20)) + 16|0); | |
| HEAP32[$vararg_ptr26>>2] = $290; | |
| _sqlite3_log(5386,17618,$vararg_buffer20); | |
| $$8$ph = 5386; | |
| } else { | |
| $$8$ph = 0; | |
| } | |
| } | |
| } else { | |
| $$8$ph = 3082; | |
| } | |
| } | |
| } while(0); | |
| $$9 = $$8$ph;$$pre$phiZ2D = $192; | |
| } else { | |
| $$9 = 0;$$pre$phiZ2D = $192; | |
| } | |
| } | |
| $349 = HEAP16[$$pre$phiZ2D>>1]|0; | |
| $350 = $349&65535; | |
| $351 = ($350|0)>($1|0); | |
| if ($351) { | |
| $352 = ((($182)) + 24|0); | |
| $353 = HEAP32[$352>>2]|0; | |
| $354 = (($353) + ($1<<2)|0); | |
| $355 = HEAP32[$354>>2]|0; | |
| $storemerge = $355; | |
| } else { | |
| $storemerge = 0; | |
| } | |
| HEAP32[$4>>2] = $storemerge; | |
| $356 = ((($182)) + 22|0); | |
| $357 = HEAP8[$356>>0]|0; | |
| $358 = ($357<<24>>24)!=(0); | |
| $359 = ($$9|0)==(0); | |
| $or$cond = $359 & $358; | |
| $$$9 = $or$cond ? 8 : $$9; | |
| $$0107 = $$$9; | |
| STACKTOP = sp;return ($$0107|0); | |
| } | |
| function _unixLockSharedMemory($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$$i = 0, $$0$i11 = 0, $$1 = 0, $$idx$pre$phiZZ2D = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$idx$val$idx$val$idx = 0, $$idx$val$idx$val$idx$val = 0, $$idx10 = 0, $$idx10$val = 0, $$idx10$val$idx = 0, $$idx10$val$idx$val = 0, $$idx10$val$idx$val$idx = 0, $$idx10$val$idx$val$idx$val = 0, $$pre = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer5 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 80|0; | |
| $vararg_buffer12 = sp + 48|0; | |
| $vararg_buffer5 = sp + 24|0; | |
| $vararg_buffer1 = sp + 16|0; | |
| $vararg_buffer = sp; | |
| $2 = sp + 56|0; | |
| $3 = ((($2)) + 2|0); | |
| HEAP16[$3>>1] = 0; | |
| $4 = ((($2)) + 4|0); | |
| HEAP32[$4>>2] = 128; | |
| $5 = ((($2)) + 8|0); | |
| HEAP32[$5>>2] = 1; | |
| HEAP16[$2>>1] = 1; | |
| $6 = HEAP32[(3508)>>2]|0; | |
| $7 = ((($1)) + 12|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| HEAP32[$vararg_buffer>>2] = $2; | |
| $9 = (FUNCTION_TABLE_iiii[$6 & 255]($8,12,$vararg_buffer)|0); | |
| $10 = ($9|0)==(0); | |
| if (!($10)) { | |
| $$1 = 3850; | |
| STACKTOP = sp;return ($$1|0); | |
| } | |
| $11 = HEAP16[$2>>1]|0; | |
| L4: do { | |
| switch ($11<<16>>16) { | |
| case 2: { | |
| $12 = ((($1)) + 22|0); | |
| $13 = HEAP8[$12>>0]|0; | |
| $14 = ($13<<24>>24)==(0); | |
| if (!($14)) { | |
| $15 = ((($1)) + 23|0); | |
| HEAP8[$15>>0] = 1; | |
| $$1 = 1288; | |
| STACKTOP = sp;return ($$1|0); | |
| } | |
| $$idx10 = ((($0)) + 8|0); | |
| $$idx10$val = HEAP32[$$idx10>>2]|0; | |
| $$idx10$val$idx = ((($$idx10$val)) + 28|0); | |
| $$idx10$val$idx$val = HEAP32[$$idx10$val$idx>>2]|0; | |
| $$idx10$val$idx$val$idx = ((($$idx10$val$idx$val)) + 12|0); | |
| $$idx10$val$idx$val$idx$val = HEAP32[$$idx10$val$idx$val$idx>>2]|0; | |
| $16 = ($$idx10$val$idx$val$idx$val|0)>(-1); | |
| if ($16) { | |
| $17 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$17>>2] = 0; | |
| HEAP16[$vararg_buffer>>1] = 1; | |
| $18 = ((($vararg_buffer)) + 2|0); | |
| HEAP16[$18>>1] = 0; | |
| $19 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$19>>2] = 128; | |
| $20 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$20>>2] = 1; | |
| $21 = HEAP32[(3508)>>2]|0; | |
| HEAP32[$vararg_buffer1>>2] = $vararg_buffer; | |
| $22 = (FUNCTION_TABLE_iiii[$21 & 255]($$idx10$val$idx$val$idx$val,13,$vararg_buffer1)|0); | |
| $23 = ($22|0)==(-1); | |
| if ($23) { | |
| $$1 = 5; | |
| STACKTOP = sp;return ($$1|0); | |
| } | |
| } | |
| $24 = HEAP32[$7>>2]|0; | |
| while(1) { | |
| $25 = HEAP32[(3496)>>2]|0; | |
| $26 = (FUNCTION_TABLE_iii[$25 & 255]($24,0)|0); | |
| $27 = ($26|0)<(0); | |
| if (!($27)) { | |
| label = 12; | |
| break; | |
| } | |
| $28 = (___errno_location()|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = ($29|0)==(4); | |
| if (!($30)) { | |
| break; | |
| } | |
| } | |
| if ((label|0) == 12) { | |
| $31 = ($26|0)==(0); | |
| if ($31) { | |
| $$idx$pre$phiZZ2D = $$idx10; | |
| break L4; | |
| } | |
| } | |
| $32 = ((($1)) + 8|0); | |
| $33 = HEAP32[$32>>2]|0; | |
| $34 = (___errno_location()|0); | |
| $35 = HEAP32[$34>>2]|0; | |
| $36 = (_strerror($35)|0); | |
| $37 = ($33|0)==(0|0); | |
| $$$i = $37 ? 47328 : $33; | |
| HEAP32[$vararg_buffer5>>2] = 34705; | |
| $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); | |
| HEAP32[$vararg_ptr8>>2] = $35; | |
| $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); | |
| HEAP32[$vararg_ptr9>>2] = 17685; | |
| $vararg_ptr10 = ((($vararg_buffer5)) + 12|0); | |
| HEAP32[$vararg_ptr10>>2] = $$$i; | |
| $vararg_ptr11 = ((($vararg_buffer5)) + 16|0); | |
| HEAP32[$vararg_ptr11>>2] = $36; | |
| _sqlite3_log(4618,17618,$vararg_buffer5); | |
| $$1 = 4618; | |
| STACKTOP = sp;return ($$1|0); | |
| break; | |
| } | |
| case 1: { | |
| $$1 = 5; | |
| STACKTOP = sp;return ($$1|0); | |
| break; | |
| } | |
| default: { | |
| $$pre = ((($0)) + 8|0); | |
| $$idx$pre$phiZZ2D = $$pre; | |
| } | |
| } | |
| } while(0); | |
| $$idx$val = HEAP32[$$idx$pre$phiZZ2D>>2]|0; | |
| $$idx$val$idx = ((($$idx$val)) + 28|0); | |
| $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0; | |
| $$idx$val$idx$val$idx = ((($$idx$val$idx$val)) + 12|0); | |
| $$idx$val$idx$val$idx$val = HEAP32[$$idx$val$idx$val$idx>>2]|0; | |
| $38 = ($$idx$val$idx$val$idx$val|0)>(-1); | |
| if ($38) { | |
| $39 = ((($vararg_buffer)) + 12|0); | |
| HEAP32[$39>>2] = 0; | |
| HEAP16[$vararg_buffer>>1] = 0; | |
| $40 = ((($vararg_buffer)) + 2|0); | |
| HEAP16[$40>>1] = 0; | |
| $41 = ((($vararg_buffer)) + 4|0); | |
| HEAP32[$41>>2] = 128; | |
| $42 = ((($vararg_buffer)) + 8|0); | |
| HEAP32[$42>>2] = 1; | |
| $43 = HEAP32[(3508)>>2]|0; | |
| HEAP32[$vararg_buffer12>>2] = $vararg_buffer; | |
| $44 = (FUNCTION_TABLE_iiii[$43 & 255]($$idx$val$idx$val$idx$val,13,$vararg_buffer12)|0); | |
| $45 = ($44|0)!=(-1); | |
| $46 = $45 ? 0 : 5; | |
| $$0$i11 = $46; | |
| } else { | |
| $$0$i11 = 0; | |
| } | |
| $$1 = $$0$i11; | |
| STACKTOP = sp;return ($$1|0); | |
| } | |
| function _sqlite3GetInt32($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$0$lcssa = 0, $$048 = 0, $$05063 = 0, $$054$lcssa = 0, $$064 = 0, $$1 = 0, $$155 = 0, $$2$lcssa = 0, $$lcssa = 0, $$lcssa76 = 0, $$lcssa77 = 0, $$lcssa80 = 0, $$pre = 0, $$pre70 = 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, $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, $or$cond = 0, $phitmp = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = HEAP8[$0>>0]|0; | |
| L1: do { | |
| switch ($2<<24>>24) { | |
| case 45: { | |
| $3 = ((($0)) + 1|0); | |
| $$048 = 1;$$155 = $3; | |
| break; | |
| } | |
| case 43: { | |
| $4 = ((($0)) + 1|0); | |
| $$048 = 0;$$155 = $4; | |
| break; | |
| } | |
| case 48: { | |
| $5 = ((($0)) + 1|0); | |
| $6 = HEAP8[$5>>0]|0; | |
| switch ($6<<24>>24) { | |
| case 88: case 120: { | |
| break; | |
| } | |
| default: { | |
| $$048 = 0;$$155 = $0; | |
| break L1; | |
| } | |
| } | |
| $7 = ((($0)) + 2|0); | |
| $8 = HEAP8[$7>>0]|0; | |
| $9 = $8&255; | |
| $10 = (18220 + ($9)|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| $12 = $11 & 8; | |
| $13 = ($12<<24>>24)==(0); | |
| if ($13) { | |
| $$048 = 0;$$155 = $0; | |
| } else { | |
| $14 = ($8<<24>>24)==(48); | |
| if ($14) { | |
| $15 = ((($0)) + 3|0); | |
| $16 = $15; | |
| while(1) { | |
| $$pre = HEAP8[$16>>0]|0; | |
| $17 = ($$pre<<24>>24)==(48); | |
| $18 = ((($16)) + 1|0); | |
| if ($17) { | |
| $16 = $18; | |
| } else { | |
| $$054$lcssa = $16;$$lcssa80 = $$pre; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$054$lcssa = $7;$$lcssa80 = $8; | |
| } | |
| $19 = $$lcssa80&255; | |
| $20 = (18220 + ($19)|0); | |
| $21 = HEAP8[$20>>0]|0; | |
| $22 = $21 & 8; | |
| $23 = ($22<<24>>24)==(0); | |
| if ($23) { | |
| $$0$lcssa = 0;$$lcssa = 1; | |
| } else { | |
| $$05063 = 0;$$064 = 0;$26 = $$lcssa80; | |
| while(1) { | |
| $24 = $$064 << 4; | |
| $25 = $26 << 24 >> 24; | |
| $27 = $25 >>> 6; | |
| $28 = $27 & 1; | |
| $29 = (0 - ($28))|0; | |
| $30 = $29 & 9; | |
| $31 = (($30) + ($25))|0; | |
| $32 = $31 & 15; | |
| $33 = $32 | $24; | |
| $34 = (($$05063) + 1)|0; | |
| $35 = (($$054$lcssa) + ($34)|0); | |
| $36 = HEAP8[$35>>0]|0; | |
| $37 = $36&255; | |
| $38 = (18220 + ($37)|0); | |
| $39 = HEAP8[$38>>0]|0; | |
| $40 = $39 & 8; | |
| $41 = ($40<<24>>24)!=(0); | |
| $42 = ($34|0)<(8); | |
| $43 = $42 & $41; | |
| if ($43) { | |
| $$05063 = $34;$$064 = $33;$26 = $36; | |
| } else { | |
| break; | |
| } | |
| } | |
| $phitmp = ($40<<24>>24)==(0); | |
| $$0$lcssa = $33;$$lcssa = $phitmp; | |
| } | |
| $44 = ($$0$lcssa|0)>(-1); | |
| $or$cond = $44 & $$lcssa; | |
| if (!($or$cond)) { | |
| $$1 = 0; | |
| return ($$1|0); | |
| } | |
| HEAP32[$1>>2] = $$0$lcssa; | |
| $$1 = 1; | |
| return ($$1|0); | |
| } | |
| break; | |
| } | |
| default: { | |
| $$048 = 0;$$155 = $0; | |
| } | |
| } | |
| } while(0); | |
| $45 = HEAP8[$$155>>0]|0; | |
| $46 = $45&255; | |
| $47 = (($46) + -48)|0; | |
| $48 = ($47>>>0)<(10); | |
| if (!($48)) { | |
| $$1 = 0; | |
| return ($$1|0); | |
| } | |
| $49 = ($45<<24>>24)==(48); | |
| $50 = ((($$155)) + 1|0); | |
| if ($49) { | |
| $51 = $50; | |
| while(1) { | |
| $$pre70 = HEAP8[$51>>0]|0; | |
| $52 = ($$pre70<<24>>24)==(48); | |
| $53 = ((($51)) + 1|0); | |
| if ($52) { | |
| $51 = $53; | |
| } else { | |
| $$2$lcssa = $51;$$lcssa76 = $53;$$lcssa77 = $$pre70; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$2$lcssa = $$155;$$lcssa76 = $50;$$lcssa77 = $45; | |
| } | |
| $54 = $$lcssa77 << 24 >> 24; | |
| $55 = (($54) + -48)|0; | |
| $56 = ($55>>>0)<(10); | |
| if ($56) { | |
| $57 = ($55|0)<(0); | |
| $58 = $57 << 31 >> 31; | |
| $59 = HEAP8[$$lcssa76>>0]|0; | |
| $60 = $59 << 24 >> 24; | |
| $61 = (($60) + -48)|0; | |
| $62 = ($61>>>0)<(10); | |
| if ($62) { | |
| $76 = (___muldi3(($55|0),($58|0),10,0)|0); | |
| $77 = tempRet0; | |
| $78 = ($61|0)<(0); | |
| $79 = $78 << 31 >> 31; | |
| $80 = (_i64Add(($61|0),($79|0),($76|0),($77|0))|0); | |
| $81 = tempRet0; | |
| $82 = ((($$2$lcssa)) + 2|0); | |
| $83 = HEAP8[$82>>0]|0; | |
| $84 = $83 << 24 >> 24; | |
| $85 = (($84) + -48)|0; | |
| $86 = ($85>>>0)<(10); | |
| if ($86) { | |
| $87 = (___muldi3(($80|0),($81|0),10,0)|0); | |
| $88 = tempRet0; | |
| $89 = ($85|0)<(0); | |
| $90 = $89 << 31 >> 31; | |
| $91 = (_i64Add(($85|0),($90|0),($87|0),($88|0))|0); | |
| $92 = tempRet0; | |
| $93 = ((($$2$lcssa)) + 3|0); | |
| $94 = HEAP8[$93>>0]|0; | |
| $95 = $94 << 24 >> 24; | |
| $96 = (($95) + -48)|0; | |
| $97 = ($96>>>0)<(10); | |
| if ($97) { | |
| $98 = (___muldi3(($91|0),($92|0),10,0)|0); | |
| $99 = tempRet0; | |
| $100 = ($96|0)<(0); | |
| $101 = $100 << 31 >> 31; | |
| $102 = (_i64Add(($96|0),($101|0),($98|0),($99|0))|0); | |
| $103 = tempRet0; | |
| $104 = ((($$2$lcssa)) + 4|0); | |
| $105 = HEAP8[$104>>0]|0; | |
| $106 = $105 << 24 >> 24; | |
| $107 = (($106) + -48)|0; | |
| $108 = ($107>>>0)<(10); | |
| if ($108) { | |
| $109 = (___muldi3(($102|0),($103|0),10,0)|0); | |
| $110 = tempRet0; | |
| $111 = ($107|0)<(0); | |
| $112 = $111 << 31 >> 31; | |
| $113 = (_i64Add(($107|0),($112|0),($109|0),($110|0))|0); | |
| $114 = tempRet0; | |
| $115 = ((($$2$lcssa)) + 5|0); | |
| $116 = HEAP8[$115>>0]|0; | |
| $117 = $116 << 24 >> 24; | |
| $118 = (($117) + -48)|0; | |
| $119 = ($118>>>0)<(10); | |
| if ($119) { | |
| $120 = (___muldi3(($113|0),($114|0),10,0)|0); | |
| $121 = tempRet0; | |
| $122 = ($118|0)<(0); | |
| $123 = $122 << 31 >> 31; | |
| $124 = (_i64Add(($118|0),($123|0),($120|0),($121|0))|0); | |
| $125 = tempRet0; | |
| $126 = ((($$2$lcssa)) + 6|0); | |
| $127 = HEAP8[$126>>0]|0; | |
| $128 = $127 << 24 >> 24; | |
| $129 = (($128) + -48)|0; | |
| $130 = ($129>>>0)<(10); | |
| if ($130) { | |
| $131 = (___muldi3(($124|0),($125|0),10,0)|0); | |
| $132 = tempRet0; | |
| $133 = ($129|0)<(0); | |
| $134 = $133 << 31 >> 31; | |
| $135 = (_i64Add(($129|0),($134|0),($131|0),($132|0))|0); | |
| $136 = tempRet0; | |
| $137 = ((($$2$lcssa)) + 7|0); | |
| $138 = HEAP8[$137>>0]|0; | |
| $139 = $138 << 24 >> 24; | |
| $140 = (($139) + -48)|0; | |
| $141 = ($140>>>0)<(10); | |
| if ($141) { | |
| $142 = (___muldi3(($135|0),($136|0),10,0)|0); | |
| $143 = tempRet0; | |
| $144 = ($140|0)<(0); | |
| $145 = $144 << 31 >> 31; | |
| $146 = (_i64Add(($140|0),($145|0),($142|0),($143|0))|0); | |
| $147 = tempRet0; | |
| $148 = ((($$2$lcssa)) + 8|0); | |
| $149 = HEAP8[$148>>0]|0; | |
| $150 = $149 << 24 >> 24; | |
| $151 = (($150) + -48)|0; | |
| $152 = ($151>>>0)<(10); | |
| if ($152) { | |
| $153 = (___muldi3(($146|0),($147|0),10,0)|0); | |
| $154 = tempRet0; | |
| $155 = ($151|0)<(0); | |
| $156 = $155 << 31 >> 31; | |
| $157 = (_i64Add(($151|0),($156|0),($153|0),($154|0))|0); | |
| $158 = tempRet0; | |
| $159 = ((($$2$lcssa)) + 9|0); | |
| $160 = HEAP8[$159>>0]|0; | |
| $161 = $160 << 24 >> 24; | |
| $162 = (($161) + -48)|0; | |
| $163 = ($162>>>0)<(10); | |
| if ($163) { | |
| $164 = (___muldi3(($157|0),($158|0),10,0)|0); | |
| $165 = tempRet0; | |
| $166 = ($162|0)<(0); | |
| $167 = $166 << 31 >> 31; | |
| $168 = (_i64Add(($162|0),($167|0),($164|0),($165|0))|0); | |
| $169 = tempRet0; | |
| $170 = ((($$2$lcssa)) + 10|0); | |
| $171 = HEAP8[$170>>0]|0; | |
| $172 = $171 << 24 >> 24; | |
| $173 = (($172) + -48)|0; | |
| $174 = ($173>>>0)<(10); | |
| if ($174) { | |
| $$1 = 0; | |
| return ($$1|0); | |
| } else { | |
| $63 = $168;$64 = $169; | |
| } | |
| } else { | |
| $63 = $157;$64 = $158; | |
| } | |
| } else { | |
| $63 = $146;$64 = $147; | |
| } | |
| } else { | |
| $63 = $135;$64 = $136; | |
| } | |
| } else { | |
| $63 = $124;$64 = $125; | |
| } | |
| } else { | |
| $63 = $113;$64 = $114; | |
| } | |
| } else { | |
| $63 = $102;$64 = $103; | |
| } | |
| } else { | |
| $63 = $91;$64 = $92; | |
| } | |
| } else { | |
| $63 = $80;$64 = $81; | |
| } | |
| } else { | |
| $63 = $55;$64 = $58; | |
| } | |
| } else { | |
| $63 = 0;$64 = 0; | |
| } | |
| $65 = (_i64Subtract(($63|0),($64|0),($$048|0),0)|0); | |
| $66 = tempRet0; | |
| $67 = ($66|0)>(0); | |
| $68 = ($65>>>0)>(2147483647); | |
| $69 = ($66|0)==(0); | |
| $70 = $69 & $68; | |
| $71 = $67 | $70; | |
| if ($71) { | |
| $$1 = 0; | |
| return ($$1|0); | |
| } | |
| $72 = (_i64Subtract(0,0,($63|0),($64|0))|0); | |
| $73 = tempRet0; | |
| $74 = ($$048|0)==(0); | |
| $75 = $74 ? $63 : $72; | |
| $74 ? $64 : $73; | |
| HEAP32[$1>>2] = $75; | |
| $$1 = 1; | |
| return ($$1|0); | |
| } | |
| function _posixIoFinderImpl($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| return (3868|0); | |
| } | |
| function _pcache1Init($0) { | |
| $0 = $0|0; | |
| var $$sink = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| dest=46572; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| $1 = HEAP32[(208)>>2]|0; | |
| $2 = ($1|0)==(0|0); | |
| $3 = $2&1; | |
| HEAP32[(46628)>>2] = $3; | |
| $4 = HEAP32[(216)>>2]|0; | |
| $5 = ($4|0)!=(0); | |
| $or$cond = $2 & $5; | |
| $$sink = $or$cond ? $4 : 0; | |
| HEAP32[(46632)>>2] = $$sink; | |
| HEAP32[(46584)>>2] = 10; | |
| HEAP32[(46624)>>2] = 1; | |
| return 0; | |
| } | |
| function _pcache1Shutdown($0) { | |
| $0 = $0|0; | |
| var dest = 0, label = 0, sp = 0, stop = 0; | |
| sp = STACKTOP; | |
| dest=46572; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
| return; | |
| } | |
| function _pcache1Create($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0, $$0$i8$i$ph = 0, $$038 = 0, $$neg = 0, $$sink = 0, $$sink$i$i$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, $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, $pcache1Create$dummyCurrentPage$sink = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[(46628)>>2]|0; | |
| $4 = ($3*52)|0; | |
| $5 = (($4) + 64)|0; | |
| $6 = ($5|0)<(0); | |
| $7 = $6 << 31 >> 31; | |
| $8 = (_i64Add(($5|0),($7|0),-1,-1)|0); | |
| $9 = tempRet0; | |
| $10 = ($9>>>0)>(0); | |
| $11 = ($8>>>0)>(2147483390); | |
| $12 = ($9|0)==(0); | |
| $13 = $12 & $11; | |
| $14 = $10 | $13; | |
| if ($14) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $15 = HEAP32[2]|0; | |
| $16 = ($15|0)==(0); | |
| if ($16) { | |
| $55 = HEAP32[(52)>>2]|0; | |
| $56 = (FUNCTION_TABLE_ii[$55 & 255]($5)|0); | |
| $57 = ($56|0)==(0|0); | |
| if ($57) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } else { | |
| $$0$i8$i$ph = $56; | |
| label = 12; | |
| } | |
| } else { | |
| $17 = HEAP32[(68)>>2]|0; | |
| $18 = (FUNCTION_TABLE_ii[$17 & 255]($5)|0); | |
| $19 = HEAP32[11829]|0; | |
| $20 = ($19>>>0)<($5>>>0); | |
| if ($20) { | |
| HEAP32[11829] = $5; | |
| } | |
| $21 = (46456); | |
| $22 = $21; | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = (($21) + 4)|0; | |
| $25 = $24; | |
| $26 = HEAP32[$25>>2]|0; | |
| $27 = ($26|0)>(0); | |
| $28 = ($23>>>0)>(0); | |
| $29 = ($26|0)==(0); | |
| $30 = $29 & $28; | |
| $31 = $27 | $30; | |
| if ($31) { | |
| $32 = HEAP32[11822]|0; | |
| $33 = ($18|0)<(0); | |
| $34 = $33 << 31 >> 31; | |
| $35 = (_i64Subtract(($23|0),($26|0),($18|0),($34|0))|0); | |
| $36 = tempRet0; | |
| $37 = (0)>($36|0); | |
| $38 = ($32>>>0)>=($35>>>0); | |
| $39 = (0)==($36|0); | |
| $40 = $39 & $38; | |
| $41 = $37 | $40; | |
| $$sink$i$i$i = $41&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i; | |
| } | |
| $42 = HEAP32[(52)>>2]|0; | |
| $43 = (FUNCTION_TABLE_ii[$42 & 255]($18)|0); | |
| $44 = ($43|0)==(0|0); | |
| if ($44) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $45 = HEAP32[(64)>>2]|0; | |
| $46 = (FUNCTION_TABLE_ii[$45 & 255]($43)|0); | |
| $47 = HEAP32[11822]|0; | |
| $48 = (($47) + ($46))|0; | |
| HEAP32[11822] = $48; | |
| $49 = HEAP32[11826]|0; | |
| $50 = ($48>>>0)>($49>>>0); | |
| if ($50) { | |
| HEAP32[11826] = $48; | |
| } | |
| $51 = HEAP32[11825]|0; | |
| $52 = (($51) + 1)|0; | |
| HEAP32[11825] = $52; | |
| $53 = HEAP32[11831]|0; | |
| $54 = ($52>>>0)>($53>>>0); | |
| if ($54) { | |
| HEAP32[11831] = $52; | |
| _memset(($43|0),0,($5|0))|0; | |
| $$sink = $43; | |
| } else { | |
| $$0$i8$i$ph = $43; | |
| label = 12; | |
| } | |
| } | |
| if ((label|0) == 12) { | |
| _memset(($$0$i8$i$ph|0),0,($5|0))|0; | |
| $$sink = $$0$i8$i$ph; | |
| } | |
| $58 = HEAP32[(46628)>>2]|0; | |
| $59 = ($58|0)==(0); | |
| if ($59) { | |
| $$038 = 46572; | |
| } else { | |
| $60 = ((($$sink)) + 64|0); | |
| $61 = ((($$sink)) + 76|0); | |
| HEAP32[$61>>2] = 10; | |
| $$038 = $60; | |
| } | |
| $62 = ((($$038)) + 20|0); | |
| $63 = ((($$038)) + 33|0); | |
| $64 = HEAP8[$63>>0]|0; | |
| $65 = ($64<<24>>24)==(0); | |
| if ($65) { | |
| HEAP8[$63>>0] = 1; | |
| $66 = ((($$038)) + 44|0); | |
| HEAP32[$66>>2] = $62; | |
| $67 = ((($$038)) + 48|0); | |
| HEAP32[$67>>2] = $62; | |
| } | |
| HEAP32[$$sink>>2] = $$038; | |
| $68 = ((($$sink)) + 8|0); | |
| HEAP32[$68>>2] = $0; | |
| $69 = ((($$sink)) + 12|0); | |
| HEAP32[$69>>2] = $1; | |
| $70 = (($0) + 32)|0; | |
| $71 = (($70) + ($1))|0; | |
| $72 = ((($$sink)) + 16|0); | |
| HEAP32[$72>>2] = $71; | |
| $73 = ($2|0)!=(0); | |
| $74 = $73&1; | |
| $75 = ((($$sink)) + 20|0); | |
| HEAP32[$75>>2] = $74; | |
| _pcache1ResizeHash($$sink); | |
| if ($73) { | |
| $76 = ((($$sink)) + 24|0); | |
| HEAP32[$76>>2] = 10; | |
| $77 = ((($$038)) + 8|0); | |
| $78 = HEAP32[$77>>2]|0; | |
| $79 = (($78) + 10)|0; | |
| HEAP32[$77>>2] = $79; | |
| $80 = ((($$038)) + 4|0); | |
| $81 = HEAP32[$80>>2]|0; | |
| $$neg = (-10 - ($78))|0; | |
| $82 = (($$neg) + 10)|0; | |
| $83 = (($82) + ($81))|0; | |
| $84 = ((($$038)) + 12|0); | |
| HEAP32[$84>>2] = $83; | |
| $85 = ((($$038)) + 16|0); | |
| $pcache1Create$dummyCurrentPage$sink = $85; | |
| } else { | |
| $pcache1Create$dummyCurrentPage$sink = 46684; | |
| } | |
| $86 = ((($$sink)) + 4|0); | |
| HEAP32[$86>>2] = $pcache1Create$dummyCurrentPage$sink; | |
| $87 = ((($$sink)) + 48|0); | |
| $88 = HEAP32[$87>>2]|0; | |
| $89 = ($88|0)==(0); | |
| if (!($89)) { | |
| $$0 = $$sink; | |
| return ($$0|0); | |
| } | |
| _pcache1Destroy($$sink); | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| function _pcache1Cachesize($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)) + 20|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3|0)==(0); | |
| if ($4) { | |
| return; | |
| } | |
| $5 = HEAP32[$0>>2]|0; | |
| $6 = ((($0)) + 28|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (($1) - ($7))|0; | |
| $9 = ((($5)) + 4|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (($10) + ($8))|0; | |
| HEAP32[$9>>2] = $11; | |
| $12 = (($11) + 10)|0; | |
| $13 = ((($5)) + 8|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (($12) - ($14))|0; | |
| $16 = ((($5)) + 12|0); | |
| HEAP32[$16>>2] = $15; | |
| HEAP32[$6>>2] = $1; | |
| $17 = ($1*9)|0; | |
| $18 = (($17>>>0) / 10)&-1; | |
| $19 = ((($0)) + 32|0); | |
| HEAP32[$19>>2] = $18; | |
| _pcache1EnforceMaxPage($0); | |
| return; | |
| } | |
| function _pcache1Pagecount($0) { | |
| $0 = $0|0; | |
| var $1 = 0, $2 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 44|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| return ($2|0); | |
| } | |
| function _pcache1Fetch($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i = 0, $$017$i = 0, $$020$i = 0, $$021$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; | |
| var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ((($0)) + 52|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ((($0)) + 48|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($1>>>0) % ($6>>>0))&-1; | |
| $8 = (($4) + ($7<<2)|0); | |
| $$020$i = HEAP32[$8>>2]|0; | |
| $9 = ($$020$i|0)==(0|0); | |
| L1: do { | |
| if (!($9)) { | |
| $$021$i = $$020$i; | |
| while(1) { | |
| $10 = ((($$021$i)) + 8|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ($11|0)==($1|0); | |
| if ($12) { | |
| break; | |
| } | |
| $13 = ((($$021$i)) + 16|0); | |
| $$0$i = HEAP32[$13>>2]|0; | |
| $14 = ($$0$i|0)==(0|0); | |
| if ($14) { | |
| break L1; | |
| } else { | |
| $$021$i = $$0$i; | |
| } | |
| } | |
| $15 = ((($$021$i)) + 24|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ($16|0)==(0|0); | |
| if ($17) { | |
| $$017$i = $$021$i; | |
| return ($$017$i|0); | |
| } | |
| $18 = $16; | |
| $19 = ((($$021$i)) + 28|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = ((($20)) + 24|0); | |
| HEAP32[$21>>2] = $18; | |
| $22 = HEAP32[$15>>2]|0; | |
| $23 = ((($22)) + 28|0); | |
| HEAP32[$23>>2] = $20; | |
| HEAP32[$15>>2] = 0; | |
| HEAP32[$19>>2] = 0; | |
| $24 = ((($$021$i)) + 20|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = ((($25)) + 40|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| $28 = (($27) + -1)|0; | |
| HEAP32[$26>>2] = $28; | |
| $$017$i = $$021$i; | |
| return ($$017$i|0); | |
| } | |
| } while(0); | |
| $29 = ($2|0)==(0); | |
| if ($29) { | |
| $$017$i = 0; | |
| return ($$017$i|0); | |
| } | |
| $30 = (_pcache1FetchStage2($0,$1,$2)|0); | |
| $$017$i = $30; | |
| return ($$017$i|0); | |
| } | |
| function _pcache1Unpin($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i = 0, $$sink = 0, $$sink24 = 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, $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, $8 = 0, $9 = 0, $or$cond$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$0>>2]|0; | |
| $4 = ($2|0)==(0); | |
| if ($4) { | |
| $5 = ((($3)) + 16|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ((($3)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ($6>>>0)>($8>>>0); | |
| if (!($9)) { | |
| $65 = ((($3)) + 20|0); | |
| $66 = ((($3)) + 44|0); | |
| $67 = ((($1)) + 28|0); | |
| HEAP32[$67>>2] = $65; | |
| $68 = HEAP32[$66>>2]|0; | |
| $69 = ((($1)) + 24|0); | |
| HEAP32[$69>>2] = $68; | |
| $70 = ((($68)) + 28|0); | |
| HEAP32[$70>>2] = $1; | |
| HEAP32[$66>>2] = $1; | |
| $71 = ((($0)) + 40|0); | |
| $$sink = $71;$$sink24 = 1; | |
| $72 = HEAP32[$$sink>>2]|0; | |
| $73 = (($72) + ($$sink24))|0; | |
| HEAP32[$$sink>>2] = $73; | |
| return; | |
| } | |
| } | |
| $10 = ((($1)) + 20|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ((($1)) + 8|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = ((($11)) + 48|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = (($13>>>0) % ($15>>>0))&-1; | |
| $17 = ((($11)) + 52|0); | |
| $18 = HEAP32[$17>>2]|0; | |
| $19 = (($18) + ($16<<2)|0); | |
| $$0$i = $19; | |
| while(1) { | |
| $20 = HEAP32[$$0$i>>2]|0; | |
| $21 = ($20|0)==($1|0); | |
| $22 = ((($20)) + 16|0); | |
| if ($21) { | |
| break; | |
| } else { | |
| $$0$i = $22; | |
| } | |
| } | |
| $23 = HEAP32[$22>>2]|0; | |
| HEAP32[$$0$i>>2] = $23; | |
| $24 = ((($11)) + 44|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = (($25) + -1)|0; | |
| HEAP32[$24>>2] = $26; | |
| $27 = HEAP32[$10>>2]|0; | |
| $28 = ((($1)) + 12|0); | |
| $29 = HEAP8[$28>>0]|0; | |
| $30 = ($29<<24>>24)==(0); | |
| do { | |
| if ($30) { | |
| $34 = HEAP32[$1>>2]|0; | |
| $35 = ($34|0)==(0|0); | |
| if (!($35)) { | |
| $36 = $34; | |
| $37 = HEAP32[(46648)>>2]|0; | |
| $38 = ($36>>>0)>=($37>>>0); | |
| $39 = HEAP32[(46652)>>2]|0; | |
| $40 = ($36>>>0)<($39>>>0); | |
| $or$cond$i$i = $38 & $40; | |
| if ($or$cond$i$i) { | |
| $41 = HEAP32[11823]|0; | |
| $42 = (($41) + -1)|0; | |
| HEAP32[11823] = $42; | |
| $43 = HEAP32[(46660)>>2]|0; | |
| HEAP32[$34>>2] = $43; | |
| HEAP32[(46660)>>2] = $34; | |
| $44 = HEAP32[(46664)>>2]|0; | |
| $45 = (($44) + 1)|0; | |
| HEAP32[(46664)>>2] = $45; | |
| $46 = HEAP32[(46644)>>2]|0; | |
| $47 = ($45|0)<($46|0); | |
| $48 = $47&1; | |
| HEAP32[(46668)>>2] = $48; | |
| break; | |
| } | |
| $49 = HEAP32[(64)>>2]|0; | |
| $50 = (FUNCTION_TABLE_ii[$49 & 255]($34)|0); | |
| $51 = HEAP32[11824]|0; | |
| $52 = (($51) - ($50))|0; | |
| HEAP32[11824] = $52; | |
| $53 = HEAP32[2]|0; | |
| $54 = ($53|0)==(0); | |
| if ($54) { | |
| $62 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$62 & 255]($34); | |
| break; | |
| } else { | |
| $55 = HEAP32[(64)>>2]|0; | |
| $56 = (FUNCTION_TABLE_ii[$55 & 255]($34)|0); | |
| $57 = HEAP32[11822]|0; | |
| $58 = (($57) - ($56))|0; | |
| HEAP32[11822] = $58; | |
| $59 = HEAP32[11825]|0; | |
| $60 = (($59) + -1)|0; | |
| HEAP32[11825] = $60; | |
| $61 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$61 & 255]($34); | |
| break; | |
| } | |
| } | |
| } else { | |
| $31 = ((($27)) + 56|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = ((($1)) + 16|0); | |
| HEAP32[$33>>2] = $32; | |
| HEAP32[$31>>2] = $1; | |
| } | |
| } while(0); | |
| $63 = ((($27)) + 4|0); | |
| $64 = HEAP32[$63>>2]|0; | |
| $$sink = $64;$$sink24 = -1; | |
| $72 = HEAP32[$$sink>>2]|0; | |
| $73 = (($72) + ($$sink24))|0; | |
| HEAP32[$$sink>>2] = $73; | |
| return; | |
| } | |
| function _pcache1Rekey($0,$1,$2,$3) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| $3 = $3|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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $4 = ((($0)) + 48|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = (($2>>>0) % ($5>>>0))&-1; | |
| $7 = ((($0)) + 52|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (($8) + ($6<<2)|0); | |
| $$0 = $9; | |
| while(1) { | |
| $10 = HEAP32[$$0>>2]|0; | |
| $11 = ($10|0)==($1|0); | |
| $12 = ((($10)) + 16|0); | |
| if ($11) { | |
| break; | |
| } else { | |
| $$0 = $12; | |
| } | |
| } | |
| $13 = ((($1)) + 16|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| HEAP32[$$0>>2] = $14; | |
| $15 = (($3>>>0) % ($5>>>0))&-1; | |
| $16 = ((($1)) + 8|0); | |
| HEAP32[$16>>2] = $3; | |
| $17 = HEAP32[$7>>2]|0; | |
| $18 = (($17) + ($15<<2)|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| HEAP32[$13>>2] = $19; | |
| HEAP32[$18>>2] = $1; | |
| $20 = ((($0)) + 36|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = ($21>>>0)<($3>>>0); | |
| if (!($22)) { | |
| return; | |
| } | |
| HEAP32[$20>>2] = $3; | |
| return; | |
| } | |
| function _pcache1Truncate($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$032$i = 0, $$032$ph$i = 0, $$033$ph36$i = 0, $$034$ph$i = 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, $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, $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, $or$cond$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = ((($0)) + 36|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3>>>0)<($1>>>0); | |
| if ($4) { | |
| return; | |
| } | |
| $5 = (($3) - ($1))|0; | |
| $6 = ((($0)) + 48|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ($5>>>0)<($7>>>0); | |
| if ($8) { | |
| $9 = (($1>>>0) % ($7>>>0))&-1; | |
| $10 = (($3>>>0) % ($7>>>0))&-1; | |
| $$032$ph$i = $9;$$034$ph$i = $10; | |
| } else { | |
| $11 = $7 >>> 1; | |
| $12 = (($11) + -1)|0; | |
| $$032$ph$i = $11;$$034$ph$i = $12; | |
| } | |
| $13 = ((($0)) + 52|0); | |
| $14 = ((($0)) + 44|0); | |
| $$032$i = $$032$ph$i; | |
| while(1) { | |
| $15 = HEAP32[$13>>2]|0; | |
| $16 = (($15) + ($$032$i<<2)|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = ($17|0)==(0|0); | |
| L10: do { | |
| if (!($18)) { | |
| $$033$ph36$i = $16;$90 = $17; | |
| while(1) { | |
| $20 = $90; | |
| while(1) { | |
| $19 = ((($20)) + 8|0); | |
| $21 = HEAP32[$19>>2]|0; | |
| $22 = ($21>>>0)<($1>>>0); | |
| if ($22) { | |
| break; | |
| } | |
| $23 = HEAP32[$14>>2]|0; | |
| $24 = (($23) + -1)|0; | |
| HEAP32[$14>>2] = $24; | |
| $25 = ((($20)) + 16|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| HEAP32[$$033$ph36$i>>2] = $26; | |
| $27 = ((($20)) + 24|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = ($28|0)==(0|0); | |
| if ($29) { | |
| $$phi$trans$insert = ((($20)) + 20|0); | |
| $$pre = HEAP32[$$phi$trans$insert>>2]|0; | |
| $45 = $$pre; | |
| } else { | |
| $30 = $28; | |
| $31 = ((($20)) + 28|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = ((($32)) + 24|0); | |
| HEAP32[$33>>2] = $30; | |
| $34 = HEAP32[$27>>2]|0; | |
| $35 = ((($34)) + 28|0); | |
| HEAP32[$35>>2] = $32; | |
| HEAP32[$27>>2] = 0; | |
| HEAP32[$31>>2] = 0; | |
| $36 = ((($20)) + 20|0); | |
| $37 = HEAP32[$36>>2]|0; | |
| $38 = ((($37)) + 40|0); | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = (($39) + -1)|0; | |
| HEAP32[$38>>2] = $40; | |
| $45 = $37; | |
| } | |
| $41 = ((($20)) + 12|0); | |
| $42 = HEAP8[$41>>0]|0; | |
| $43 = ($42<<24>>24)==(0); | |
| do { | |
| if ($43) { | |
| $47 = HEAP32[$20>>2]|0; | |
| $48 = ($47|0)==(0|0); | |
| if (!($48)) { | |
| $49 = $47; | |
| $50 = HEAP32[(46648)>>2]|0; | |
| $51 = ($49>>>0)>=($50>>>0); | |
| $52 = HEAP32[(46652)>>2]|0; | |
| $53 = ($49>>>0)<($52>>>0); | |
| $or$cond$i$i = $51 & $53; | |
| if ($or$cond$i$i) { | |
| $54 = HEAP32[11823]|0; | |
| $55 = (($54) + -1)|0; | |
| HEAP32[11823] = $55; | |
| $56 = HEAP32[(46660)>>2]|0; | |
| HEAP32[$47>>2] = $56; | |
| HEAP32[(46660)>>2] = $47; | |
| $57 = HEAP32[(46664)>>2]|0; | |
| $58 = (($57) + 1)|0; | |
| HEAP32[(46664)>>2] = $58; | |
| $59 = HEAP32[(46644)>>2]|0; | |
| $60 = ($58|0)<($59|0); | |
| $61 = $60&1; | |
| HEAP32[(46668)>>2] = $61; | |
| break; | |
| } | |
| $62 = HEAP32[(64)>>2]|0; | |
| $63 = (FUNCTION_TABLE_ii[$62 & 255]($47)|0); | |
| $64 = HEAP32[11824]|0; | |
| $65 = (($64) - ($63))|0; | |
| HEAP32[11824] = $65; | |
| $66 = HEAP32[2]|0; | |
| $67 = ($66|0)==(0); | |
| if ($67) { | |
| $75 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$75 & 255]($47); | |
| break; | |
| } else { | |
| $68 = HEAP32[(64)>>2]|0; | |
| $69 = (FUNCTION_TABLE_ii[$68 & 255]($47)|0); | |
| $70 = HEAP32[11822]|0; | |
| $71 = (($70) - ($69))|0; | |
| HEAP32[11822] = $71; | |
| $72 = HEAP32[11825]|0; | |
| $73 = (($72) + -1)|0; | |
| HEAP32[11825] = $73; | |
| $74 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$74 & 255]($47); | |
| break; | |
| } | |
| } | |
| } else { | |
| $44 = ((($45)) + 56|0); | |
| $46 = HEAP32[$44>>2]|0; | |
| HEAP32[$25>>2] = $46; | |
| HEAP32[$44>>2] = $20; | |
| } | |
| } while(0); | |
| $76 = ((($45)) + 4|0); | |
| $77 = HEAP32[$76>>2]|0; | |
| $78 = HEAP32[$77>>2]|0; | |
| $79 = (($78) + -1)|0; | |
| HEAP32[$77>>2] = $79; | |
| $80 = HEAP32[$$033$ph36$i>>2]|0; | |
| $81 = ($80|0)==(0|0); | |
| if ($81) { | |
| break L10; | |
| } else { | |
| $20 = $80; | |
| } | |
| } | |
| $82 = ((($20)) + 16|0); | |
| $83 = HEAP32[$82>>2]|0; | |
| $84 = ($83|0)==(0|0); | |
| if ($84) { | |
| break; | |
| } else { | |
| $$033$ph36$i = $82;$90 = $83; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $85 = ($$032$i|0)==($$034$ph$i|0); | |
| if ($85) { | |
| break; | |
| } | |
| $86 = (($$032$i) + 1)|0; | |
| $87 = HEAP32[$6>>2]|0; | |
| $88 = (($86>>>0) % ($87>>>0))&-1; | |
| $$032$i = $88; | |
| } | |
| $89 = (($1) + -1)|0; | |
| HEAP32[$2>>2] = $89; | |
| return; | |
| } | |
| function _pcache1Destroy($0) { | |
| $0 = $0|0; | |
| var $$032$i = 0, $$032$ph$i = 0, $$034$ph$i = 0, $$phi$trans$insert = 0, $$pre = 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; | |
| 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, $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, $3 = 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, $or$cond$i$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ((($0)) + 44|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3|0)==(0); | |
| L1: do { | |
| if (!($4)) { | |
| $5 = ((($0)) + 36|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ((($0)) + 48|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ($6>>>0)<($8>>>0); | |
| if ($9) { | |
| $10 = (($6>>>0) % ($8>>>0))&-1; | |
| $$032$ph$i = 0;$$034$ph$i = $10; | |
| } else { | |
| $11 = $8 >>> 1; | |
| $12 = (($11) + -1)|0; | |
| $$032$ph$i = $11;$$034$ph$i = $12; | |
| } | |
| $13 = ((($0)) + 52|0); | |
| $$032$i = $$032$ph$i; | |
| while(1) { | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = (($14) + ($$032$i<<2)|0); | |
| $16 = HEAP32[$15>>2]|0; | |
| $17 = ($16|0)==(0|0); | |
| if (!($17)) { | |
| $21 = $16; | |
| while(1) { | |
| $18 = HEAP32[$2>>2]|0; | |
| $19 = (($18) + -1)|0; | |
| HEAP32[$2>>2] = $19; | |
| $20 = ((($21)) + 16|0); | |
| $22 = HEAP32[$20>>2]|0; | |
| HEAP32[$15>>2] = $22; | |
| $23 = ((($21)) + 24|0); | |
| $24 = HEAP32[$23>>2]|0; | |
| $25 = ($24|0)==(0|0); | |
| if ($25) { | |
| $$phi$trans$insert = ((($21)) + 20|0); | |
| $$pre = HEAP32[$$phi$trans$insert>>2]|0; | |
| $41 = $$pre; | |
| } else { | |
| $26 = $24; | |
| $27 = ((($21)) + 28|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = ((($28)) + 24|0); | |
| HEAP32[$29>>2] = $26; | |
| $30 = HEAP32[$23>>2]|0; | |
| $31 = ((($30)) + 28|0); | |
| HEAP32[$31>>2] = $28; | |
| HEAP32[$23>>2] = 0; | |
| HEAP32[$27>>2] = 0; | |
| $32 = ((($21)) + 20|0); | |
| $33 = HEAP32[$32>>2]|0; | |
| $34 = ((($33)) + 40|0); | |
| $35 = HEAP32[$34>>2]|0; | |
| $36 = (($35) + -1)|0; | |
| HEAP32[$34>>2] = $36; | |
| $41 = $33; | |
| } | |
| $37 = ((($21)) + 12|0); | |
| $38 = HEAP8[$37>>0]|0; | |
| $39 = ($38<<24>>24)==(0); | |
| do { | |
| if ($39) { | |
| $43 = HEAP32[$21>>2]|0; | |
| $44 = ($43|0)==(0|0); | |
| if (!($44)) { | |
| $45 = $43; | |
| $46 = HEAP32[(46648)>>2]|0; | |
| $47 = ($45>>>0)>=($46>>>0); | |
| $48 = HEAP32[(46652)>>2]|0; | |
| $49 = ($45>>>0)<($48>>>0); | |
| $or$cond$i$i = $47 & $49; | |
| if ($or$cond$i$i) { | |
| $50 = HEAP32[11823]|0; | |
| $51 = (($50) + -1)|0; | |
| HEAP32[11823] = $51; | |
| $52 = HEAP32[(46660)>>2]|0; | |
| HEAP32[$43>>2] = $52; | |
| HEAP32[(46660)>>2] = $43; | |
| $53 = HEAP32[(46664)>>2]|0; | |
| $54 = (($53) + 1)|0; | |
| HEAP32[(46664)>>2] = $54; | |
| $55 = HEAP32[(46644)>>2]|0; | |
| $56 = ($54|0)<($55|0); | |
| $57 = $56&1; | |
| HEAP32[(46668)>>2] = $57; | |
| break; | |
| } | |
| $58 = HEAP32[(64)>>2]|0; | |
| $59 = (FUNCTION_TABLE_ii[$58 & 255]($43)|0); | |
| $60 = HEAP32[11824]|0; | |
| $61 = (($60) - ($59))|0; | |
| HEAP32[11824] = $61; | |
| $62 = HEAP32[2]|0; | |
| $63 = ($62|0)==(0); | |
| if ($63) { | |
| $71 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$71 & 255]($43); | |
| break; | |
| } else { | |
| $64 = HEAP32[(64)>>2]|0; | |
| $65 = (FUNCTION_TABLE_ii[$64 & 255]($43)|0); | |
| $66 = HEAP32[11822]|0; | |
| $67 = (($66) - ($65))|0; | |
| HEAP32[11822] = $67; | |
| $68 = HEAP32[11825]|0; | |
| $69 = (($68) + -1)|0; | |
| HEAP32[11825] = $69; | |
| $70 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$70 & 255]($43); | |
| break; | |
| } | |
| } | |
| } else { | |
| $40 = ((($41)) + 56|0); | |
| $42 = HEAP32[$40>>2]|0; | |
| HEAP32[$20>>2] = $42; | |
| HEAP32[$40>>2] = $21; | |
| } | |
| } while(0); | |
| $72 = ((($41)) + 4|0); | |
| $73 = HEAP32[$72>>2]|0; | |
| $74 = HEAP32[$73>>2]|0; | |
| $75 = (($74) + -1)|0; | |
| HEAP32[$73>>2] = $75; | |
| $76 = HEAP32[$15>>2]|0; | |
| $77 = ($76|0)==(0|0); | |
| if ($77) { | |
| break; | |
| } else { | |
| $21 = $76; | |
| } | |
| } | |
| } | |
| $78 = ($$032$i|0)==($$034$ph$i|0); | |
| if ($78) { | |
| break L1; | |
| } | |
| $79 = (($$032$i) + 1)|0; | |
| $80 = HEAP32[$7>>2]|0; | |
| $81 = (($79>>>0) % ($80>>>0))&-1; | |
| $$032$i = $81; | |
| } | |
| } | |
| } while(0); | |
| $82 = ((($0)) + 28|0); | |
| $83 = HEAP32[$82>>2]|0; | |
| $84 = ((($1)) + 4|0); | |
| $85 = HEAP32[$84>>2]|0; | |
| $86 = (($85) - ($83))|0; | |
| HEAP32[$84>>2] = $86; | |
| $87 = ((($0)) + 24|0); | |
| $88 = HEAP32[$87>>2]|0; | |
| $89 = ((($1)) + 8|0); | |
| $90 = HEAP32[$89>>2]|0; | |
| $91 = (($90) - ($88))|0; | |
| HEAP32[$89>>2] = $91; | |
| $92 = (10 - ($91))|0; | |
| $93 = (($92) + ($86))|0; | |
| $94 = ((($1)) + 12|0); | |
| HEAP32[$94>>2] = $93; | |
| _pcache1EnforceMaxPage($0); | |
| $95 = ((($0)) + 60|0); | |
| $96 = HEAP32[$95>>2]|0; | |
| $97 = ($96|0)==(0|0); | |
| do { | |
| if (!($97)) { | |
| $98 = HEAP32[2]|0; | |
| $99 = ($98|0)==(0); | |
| if ($99) { | |
| $107 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$107 & 255]($96); | |
| break; | |
| } else { | |
| $100 = HEAP32[(64)>>2]|0; | |
| $101 = (FUNCTION_TABLE_ii[$100 & 255]($96)|0); | |
| $102 = HEAP32[11822]|0; | |
| $103 = (($102) - ($101))|0; | |
| HEAP32[11822] = $103; | |
| $104 = HEAP32[11825]|0; | |
| $105 = (($104) + -1)|0; | |
| HEAP32[11825] = $105; | |
| $106 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$106 & 255]($96); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $108 = ((($0)) + 52|0); | |
| $109 = HEAP32[$108>>2]|0; | |
| $110 = ($109|0)==(0|0); | |
| do { | |
| if (!($110)) { | |
| $111 = HEAP32[2]|0; | |
| $112 = ($111|0)==(0); | |
| if ($112) { | |
| $120 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$120 & 255]($109); | |
| break; | |
| } else { | |
| $113 = HEAP32[(64)>>2]|0; | |
| $114 = (FUNCTION_TABLE_ii[$113 & 255]($109)|0); | |
| $115 = HEAP32[11822]|0; | |
| $116 = (($115) - ($114))|0; | |
| HEAP32[11822] = $116; | |
| $117 = HEAP32[11825]|0; | |
| $118 = (($117) + -1)|0; | |
| HEAP32[11825] = $118; | |
| $119 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$119 & 255]($109); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $121 = HEAP32[2]|0; | |
| $122 = ($121|0)==(0); | |
| if ($122) { | |
| $130 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$130 & 255]($0); | |
| return; | |
| } else { | |
| $123 = HEAP32[(64)>>2]|0; | |
| $124 = (FUNCTION_TABLE_ii[$123 & 255]($0)|0); | |
| $125 = HEAP32[11822]|0; | |
| $126 = (($125) - ($124))|0; | |
| HEAP32[11822] = $126; | |
| $127 = HEAP32[11825]|0; | |
| $128 = (($127) + -1)|0; | |
| HEAP32[11825] = $128; | |
| $129 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$129 & 255]($0); | |
| return; | |
| } | |
| } | |
| function _pcache1Shrink($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)) + 20|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ($2|0)==(0); | |
| if ($3) { | |
| return; | |
| } | |
| $4 = HEAP32[$0>>2]|0; | |
| $5 = ((($4)) + 4|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| HEAP32[$5>>2] = 0; | |
| _pcache1EnforceMaxPage($0); | |
| HEAP32[$5>>2] = $6; | |
| return; | |
| } | |
| function _pcache1EnforceMaxPage($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, $5 = 0, $6 = 0; | |
| var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = HEAP32[$0>>2]|0; | |
| $2 = ((($1)) + 48|0); | |
| $3 = ((($1)) + 16|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ((($1)) + 4|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ($4>>>0)>($6>>>0); | |
| L1: do { | |
| if ($7) { | |
| while(1) { | |
| $8 = HEAP32[$2>>2]|0; | |
| $9 = ((($8)) + 13|0); | |
| $10 = HEAP8[$9>>0]|0; | |
| $11 = ($10<<24>>24)==(0); | |
| if (!($11)) { | |
| break L1; | |
| } | |
| $12 = ((($8)) + 24|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = ((($8)) + 28|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = ((($15)) + 24|0); | |
| HEAP32[$16>>2] = $13; | |
| $17 = HEAP32[$12>>2]|0; | |
| $18 = ((($17)) + 28|0); | |
| HEAP32[$18>>2] = $15; | |
| HEAP32[$12>>2] = 0; | |
| HEAP32[$14>>2] = 0; | |
| $19 = ((($8)) + 20|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = ((($20)) + 40|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| $23 = (($22) + -1)|0; | |
| HEAP32[$21>>2] = $23; | |
| _pcache1RemoveFromHash($8,1); | |
| $24 = HEAP32[$3>>2]|0; | |
| $25 = HEAP32[$5>>2]|0; | |
| $26 = ($24>>>0)>($25>>>0); | |
| if (!($26)) { | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $27 = ((($0)) + 44|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = ($28|0)==(0); | |
| if (!($29)) { | |
| return; | |
| } | |
| $30 = ((($0)) + 60|0); | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = ($31|0)==(0|0); | |
| if ($32) { | |
| return; | |
| } | |
| $33 = HEAP32[2]|0; | |
| $34 = ($33|0)==(0); | |
| if ($34) { | |
| $42 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$42 & 255]($31); | |
| } else { | |
| $35 = HEAP32[(64)>>2]|0; | |
| $36 = (FUNCTION_TABLE_ii[$35 & 255]($31)|0); | |
| $37 = HEAP32[11822]|0; | |
| $38 = (($37) - ($36))|0; | |
| HEAP32[11822] = $38; | |
| $39 = HEAP32[11825]|0; | |
| $40 = (($39) + -1)|0; | |
| HEAP32[11825] = $40; | |
| $41 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$41 & 255]($31); | |
| } | |
| $43 = ((($0)) + 56|0); | |
| HEAP32[$43>>2] = 0; | |
| HEAP32[$30>>2] = 0; | |
| return; | |
| } | |
| function _pcache1RemoveFromHash($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| $2 = ((($0)) + 20|0); | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($0)) + 8|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($3)) + 48|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (($5>>>0) % ($7>>>0))&-1; | |
| $9 = ((($3)) + 52|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = (($10) + ($8<<2)|0); | |
| $$0 = $11; | |
| while(1) { | |
| $12 = HEAP32[$$0>>2]|0; | |
| $13 = ($12|0)==($0|0); | |
| $14 = ((($12)) + 16|0); | |
| if ($13) { | |
| break; | |
| } else { | |
| $$0 = $14; | |
| } | |
| } | |
| $15 = HEAP32[$14>>2]|0; | |
| HEAP32[$$0>>2] = $15; | |
| $16 = ((($3)) + 44|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = (($17) + -1)|0; | |
| HEAP32[$16>>2] = $18; | |
| $19 = ($1|0)==(0); | |
| if ($19) { | |
| return; | |
| } | |
| _pcache1FreePage($0); | |
| return; | |
| } | |
| function _pcache1FreePage($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
| var $9 = 0, $or$cond$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 20|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ((($0)) + 12|0); | |
| $4 = HEAP8[$3>>0]|0; | |
| $5 = ($4<<24>>24)==(0); | |
| do { | |
| if ($5) { | |
| $9 = HEAP32[$0>>2]|0; | |
| $10 = ($9|0)==(0|0); | |
| if (!($10)) { | |
| $11 = $9; | |
| $12 = HEAP32[(46648)>>2]|0; | |
| $13 = ($11>>>0)>=($12>>>0); | |
| $14 = HEAP32[(46652)>>2]|0; | |
| $15 = ($11>>>0)<($14>>>0); | |
| $or$cond$i = $13 & $15; | |
| if ($or$cond$i) { | |
| $16 = HEAP32[11823]|0; | |
| $17 = (($16) + -1)|0; | |
| HEAP32[11823] = $17; | |
| $18 = HEAP32[(46660)>>2]|0; | |
| HEAP32[$9>>2] = $18; | |
| HEAP32[(46660)>>2] = $9; | |
| $19 = HEAP32[(46664)>>2]|0; | |
| $20 = (($19) + 1)|0; | |
| HEAP32[(46664)>>2] = $20; | |
| $21 = HEAP32[(46644)>>2]|0; | |
| $22 = ($20|0)<($21|0); | |
| $23 = $22&1; | |
| HEAP32[(46668)>>2] = $23; | |
| break; | |
| } | |
| $24 = HEAP32[(64)>>2]|0; | |
| $25 = (FUNCTION_TABLE_ii[$24 & 255]($9)|0); | |
| $26 = HEAP32[11824]|0; | |
| $27 = (($26) - ($25))|0; | |
| HEAP32[11824] = $27; | |
| $28 = HEAP32[2]|0; | |
| $29 = ($28|0)==(0); | |
| if ($29) { | |
| $37 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$37 & 255]($9); | |
| break; | |
| } else { | |
| $30 = HEAP32[(64)>>2]|0; | |
| $31 = (FUNCTION_TABLE_ii[$30 & 255]($9)|0); | |
| $32 = HEAP32[11822]|0; | |
| $33 = (($32) - ($31))|0; | |
| HEAP32[11822] = $33; | |
| $34 = HEAP32[11825]|0; | |
| $35 = (($34) + -1)|0; | |
| HEAP32[11825] = $35; | |
| $36 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$36 & 255]($9); | |
| break; | |
| } | |
| } | |
| } else { | |
| $6 = ((($2)) + 56|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ((($0)) + 16|0); | |
| HEAP32[$8>>2] = $7; | |
| HEAP32[$6>>2] = $0; | |
| } | |
| } while(0); | |
| $38 = ((($2)) + 4|0); | |
| $39 = HEAP32[$38>>2]|0; | |
| $40 = HEAP32[$39>>2]|0; | |
| $41 = (($40) + -1)|0; | |
| HEAP32[$39>>2] = $41; | |
| return; | |
| } | |
| function _pcache1FetchStage2($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0, $$0$i = 0, $$0$i$i$i = 0, $$0$i2528$i = 0, $$0$i66 = 0, $$0$i68 = 0, $$0$in$i = 0, $$0$in$i65 = 0, $$035$i$i = 0, $$036$i$i = 0, $$1$i$i = 0, $$270 = 0, $$270$ph = 0, $$pre39$i$i = 0, $$pre40$i$i = 0, $$sink = 0, $$sink$i$i$i = 0, $$sink$i$i$i$i = 0, $$sink72 = 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, $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, $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, $cond$i$i = 0, $or$cond = 0, $or$cond$i$i = 0, $scevgep$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$0>>2]|0; | |
| $4 = ((($0)) + 44|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($0)) + 40|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = (($5) - ($7))|0; | |
| $9 = ($2|0)==(1); | |
| if ($9) { | |
| $10 = ((($3)) + 12|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = ($8>>>0)<($11>>>0); | |
| if (!($12)) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $13 = ((($0)) + 32|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = ($8>>>0)<($14>>>0); | |
| if (!($15)) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| $16 = HEAP32[(46640)>>2]|0; | |
| $17 = ($16|0)==(0); | |
| if ($17) { | |
| label = 6; | |
| } else { | |
| $18 = ((($0)) + 8|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $20 = ((($0)) + 12|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = (($21) + ($19))|0; | |
| $23 = HEAP32[(46636)>>2]|0; | |
| $24 = ($22|0)>($23|0); | |
| if ($24) { | |
| label = 6; | |
| } else { | |
| $$0$in$i = (46668); | |
| } | |
| } | |
| if ((label|0) == 6) { | |
| $$0$in$i = (46464); | |
| } | |
| $$0$i = HEAP32[$$0$in$i>>2]|0; | |
| $25 = ($$0$i|0)!=(0); | |
| $26 = ($7>>>0)<($8>>>0); | |
| $or$cond = $25 & $26; | |
| if ($or$cond) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } | |
| } | |
| $27 = ((($0)) + 48|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = ($5>>>0)<($28>>>0); | |
| if (!($29)) { | |
| _pcache1ResizeHash($0); | |
| } | |
| $30 = ((($0)) + 20|0); | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = ($31|0)==(0); | |
| do { | |
| if ($32) { | |
| label = 30; | |
| } else { | |
| $33 = ((($3)) + 48|0); | |
| $34 = HEAP32[$33>>2]|0; | |
| $35 = ((($34)) + 13|0); | |
| $36 = HEAP8[$35>>0]|0; | |
| $37 = ($36<<24>>24)==(0); | |
| if ($37) { | |
| $38 = HEAP32[$4>>2]|0; | |
| $39 = (($38) + 1)|0; | |
| $40 = ((($0)) + 28|0); | |
| $41 = HEAP32[$40>>2]|0; | |
| $42 = ($39>>>0)<($41>>>0); | |
| if ($42) { | |
| $43 = HEAP32[(46640)>>2]|0; | |
| $44 = ($43|0)==(0); | |
| if ($44) { | |
| label = 15; | |
| } else { | |
| $45 = ((($0)) + 8|0); | |
| $46 = HEAP32[$45>>2]|0; | |
| $47 = ((($0)) + 12|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $49 = (($48) + ($46))|0; | |
| $50 = HEAP32[(46636)>>2]|0; | |
| $51 = ($49|0)>($50|0); | |
| if ($51) { | |
| label = 15; | |
| } else { | |
| $$0$in$i65 = (46668); | |
| } | |
| } | |
| if ((label|0) == 15) { | |
| $$0$in$i65 = (46464); | |
| } | |
| $$0$i66 = HEAP32[$$0$in$i65>>2]|0; | |
| $52 = ($$0$i66|0)==(0); | |
| if ($52) { | |
| label = 30; | |
| break; | |
| } | |
| } | |
| $53 = ((($34)) + 20|0); | |
| $54 = HEAP32[$53>>2]|0; | |
| $55 = ((($34)) + 8|0); | |
| $56 = HEAP32[$55>>2]|0; | |
| $57 = ((($54)) + 48|0); | |
| $58 = HEAP32[$57>>2]|0; | |
| $59 = (($56>>>0) % ($58>>>0))&-1; | |
| $60 = ((($54)) + 52|0); | |
| $61 = HEAP32[$60>>2]|0; | |
| $62 = (($61) + ($59<<2)|0); | |
| $$0$i68 = $62; | |
| while(1) { | |
| $63 = HEAP32[$$0$i68>>2]|0; | |
| $64 = ($63|0)==($34|0); | |
| $65 = ((($63)) + 16|0); | |
| if ($64) { | |
| break; | |
| } else { | |
| $$0$i68 = $65; | |
| } | |
| } | |
| $66 = HEAP32[$65>>2]|0; | |
| HEAP32[$$0$i68>>2] = $66; | |
| $67 = ((($54)) + 44|0); | |
| $68 = HEAP32[$67>>2]|0; | |
| $69 = (($68) + -1)|0; | |
| HEAP32[$67>>2] = $69; | |
| $70 = ((($34)) + 24|0); | |
| $71 = HEAP32[$70>>2]|0; | |
| $72 = ((($34)) + 28|0); | |
| $73 = HEAP32[$72>>2]|0; | |
| $74 = ((($73)) + 24|0); | |
| HEAP32[$74>>2] = $71; | |
| $75 = HEAP32[$70>>2]|0; | |
| $76 = ((($75)) + 28|0); | |
| HEAP32[$76>>2] = $73; | |
| HEAP32[$70>>2] = 0; | |
| HEAP32[$72>>2] = 0; | |
| $77 = HEAP32[$53>>2]|0; | |
| $78 = ((($77)) + 40|0); | |
| $79 = HEAP32[$78>>2]|0; | |
| $80 = (($79) + -1)|0; | |
| HEAP32[$78>>2] = $80; | |
| $81 = ((($77)) + 16|0); | |
| $82 = HEAP32[$81>>2]|0; | |
| $83 = ((($0)) + 16|0); | |
| $84 = HEAP32[$83>>2]|0; | |
| $85 = ($82|0)==($84|0); | |
| if ($85) { | |
| $125 = ((($77)) + 20|0); | |
| $126 = HEAP32[$125>>2]|0; | |
| $127 = ((($3)) + 16|0); | |
| $128 = HEAP32[$127>>2]|0; | |
| $129 = (($31) - ($126))|0; | |
| $130 = (($129) + ($128))|0; | |
| $$270$ph = $34;$$sink = $130;$$sink72 = $127; | |
| label = 77; | |
| break; | |
| } | |
| $86 = ((($34)) + 12|0); | |
| $87 = HEAP8[$86>>0]|0; | |
| $88 = ($87<<24>>24)==(0); | |
| do { | |
| if ($88) { | |
| $92 = HEAP32[$34>>2]|0; | |
| $93 = ($92|0)==(0|0); | |
| if (!($93)) { | |
| $94 = $92; | |
| $95 = HEAP32[(46648)>>2]|0; | |
| $96 = ($94>>>0)>=($95>>>0); | |
| $97 = HEAP32[(46652)>>2]|0; | |
| $98 = ($94>>>0)<($97>>>0); | |
| $or$cond$i$i = $96 & $98; | |
| if ($or$cond$i$i) { | |
| $99 = HEAP32[11823]|0; | |
| $100 = (($99) + -1)|0; | |
| HEAP32[11823] = $100; | |
| $101 = HEAP32[(46660)>>2]|0; | |
| HEAP32[$92>>2] = $101; | |
| HEAP32[(46660)>>2] = $92; | |
| $102 = HEAP32[(46664)>>2]|0; | |
| $103 = (($102) + 1)|0; | |
| HEAP32[(46664)>>2] = $103; | |
| $104 = HEAP32[(46644)>>2]|0; | |
| $105 = ($103|0)<($104|0); | |
| $106 = $105&1; | |
| HEAP32[(46668)>>2] = $106; | |
| break; | |
| } | |
| $107 = HEAP32[(64)>>2]|0; | |
| $108 = (FUNCTION_TABLE_ii[$107 & 255]($92)|0); | |
| $109 = HEAP32[11824]|0; | |
| $110 = (($109) - ($108))|0; | |
| HEAP32[11824] = $110; | |
| $111 = HEAP32[2]|0; | |
| $112 = ($111|0)==(0); | |
| if ($112) { | |
| $120 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$120 & 255]($92); | |
| break; | |
| } else { | |
| $113 = HEAP32[(64)>>2]|0; | |
| $114 = (FUNCTION_TABLE_ii[$113 & 255]($92)|0); | |
| $115 = HEAP32[11822]|0; | |
| $116 = (($115) - ($114))|0; | |
| HEAP32[11822] = $116; | |
| $117 = HEAP32[11825]|0; | |
| $118 = (($117) + -1)|0; | |
| HEAP32[11825] = $118; | |
| $119 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$119 & 255]($92); | |
| break; | |
| } | |
| } | |
| } else { | |
| $89 = ((($77)) + 56|0); | |
| $90 = HEAP32[$89>>2]|0; | |
| $91 = ((($34)) + 16|0); | |
| HEAP32[$91>>2] = $90; | |
| HEAP32[$89>>2] = $34; | |
| } | |
| } while(0); | |
| $121 = ((($77)) + 4|0); | |
| $122 = HEAP32[$121>>2]|0; | |
| $123 = HEAP32[$122>>2]|0; | |
| $124 = (($123) + -1)|0; | |
| HEAP32[$122>>2] = $124; | |
| label = 30; | |
| } else { | |
| label = 30; | |
| } | |
| } | |
| } while(0); | |
| L47: do { | |
| if ((label|0) == 30) { | |
| $131 = ((($0)) + 56|0); | |
| $132 = HEAP32[$131>>2]|0; | |
| $133 = ($132|0)==(0|0); | |
| do { | |
| if ($133) { | |
| $134 = HEAP32[$4>>2]|0; | |
| $135 = ($134|0)==(0); | |
| if ($135) { | |
| $136 = HEAP32[(46632)>>2]|0; | |
| $137 = ($136|0)==(0); | |
| if (!($137)) { | |
| $138 = ((($0)) + 28|0); | |
| $139 = HEAP32[$138>>2]|0; | |
| $140 = ($139>>>0)<(3); | |
| if (!($140)) { | |
| $141 = ($136|0)>(0); | |
| $142 = ($136|0)<(0); | |
| $143 = $142 << 31 >> 31; | |
| $144 = ((($0)) + 16|0); | |
| $145 = HEAP32[$144>>2]|0; | |
| $146 = ($145|0)<(0); | |
| $147 = $146 << 31 >> 31; | |
| $148 = $141 ? $145 : -1024; | |
| $149 = $141 ? $147 : -1; | |
| $150 = (___muldi3(($148|0),($149|0),($136|0),($143|0))|0); | |
| $151 = tempRet0; | |
| $152 = (___muldi3(($145|0),($147|0),($139|0),0)|0); | |
| $153 = tempRet0; | |
| $154 = ($151|0)>($153|0); | |
| $155 = ($150>>>0)>($152>>>0); | |
| $156 = ($151|0)==($153|0); | |
| $157 = $156 & $155; | |
| $158 = $154 | $157; | |
| $159 = $158 ? $152 : $150; | |
| $160 = $158 ? $153 : $151; | |
| $161 = (_i64Add(($159|0),($160|0),-1,-1)|0); | |
| $162 = tempRet0; | |
| $163 = ($162>>>0)>(0); | |
| $164 = ($161>>>0)>(2147483390); | |
| $165 = ($162|0)==(0); | |
| $166 = $165 & $164; | |
| $167 = $163 | $166; | |
| do { | |
| if ($167) { | |
| $$0$i$i$i = 0; | |
| } else { | |
| $168 = HEAP32[2]|0; | |
| $169 = ($168|0)==(0); | |
| if ($169) { | |
| $208 = HEAP32[(52)>>2]|0; | |
| $209 = (FUNCTION_TABLE_ii[$208 & 255]($159)|0); | |
| $$0$i$i$i = $209; | |
| break; | |
| } | |
| $170 = HEAP32[(68)>>2]|0; | |
| $171 = (FUNCTION_TABLE_ii[$170 & 255]($159)|0); | |
| $172 = HEAP32[11829]|0; | |
| $173 = ($172>>>0)<($159>>>0); | |
| if ($173) { | |
| HEAP32[11829] = $159; | |
| } | |
| $174 = (46456); | |
| $175 = $174; | |
| $176 = HEAP32[$175>>2]|0; | |
| $177 = (($174) + 4)|0; | |
| $178 = $177; | |
| $179 = HEAP32[$178>>2]|0; | |
| $180 = ($179|0)>(0); | |
| $181 = ($176>>>0)>(0); | |
| $182 = ($179|0)==(0); | |
| $183 = $182 & $181; | |
| $184 = $180 | $183; | |
| if ($184) { | |
| $185 = HEAP32[11822]|0; | |
| $186 = ($171|0)<(0); | |
| $187 = $186 << 31 >> 31; | |
| $188 = (_i64Subtract(($176|0),($179|0),($171|0),($187|0))|0); | |
| $189 = tempRet0; | |
| $190 = (0)>($189|0); | |
| $191 = ($185>>>0)>=($188>>>0); | |
| $192 = (0)==($189|0); | |
| $193 = $192 & $191; | |
| $194 = $190 | $193; | |
| $$sink$i$i$i$i = $194&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i$i; | |
| } | |
| $195 = HEAP32[(52)>>2]|0; | |
| $196 = (FUNCTION_TABLE_ii[$195 & 255]($171)|0); | |
| $197 = ($196|0)==(0|0); | |
| if ($197) { | |
| $$0$i$i$i = 0; | |
| } else { | |
| $198 = HEAP32[(64)>>2]|0; | |
| $199 = (FUNCTION_TABLE_ii[$198 & 255]($196)|0); | |
| $200 = HEAP32[11822]|0; | |
| $201 = (($200) + ($199))|0; | |
| HEAP32[11822] = $201; | |
| $202 = HEAP32[11826]|0; | |
| $203 = ($201>>>0)>($202>>>0); | |
| if ($203) { | |
| HEAP32[11826] = $201; | |
| } | |
| $204 = HEAP32[11825]|0; | |
| $205 = (($204) + 1)|0; | |
| HEAP32[11825] = $205; | |
| $206 = HEAP32[11831]|0; | |
| $207 = ($205>>>0)>($206>>>0); | |
| if ($207) { | |
| HEAP32[11831] = $205; | |
| $$0$i$i$i = $196; | |
| } else { | |
| $$0$i$i$i = $196; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $210 = ((($0)) + 60|0); | |
| HEAP32[$210>>2] = $$0$i$i$i; | |
| $211 = ($$0$i$i$i|0)==(0|0); | |
| if ($211) { | |
| $$pre40$i$i = HEAP32[$131>>2]|0; | |
| $232 = $$pre40$i$i; | |
| } else { | |
| $212 = HEAP32[(64)>>2]|0; | |
| $213 = (FUNCTION_TABLE_ii[$212 & 255]($$0$i$i$i)|0); | |
| $214 = HEAP32[$144>>2]|0; | |
| $215 = (($213|0) / ($214|0))&-1; | |
| $216 = ((($0)) + 8|0); | |
| $217 = HEAP32[$216>>2]|0; | |
| $$pre39$i$i = HEAP32[$131>>2]|0; | |
| $218 = (($215) + -1)|0; | |
| $219 = Math_imul($218, $214)|0; | |
| $$035$i$i = $215;$$036$i$i = $$0$i$i$i;$226 = $$pre39$i$i; | |
| while(1) { | |
| $220 = (($$036$i$i) + ($217)|0); | |
| HEAP32[$220>>2] = $$036$i$i; | |
| $221 = ((($220)) + 32|0); | |
| $222 = ((($220)) + 4|0); | |
| HEAP32[$222>>2] = $221; | |
| $223 = ((($220)) + 12|0); | |
| HEAP8[$223>>0] = 1; | |
| $224 = ((($220)) + 13|0); | |
| HEAP8[$224>>0] = 0; | |
| $225 = ((($220)) + 16|0); | |
| HEAP32[$225>>2] = $226; | |
| $227 = (($$036$i$i) + ($214)|0); | |
| $228 = (($$035$i$i) + -1)|0; | |
| $229 = ($228|0)==(0); | |
| $230 = $220; | |
| if ($229) { | |
| break; | |
| } else { | |
| $$035$i$i = $228;$$036$i$i = $227;$226 = $230; | |
| } | |
| } | |
| $231 = (($219) + ($217))|0; | |
| $scevgep$i = (($$0$i$i$i) + ($231)|0); | |
| HEAP32[$131>>2] = $scevgep$i; | |
| $232 = $scevgep$i; | |
| } | |
| $233 = ($232|0)==(0|0); | |
| if (!($233)) { | |
| $324 = $232; | |
| break; | |
| } | |
| } | |
| } | |
| } | |
| $234 = ((($0)) + 16|0); | |
| $235 = HEAP32[$234>>2]|0; | |
| $236 = HEAP32[(46636)>>2]|0; | |
| $237 = ($236|0)<($235|0); | |
| if ($237) { | |
| label = 58; | |
| } else { | |
| $238 = HEAP32[(46660)>>2]|0; | |
| $cond$i$i = ($238|0)==(0|0); | |
| if ($cond$i$i) { | |
| label = 58; | |
| } else { | |
| $239 = HEAP32[$238>>2]|0; | |
| HEAP32[(46660)>>2] = $239; | |
| $240 = HEAP32[(46664)>>2]|0; | |
| $241 = (($240) + -1)|0; | |
| HEAP32[(46664)>>2] = $241; | |
| $242 = HEAP32[(46644)>>2]|0; | |
| $243 = ($240|0)<=($242|0); | |
| $244 = $243&1; | |
| HEAP32[(46668)>>2] = $244; | |
| $245 = HEAP32[11830]|0; | |
| $246 = ($245>>>0)<($235>>>0); | |
| if ($246) { | |
| HEAP32[11830] = $235; | |
| } | |
| $247 = HEAP32[11823]|0; | |
| $248 = (($247) + 1)|0; | |
| HEAP32[11823] = $248; | |
| $249 = HEAP32[11827]|0; | |
| $250 = ($248>>>0)>($249>>>0); | |
| if ($250) { | |
| HEAP32[11827] = $248; | |
| $$1$i$i = $238; | |
| } else { | |
| $$1$i$i = $238; | |
| } | |
| } | |
| } | |
| do { | |
| if ((label|0) == 58) { | |
| $251 = ($235|0)<(0); | |
| $252 = $251 << 31 >> 31; | |
| $253 = (_i64Add(($235|0),($252|0),-1,-1)|0); | |
| $254 = tempRet0; | |
| $255 = ($254>>>0)>(0); | |
| $256 = ($253>>>0)>(2147483390); | |
| $257 = ($254|0)==(0); | |
| $258 = $257 & $256; | |
| $259 = $255 | $258; | |
| if ($259) { | |
| $$1$i$i = 0; | |
| } else { | |
| $260 = HEAP32[2]|0; | |
| $261 = ($260|0)==(0); | |
| if ($261) { | |
| $300 = HEAP32[(52)>>2]|0; | |
| $301 = (FUNCTION_TABLE_ii[$300 & 255]($235)|0); | |
| $302 = ($301|0)==(0|0); | |
| if ($302) { | |
| $$1$i$i = 0; | |
| break; | |
| } else { | |
| $$0$i2528$i = $301; | |
| } | |
| } else { | |
| $262 = HEAP32[(68)>>2]|0; | |
| $263 = (FUNCTION_TABLE_ii[$262 & 255]($235)|0); | |
| $264 = HEAP32[11829]|0; | |
| $265 = ($264>>>0)<($235>>>0); | |
| if ($265) { | |
| HEAP32[11829] = $235; | |
| } | |
| $266 = (46456); | |
| $267 = $266; | |
| $268 = HEAP32[$267>>2]|0; | |
| $269 = (($266) + 4)|0; | |
| $270 = $269; | |
| $271 = HEAP32[$270>>2]|0; | |
| $272 = ($271|0)>(0); | |
| $273 = ($268>>>0)>(0); | |
| $274 = ($271|0)==(0); | |
| $275 = $274 & $273; | |
| $276 = $272 | $275; | |
| if ($276) { | |
| $277 = HEAP32[11822]|0; | |
| $278 = ($263|0)<(0); | |
| $279 = $278 << 31 >> 31; | |
| $280 = (_i64Subtract(($268|0),($271|0),($263|0),($279|0))|0); | |
| $281 = tempRet0; | |
| $282 = (0)>($281|0); | |
| $283 = ($277>>>0)>=($280>>>0); | |
| $284 = (0)==($281|0); | |
| $285 = $284 & $283; | |
| $286 = $282 | $285; | |
| $$sink$i$i$i = $286&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i; | |
| } | |
| $287 = HEAP32[(52)>>2]|0; | |
| $288 = (FUNCTION_TABLE_ii[$287 & 255]($263)|0); | |
| $289 = ($288|0)==(0|0); | |
| if ($289) { | |
| $$1$i$i = 0; | |
| break; | |
| } | |
| $290 = HEAP32[(64)>>2]|0; | |
| $291 = (FUNCTION_TABLE_ii[$290 & 255]($288)|0); | |
| $292 = HEAP32[11822]|0; | |
| $293 = (($292) + ($291))|0; | |
| HEAP32[11822] = $293; | |
| $294 = HEAP32[11826]|0; | |
| $295 = ($293>>>0)>($294>>>0); | |
| if ($295) { | |
| HEAP32[11826] = $293; | |
| } | |
| $296 = HEAP32[11825]|0; | |
| $297 = (($296) + 1)|0; | |
| HEAP32[11825] = $297; | |
| $298 = HEAP32[11831]|0; | |
| $299 = ($297>>>0)>($298>>>0); | |
| if ($299) { | |
| HEAP32[11831] = $297; | |
| $$0$i2528$i = $288; | |
| } else { | |
| $$0$i2528$i = $288; | |
| } | |
| } | |
| $303 = HEAP32[(64)>>2]|0; | |
| $304 = (FUNCTION_TABLE_ii[$303 & 255]($$0$i2528$i)|0); | |
| $305 = HEAP32[11830]|0; | |
| $306 = ($305>>>0)<($235>>>0); | |
| if ($306) { | |
| HEAP32[11830] = $235; | |
| } | |
| $307 = HEAP32[11824]|0; | |
| $308 = (($307) + ($304))|0; | |
| HEAP32[11824] = $308; | |
| $309 = HEAP32[11828]|0; | |
| $310 = ($308>>>0)>($309>>>0); | |
| if ($310) { | |
| HEAP32[11828] = $308; | |
| $$1$i$i = $$0$i2528$i; | |
| } else { | |
| $$1$i$i = $$0$i2528$i; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $311 = ((($0)) + 8|0); | |
| $312 = HEAP32[$311>>2]|0; | |
| $313 = (($$1$i$i) + ($312)|0); | |
| $314 = ($$1$i$i|0)==(0|0); | |
| if ($314) { | |
| $$0 = 0; | |
| return ($$0|0); | |
| } else { | |
| HEAP32[$313>>2] = $$1$i$i; | |
| $315 = ((($313)) + 32|0); | |
| $316 = ((($313)) + 4|0); | |
| HEAP32[$316>>2] = $315; | |
| $317 = ((($313)) + 12|0); | |
| HEAP8[$317>>0] = 0; | |
| $318 = ((($313)) + 13|0); | |
| HEAP8[$318>>0] = 0; | |
| $319 = ((($0)) + 4|0); | |
| $320 = HEAP32[$319>>2]|0; | |
| $321 = HEAP32[$320>>2]|0; | |
| $322 = (($321) + 1)|0; | |
| $$270$ph = $313;$$sink = $322;$$sink72 = $320; | |
| label = 77; | |
| break L47; | |
| } | |
| } else { | |
| $324 = $132; | |
| } | |
| } while(0); | |
| $323 = ((($324)) + 16|0); | |
| $325 = HEAP32[$323>>2]|0; | |
| HEAP32[$131>>2] = $325; | |
| HEAP32[$323>>2] = 0; | |
| $326 = ((($0)) + 4|0); | |
| $327 = HEAP32[$326>>2]|0; | |
| $328 = HEAP32[$327>>2]|0; | |
| $329 = (($328) + 1)|0; | |
| HEAP32[$327>>2] = $329; | |
| $$270 = $324; | |
| } | |
| } while(0); | |
| if ((label|0) == 77) { | |
| HEAP32[$$sink72>>2] = $$sink; | |
| $$270 = $$270$ph; | |
| } | |
| $330 = HEAP32[$27>>2]|0; | |
| $331 = (($1>>>0) % ($330>>>0))&-1; | |
| $332 = HEAP32[$4>>2]|0; | |
| $333 = (($332) + 1)|0; | |
| HEAP32[$4>>2] = $333; | |
| $334 = ((($$270)) + 8|0); | |
| HEAP32[$334>>2] = $1; | |
| $335 = ((($0)) + 52|0); | |
| $336 = HEAP32[$335>>2]|0; | |
| $337 = (($336) + ($331<<2)|0); | |
| $338 = HEAP32[$337>>2]|0; | |
| $339 = ((($$270)) + 16|0); | |
| HEAP32[$339>>2] = $338; | |
| $340 = ((($$270)) + 20|0); | |
| HEAP32[$340>>2] = $0; | |
| $341 = ((($$270)) + 28|0); | |
| HEAP32[$341>>2] = 0; | |
| $342 = ((($$270)) + 24|0); | |
| HEAP32[$342>>2] = 0; | |
| $343 = ((($$270)) + 4|0); | |
| $344 = HEAP32[$343>>2]|0; | |
| HEAP32[$344>>2] = 0; | |
| $345 = HEAP32[$335>>2]|0; | |
| $346 = (($345) + ($331<<2)|0); | |
| HEAP32[$346>>2] = $$270; | |
| $347 = ((($0)) + 36|0); | |
| $348 = HEAP32[$347>>2]|0; | |
| $349 = ($348>>>0)<($1>>>0); | |
| if (!($349)) { | |
| $$0 = $$270; | |
| return ($$0|0); | |
| } | |
| HEAP32[$347>>2] = $1; | |
| $$0 = $$270; | |
| return ($$0|0); | |
| } | |
| function _pcache1ResizeHash($0) { | |
| $0 = $0|0; | |
| var $$ = 0, $$03639 = 0, $$038 = 0, $$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; | |
| var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 48|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = $2 << 1; | |
| $4 = ($3>>>0)>(256); | |
| $$ = $4 ? $3 : 256; | |
| $5 = $$ << 2; | |
| $6 = (_sqlite3MallocZero($5,0)|0); | |
| $7 = ($6|0)==(0|0); | |
| if ($7) { | |
| return; | |
| } | |
| $8 = HEAP32[$1>>2]|0; | |
| $9 = ($8|0)==(0); | |
| $10 = ((($0)) + 52|0); | |
| $11 = HEAP32[$10>>2]|0; | |
| if ($9) { | |
| $$lcssa = $11; | |
| } else { | |
| $$03639 = 0;$13 = $11; | |
| while(1) { | |
| $12 = (($13) + ($$03639<<2)|0); | |
| $14 = HEAP32[$12>>2]|0; | |
| $15 = ($14|0)==(0|0); | |
| if ($15) { | |
| $26 = $13; | |
| } else { | |
| $$038 = $14; | |
| while(1) { | |
| $16 = ((($$038)) + 8|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = (($17>>>0) % ($$>>>0))&-1; | |
| $19 = ((($$038)) + 16|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = (($6) + ($18<<2)|0); | |
| $22 = HEAP32[$21>>2]|0; | |
| HEAP32[$19>>2] = $22; | |
| HEAP32[$21>>2] = $$038; | |
| $23 = ($20|0)==(0|0); | |
| if ($23) { | |
| break; | |
| } else { | |
| $$038 = $20; | |
| } | |
| } | |
| $$pre = HEAP32[$10>>2]|0; | |
| $26 = $$pre; | |
| } | |
| $24 = (($$03639) + 1)|0; | |
| $25 = ($24>>>0)<($8>>>0); | |
| if ($25) { | |
| $$03639 = $24;$13 = $26; | |
| } else { | |
| $$lcssa = $26; | |
| break; | |
| } | |
| } | |
| } | |
| _sqlite3_free($$lcssa); | |
| HEAP32[$10>>2] = $6; | |
| HEAP32[$1>>2] = $$; | |
| return; | |
| } | |
| function _sqlite3MallocZero($0,$1) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| var $$0$i5 = 0, $$0$i8 = 0, $$sink$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; | |
| 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $2 = (_i64Add(($0|0),($1|0),-1,-1)|0); | |
| $3 = tempRet0; | |
| $4 = ($3>>>0)>(0); | |
| $5 = ($2>>>0)>(2147483390); | |
| $6 = ($3|0)==(0); | |
| $7 = $6 & $5; | |
| $8 = $4 | $7; | |
| if ($8) { | |
| $$0$i5 = 0; | |
| return ($$0$i5|0); | |
| } | |
| $9 = HEAP32[2]|0; | |
| $10 = ($9|0)==(0); | |
| if ($10) { | |
| $49 = HEAP32[(52)>>2]|0; | |
| $50 = (FUNCTION_TABLE_ii[$49 & 255]($0)|0); | |
| $51 = ($50|0)==(0|0); | |
| if ($51) { | |
| $$0$i5 = 0; | |
| return ($$0$i5|0); | |
| } else { | |
| $$0$i8 = $50; | |
| } | |
| } else { | |
| $11 = HEAP32[(68)>>2]|0; | |
| $12 = (FUNCTION_TABLE_ii[$11 & 255]($0)|0); | |
| $13 = HEAP32[11829]|0; | |
| $14 = ($13>>>0)<($0>>>0); | |
| if ($14) { | |
| HEAP32[11829] = $0; | |
| } | |
| $15 = (46456); | |
| $16 = $15; | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = (($15) + 4)|0; | |
| $19 = $18; | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = ($20|0)>(0); | |
| $22 = ($17>>>0)>(0); | |
| $23 = ($20|0)==(0); | |
| $24 = $23 & $22; | |
| $25 = $21 | $24; | |
| if ($25) { | |
| $26 = HEAP32[11822]|0; | |
| $27 = ($12|0)<(0); | |
| $28 = $27 << 31 >> 31; | |
| $29 = (_i64Subtract(($17|0),($20|0),($12|0),($28|0))|0); | |
| $30 = tempRet0; | |
| $31 = (0)>($30|0); | |
| $32 = ($26>>>0)>=($29>>>0); | |
| $33 = (0)==($30|0); | |
| $34 = $33 & $32; | |
| $35 = $31 | $34; | |
| $$sink$i$i = $35&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i; | |
| } | |
| $36 = HEAP32[(52)>>2]|0; | |
| $37 = (FUNCTION_TABLE_ii[$36 & 255]($12)|0); | |
| $38 = ($37|0)==(0|0); | |
| if ($38) { | |
| $$0$i5 = 0; | |
| return ($$0$i5|0); | |
| } | |
| $39 = HEAP32[(64)>>2]|0; | |
| $40 = (FUNCTION_TABLE_ii[$39 & 255]($37)|0); | |
| $41 = HEAP32[11822]|0; | |
| $42 = (($41) + ($40))|0; | |
| HEAP32[11822] = $42; | |
| $43 = HEAP32[11826]|0; | |
| $44 = ($42>>>0)>($43>>>0); | |
| if ($44) { | |
| HEAP32[11826] = $42; | |
| } | |
| $45 = HEAP32[11825]|0; | |
| $46 = (($45) + 1)|0; | |
| HEAP32[11825] = $46; | |
| $47 = HEAP32[11831]|0; | |
| $48 = ($46>>>0)>($47>>>0); | |
| if ($48) { | |
| HEAP32[11831] = $46; | |
| $$0$i8 = $37; | |
| } else { | |
| $$0$i8 = $37; | |
| } | |
| } | |
| _memset(($$0$i8|0),0,($0|0))|0; | |
| $$0$i5 = $$0$i8; | |
| return ($$0$i5|0); | |
| } | |
| function _sqlite3_free($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|0)==(0|0); | |
| if ($1) { | |
| return; | |
| } | |
| $2 = HEAP32[2]|0; | |
| $3 = ($2|0)==(0); | |
| if ($3) { | |
| $11 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$11 & 255]($0); | |
| return; | |
| } else { | |
| $4 = HEAP32[(64)>>2]|0; | |
| $5 = (FUNCTION_TABLE_ii[$4 & 255]($0)|0); | |
| $6 = HEAP32[11822]|0; | |
| $7 = (($6) - ($5))|0; | |
| HEAP32[11822] = $7; | |
| $8 = HEAP32[11825]|0; | |
| $9 = (($8) + -1)|0; | |
| HEAP32[11825] = $9; | |
| $10 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$10 & 255]($0); | |
| return; | |
| } | |
| } | |
| function _compileoptionusedFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3|0)==(0|0); | |
| if ($4) { | |
| return; | |
| } | |
| $5 = ((($3)) + 8|0); | |
| $6 = HEAP16[$5>>1]|0; | |
| $7 = $6&65535; | |
| $8 = $7 & 514; | |
| $9 = ($8|0)==(514); | |
| if ($9) { | |
| $10 = ((($3)) + 10|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| $12 = ($11<<24>>24)==(1); | |
| if ($12) { | |
| $13 = ((($3)) + 16|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $$0$i$i = $14; | |
| } else { | |
| label = 5; | |
| } | |
| } else { | |
| label = 5; | |
| } | |
| do { | |
| if ((label|0) == 5) { | |
| $15 = $7 & 1; | |
| $16 = ($15|0)==(0); | |
| if ($16) { | |
| $17 = (_valueToText($3,1)|0); | |
| $$0$i$i = $17; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $18 = ($$0$i$i|0)==(0|0); | |
| if ($18) { | |
| return; | |
| } | |
| $19 = (_sqlite3_compileoption_used($$0$i$i)|0); | |
| $20 = HEAP32[$0>>2]|0; | |
| $21 = ($19|0)<(0); | |
| $22 = $21 << 31 >> 31; | |
| $23 = ((($20)) + 8|0); | |
| $24 = HEAP16[$23>>1]|0; | |
| $25 = $24 & 9312; | |
| $26 = ($25<<16>>16)==(0); | |
| if ($26) { | |
| $27 = $20; | |
| $28 = $27; | |
| HEAP32[$28>>2] = $19; | |
| $29 = (($27) + 4)|0; | |
| $30 = $29; | |
| HEAP32[$30>>2] = $22; | |
| HEAP16[$23>>1] = 4; | |
| return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($20,$19,$22); | |
| return; | |
| } | |
| } | |
| function _compileoptiongetFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i = 0, $$idx$i$i = 0, $$idx$val$i$i = 0, $$idx8$i$i = 0, $$idx8$val$i$i = 0, $$idx9$i$i = 0, $$idx9$val$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.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 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5&65535; | |
| $7 = $6 & 4; | |
| $8 = ($7|0)==(0); | |
| do { | |
| if ($8) { | |
| $15 = $6 & 8; | |
| $16 = ($15|0)==(0); | |
| if (!($16)) { | |
| $17 = +HEAPF64[$3>>3]; | |
| $18 = (_doubleToInt64($17)|0); | |
| $19 = tempRet0; | |
| $24 = $18;$35 = $19; | |
| label = 7; | |
| break; | |
| } | |
| $20 = $6 & 18; | |
| $21 = ($20|0)==(0); | |
| if ($21) { | |
| $28 = 3968; | |
| label = 8; | |
| } else { | |
| $$idx$i$i = ((($3)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($3)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($3)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $22 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $23 = tempRet0; | |
| $24 = $22;$35 = $23; | |
| label = 7; | |
| } | |
| } else { | |
| $9 = $3; | |
| $10 = $9; | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (($9) + 4)|0; | |
| $13 = $12; | |
| $14 = HEAP32[$13>>2]|0; | |
| $24 = $11;$35 = $14; | |
| label = 7; | |
| } | |
| } while(0); | |
| if ((label|0) == 7) { | |
| $25 = ($24>>>0)<(6); | |
| $26 = (3968 + ($24<<2)|0); | |
| if ($25) { | |
| $28 = $26; | |
| label = 8; | |
| } else { | |
| $$0$i = 0; | |
| } | |
| } | |
| if ((label|0) == 8) { | |
| $27 = HEAP32[$28>>2]|0; | |
| $$0$i = $27; | |
| } | |
| $29 = HEAP32[$0>>2]|0; | |
| $30 = (_sqlite3VdbeMemSetStr($29,$$0$i,-1,1,0)|0); | |
| $31 = ($30|0)==(18); | |
| if (!($31)) { | |
| return; | |
| } | |
| $32 = ((($0)) + 20|0); | |
| HEAP32[$32>>2] = 18; | |
| $33 = ((($0)) + 25|0); | |
| HEAP8[$33>>0] = 1; | |
| $34 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($34,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _versionFunc($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 = HEAP32[$0>>2]|0; | |
| $4 = (_sqlite3VdbeMemSetStr($3,16993,-1,1,0)|0); | |
| $5 = ($4|0)==(18); | |
| if (!($5)) { | |
| return; | |
| } | |
| $6 = ((($0)) + 20|0); | |
| HEAP32[$6>>2] = 18; | |
| $7 = ((($0)) + 25|0); | |
| HEAP8[$7>>0] = 1; | |
| $8 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($8,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _trimFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0, $$0$i$i142 = 0, $$0$i$i143 = 0, $$0113186 = 0, $$0118185 = 0, $$0129172$us = 0, $$0131$us = 0, $$0135$us = 0, $$0141146 = 0, $$1114 = 0, $$1119179 = 0, $$1130169$us = 0, $$1136$us = 0, $$2 = 0, $$2125149 = 0, $$2128147 = 0, $$2133 = 0, $$2137 = 0, $$3134 = 0, $$3138$us = 0; | |
| var $$3180 = 0, $$4 = 0, $$4122151 = 0, $$5 = 0, $$5140 = 0, $$6 = 0, $$old2 = 0, $$old6 = 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, $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, $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$cond157 = 0, $or$cond158 = 0, $or$cond190 = 0, $or$cond4 = 0, $or$cond9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5 & 31; | |
| $7 = $6&65535; | |
| $8 = -1431655766 >>> $7; | |
| $9 = $8 & 1; | |
| $10 = ($9|0)!=(0); | |
| $11 = ($3|0)==(0|0); | |
| $or$cond157 = $11 | $10; | |
| if ($or$cond157) { | |
| return; | |
| } | |
| $12 = $5&65535; | |
| $13 = $12 & 514; | |
| $14 = ($13|0)==(514); | |
| if ($14) { | |
| $15 = ((($3)) + 10|0); | |
| $16 = HEAP8[$15>>0]|0; | |
| $17 = ($16<<24>>24)==(1); | |
| if ($17) { | |
| $18 = ((($3)) + 16|0); | |
| $19 = HEAP32[$18>>2]|0; | |
| $$0$i$i = $19; | |
| } else { | |
| label = 5; | |
| } | |
| } else { | |
| label = 5; | |
| } | |
| do { | |
| if ((label|0) == 5) { | |
| $20 = $12 & 1; | |
| $21 = ($20|0)==(0); | |
| if ($21) { | |
| $22 = (_valueToText($3,1)|0); | |
| $$0$i$i = $22; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $23 = ($$0$i$i|0)==(0|0); | |
| if ($23) { | |
| return; | |
| } | |
| $24 = HEAP32[$2>>2]|0; | |
| $25 = ((($24)) + 8|0); | |
| $26 = HEAP16[$25>>1]|0; | |
| $27 = $26&65535; | |
| $28 = $27 & 2; | |
| $29 = ($28|0)==(0); | |
| if ($29) { | |
| label = 11; | |
| } else { | |
| $30 = ((($24)) + 10|0); | |
| $31 = HEAP8[$30>>0]|0; | |
| $32 = ($31<<24>>24)==(1); | |
| if ($32) { | |
| $33 = ((($24)) + 12|0); | |
| $34 = HEAP32[$33>>2]|0; | |
| $$0$i$i142 = $34; | |
| } else { | |
| label = 11; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 11) { | |
| $35 = $27 & 16; | |
| $36 = ($35|0)==(0); | |
| if ($36) { | |
| $43 = $27 & 1; | |
| $44 = ($43|0)==(0); | |
| if (!($44)) { | |
| $$0$i$i142 = 0; | |
| break; | |
| } | |
| $45 = (_valueBytes($24,1)|0); | |
| $$0$i$i142 = $45; | |
| break; | |
| } else { | |
| $37 = $27 & 16384; | |
| $38 = ($37|0)==(0); | |
| $39 = ((($24)) + 12|0); | |
| $40 = HEAP32[$39>>2]|0; | |
| if ($38) { | |
| $$0$i$i142 = $40; | |
| break; | |
| } | |
| $41 = HEAP32[$24>>2]|0; | |
| $42 = (($41) + ($40))|0; | |
| $$0$i$i142 = $42; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $46 = ($1|0)==(1); | |
| if ($46) { | |
| $$0141146 = 0;$$2125149 = 3964;$$2128147 = 19148;$$4122151 = 1;$138 = 3964; | |
| label = 36; | |
| } else { | |
| $47 = ((($2)) + 4|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $49 = ($48|0)==(0|0); | |
| if ($49) { | |
| return; | |
| } | |
| $50 = ((($48)) + 8|0); | |
| $51 = HEAP16[$50>>1]|0; | |
| $52 = $51&65535; | |
| $53 = $52 & 514; | |
| $54 = ($53|0)==(514); | |
| if ($54) { | |
| $55 = ((($48)) + 10|0); | |
| $56 = HEAP8[$55>>0]|0; | |
| $57 = ($56<<24>>24)==(1); | |
| if ($57) { | |
| $58 = ((($48)) + 16|0); | |
| $59 = HEAP32[$58>>2]|0; | |
| $$0$i$i143 = $59; | |
| } else { | |
| label = 21; | |
| } | |
| } else { | |
| label = 21; | |
| } | |
| do { | |
| if ((label|0) == 21) { | |
| $60 = $52 & 1; | |
| $61 = ($60|0)==(0); | |
| if ($61) { | |
| $62 = (_valueToText($48,1)|0); | |
| $$0$i$i143 = $62; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $63 = ($$0$i$i143|0)==(0|0); | |
| if ($63) { | |
| return; | |
| } | |
| $64 = HEAP8[$$0$i$i143>>0]|0; | |
| $65 = ($64<<24>>24)==(0); | |
| if ($65) { | |
| $$3134 = $$0$i$i;$$6 = $$0$i$i142; | |
| } else { | |
| $$0113186 = $$0$i$i143;$$0118185 = 0;$67 = $64; | |
| while(1) { | |
| $66 = ((($$0113186)) + 1|0); | |
| $68 = ($67&255)>(191); | |
| if ($68) { | |
| $$1114 = $66; | |
| while(1) { | |
| $69 = HEAP8[$$1114>>0]|0; | |
| $70 = $69 & -64; | |
| $71 = ($70<<24>>24)==(-128); | |
| $72 = ((($$1114)) + 1|0); | |
| if ($71) { | |
| $$1114 = $72; | |
| } else { | |
| $$2 = $$1114;$74 = $69; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$pre = HEAP8[$66>>0]|0; | |
| $$2 = $66;$74 = $$pre; | |
| } | |
| $73 = (($$0118185) + 1)|0; | |
| $75 = ($74<<24>>24)==(0); | |
| if ($75) { | |
| break; | |
| } else { | |
| $$0113186 = $$2;$$0118185 = $73;$67 = $74; | |
| } | |
| } | |
| $76 = ($$0118185|0)>(-1); | |
| if ($76) { | |
| $77 = ($73|0)<(0); | |
| $78 = $77 << 31 >> 31; | |
| $79 = (___muldi3(($73|0),($78|0),5,0)|0); | |
| $80 = tempRet0; | |
| $81 = (_contextMalloc($0,$79,$80)|0); | |
| $82 = ($81|0)==(0|0); | |
| if ($82) { | |
| return; | |
| } | |
| $83 = (($81) + ($73<<2)|0); | |
| $84 = HEAP8[$$0$i$i143>>0]|0; | |
| $85 = ($84<<24>>24)==(0); | |
| if ($85) { | |
| $$3134 = $$0$i$i;$$6 = $$0$i$i142; | |
| } else { | |
| $$1119179 = 0;$$3180 = $$0$i$i143; | |
| while(1) { | |
| $86 = (($81) + ($$1119179<<2)|0); | |
| HEAP32[$86>>2] = $$3180; | |
| $87 = ((($$3180)) + 1|0); | |
| $88 = HEAP8[$$3180>>0]|0; | |
| $89 = ($88&255)>(191); | |
| $90 = $$3180; | |
| if ($89) { | |
| $$4 = $87; | |
| while(1) { | |
| $91 = HEAP8[$$4>>0]|0; | |
| $92 = $91 & -64; | |
| $93 = ($92<<24>>24)==(-128); | |
| $94 = ((($$4)) + 1|0); | |
| if ($93) { | |
| $$4 = $94; | |
| } else { | |
| $$5 = $$4; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$5 = $87; | |
| } | |
| $95 = $$5; | |
| $96 = (($95) - ($90))|0; | |
| $97 = $96&255; | |
| $98 = (($83) + ($$1119179)|0); | |
| HEAP8[$98>>0] = $97; | |
| $99 = (($$1119179) + 1)|0; | |
| $100 = HEAP8[$$5>>0]|0; | |
| $101 = ($100<<24>>24)==(0); | |
| if ($101) { | |
| break; | |
| } else { | |
| $$1119179 = $99;$$3180 = $$5; | |
| } | |
| } | |
| $102 = ($$1119179|0)>(-1); | |
| if ($102) { | |
| $$0141146 = $$0$i$i143;$$2125149 = $81;$$2128147 = $83;$$4122151 = $99;$138 = $81; | |
| label = 36; | |
| } else { | |
| $$3134 = $$0$i$i;$$6 = $$0$i$i142; | |
| } | |
| } | |
| } else { | |
| $$3134 = $$0$i$i;$$6 = $$0$i$i142; | |
| } | |
| } | |
| } | |
| do { | |
| if ((label|0) == 36) { | |
| $103 = ((($0)) + 4|0); | |
| $104 = HEAP32[$103>>2]|0; | |
| $105 = ((($104)) + 4|0); | |
| $106 = HEAP32[$105>>2]|0; | |
| $107 = $106 & 1; | |
| $108 = ($107|0)!=(0); | |
| $$old2 = ($$0$i$i142|0)>(0); | |
| $or$cond4 = $$old2 & $108; | |
| L65: do { | |
| if ($or$cond4) { | |
| $$0131$us = $$0$i$i;$$0135$us = $$0$i$i142; | |
| while(1) { | |
| $$0129172$us = 0; | |
| while(1) { | |
| $109 = (($$2128147) + ($$0129172$us)|0); | |
| $110 = HEAP8[$109>>0]|0; | |
| $111 = $110&255; | |
| $112 = ($$0135$us|0)<($111|0); | |
| if (!($112)) { | |
| $113 = (($$2125149) + ($$0129172$us<<2)|0); | |
| $114 = HEAP32[$113>>2]|0; | |
| $115 = (_memcmp($$0131$us,$114,$111)|0); | |
| $116 = ($115|0)==(0); | |
| if ($116) { | |
| break; | |
| } | |
| } | |
| $119 = (($$0129172$us) + 1)|0; | |
| $120 = ($119|0)<($$4122151|0); | |
| if ($120) { | |
| $$0129172$us = $119; | |
| } else { | |
| $$2133 = $$0131$us;$$2137 = $$0135$us; | |
| break L65; | |
| } | |
| } | |
| $117 = (($$0131$us) + ($111)|0); | |
| $$1136$us = (($$0135$us) - ($111))|0; | |
| $118 = ($$1136$us|0)>(0); | |
| if ($118) { | |
| $$0131$us = $117;$$0135$us = $$1136$us; | |
| } else { | |
| $$2133 = $117;$$2137 = $$1136$us; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$2133 = $$0$i$i;$$2137 = $$0$i$i142; | |
| } | |
| } while(0); | |
| $121 = $106 & 2; | |
| $122 = ($121|0)!=(0); | |
| $$old6 = ($$2137|0)>(0); | |
| $or$cond9 = $122 & $$old6; | |
| $123 = ($$4122151|0)>(0); | |
| $or$cond190 = $or$cond9 & $123; | |
| L75: do { | |
| if ($or$cond190) { | |
| $$3138$us = $$2137; | |
| while(1) { | |
| $$1130169$us = 0; | |
| while(1) { | |
| $124 = (($$2128147) + ($$1130169$us)|0); | |
| $125 = HEAP8[$124>>0]|0; | |
| $126 = $125&255; | |
| $127 = ($$3138$us|0)<($126|0); | |
| if (!($127)) { | |
| $128 = (($$3138$us) - ($126))|0; | |
| $129 = (($$2133) + ($128)|0); | |
| $130 = (($$2125149) + ($$1130169$us<<2)|0); | |
| $131 = HEAP32[$130>>2]|0; | |
| $132 = (_memcmp($129,$131,$126)|0); | |
| $133 = ($132|0)==(0); | |
| if ($133) { | |
| break; | |
| } | |
| } | |
| $135 = (($$1130169$us) + 1)|0; | |
| $136 = ($135|0)<($$4122151|0); | |
| if ($136) { | |
| $$1130169$us = $135; | |
| } else { | |
| $$5140 = $$3138$us; | |
| break L75; | |
| } | |
| } | |
| $134 = ($128|0)>(0); | |
| if ($134) { | |
| $$3138$us = $128; | |
| } else { | |
| $$5140 = $128; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$5140 = $$2137; | |
| } | |
| } while(0); | |
| $137 = ($$0141146|0)==(0|0); | |
| $139 = ($138|0)==(0|0); | |
| $or$cond158 = $139 | $137; | |
| if ($or$cond158) { | |
| $$3134 = $$2133;$$6 = $$5140; | |
| } else { | |
| $140 = HEAP32[2]|0; | |
| $141 = ($140|0)==(0); | |
| if ($141) { | |
| $149 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$149 & 255]($138); | |
| $$3134 = $$2133;$$6 = $$5140; | |
| break; | |
| } else { | |
| $142 = HEAP32[(64)>>2]|0; | |
| $143 = (FUNCTION_TABLE_ii[$142 & 255]($138)|0); | |
| $144 = HEAP32[11822]|0; | |
| $145 = (($144) - ($143))|0; | |
| HEAP32[11822] = $145; | |
| $146 = HEAP32[11825]|0; | |
| $147 = (($146) + -1)|0; | |
| HEAP32[11825] = $147; | |
| $148 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$148 & 255]($138); | |
| $$3134 = $$2133;$$6 = $$5140; | |
| break; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $150 = HEAP32[$0>>2]|0; | |
| $151 = (_sqlite3VdbeMemSetStr($150,$$3134,$$6,1,(-1))|0); | |
| $152 = ($151|0)==(18); | |
| if (!($152)) { | |
| return; | |
| } | |
| $153 = ((($0)) + 20|0); | |
| HEAP32[$153>>2] = 18; | |
| $154 = ((($0)) + 25|0); | |
| HEAP8[$154>>0] = 1; | |
| $155 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($155,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _minmaxFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$$024 = 0, $$02427 = 0, $$028 = 0, $$idx = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$idx25 = 0, $$idx25$val = 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; | |
| 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, $4 = 0; | |
| var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = ((($0)) + 4|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ((($4)) + 4|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $not$ = ($6|0)!=(0|0); | |
| $7 = $not$ << 31 >> 31; | |
| $$idx = ((($0)) + 12|0); | |
| $$idx$val = HEAP32[$$idx>>2]|0; | |
| $$idx25 = ((($0)) + 16|0); | |
| $$idx25$val = HEAP32[$$idx25>>2]|0; | |
| $$idx$val$idx = ((($$idx$val)) + 88|0); | |
| $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0; | |
| $8 = (($$idx25$val) + -1)|0; | |
| $9 = (((($$idx$val$idx$val) + (($8*20)|0)|0)) + 16|0); | |
| $10 = HEAP32[$9>>2]|0; | |
| $11 = HEAP32[$2>>2]|0; | |
| $12 = ((($11)) + 8|0); | |
| $13 = HEAP16[$12>>1]|0; | |
| $14 = $13 & 31; | |
| $15 = $14&65535; | |
| $16 = -1431655766 >>> $15; | |
| $17 = $16 & 1; | |
| $18 = ($17|0)==(0); | |
| if (!($18)) { | |
| return; | |
| } | |
| $19 = ($1|0)>(1); | |
| do { | |
| if ($19) { | |
| $$02427 = 0;$$028 = 1; | |
| while(1) { | |
| $20 = (($2) + ($$028<<2)|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = ((($21)) + 8|0); | |
| $23 = HEAP16[$22>>1]|0; | |
| $24 = $23 & 31; | |
| $25 = $24&65535; | |
| $26 = -1431655766 >>> $25; | |
| $27 = $26 & 1; | |
| $28 = ($27|0)==(0); | |
| if (!($28)) { | |
| label = 7; | |
| break; | |
| } | |
| $29 = (($2) + ($$02427<<2)|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = (_sqlite3MemCompare($30,$21,$10)|0); | |
| $32 = $31 ^ $7; | |
| $33 = ($32|0)>(-1); | |
| $$0$$024 = $33 ? $$028 : $$02427; | |
| $34 = (($$028) + 1)|0; | |
| $35 = ($34|0)<($1|0); | |
| if ($35) { | |
| $$02427 = $$0$$024;$$028 = $34; | |
| } else { | |
| label = 5; | |
| break; | |
| } | |
| } | |
| if ((label|0) == 5) { | |
| $$phi$trans$insert = (($2) + ($$0$$024<<2)|0); | |
| $$pre = HEAP32[$$phi$trans$insert>>2]|0; | |
| $36 = $$pre; | |
| break; | |
| } | |
| else if ((label|0) == 7) { | |
| return; | |
| } | |
| } else { | |
| $36 = $11; | |
| } | |
| } while(0); | |
| _sqlite3_result_value($0,$36); | |
| return; | |
| } | |
| function _minmaxStep($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$i$i = 0, $$$i$i38 = 0, $$0$i = 0, $$idx = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$idx34 = 0, $$idx34$val = 0, $$pre$i = 0, $$pre$i40 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0; | |
| var $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, $125 = 0; | |
| var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 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, $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$cond3 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($0)) + 8|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($5)) + 8|0); | |
| $7 = HEAP16[$6>>1]|0; | |
| $8 = $7 & 8192; | |
| $9 = ($8<<16>>16)==(0); | |
| if ($9) { | |
| $10 = (_createAggContext($0,40)|0); | |
| $$0$i = $10; | |
| } else { | |
| $11 = ((($5)) + 16|0); | |
| $12 = HEAP32[$11>>2]|0; | |
| $$0$i = $12; | |
| } | |
| $13 = ($$0$i|0)==(0|0); | |
| if ($13) { | |
| return; | |
| } | |
| $14 = HEAP32[$2>>2]|0; | |
| $15 = ((($14)) + 8|0); | |
| $16 = HEAP16[$15>>1]|0; | |
| $17 = $16 & 31; | |
| $18 = $17&65535; | |
| $19 = -1431655766 >>> $18; | |
| $20 = $19 & 1; | |
| $21 = ($20|0)==(0); | |
| $22 = ((($$0$i)) + 8|0); | |
| $23 = HEAP16[$22>>1]|0; | |
| $24 = ($23<<16>>16)!=(0); | |
| if (!($21)) { | |
| if (!($24)) { | |
| return; | |
| } | |
| $25 = ((($0)) + 24|0); | |
| HEAP8[$25>>0] = 1; | |
| return; | |
| } | |
| if (!($24)) { | |
| $84 = HEAP32[$0>>2]|0; | |
| $85 = ((($84)) + 32|0); | |
| $86 = HEAP32[$85>>2]|0; | |
| $87 = ((($$0$i)) + 32|0); | |
| HEAP32[$87>>2] = $86; | |
| ;HEAP32[$$0$i>>2]=HEAP32[$3>>2]|0;HEAP32[$$0$i+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$0$i+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$0$i+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$0$i+16>>2]=HEAP32[$3+16>>2]|0; | |
| $88 = HEAP16[$22>>1]|0; | |
| $89 = $88 & -1025; | |
| HEAP16[$22>>1] = $89; | |
| $90 = $89&65535; | |
| $91 = $90 & 18; | |
| $92 = ($91|0)==(0); | |
| if ($92) { | |
| return; | |
| } | |
| $93 = ((($3)) + 8|0); | |
| $94 = HEAP16[$93>>1]|0; | |
| $95 = $94 & 2048; | |
| $96 = ($95<<16>>16)==(0); | |
| if (!($96)) { | |
| return; | |
| } | |
| $97 = $90 | 4096; | |
| $98 = $97&65535; | |
| HEAP16[$22>>1] = $98; | |
| $99 = $90 & 16384; | |
| $100 = ($99|0)==(0); | |
| do { | |
| if ($100) { | |
| $131 = $98; | |
| } else { | |
| $101 = ((($$0$i)) + 12|0); | |
| $102 = HEAP32[$101>>2]|0; | |
| $103 = HEAP32[$$0$i>>2]|0; | |
| $104 = (($103) + ($102))|0; | |
| $105 = ($104|0)>(1); | |
| $$$i$i = $105 ? $104 : 1; | |
| $106 = (_sqlite3VdbeMemGrow($$0$i,$$$i$i,1)|0); | |
| $107 = ($106|0)==(0); | |
| if ($107) { | |
| $108 = ((($$0$i)) + 16|0); | |
| $109 = HEAP32[$108>>2]|0; | |
| $110 = HEAP32[$101>>2]|0; | |
| $111 = (($109) + ($110)|0); | |
| $112 = HEAP32[$$0$i>>2]|0; | |
| _memset(($111|0),0,($112|0))|0; | |
| $113 = HEAP32[$$0$i>>2]|0; | |
| $114 = HEAP32[$101>>2]|0; | |
| $115 = (($114) + ($113))|0; | |
| HEAP32[$101>>2] = $115; | |
| $116 = HEAP16[$22>>1]|0; | |
| $117 = $116 & -16897; | |
| HEAP16[$22>>1] = $117; | |
| $131 = $117; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $118 = ((($$0$i)) + 24|0); | |
| $119 = HEAP32[$118>>2]|0; | |
| $120 = ($119|0)==(0); | |
| if ($120) { | |
| label = 31; | |
| } else { | |
| $121 = ((($$0$i)) + 16|0); | |
| $122 = HEAP32[$121>>2]|0; | |
| $123 = ((($$0$i)) + 20|0); | |
| $124 = HEAP32[$123>>2]|0; | |
| $125 = ($122|0)==($124|0); | |
| if ($125) { | |
| $129 = $131; | |
| } else { | |
| label = 31; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 31) { | |
| $126 = (_vdbeMemAddTerminator($$0$i)|0); | |
| $127 = ($126|0)==(0); | |
| if ($127) { | |
| $$pre$i = HEAP16[$22>>1]|0; | |
| $129 = $$pre$i; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $128 = $129 & -4097; | |
| HEAP16[$22>>1] = $128; | |
| return; | |
| } | |
| $$idx = ((($0)) + 12|0); | |
| $$idx$val = HEAP32[$$idx>>2]|0; | |
| $$idx34 = ((($0)) + 16|0); | |
| $$idx34$val = HEAP32[$$idx34>>2]|0; | |
| $$idx$val$idx = ((($$idx$val)) + 88|0); | |
| $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0; | |
| $26 = (($$idx34$val) + -1)|0; | |
| $27 = (((($$idx$val$idx$val) + (($26*20)|0)|0)) + 16|0); | |
| $28 = HEAP32[$27>>2]|0; | |
| $29 = ((($0)) + 4|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = ((($30)) + 4|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| $33 = ($32|0)!=(0|0); | |
| $34 = (_sqlite3MemCompare($$0$i,$3,$28)|0); | |
| $35 = ($34|0)<(0); | |
| $or$cond = $33 & $35; | |
| if (!($or$cond)) { | |
| $36 = $33 ^ 1; | |
| $37 = ($34|0)>(0); | |
| $or$cond3 = $37 & $36; | |
| if (!($or$cond3)) { | |
| $83 = ((($0)) + 24|0); | |
| HEAP8[$83>>0] = 1; | |
| return; | |
| } | |
| } | |
| $38 = HEAP16[$22>>1]|0; | |
| $39 = $38 & 9312; | |
| $40 = ($39<<16>>16)==(0); | |
| if (!($40)) { | |
| _vdbeMemClearExternAndSetNull($$0$i); | |
| } | |
| ;HEAP32[$$0$i>>2]=HEAP32[$3>>2]|0;HEAP32[$$0$i+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$0$i+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$0$i+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$0$i+16>>2]=HEAP32[$3+16>>2]|0; | |
| $41 = HEAP16[$22>>1]|0; | |
| $42 = $41 & -1025; | |
| HEAP16[$22>>1] = $42; | |
| $43 = $42&65535; | |
| $44 = $43 & 18; | |
| $45 = ($44|0)==(0); | |
| if ($45) { | |
| return; | |
| } | |
| $46 = ((($3)) + 8|0); | |
| $47 = HEAP16[$46>>1]|0; | |
| $48 = $47 & 2048; | |
| $49 = ($48<<16>>16)==(0); | |
| if (!($49)) { | |
| return; | |
| } | |
| $50 = $43 | 4096; | |
| $51 = $50&65535; | |
| HEAP16[$22>>1] = $51; | |
| $52 = $43 & 16384; | |
| $53 = ($52|0)==(0); | |
| do { | |
| if ($53) { | |
| $130 = $51; | |
| } else { | |
| $54 = ((($$0$i)) + 12|0); | |
| $55 = HEAP32[$54>>2]|0; | |
| $56 = HEAP32[$$0$i>>2]|0; | |
| $57 = (($56) + ($55))|0; | |
| $58 = ($57|0)>(1); | |
| $$$i$i38 = $58 ? $57 : 1; | |
| $59 = (_sqlite3VdbeMemGrow($$0$i,$$$i$i38,1)|0); | |
| $60 = ($59|0)==(0); | |
| if ($60) { | |
| $61 = ((($$0$i)) + 16|0); | |
| $62 = HEAP32[$61>>2]|0; | |
| $63 = HEAP32[$54>>2]|0; | |
| $64 = (($62) + ($63)|0); | |
| $65 = HEAP32[$$0$i>>2]|0; | |
| _memset(($64|0),0,($65|0))|0; | |
| $66 = HEAP32[$$0$i>>2]|0; | |
| $67 = HEAP32[$54>>2]|0; | |
| $68 = (($67) + ($66))|0; | |
| HEAP32[$54>>2] = $68; | |
| $69 = HEAP16[$22>>1]|0; | |
| $70 = $69 & -16897; | |
| HEAP16[$22>>1] = $70; | |
| $130 = $70; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $71 = ((($$0$i)) + 24|0); | |
| $72 = HEAP32[$71>>2]|0; | |
| $73 = ($72|0)==(0); | |
| if ($73) { | |
| label = 20; | |
| } else { | |
| $74 = ((($$0$i)) + 16|0); | |
| $75 = HEAP32[$74>>2]|0; | |
| $76 = ((($$0$i)) + 20|0); | |
| $77 = HEAP32[$76>>2]|0; | |
| $78 = ($75|0)==($77|0); | |
| if ($78) { | |
| $82 = $130; | |
| } else { | |
| label = 20; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 20) { | |
| $79 = (_vdbeMemAddTerminator($$0$i)|0); | |
| $80 = ($79|0)==(0); | |
| if ($80) { | |
| $$pre$i40 = HEAP16[$22>>1]|0; | |
| $82 = $$pre$i40; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $81 = $82 & -4097; | |
| HEAP16[$22>>1] = $81; | |
| return; | |
| } | |
| function _minMaxFinalize($0) { | |
| $0 = $0|0; | |
| var $$0$i = 0, $$pre = 0, $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, $phitmp = 0, $phitmp7 = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $1 = ((($0)) + 8|0); | |
| $2 = HEAP32[$1>>2]|0; | |
| $3 = ((($2)) + 8|0); | |
| $4 = HEAP16[$3>>1]|0; | |
| $5 = $4 & 8192; | |
| $6 = ($5<<16>>16)==(0); | |
| if ($6) { | |
| $7 = (_createAggContext($0,0)|0); | |
| $$0$i = $7; | |
| } else { | |
| $8 = ((($2)) + 16|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $$0$i = $9; | |
| } | |
| $10 = ($$0$i|0)==(0|0); | |
| if ($10) { | |
| return; | |
| } | |
| $11 = ((($$0$i)) + 8|0); | |
| $12 = HEAP16[$11>>1]|0; | |
| $13 = ($12<<16>>16)==(0); | |
| if ($13) { | |
| label = 7; | |
| } else { | |
| _sqlite3_result_value($0,$$0$i); | |
| $$pre = HEAP16[$11>>1]|0; | |
| $phitmp = $$pre & 9312; | |
| $phitmp7 = ($phitmp<<16>>16)==(0); | |
| if ($phitmp7) { | |
| label = 7; | |
| } | |
| } | |
| if ((label|0) == 7) { | |
| $14 = ((($$0$i)) + 24|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $16 = ($15|0)==(0); | |
| if ($16) { | |
| return; | |
| } | |
| } | |
| _vdbeMemClear($$0$i); | |
| return; | |
| } | |
| function _typeofFunc($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5 & 31; | |
| $7 = $6&65535; | |
| $8 = (19034 + ($7)|0); | |
| $9 = HEAP8[$8>>0]|0; | |
| $10 = $9&255; | |
| $11 = (($10) + -1)|0; | |
| $12 = (3944 + ($11<<2)|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $14 = HEAP32[$0>>2]|0; | |
| $15 = (_sqlite3VdbeMemSetStr($14,$13,-1,1,0)|0); | |
| $16 = ($15|0)==(18); | |
| if (!($16)) { | |
| return; | |
| } | |
| $17 = ((($0)) + 20|0); | |
| HEAP32[$17>>2] = 18; | |
| $18 = ((($0)) + 25|0); | |
| HEAP8[$18>>0] = 1; | |
| $19 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($19,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _lengthFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0, $$0$i$i19 = 0, $$017$be = 0, $$01723 = 0, $$01822 = 0, $$1 = 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, $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, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5 & 31; | |
| $7 = $6&65535; | |
| $8 = (19034 + ($7)|0); | |
| $9 = HEAP8[$8>>0]|0; | |
| switch ($9<<24>>24) { | |
| case 2: case 1: case 4: { | |
| $10 = $5&65535; | |
| $11 = $10 & 2; | |
| $12 = ($11|0)==(0); | |
| if ($12) { | |
| label = 5; | |
| } else { | |
| $13 = ((($3)) + 10|0); | |
| $14 = HEAP8[$13>>0]|0; | |
| $15 = ($14<<24>>24)==(1); | |
| if ($15) { | |
| $16 = ((($3)) + 12|0); | |
| $17 = HEAP32[$16>>2]|0; | |
| $$0$i$i = $17; | |
| } else { | |
| label = 5; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 5) { | |
| $18 = $10 & 16; | |
| $19 = ($18|0)==(0); | |
| if ($19) { | |
| $26 = $10 & 1; | |
| $27 = ($26|0)==(0); | |
| if (!($27)) { | |
| $$0$i$i = 0; | |
| break; | |
| } | |
| $28 = (_valueBytes($3,1)|0); | |
| $$0$i$i = $28; | |
| break; | |
| } else { | |
| $20 = $10 & 16384; | |
| $21 = ($20|0)==(0); | |
| $22 = ((($3)) + 12|0); | |
| $23 = HEAP32[$22>>2]|0; | |
| if ($21) { | |
| $$0$i$i = $23; | |
| break; | |
| } | |
| $24 = HEAP32[$3>>2]|0; | |
| $25 = (($24) + ($23))|0; | |
| $$0$i$i = $25; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $29 = HEAP32[$0>>2]|0; | |
| $30 = ($$0$i$i|0)<(0); | |
| $31 = $30 << 31 >> 31; | |
| $32 = ((($29)) + 8|0); | |
| $33 = HEAP16[$32>>1]|0; | |
| $34 = $33 & 9312; | |
| $35 = ($34<<16>>16)==(0); | |
| if ($35) { | |
| $36 = $29; | |
| $37 = $36; | |
| HEAP32[$37>>2] = $$0$i$i; | |
| $38 = (($36) + 4)|0; | |
| $39 = $38; | |
| HEAP32[$39>>2] = $31; | |
| HEAP16[$32>>1] = 4; | |
| return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($29,$$0$i$i,$31); | |
| return; | |
| } | |
| break; | |
| } | |
| case 3: { | |
| $40 = ($3|0)==(0|0); | |
| if ($40) { | |
| return; | |
| } | |
| $41 = $5&65535; | |
| $42 = $41 & 514; | |
| $43 = ($42|0)==(514); | |
| if ($43) { | |
| $44 = ((($3)) + 10|0); | |
| $45 = HEAP8[$44>>0]|0; | |
| $46 = ($45<<24>>24)==(1); | |
| if ($46) { | |
| $47 = ((($3)) + 16|0); | |
| $48 = HEAP32[$47>>2]|0; | |
| $$0$i$i19 = $48; | |
| } else { | |
| label = 17; | |
| } | |
| } else { | |
| label = 17; | |
| } | |
| do { | |
| if ((label|0) == 17) { | |
| $49 = $41 & 1; | |
| $50 = ($49|0)==(0); | |
| if ($50) { | |
| $51 = (_valueToText($3,1)|0); | |
| $$0$i$i19 = $51; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $52 = ($$0$i$i19|0)==(0|0); | |
| if ($52) { | |
| return; | |
| } | |
| $53 = HEAP8[$$0$i$i19>>0]|0; | |
| $54 = ($53<<24>>24)==(0); | |
| if ($54) { | |
| $72 = 0;$73 = 0; | |
| } else { | |
| $$01723 = $$0$i$i19;$$01822 = 0;$57 = $53; | |
| while(1) { | |
| $55 = (($$01822) + 1)|0; | |
| $56 = ((($$01723)) + 1|0); | |
| $58 = ($57&255)>(191); | |
| if ($58) { | |
| $$1 = $56; | |
| while(1) { | |
| $61 = HEAP8[$$1>>0]|0; | |
| $62 = $61 & -64; | |
| $63 = ($62<<24>>24)==(-128); | |
| $64 = ((($$1)) + 1|0); | |
| if ($63) { | |
| $$1 = $64; | |
| } else { | |
| $$017$be = $$1;$59 = $61; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$pre = HEAP8[$56>>0]|0; | |
| $$017$be = $56;$59 = $$pre; | |
| } | |
| $60 = ($59<<24>>24)==(0); | |
| if ($60) { | |
| break; | |
| } else { | |
| $$01723 = $$017$be;$$01822 = $55;$57 = $59; | |
| } | |
| } | |
| $65 = ($55|0)<(0); | |
| $66 = $65 << 31 >> 31; | |
| $72 = $55;$73 = $66; | |
| } | |
| $67 = HEAP32[$0>>2]|0; | |
| $68 = ((($67)) + 8|0); | |
| $69 = HEAP16[$68>>1]|0; | |
| $70 = $69 & 9312; | |
| $71 = ($70<<16>>16)==(0); | |
| if ($71) { | |
| $74 = $67; | |
| $75 = $74; | |
| HEAP32[$75>>2] = $72; | |
| $76 = (($74) + 4)|0; | |
| $77 = $76; | |
| HEAP32[$77>>2] = $73; | |
| HEAP16[$68>>1] = 4; | |
| return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($67,$72,$73); | |
| return; | |
| } | |
| break; | |
| } | |
| default: { | |
| $78 = HEAP32[$0>>2]|0; | |
| $79 = ((($78)) + 8|0); | |
| $80 = HEAP16[$79>>1]|0; | |
| $81 = $80 & 9312; | |
| $82 = ($81<<16>>16)==(0); | |
| if ($82) { | |
| HEAP16[$79>>1] = 1; | |
| return; | |
| } else { | |
| _vdbeMemClearExternAndSetNull($78); | |
| return; | |
| } | |
| } | |
| } | |
| } | |
| function _instrFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0, $$0$i$i56 = 0, $$0$i$i57 = 0, $$0$i$i59 = 0, $$050$lcssa = 0, $$05065 = 0, $$05065$us = 0, $$051 = 0, $$053 = 0, $$05463 = 0, $$05463$us = 0, $$15264 = 0, $$15264$us = 0, $$155 = 0, $$2 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre79 = 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, $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, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5 & 31; | |
| $7 = $6&65535; | |
| $8 = ((($2)) + 4|0); | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ((($9)) + 8|0); | |
| $11 = HEAP16[$10>>1]|0; | |
| $12 = $11 & 31; | |
| $13 = $12&65535; | |
| $14 = -1431655766 >>> $7; | |
| $15 = -1431655766 >>> $13; | |
| $16 = $15 | $14; | |
| $17 = $16 & 1; | |
| $18 = ($17|0)==(0); | |
| if (!($18)) { | |
| return; | |
| } | |
| $19 = $5&65535; | |
| $20 = $19 & 2; | |
| $21 = ($20|0)==(0); | |
| if ($21) { | |
| label = 5; | |
| } else { | |
| $22 = ((($3)) + 10|0); | |
| $23 = HEAP8[$22>>0]|0; | |
| $24 = ($23<<24>>24)==(1); | |
| if ($24) { | |
| $25 = ((($3)) + 12|0); | |
| $26 = HEAP32[$25>>2]|0; | |
| $$0$i$i56 = $26;$39 = $11;$43 = $9; | |
| } else { | |
| label = 5; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 5) { | |
| $27 = $19 & 16; | |
| $28 = ($27|0)==(0); | |
| if ($28) { | |
| $35 = $19 & 1; | |
| $36 = ($35|0)==(0); | |
| if (!($36)) { | |
| $$0$i$i56 = 0;$39 = $11;$43 = $9; | |
| break; | |
| } | |
| $37 = (_valueBytes($3,1)|0); | |
| $$pre = HEAP32[$8>>2]|0; | |
| $$phi$trans$insert = ((($$pre)) + 8|0); | |
| $$pre79 = HEAP16[$$phi$trans$insert>>1]|0; | |
| $$0$i$i56 = $37;$39 = $$pre79;$43 = $$pre; | |
| break; | |
| } else { | |
| $29 = $19 & 16384; | |
| $30 = ($29|0)==(0); | |
| $31 = ((($3)) + 12|0); | |
| $32 = HEAP32[$31>>2]|0; | |
| if ($30) { | |
| $$0$i$i56 = $32;$39 = $11;$43 = $9; | |
| break; | |
| } | |
| $33 = HEAP32[$3>>2]|0; | |
| $34 = (($33) + ($32))|0; | |
| $$0$i$i56 = $34;$39 = $11;$43 = $9; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $38 = $39&65535; | |
| $40 = $38 & 2; | |
| $41 = ($40|0)==(0); | |
| if ($41) { | |
| label = 13; | |
| } else { | |
| $42 = ((($43)) + 10|0); | |
| $44 = HEAP8[$42>>0]|0; | |
| $45 = ($44<<24>>24)==(1); | |
| if ($45) { | |
| $46 = ((($43)) + 12|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $$0$i$i57 = $47; | |
| label = 18; | |
| } else { | |
| label = 13; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 13) { | |
| $48 = $38 & 16; | |
| $49 = ($48|0)==(0); | |
| if ($49) { | |
| $56 = $38 & 1; | |
| $57 = ($56|0)==(0); | |
| if (!($57)) { | |
| $124 = 1;$125 = 0; | |
| break; | |
| } | |
| $58 = (_valueBytes($43,1)|0); | |
| $$0$i$i57 = $58; | |
| label = 18; | |
| break; | |
| } else { | |
| $50 = $38 & 16384; | |
| $51 = ($50|0)==(0); | |
| $52 = ((($43)) + 12|0); | |
| $53 = HEAP32[$52>>2]|0; | |
| if ($51) { | |
| $$0$i$i57 = $53; | |
| label = 18; | |
| break; | |
| } | |
| $54 = HEAP32[$43>>2]|0; | |
| $55 = (($54) + ($53))|0; | |
| $$0$i$i57 = $55; | |
| label = 18; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| L25: do { | |
| if ((label|0) == 18) { | |
| $59 = ($$0$i$i57|0)>(0); | |
| if ($59) { | |
| $60 = $7 | 16; | |
| $61 = ($60|0)==(16); | |
| $62 = $13 | 16; | |
| $63 = ($62|0)==(16); | |
| $or$cond3 = $61 & $63; | |
| $64 = HEAP32[$2>>2]|0; | |
| do { | |
| if ($or$cond3) { | |
| $65 = (_sqlite3_value_blob($64)|0); | |
| $66 = HEAP32[$8>>2]|0; | |
| $67 = (_sqlite3_value_blob($66)|0); | |
| $$0 = 0;$$051 = $65;$$053 = $67; | |
| } else { | |
| $68 = ($64|0)==(0|0); | |
| do { | |
| if ($68) { | |
| $$0$i$i59 = 0; | |
| } else { | |
| $69 = ((($64)) + 8|0); | |
| $70 = HEAP16[$69>>1]|0; | |
| $71 = $70&65535; | |
| $72 = $71 & 514; | |
| $73 = ($72|0)==(514); | |
| if ($73) { | |
| $74 = ((($64)) + 10|0); | |
| $75 = HEAP8[$74>>0]|0; | |
| $76 = ($75<<24>>24)==(1); | |
| if ($76) { | |
| $77 = ((($64)) + 16|0); | |
| $78 = HEAP32[$77>>2]|0; | |
| $$0$i$i59 = $78; | |
| break; | |
| } | |
| } | |
| $79 = $71 & 1; | |
| $80 = ($79|0)==(0); | |
| if ($80) { | |
| $81 = (_valueToText($64,1)|0); | |
| $$0$i$i59 = $81; | |
| } else { | |
| $$0$i$i59 = 0; | |
| } | |
| } | |
| } while(0); | |
| $82 = HEAP32[$8>>2]|0; | |
| $83 = ($82|0)==(0|0); | |
| if ($83) { | |
| return; | |
| } | |
| $84 = ((($82)) + 8|0); | |
| $85 = HEAP16[$84>>1]|0; | |
| $86 = $85&65535; | |
| $87 = $86 & 514; | |
| $88 = ($87|0)==(514); | |
| if ($88) { | |
| $89 = ((($82)) + 10|0); | |
| $90 = HEAP8[$89>>0]|0; | |
| $91 = ($90<<24>>24)==(1); | |
| if ($91) { | |
| $92 = ((($82)) + 16|0); | |
| $93 = HEAP32[$92>>2]|0; | |
| $$0 = 1;$$051 = $$0$i$i59;$$053 = $93; | |
| break; | |
| } | |
| } | |
| $94 = $86 & 1; | |
| $95 = ($94|0)==(0); | |
| if ($95) { | |
| $96 = (_valueToText($82,1)|0); | |
| $$0 = 1;$$051 = $$0$i$i59;$$053 = $96; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $97 = ($$053|0)==(0|0); | |
| if ($97) { | |
| return; | |
| } | |
| $98 = ($$0$i$i56|0)!=(0); | |
| $99 = ($$051|0)==(0|0); | |
| $or$cond5 = $98 & $99; | |
| if ($or$cond5) { | |
| return; | |
| } | |
| $100 = ($$0$i$i57|0)>($$0$i$i56|0); | |
| if ($100) { | |
| $124 = 0;$125 = 0; | |
| } else { | |
| $101 = ($$0|0)==(0); | |
| L57: do { | |
| if ($101) { | |
| $$05065$us = 1;$$05463$us = $$0$i$i56;$$15264$us = $$051; | |
| while(1) { | |
| $102 = (_memcmp($$15264$us,$$053,$$0$i$i57)|0); | |
| $103 = ($102|0)==(0); | |
| if ($103) { | |
| $$050$lcssa = $$05065$us; | |
| break L57; | |
| } | |
| $104 = (($$05065$us) + 1)|0; | |
| $105 = (($$05463$us) + -1)|0; | |
| $106 = ((($$15264$us)) + 1|0); | |
| $107 = ($$0$i$i57|0)<($$05463$us|0); | |
| if ($107) { | |
| $$05065$us = $104;$$05463$us = $105;$$15264$us = $106; | |
| } else { | |
| $124 = 0;$125 = 0; | |
| break L25; | |
| } | |
| } | |
| } else { | |
| $$05065 = 1;$$05463 = $$0$i$i56;$$15264 = $$051; | |
| while(1) { | |
| $110 = (_memcmp($$15264,$$053,$$0$i$i57)|0); | |
| $111 = ($110|0)==(0); | |
| if ($111) { | |
| $$050$lcssa = $$05065; | |
| break L57; | |
| } else { | |
| $$155 = $$05463;$$2 = $$15264; | |
| } | |
| while(1) { | |
| $112 = (($$155) + -1)|0; | |
| $113 = ((($$2)) + 1|0); | |
| $114 = HEAP8[$113>>0]|0; | |
| $115 = $114 & -64; | |
| $116 = ($115<<24>>24)==(-128); | |
| if ($116) { | |
| $$155 = $112;$$2 = $113; | |
| } else { | |
| break; | |
| } | |
| } | |
| $108 = (($$05065) + 1)|0; | |
| $109 = ($$0$i$i57|0)<($$155|0); | |
| if ($109) { | |
| $$05065 = $108;$$05463 = $112;$$15264 = $113; | |
| } else { | |
| $124 = 0;$125 = 0; | |
| break L25; | |
| } | |
| } | |
| } | |
| } while(0); | |
| $117 = ($$050$lcssa|0)<(0); | |
| $118 = $117 << 31 >> 31; | |
| $124 = $$050$lcssa;$125 = $118; | |
| } | |
| } else { | |
| $124 = 1;$125 = 0; | |
| } | |
| } | |
| } while(0); | |
| $119 = HEAP32[$0>>2]|0; | |
| $120 = ((($119)) + 8|0); | |
| $121 = HEAP16[$120>>1]|0; | |
| $122 = $121 & 9312; | |
| $123 = ($122<<16>>16)==(0); | |
| if ($123) { | |
| $126 = $119; | |
| $127 = $126; | |
| HEAP32[$127>>2] = $124; | |
| $128 = (($126) + 4)|0; | |
| $129 = $128; | |
| HEAP32[$129>>2] = $125; | |
| HEAP16[$120>>1] = 4; | |
| return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($119,$124,$125); | |
| return; | |
| } | |
| } | |
| function _printfFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i = 0, $$0$i$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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; | |
| $vararg_buffer = sp; | |
| $3 = sp + 32|0; | |
| $4 = sp + 8|0; | |
| $5 = HEAP32[$0>>2]|0; | |
| $6 = ((($5)) + 32|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ($1|0)>(0); | |
| if (!($8)) { | |
| STACKTOP = sp;return; | |
| } | |
| $9 = HEAP32[$2>>2]|0; | |
| $10 = ($9|0)==(0|0); | |
| if ($10) { | |
| STACKTOP = sp;return; | |
| } | |
| $11 = ((($9)) + 8|0); | |
| $12 = HEAP16[$11>>1]|0; | |
| $13 = $12&65535; | |
| $14 = $13 & 514; | |
| $15 = ($14|0)==(514); | |
| if ($15) { | |
| $16 = ((($9)) + 10|0); | |
| $17 = HEAP8[$16>>0]|0; | |
| $18 = ($17<<24>>24)==(1); | |
| if ($18) { | |
| $19 = ((($9)) + 16|0); | |
| $20 = HEAP32[$19>>2]|0; | |
| $$0$i$i = $20; | |
| } else { | |
| label = 6; | |
| } | |
| } else { | |
| label = 6; | |
| } | |
| do { | |
| if ((label|0) == 6) { | |
| $21 = $13 & 1; | |
| $22 = ($21|0)==(0); | |
| if ($22) { | |
| $23 = (_valueToText($9,1)|0); | |
| $$0$i$i = $23; | |
| break; | |
| } else { | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| } while(0); | |
| $24 = ($$0$i$i|0)==(0|0); | |
| if ($24) { | |
| STACKTOP = sp;return; | |
| } | |
| $25 = (($1) + -1)|0; | |
| HEAP32[$3>>2] = $25; | |
| $26 = ((($3)) + 4|0); | |
| HEAP32[$26>>2] = 0; | |
| $27 = ((($2)) + 4|0); | |
| $28 = ((($3)) + 8|0); | |
| HEAP32[$28>>2] = $27; | |
| $29 = ((($7)) + 100|0); | |
| $30 = HEAP32[$29>>2]|0; | |
| $31 = ((($4)) + 4|0); | |
| HEAP32[$31>>2] = 0; | |
| HEAP32[$4>>2] = $7; | |
| $32 = ((($4)) + 8|0); | |
| HEAP32[$32>>2] = 0; | |
| $33 = ((($4)) + 12|0); | |
| HEAP32[$33>>2] = $30; | |
| $34 = ((($4)) + 16|0); | |
| HEAP32[$34>>2] = 0; | |
| $35 = ((($4)) + 20|0); | |
| HEAP8[$35>>0] = 0; | |
| $36 = ((($4)) + 21|0); | |
| HEAP8[$36>>0] = 2; | |
| HEAP32[$vararg_buffer>>2] = $3; | |
| _sqlite3XPrintf($4,$$0$i$i,$vararg_buffer); | |
| $37 = HEAP32[$34>>2]|0; | |
| $38 = HEAP32[$31>>2]|0; | |
| $39 = ($38|0)==(0|0); | |
| if ($39) { | |
| label = 13; | |
| } else { | |
| $40 = (($38) + ($37)|0); | |
| HEAP8[$40>>0] = 0; | |
| $41 = HEAP32[$33>>2]|0; | |
| $42 = ($41|0)==(0); | |
| if ($42) { | |
| label = 13; | |
| } else { | |
| $43 = HEAP8[$36>>0]|0; | |
| $44 = $43 & 4; | |
| $45 = ($44<<24>>24)==(0); | |
| if ($45) { | |
| $46 = (_strAccumFinishRealloc($4)|0); | |
| $$0$i = $46; | |
| } else { | |
| label = 13; | |
| } | |
| } | |
| } | |
| if ((label|0) == 13) { | |
| $47 = HEAP32[$31>>2]|0; | |
| $$0$i = $47; | |
| } | |
| $48 = HEAP32[$0>>2]|0; | |
| $49 = (_sqlite3VdbeMemSetStr($48,$$0$i,$37,1,172)|0); | |
| $50 = ($49|0)==(18); | |
| if (!($50)) { | |
| STACKTOP = sp;return; | |
| } | |
| $51 = ((($0)) + 20|0); | |
| HEAP32[$51>>2] = 18; | |
| $52 = ((($0)) + 25|0); | |
| HEAP8[$52>>0] = 1; | |
| $53 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($53,18992,-1,1,0)|0); | |
| STACKTOP = sp;return; | |
| } | |
| function _unicodeFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$0$i = 0, $$0$i$i = 0, $$0$lcssa$i = 0, $$012$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; | |
| 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond$i = 0; | |
| var $or$cond11$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3|0)==(0|0); | |
| if ($4) { | |
| return; | |
| } | |
| $5 = ((($3)) + 8|0); | |
| $6 = HEAP16[$5>>1]|0; | |
| $7 = $6&65535; | |
| $8 = $7 & 514; | |
| $9 = ($8|0)==(514); | |
| if ($9) { | |
| $10 = ((($3)) + 10|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| $12 = ($11<<24>>24)==(1); | |
| if ($12) { | |
| $13 = ((($3)) + 16|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $$0$i$i = $14; | |
| } else { | |
| label = 5; | |
| } | |
| } else { | |
| label = 5; | |
| } | |
| do { | |
| if ((label|0) == 5) { | |
| $15 = $7 & 1; | |
| $16 = ($15|0)==(0); | |
| if ($16) { | |
| $17 = (_valueToText($3,1)|0); | |
| $$0$i$i = $17; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $18 = ($$0$i$i|0)==(0|0); | |
| if ($18) { | |
| return; | |
| } | |
| $19 = HEAP8[$$0$i$i>>0]|0; | |
| $20 = ($19<<24>>24)==(0); | |
| if ($20) { | |
| return; | |
| } | |
| $21 = ((($$0$i$i)) + 1|0); | |
| $22 = $19&255; | |
| $23 = ($19&255)>(191); | |
| if ($23) { | |
| $24 = (($22) + -192)|0; | |
| $25 = (18928 + ($24)|0); | |
| $26 = HEAP8[$25>>0]|0; | |
| $27 = $26&255; | |
| $28 = HEAP8[$21>>0]|0; | |
| $29 = $28 & -64; | |
| $30 = ($29<<24>>24)==(-128); | |
| if ($30) { | |
| $$012$i = $27;$33 = $21;$35 = $28; | |
| while(1) { | |
| $31 = $$012$i << 6; | |
| $32 = ((($33)) + 1|0); | |
| $34 = $35 & 63; | |
| $36 = $34&255; | |
| $37 = $36 | $31; | |
| $38 = HEAP8[$32>>0]|0; | |
| $39 = $38 & -64; | |
| $40 = ($39<<24>>24)==(-128); | |
| if ($40) { | |
| $$012$i = $37;$33 = $32;$35 = $38; | |
| } else { | |
| $$0$lcssa$i = $37; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$0$lcssa$i = $27; | |
| } | |
| $41 = ($$0$lcssa$i>>>0)<(128); | |
| $42 = $$0$lcssa$i & -2048; | |
| $43 = ($42|0)==(55296); | |
| $or$cond$i = $41 | $43; | |
| $44 = $$0$lcssa$i & -2; | |
| $45 = ($44|0)==(65534); | |
| $or$cond11$i = $45 | $or$cond$i; | |
| $$$0$i = $or$cond11$i ? 65533 : $$0$lcssa$i; | |
| $47 = $$$0$i; | |
| } else { | |
| $47 = $22; | |
| } | |
| $46 = HEAP32[$0>>2]|0; | |
| $48 = ($47|0)<(0); | |
| $49 = $48 << 31 >> 31; | |
| $50 = ((($46)) + 8|0); | |
| $51 = HEAP16[$50>>1]|0; | |
| $52 = $51 & 9312; | |
| $53 = ($52<<16>>16)==(0); | |
| if ($53) { | |
| $54 = $46; | |
| $55 = $54; | |
| HEAP32[$55>>2] = $47; | |
| $56 = (($54) + 4)|0; | |
| $57 = $56; | |
| HEAP32[$57>>2] = $49; | |
| HEAP16[$50>>1] = 4; | |
| return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($46,$47,$49); | |
| return; | |
| } | |
| } | |
| function _charFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i47$ph = 0, $$0$lcssa = 0, $$04448 = 0, $$049 = 0, $$1 = 0, $$idx$i$i = 0, $$idx$val$i$i = 0, $$idx8$i$i = 0, $$idx8$val$i$i = 0, $$idx9$i$i = 0, $$idx9$val$i$i = 0, $$pre$i = 0, $$sink$i$i$i = 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, $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, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; | |
| var $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, $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.0, $99 = 0, $exitcond = 0, $or$cond$i = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = $1 << 2; | |
| $4 = $3 | 1; | |
| $5 = ($4|0)<(0); | |
| $6 = $5 << 31 >> 31; | |
| $7 = (_sqlite3_initialize()|0); | |
| $8 = ($7|0)!=(0); | |
| $9 = (_i64Add(($4|0),($6|0),-1,-1)|0); | |
| $10 = tempRet0; | |
| $11 = ($10>>>0)>(0); | |
| $12 = ($9>>>0)>(2147483390); | |
| $13 = ($10|0)==(0); | |
| $14 = $13 & $12; | |
| $15 = $11 | $14; | |
| $or$cond$i = $15 | $8; | |
| do { | |
| if (!($or$cond$i)) { | |
| $16 = HEAP32[2]|0; | |
| $17 = ($16|0)==(0); | |
| if ($17) { | |
| $57 = HEAP32[(52)>>2]|0; | |
| $58 = (FUNCTION_TABLE_ii[$57 & 255]($4)|0); | |
| $59 = ($58|0)==(0|0); | |
| if ($59) { | |
| break; | |
| } else { | |
| $$0$i47$ph = $58; | |
| } | |
| } else { | |
| $18 = HEAP32[(68)>>2]|0; | |
| $19 = (FUNCTION_TABLE_ii[$18 & 255]($4)|0); | |
| $20 = HEAP32[11829]|0; | |
| $21 = ($20>>>0)<($4>>>0); | |
| if ($21) { | |
| HEAP32[11829] = $4; | |
| } | |
| $22 = (46456); | |
| $23 = $22; | |
| $24 = HEAP32[$23>>2]|0; | |
| $25 = (($22) + 4)|0; | |
| $26 = $25; | |
| $27 = HEAP32[$26>>2]|0; | |
| $28 = ($27|0)>(0); | |
| $29 = ($24>>>0)>(0); | |
| $30 = ($27|0)==(0); | |
| $31 = $30 & $29; | |
| $32 = $28 | $31; | |
| if ($32) { | |
| $33 = HEAP32[11822]|0; | |
| $34 = ($19|0)<(0); | |
| $35 = $34 << 31 >> 31; | |
| $36 = (_i64Subtract(($24|0),($27|0),($19|0),($35|0))|0); | |
| $37 = tempRet0; | |
| $38 = (0)>($37|0); | |
| $39 = ($33>>>0)>=($36>>>0); | |
| $40 = (0)==($37|0); | |
| $41 = $40 & $39; | |
| $42 = $38 | $41; | |
| $$sink$i$i$i = $42&1; | |
| HEAP32[(46464)>>2] = $$sink$i$i$i; | |
| } | |
| $43 = HEAP32[(52)>>2]|0; | |
| $44 = (FUNCTION_TABLE_ii[$43 & 255]($19)|0); | |
| $45 = ($44|0)==(0|0); | |
| if ($45) { | |
| break; | |
| } | |
| $46 = HEAP32[(64)>>2]|0; | |
| $47 = (FUNCTION_TABLE_ii[$46 & 255]($44)|0); | |
| $48 = HEAP32[11822]|0; | |
| $49 = (($48) + ($47))|0; | |
| HEAP32[11822] = $49; | |
| $50 = HEAP32[11826]|0; | |
| $51 = ($49>>>0)>($50>>>0); | |
| if ($51) { | |
| HEAP32[11826] = $49; | |
| } | |
| $52 = HEAP32[11825]|0; | |
| $53 = (($52) + 1)|0; | |
| HEAP32[11825] = $53; | |
| $54 = HEAP32[11831]|0; | |
| $55 = ($53>>>0)>($54>>>0); | |
| if ($55) { | |
| HEAP32[11831] = $53; | |
| $$0$i47$ph = $44; | |
| } else { | |
| $$0$i47$ph = $44; | |
| } | |
| } | |
| $56 = ($1|0)>(0); | |
| if ($56) { | |
| $$04448 = 0;$$049 = $$0$i47$ph; | |
| while(1) { | |
| $83 = (($2) + ($$04448<<2)|0); | |
| $84 = HEAP32[$83>>2]|0; | |
| $85 = ((($84)) + 8|0); | |
| $86 = HEAP16[$85>>1]|0; | |
| $87 = $86&65535; | |
| $88 = $87 & 4; | |
| $89 = ($88|0)==(0); | |
| do { | |
| if ($89) { | |
| $96 = $87 & 8; | |
| $97 = ($96|0)==(0); | |
| if (!($97)) { | |
| $98 = +HEAPF64[$84>>3]; | |
| $99 = (_doubleToInt64($98)|0); | |
| $100 = tempRet0; | |
| $105 = $100;$107 = $99; | |
| break; | |
| } | |
| $101 = $87 & 18; | |
| $102 = ($101|0)==(0); | |
| if ($102) { | |
| $105 = 0;$107 = 0; | |
| } else { | |
| $$idx$i$i = ((($84)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($84)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($84)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $103 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $104 = tempRet0; | |
| $105 = $104;$107 = $103; | |
| } | |
| } else { | |
| $90 = $84; | |
| $91 = $90; | |
| $92 = HEAP32[$91>>2]|0; | |
| $93 = (($90) + 4)|0; | |
| $94 = $93; | |
| $95 = HEAP32[$94>>2]|0; | |
| $105 = $95;$107 = $92; | |
| } | |
| } while(0); | |
| $106 = ($105>>>0)>(0); | |
| $108 = ($107>>>0)>(1114111); | |
| $109 = ($105|0)==(0); | |
| $110 = $109 & $108; | |
| $111 = $106 | $110; | |
| $112 = $107 & 2097151; | |
| $113 = $111 ? 65533 : $112; | |
| $114 = ($113>>>0)<(128); | |
| do { | |
| if ($114) { | |
| $115 = $113&255; | |
| $116 = ((($$049)) + 1|0); | |
| HEAP8[$$049>>0] = $115; | |
| $$1 = $116; | |
| } else { | |
| $117 = ($113>>>0)<(2048); | |
| $118 = $113 >>> 6; | |
| $119 = $113 & 63; | |
| $120 = $119 | 128; | |
| $121 = $120&255; | |
| if ($117) { | |
| $122 = $118 & 31; | |
| $123 = $122 | 192; | |
| $124 = $123&255; | |
| $125 = ((($$049)) + 1|0); | |
| HEAP8[$$049>>0] = $124; | |
| $126 = ((($$049)) + 2|0); | |
| HEAP8[$125>>0] = $121; | |
| $$1 = $126; | |
| break; | |
| } | |
| $127 = ($113>>>0)<(65536); | |
| $128 = $113 >>> 12; | |
| $129 = $118 & 63; | |
| $130 = $129 | 128; | |
| $131 = $130&255; | |
| if ($127) { | |
| $132 = $128 & 15; | |
| $133 = $132 | 224; | |
| $134 = $133&255; | |
| $135 = ((($$049)) + 1|0); | |
| HEAP8[$$049>>0] = $134; | |
| $136 = ((($$049)) + 2|0); | |
| HEAP8[$135>>0] = $131; | |
| $137 = ((($$049)) + 3|0); | |
| HEAP8[$136>>0] = $121; | |
| $$1 = $137; | |
| break; | |
| } else { | |
| $138 = $113 >>> 18; | |
| $139 = $138 | 240; | |
| $140 = $139&255; | |
| $141 = ((($$049)) + 1|0); | |
| HEAP8[$$049>>0] = $140; | |
| $142 = $128 & 63; | |
| $143 = $142 | 128; | |
| $144 = $143&255; | |
| $145 = ((($$049)) + 2|0); | |
| HEAP8[$141>>0] = $144; | |
| $146 = ((($$049)) + 3|0); | |
| HEAP8[$145>>0] = $131; | |
| $147 = ((($$049)) + 4|0); | |
| HEAP8[$146>>0] = $121; | |
| $$1 = $147; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $148 = (($$04448) + 1)|0; | |
| $exitcond = ($148|0)==($1|0); | |
| if ($exitcond) { | |
| $$0$lcssa = $$1; | |
| break; | |
| } else { | |
| $$04448 = $148;$$049 = $$1; | |
| } | |
| } | |
| } else { | |
| $$0$lcssa = $$0$i47$ph; | |
| } | |
| $149 = $$0$lcssa; | |
| $150 = $$0$i47$ph; | |
| $151 = (($149) - ($150))|0; | |
| $152 = ($151|0)<(0); | |
| if (!($152)) { | |
| $167 = HEAP32[$0>>2]|0; | |
| $168 = (_sqlite3VdbeMemSetStr($167,$$0$i47$ph,$151,1,148)|0); | |
| $169 = ($168|0)==(18); | |
| if (!($169)) { | |
| return; | |
| } | |
| $170 = ((($0)) + 20|0); | |
| HEAP32[$170>>2] = 18; | |
| $171 = ((($0)) + 25|0); | |
| HEAP8[$171>>0] = 1; | |
| $172 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($172,18992,-1,1,0)|0); | |
| return; | |
| } | |
| do { | |
| if (!((((148)|0)==(-1)))) { | |
| $153 = HEAP32[2]|0; | |
| $154 = ($153|0)==(0); | |
| if ($154) { | |
| $162 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$162 & 255]($$0$i47$ph); | |
| break; | |
| } else { | |
| $155 = HEAP32[(64)>>2]|0; | |
| $156 = (FUNCTION_TABLE_ii[$155 & 255]($$0$i47$ph)|0); | |
| $157 = HEAP32[11822]|0; | |
| $158 = (($157) - ($156))|0; | |
| HEAP32[11822] = $158; | |
| $159 = HEAP32[11825]|0; | |
| $160 = (($159) + -1)|0; | |
| HEAP32[11825] = $160; | |
| $161 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$161 & 255]($$0$i47$ph); | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $163 = ($0|0)==(0|0); | |
| if ($163) { | |
| return; | |
| } | |
| $164 = ((($0)) + 20|0); | |
| HEAP32[$164>>2] = 18; | |
| $165 = ((($0)) + 25|0); | |
| HEAP8[$165>>0] = 1; | |
| $166 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($166,18992,-1,1,0)|0); | |
| return; | |
| } | |
| } while(0); | |
| $60 = HEAP32[$0>>2]|0; | |
| $61 = ((($60)) + 8|0); | |
| $62 = HEAP16[$61>>1]|0; | |
| $63 = $62 & 9312; | |
| $64 = ($63<<16>>16)==(0); | |
| if ($64) { | |
| HEAP16[$61>>1] = 1; | |
| $68 = $60; | |
| } else { | |
| _vdbeMemClearExternAndSetNull($60); | |
| $$pre$i = HEAP32[$0>>2]|0; | |
| $68 = $$pre$i; | |
| } | |
| $65 = ((($0)) + 20|0); | |
| HEAP32[$65>>2] = 7; | |
| $66 = ((($0)) + 25|0); | |
| HEAP8[$66>>0] = 1; | |
| $67 = ((($68)) + 32|0); | |
| $69 = HEAP32[$67>>2]|0; | |
| $70 = ((($69)) + 73|0); | |
| $71 = HEAP8[$70>>0]|0; | |
| $72 = ($71<<24>>24)==(0); | |
| if (!($72)) { | |
| return; | |
| } | |
| $73 = ((($69)) + 74|0); | |
| $74 = HEAP8[$73>>0]|0; | |
| $75 = ($74<<24>>24)==(0); | |
| if (!($75)) { | |
| return; | |
| } | |
| HEAP8[$70>>0] = 1; | |
| $76 = ((($69)) + 172|0); | |
| $77 = HEAP32[$76>>2]|0; | |
| $78 = ($77|0)>(0); | |
| if ($78) { | |
| $79 = ((($69)) + 256|0); | |
| HEAP32[$79>>2] = 1; | |
| } | |
| $80 = ((($69)) + 264|0); | |
| $81 = HEAP32[$80>>2]|0; | |
| $82 = (($81) + 1)|0; | |
| HEAP32[$80>>2] = $82; | |
| return; | |
| } | |
| function _absFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0.0, $$0$$0$$0$$0$$0$$i$i$i = 0.0, $$0$$0$$0$$0$$0$2$i$i$i = 0.0, $$0$$0$$0$$0$$0$3$i$i$i = 0.0, $$0$i$i20 = 0.0, $$idx$i$i = 0, $$idx$i$i18 = 0, $$idx$val$i$i = 0, $$idx$val$i$i19 = 0, $$idx5$i$i = 0, $$idx5$val$i$i = 0, $$idx6$i$i = 0, $$idx6$val$i$i = 0, $$idx8$i$i = 0, $$idx8$val$i$i = 0, $$idx9$i$i = 0, $$idx9$val$i$i = 0, $10 = 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.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.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; | |
| var $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $3 = sp + 8|0; | |
| $4 = sp; | |
| $5 = HEAP32[$2>>2]|0; | |
| $6 = ((($5)) + 8|0); | |
| $7 = HEAP16[$6>>1]|0; | |
| $8 = $7 & 31; | |
| $9 = $8&65535; | |
| $10 = (19034 + ($9)|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| switch ($11<<24>>24) { | |
| case 1: { | |
| $12 = $7&65535; | |
| $13 = $12 & 4; | |
| $14 = ($13|0)==(0); | |
| do { | |
| if ($14) { | |
| $21 = $12 & 8; | |
| $22 = ($21|0)==(0); | |
| if (!($22)) { | |
| $23 = +HEAPF64[$5>>3]; | |
| $24 = (_doubleToInt64($23)|0); | |
| $25 = tempRet0; | |
| $30 = $25;$32 = $24; | |
| label = 8; | |
| break; | |
| } | |
| $26 = $12 & 18; | |
| $27 = ($26|0)==(0); | |
| if ($27) { | |
| $46 = 0;$47 = 0; | |
| } else { | |
| $$idx$i$i = ((($5)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($5)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($5)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $28 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $29 = tempRet0; | |
| $30 = $29;$32 = $28; | |
| label = 8; | |
| } | |
| } else { | |
| $15 = $5; | |
| $16 = $15; | |
| $17 = HEAP32[$16>>2]|0; | |
| $18 = (($15) + 4)|0; | |
| $19 = $18; | |
| $20 = HEAP32[$19>>2]|0; | |
| $30 = $20;$32 = $17; | |
| label = 8; | |
| } | |
| } while(0); | |
| do { | |
| if ((label|0) == 8) { | |
| $31 = ($30|0)<(0); | |
| if ($31) { | |
| $33 = ($32|0)==(0); | |
| $34 = ($30|0)==(-2147483648); | |
| $35 = $33 & $34; | |
| if (!($35)) { | |
| $39 = (_i64Subtract(0,0,($32|0),($30|0))|0); | |
| $40 = tempRet0; | |
| $46 = $39;$47 = $40; | |
| break; | |
| } | |
| $36 = ((($0)) + 20|0); | |
| HEAP32[$36>>2] = 1; | |
| $37 = ((($0)) + 25|0); | |
| HEAP8[$37>>0] = 1; | |
| $38 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($38,19017,-1,1,(-1))|0); | |
| STACKTOP = sp;return; | |
| } else { | |
| $46 = $32;$47 = $30; | |
| } | |
| } | |
| } while(0); | |
| $41 = HEAP32[$0>>2]|0; | |
| $42 = ((($41)) + 8|0); | |
| $43 = HEAP16[$42>>1]|0; | |
| $44 = $43 & 9312; | |
| $45 = ($44<<16>>16)==(0); | |
| if ($45) { | |
| $48 = $41; | |
| $49 = $48; | |
| HEAP32[$49>>2] = $46; | |
| $50 = (($48) + 4)|0; | |
| $51 = $50; | |
| HEAP32[$51>>2] = $47; | |
| HEAP16[$42>>1] = 4; | |
| STACKTOP = sp;return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($41,$46,$47); | |
| STACKTOP = sp;return; | |
| } | |
| break; | |
| } | |
| case 5: { | |
| $52 = HEAP32[$0>>2]|0; | |
| $53 = ((($52)) + 8|0); | |
| $54 = HEAP16[$53>>1]|0; | |
| $55 = $54 & 9312; | |
| $56 = ($55<<16>>16)==(0); | |
| if ($56) { | |
| HEAP16[$53>>1] = 1; | |
| STACKTOP = sp;return; | |
| } else { | |
| _vdbeMemClearExternAndSetNull($52); | |
| STACKTOP = sp;return; | |
| } | |
| break; | |
| } | |
| default: { | |
| $57 = $7&65535; | |
| $58 = $57 & 8; | |
| $59 = ($58|0)==(0); | |
| do { | |
| if ($59) { | |
| $61 = $57 & 4; | |
| $62 = ($61|0)==(0); | |
| if (!($62)) { | |
| $63 = $5; | |
| $64 = $63; | |
| $65 = HEAP32[$64>>2]|0; | |
| $66 = (($63) + 4)|0; | |
| $67 = $66; | |
| $68 = HEAP32[$67>>2]|0; | |
| $69 = (+($65>>>0)) + (4294967296.0*(+($68|0))); | |
| $$0$i$i20 = $69; | |
| break; | |
| } | |
| $70 = $57 & 18; | |
| $71 = ($70|0)==(0); | |
| if ($71) { | |
| $$0$i$i20 = 0.0; | |
| } else { | |
| $$idx$i$i18 = ((($5)) + 10|0); | |
| $$idx$val$i$i19 = HEAP8[$$idx$i$i18>>0]|0; | |
| $$idx5$i$i = ((($5)) + 12|0); | |
| $$idx5$val$i$i = HEAP32[$$idx5$i$i>>2]|0; | |
| $$idx6$i$i = ((($5)) + 16|0); | |
| $$idx6$val$i$i = HEAP32[$$idx6$i$i>>2]|0; | |
| $72 = (+_memRealValue($$idx$val$i$i19,$$idx5$val$i$i,$$idx6$val$i$i)); | |
| $$0$i$i20 = $72; | |
| } | |
| } else { | |
| $60 = +HEAPF64[$5>>3]; | |
| $$0$i$i20 = $60; | |
| } | |
| } while(0); | |
| $73 = $$0$i$i20 < 0.0; | |
| $74 = -$$0$i$i20; | |
| $$0 = $73 ? $74 : $$0$i$i20; | |
| $75 = HEAP32[$0>>2]|0; | |
| $76 = ((($75)) + 8|0); | |
| $77 = HEAP16[$76>>1]|0; | |
| $78 = $77 & 9312; | |
| $79 = ($78<<16>>16)==(0); | |
| if ($79) { | |
| HEAP16[$76>>1] = 1; | |
| } else { | |
| _vdbeMemClearExternAndSetNull($75); | |
| } | |
| HEAPF64[$3>>3] = $$0; | |
| $$0$$0$$0$$0$$0$2$i$i$i = +HEAPF64[$3>>3]; | |
| HEAPF64[$4>>3] = $$0$$0$$0$$0$$0$2$i$i$i; | |
| $$0$$0$$0$$0$$0$3$i$i$i = +HEAPF64[$3>>3]; | |
| $$0$$0$$0$$0$$0$$i$i$i = +HEAPF64[$4>>3]; | |
| $80 = $$0$$0$$0$$0$$0$3$i$i$i != $$0$$0$$0$$0$$0$$i$i$i; | |
| if ($80) { | |
| STACKTOP = sp;return; | |
| } | |
| HEAPF64[$75>>3] = $$0; | |
| HEAP16[$76>>1] = 8; | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| } | |
| function _roundFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$ = 0, $$$ = 0, $$0 = 0, $$0$$0$$0$$0$$0$$i$i$i = 0.0, $$0$$0$$0$$0$$0$2$i$i$i = 0.0, $$0$$0$$0$$0$$0$3$i$i$i = 0.0, $$0$i$i = 0.0, $$0$i$off0$i = 0, $$idx$i$i = 0, $$idx$i$i24 = 0, $$idx$val$i$i = 0, $$idx$val$i$i25 = 0, $$idx5$i$i = 0, $$idx5$val$i$i = 0, $$idx6$i$i = 0, $$idx6$val$i$i = 0, $$idx8$i$i = 0, $$idx8$val$i$i = 0, $$idx9$i$i = 0, $$idx9$val$i$i = 0; | |
| var $$pre$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.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; | |
| var $117 = 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.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.0, $48 = 0; | |
| var $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.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0; | |
| var $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.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$cond23 = 0, $or$cond3 = 0, $or$cond5 = 0; | |
| var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 48|0; | |
| $vararg_buffer = sp + 24|0; | |
| $3 = sp + 16|0; | |
| $4 = sp + 8|0; | |
| $5 = sp; | |
| $6 = ($1|0)==(2); | |
| if ($6) { | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = ((($8)) + 8|0); | |
| $10 = HEAP16[$9>>1]|0; | |
| $11 = $10 & 31; | |
| $12 = $11&65535; | |
| $13 = -1431655766 >>> $12; | |
| $14 = $13 & 1; | |
| $15 = ($14|0)==(0); | |
| if (!($15)) { | |
| STACKTOP = sp;return; | |
| } | |
| $16 = $10&65535; | |
| $17 = $16 & 4; | |
| $18 = ($17|0)==(0); | |
| do { | |
| if ($18) { | |
| $25 = $16 & 8; | |
| $26 = ($25|0)==(0); | |
| if (!($26)) { | |
| $27 = +HEAPF64[$8>>3]; | |
| $28 = (_doubleToInt64($27)|0); | |
| $29 = tempRet0; | |
| $$0$i$off0$i = $28; | |
| break; | |
| } | |
| $30 = $16 & 18; | |
| $31 = ($30|0)==(0); | |
| if ($31) { | |
| $$0$i$off0$i = 0; | |
| } else { | |
| $$idx$i$i = ((($8)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($8)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($8)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $32 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $33 = tempRet0; | |
| $$0$i$off0$i = $32; | |
| } | |
| } else { | |
| $19 = $8; | |
| $20 = $19; | |
| $21 = HEAP32[$20>>2]|0; | |
| $22 = (($19) + 4)|0; | |
| $23 = $22; | |
| $24 = HEAP32[$23>>2]|0; | |
| $$0$i$off0$i = $21; | |
| } | |
| } while(0); | |
| $34 = ($$0$i$off0$i|0)<(30); | |
| $$ = $34 ? $$0$i$off0$i : 30; | |
| $35 = ($$0$i$off0$i|0)>(0); | |
| $$$ = $35 ? $$ : 0; | |
| $$0 = $$$; | |
| } else { | |
| $$0 = 0; | |
| } | |
| $36 = HEAP32[$2>>2]|0; | |
| $37 = ((($36)) + 8|0); | |
| $38 = HEAP16[$37>>1]|0; | |
| $39 = $38 & 31; | |
| $40 = $39&65535; | |
| $41 = -1431655766 >>> $40; | |
| $42 = $41 & 1; | |
| $43 = ($42|0)==(0); | |
| if (!($43)) { | |
| STACKTOP = sp;return; | |
| } | |
| $44 = $38&65535; | |
| $45 = $44 & 8; | |
| $46 = ($45|0)==(0); | |
| do { | |
| if ($46) { | |
| $48 = $44 & 4; | |
| $49 = ($48|0)==(0); | |
| if (!($49)) { | |
| $50 = $36; | |
| $51 = $50; | |
| $52 = HEAP32[$51>>2]|0; | |
| $53 = (($50) + 4)|0; | |
| $54 = $53; | |
| $55 = HEAP32[$54>>2]|0; | |
| $56 = (+($52>>>0)) + (4294967296.0*(+($55|0))); | |
| $$0$i$i = $56; | |
| break; | |
| } | |
| $57 = $44 & 18; | |
| $58 = ($57|0)==(0); | |
| if ($58) { | |
| $$0$i$i = 0.0; | |
| } else { | |
| $$idx$i$i24 = ((($36)) + 10|0); | |
| $$idx$val$i$i25 = HEAP8[$$idx$i$i24>>0]|0; | |
| $$idx5$i$i = ((($36)) + 12|0); | |
| $$idx5$val$i$i = HEAP32[$$idx5$i$i>>2]|0; | |
| $$idx6$i$i = ((($36)) + 16|0); | |
| $$idx6$val$i$i = HEAP32[$$idx6$i$i>>2]|0; | |
| $59 = (+_memRealValue($$idx$val$i$i25,$$idx5$val$i$i,$$idx6$val$i$i)); | |
| $$0$i$i = $59; | |
| } | |
| } else { | |
| $47 = +HEAPF64[$36>>3]; | |
| $$0$i$i = $47; | |
| } | |
| } while(0); | |
| HEAPF64[$5>>3] = $$0$i$i; | |
| $60 = ($$0|0)==(0); | |
| $61 = $$0$i$i >= 0.0; | |
| $or$cond = $60 & $61; | |
| $62 = $$0$i$i < 9.2233720368547758E+18; | |
| $or$cond3 = $62 & $or$cond; | |
| do { | |
| if ($or$cond3) { | |
| $63 = $$0$i$i + 0.5; | |
| $64 = (~~$63)>>>0; | |
| $65 = +Math_abs($63) >= 1.0 ? $63 > 0.0 ? (~~+Math_min(+Math_floor($63 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($63 - +(~~$63 >>> 0)) / 4294967296.0) >>> 0 : 0; | |
| $66 = (+($64>>>0)) + (4294967296.0*(+($65|0))); | |
| HEAPF64[$5>>3] = $66; | |
| } else { | |
| $67 = $$0$i$i < 0.0; | |
| $or$cond5 = $60 & $67; | |
| $68 = $$0$i$i > -9.2233720368547758E+18; | |
| $or$cond23 = $68 & $or$cond5; | |
| if ($or$cond23) { | |
| $69 = 0.5 - $$0$i$i; | |
| $70 = (~~$69)>>>0; | |
| $71 = +Math_abs($69) >= 1.0 ? $69 > 0.0 ? (~~+Math_min(+Math_floor($69 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($69 - +(~~$69 >>> 0)) / 4294967296.0) >>> 0 : 0; | |
| $72 = (+($70>>>0)) + (4294967296.0*(+($71|0))); | |
| $73 = -$72; | |
| HEAPF64[$5>>3] = $73; | |
| break; | |
| } | |
| HEAP32[$vararg_buffer>>2] = $$0; | |
| $vararg_ptr1 = ((($vararg_buffer)) + 8|0); | |
| HEAPF64[$vararg_ptr1>>3] = $$0$i$i; | |
| $74 = (_sqlite3_mprintf(19115,$vararg_buffer)|0); | |
| $75 = ($74|0)==(0|0); | |
| if (!($75)) { | |
| $99 = (_strlen($74)|0); | |
| $100 = $99 & 1073741823; | |
| (_sqlite3AtoF($74,$5,$100,1)|0); | |
| $101 = HEAP32[2]|0; | |
| $102 = ($101|0)==(0); | |
| if ($102) { | |
| $110 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$110 & 255]($74); | |
| break; | |
| } else { | |
| $103 = HEAP32[(64)>>2]|0; | |
| $104 = (FUNCTION_TABLE_ii[$103 & 255]($74)|0); | |
| $105 = HEAP32[11822]|0; | |
| $106 = (($105) - ($104))|0; | |
| HEAP32[11822] = $106; | |
| $107 = HEAP32[11825]|0; | |
| $108 = (($107) + -1)|0; | |
| HEAP32[11825] = $108; | |
| $109 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$109 & 255]($74); | |
| break; | |
| } | |
| } | |
| $76 = HEAP32[$0>>2]|0; | |
| $77 = ((($76)) + 8|0); | |
| $78 = HEAP16[$77>>1]|0; | |
| $79 = $78 & 9312; | |
| $80 = ($79<<16>>16)==(0); | |
| if ($80) { | |
| HEAP16[$77>>1] = 1; | |
| $84 = $76; | |
| } else { | |
| _vdbeMemClearExternAndSetNull($76); | |
| $$pre$i = HEAP32[$0>>2]|0; | |
| $84 = $$pre$i; | |
| } | |
| $81 = ((($0)) + 20|0); | |
| HEAP32[$81>>2] = 7; | |
| $82 = ((($0)) + 25|0); | |
| HEAP8[$82>>0] = 1; | |
| $83 = ((($84)) + 32|0); | |
| $85 = HEAP32[$83>>2]|0; | |
| $86 = ((($85)) + 73|0); | |
| $87 = HEAP8[$86>>0]|0; | |
| $88 = ($87<<24>>24)==(0); | |
| if (!($88)) { | |
| STACKTOP = sp;return; | |
| } | |
| $89 = ((($85)) + 74|0); | |
| $90 = HEAP8[$89>>0]|0; | |
| $91 = ($90<<24>>24)==(0); | |
| if (!($91)) { | |
| STACKTOP = sp;return; | |
| } | |
| HEAP8[$86>>0] = 1; | |
| $92 = ((($85)) + 172|0); | |
| $93 = HEAP32[$92>>2]|0; | |
| $94 = ($93|0)>(0); | |
| if ($94) { | |
| $95 = ((($85)) + 256|0); | |
| HEAP32[$95>>2] = 1; | |
| } | |
| $96 = ((($85)) + 264|0); | |
| $97 = HEAP32[$96>>2]|0; | |
| $98 = (($97) + 1)|0; | |
| HEAP32[$96>>2] = $98; | |
| STACKTOP = sp;return; | |
| } | |
| } while(0); | |
| $111 = +HEAPF64[$5>>3]; | |
| $112 = HEAP32[$0>>2]|0; | |
| $113 = ((($112)) + 8|0); | |
| $114 = HEAP16[$113>>1]|0; | |
| $115 = $114 & 9312; | |
| $116 = ($115<<16>>16)==(0); | |
| if ($116) { | |
| HEAP16[$113>>1] = 1; | |
| } else { | |
| _vdbeMemClearExternAndSetNull($112); | |
| } | |
| HEAPF64[$3>>3] = $111; | |
| $$0$$0$$0$$0$$0$2$i$i$i = +HEAPF64[$3>>3]; | |
| HEAPF64[$4>>3] = $$0$$0$$0$$0$$0$2$i$i$i; | |
| $$0$$0$$0$$0$$0$3$i$i$i = +HEAPF64[$3>>3]; | |
| $$0$$0$$0$$0$$0$$i$i$i = +HEAPF64[$4>>3]; | |
| $117 = $$0$$0$$0$$0$$0$3$i$i$i != $$0$$0$$0$$0$$0$$i$i$i; | |
| if ($117) { | |
| STACKTOP = sp;return; | |
| } | |
| HEAPF64[$112>>3] = $111; | |
| HEAP16[$113>>1] = 8; | |
| STACKTOP = sp;return; | |
| } | |
| function _upperFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0, $$0$i$i25 = 0, $$026 = 0, $$not = 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, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5&65535; | |
| $7 = $6 & 514; | |
| $8 = ($7|0)==(514); | |
| if ($8) { | |
| $9 = ((($3)) + 10|0); | |
| $10 = HEAP8[$9>>0]|0; | |
| $11 = ($10<<24>>24)==(1); | |
| if ($11) { | |
| $12 = ((($3)) + 16|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $$0$i$i = $13;$18 = $3; | |
| } else { | |
| label = 4; | |
| } | |
| } else { | |
| label = 4; | |
| } | |
| if ((label|0) == 4) { | |
| $14 = $6 & 1; | |
| $15 = ($14|0)==(0); | |
| if ($15) { | |
| $16 = (_valueToText($3,1)|0); | |
| $$pre = HEAP32[$2>>2]|0; | |
| $$0$i$i = $16;$18 = $$pre; | |
| } else { | |
| $$0$i$i = 0;$18 = $3; | |
| } | |
| } | |
| $17 = ((($18)) + 8|0); | |
| $19 = HEAP16[$17>>1]|0; | |
| $20 = $19&65535; | |
| $21 = $20 & 2; | |
| $22 = ($21|0)==(0); | |
| if ($22) { | |
| label = 9; | |
| } else { | |
| $23 = ((($18)) + 10|0); | |
| $24 = HEAP8[$23>>0]|0; | |
| $25 = ($24<<24>>24)==(1); | |
| if ($25) { | |
| $26 = ((($18)) + 12|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| $$0$i$i25 = $27; | |
| } else { | |
| label = 9; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 9) { | |
| $28 = $20 & 16; | |
| $29 = ($28|0)==(0); | |
| if ($29) { | |
| $36 = $20 & 1; | |
| $37 = ($36|0)==(0); | |
| if (!($37)) { | |
| $$0$i$i25 = 0; | |
| break; | |
| } | |
| $38 = (_valueBytes($18,1)|0); | |
| $$0$i$i25 = $38; | |
| break; | |
| } else { | |
| $30 = $20 & 16384; | |
| $31 = ($30|0)==(0); | |
| $32 = ((($18)) + 12|0); | |
| $33 = HEAP32[$32>>2]|0; | |
| if ($31) { | |
| $$0$i$i25 = $33; | |
| break; | |
| } | |
| $34 = HEAP32[$18>>2]|0; | |
| $35 = (($34) + ($33))|0; | |
| $$0$i$i25 = $35; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $39 = ($$0$i$i|0)==(0|0); | |
| if ($39) { | |
| return; | |
| } | |
| $40 = ($$0$i$i25|0)<(0); | |
| $41 = $40 << 31 >> 31; | |
| $42 = (_i64Add(($$0$i$i25|0),($41|0),1,0)|0); | |
| $43 = tempRet0; | |
| $44 = (_contextMalloc($0,$42,$43)|0); | |
| $45 = ($44|0)==(0|0); | |
| if ($45) { | |
| return; | |
| } | |
| $46 = ($$0$i$i25|0)>(0); | |
| if ($46) { | |
| $$026 = 0; | |
| while(1) { | |
| $47 = (($$0$i$i) + ($$026)|0); | |
| $48 = HEAP8[$47>>0]|0; | |
| $49 = $48&255; | |
| $50 = (18220 + ($49)|0); | |
| $51 = HEAP8[$50>>0]|0; | |
| $$not = $51 | -33; | |
| $52 = $$not ^ 32; | |
| $53 = $52 & $48; | |
| $54 = (($44) + ($$026)|0); | |
| HEAP8[$54>>0] = $53; | |
| $55 = (($$026) + 1)|0; | |
| $exitcond = ($55|0)==($$0$i$i25|0); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$026 = $55; | |
| } | |
| } | |
| } | |
| $56 = HEAP32[$0>>2]|0; | |
| $57 = (_sqlite3VdbeMemSetStr($56,$44,$$0$i$i25,1,148)|0); | |
| $58 = ($57|0)==(18); | |
| if (!($58)) { | |
| return; | |
| } | |
| $59 = ((($0)) + 20|0); | |
| HEAP32[$59>>2] = 18; | |
| $60 = ((($0)) + 25|0); | |
| HEAP8[$60>>0] = 1; | |
| $61 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($61,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _lowerFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0, $$0$i$i23 = 0, $$024 = 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; | |
| 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, $7 = 0, $8 = 0; | |
| var $9 = 0, $exitcond = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5&65535; | |
| $7 = $6 & 514; | |
| $8 = ($7|0)==(514); | |
| if ($8) { | |
| $9 = ((($3)) + 10|0); | |
| $10 = HEAP8[$9>>0]|0; | |
| $11 = ($10<<24>>24)==(1); | |
| if ($11) { | |
| $12 = ((($3)) + 16|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $$0$i$i = $13;$18 = $3; | |
| } else { | |
| label = 4; | |
| } | |
| } else { | |
| label = 4; | |
| } | |
| if ((label|0) == 4) { | |
| $14 = $6 & 1; | |
| $15 = ($14|0)==(0); | |
| if ($15) { | |
| $16 = (_valueToText($3,1)|0); | |
| $$pre = HEAP32[$2>>2]|0; | |
| $$0$i$i = $16;$18 = $$pre; | |
| } else { | |
| $$0$i$i = 0;$18 = $3; | |
| } | |
| } | |
| $17 = ((($18)) + 8|0); | |
| $19 = HEAP16[$17>>1]|0; | |
| $20 = $19&65535; | |
| $21 = $20 & 2; | |
| $22 = ($21|0)==(0); | |
| if ($22) { | |
| label = 9; | |
| } else { | |
| $23 = ((($18)) + 10|0); | |
| $24 = HEAP8[$23>>0]|0; | |
| $25 = ($24<<24>>24)==(1); | |
| if ($25) { | |
| $26 = ((($18)) + 12|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| $$0$i$i23 = $27; | |
| } else { | |
| label = 9; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 9) { | |
| $28 = $20 & 16; | |
| $29 = ($28|0)==(0); | |
| if ($29) { | |
| $36 = $20 & 1; | |
| $37 = ($36|0)==(0); | |
| if (!($37)) { | |
| $$0$i$i23 = 0; | |
| break; | |
| } | |
| $38 = (_valueBytes($18,1)|0); | |
| $$0$i$i23 = $38; | |
| break; | |
| } else { | |
| $30 = $20 & 16384; | |
| $31 = ($30|0)==(0); | |
| $32 = ((($18)) + 12|0); | |
| $33 = HEAP32[$32>>2]|0; | |
| if ($31) { | |
| $$0$i$i23 = $33; | |
| break; | |
| } | |
| $34 = HEAP32[$18>>2]|0; | |
| $35 = (($34) + ($33))|0; | |
| $$0$i$i23 = $35; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $39 = ($$0$i$i|0)==(0|0); | |
| if ($39) { | |
| return; | |
| } | |
| $40 = ($$0$i$i23|0)<(0); | |
| $41 = $40 << 31 >> 31; | |
| $42 = (_i64Add(($$0$i$i23|0),($41|0),1,0)|0); | |
| $43 = tempRet0; | |
| $44 = (_contextMalloc($0,$42,$43)|0); | |
| $45 = ($44|0)==(0|0); | |
| if ($45) { | |
| return; | |
| } | |
| $46 = ($$0$i$i23|0)>(0); | |
| if ($46) { | |
| $$024 = 0; | |
| while(1) { | |
| $47 = (($$0$i$i) + ($$024)|0); | |
| $48 = HEAP8[$47>>0]|0; | |
| $49 = $48&255; | |
| $50 = (17324 + ($49)|0); | |
| $51 = HEAP8[$50>>0]|0; | |
| $52 = (($44) + ($$024)|0); | |
| HEAP8[$52>>0] = $51; | |
| $53 = (($$024) + 1)|0; | |
| $exitcond = ($53|0)==($$0$i$i23|0); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$024 = $53; | |
| } | |
| } | |
| } | |
| $54 = HEAP32[$0>>2]|0; | |
| $55 = (_sqlite3VdbeMemSetStr($54,$44,$$0$i$i23,1,148)|0); | |
| $56 = ($55|0)==(18); | |
| if (!($56)) { | |
| return; | |
| } | |
| $57 = ((($0)) + 20|0); | |
| HEAP32[$57>>2] = 18; | |
| $58 = ((($0)) + 25|0); | |
| HEAP8[$58>>0] = 1; | |
| $59 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($59,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _hexFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0, $$027$lcssa = 0, $$02730 = 0, $$02829 = 0, $$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; | |
| 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $scevgep = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = (_sqlite3_value_blob($3)|0); | |
| $5 = HEAP32[$2>>2]|0; | |
| $6 = ((($5)) + 8|0); | |
| $7 = HEAP16[$6>>1]|0; | |
| $8 = $7&65535; | |
| $9 = $8 & 2; | |
| $10 = ($9|0)==(0); | |
| if ($10) { | |
| label = 4; | |
| } else { | |
| $11 = ((($5)) + 10|0); | |
| $12 = HEAP8[$11>>0]|0; | |
| $13 = ($12<<24>>24)==(1); | |
| if ($13) { | |
| $14 = ((($5)) + 12|0); | |
| $15 = HEAP32[$14>>2]|0; | |
| $$0$i$i = $15; | |
| } else { | |
| label = 4; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 4) { | |
| $16 = $8 & 16; | |
| $17 = ($16|0)==(0); | |
| if ($17) { | |
| $24 = $8 & 1; | |
| $25 = ($24|0)==(0); | |
| if (!($25)) { | |
| $$0$i$i = 0; | |
| break; | |
| } | |
| $26 = (_valueBytes($5,1)|0); | |
| $$0$i$i = $26; | |
| break; | |
| } else { | |
| $18 = $8 & 16384; | |
| $19 = ($18|0)==(0); | |
| $20 = ((($5)) + 12|0); | |
| $21 = HEAP32[$20>>2]|0; | |
| if ($19) { | |
| $$0$i$i = $21; | |
| break; | |
| } | |
| $22 = HEAP32[$5>>2]|0; | |
| $23 = (($22) + ($21))|0; | |
| $$0$i$i = $23; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $27 = ($$0$i$i|0)<(0); | |
| $28 = $27 << 31 >> 31; | |
| $29 = (_bitshift64Shl(($$0$i$i|0),($28|0),1)|0); | |
| $30 = tempRet0; | |
| $31 = $29 | 1; | |
| $32 = (_contextMalloc($0,$31,$30)|0); | |
| $33 = ($32|0)==(0|0); | |
| if ($33) { | |
| return; | |
| } | |
| $34 = ($$0$i$i|0)>(0); | |
| $35 = $$0$i$i << 1; | |
| if ($34) { | |
| $$02730 = $32;$$02829 = $4;$$031 = 0; | |
| while(1) { | |
| $36 = HEAP8[$$02829>>0]|0; | |
| $37 = $36&255; | |
| $38 = $37 >>> 4; | |
| $39 = (19099 + ($38)|0); | |
| $40 = HEAP8[$39>>0]|0; | |
| $41 = ((($$02730)) + 1|0); | |
| HEAP8[$$02730>>0] = $40; | |
| $42 = $37 & 15; | |
| $43 = (19099 + ($42)|0); | |
| $44 = HEAP8[$43>>0]|0; | |
| $45 = ((($$02730)) + 2|0); | |
| HEAP8[$41>>0] = $44; | |
| $46 = (($$031) + 1)|0; | |
| $47 = ((($$02829)) + 1|0); | |
| $exitcond = ($46|0)==($$0$i$i|0); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$02730 = $45;$$02829 = $47;$$031 = $46; | |
| } | |
| } | |
| $scevgep = (($32) + ($35)|0); | |
| $$027$lcssa = $scevgep; | |
| } else { | |
| $$027$lcssa = $32; | |
| } | |
| HEAP8[$$027$lcssa>>0] = 0; | |
| $48 = HEAP32[$0>>2]|0; | |
| $49 = (_sqlite3VdbeMemSetStr($48,$32,$35,1,148)|0); | |
| $50 = ($49|0)==(18); | |
| if (!($50)) { | |
| return; | |
| } | |
| $51 = ((($0)) + 20|0); | |
| HEAP32[$51>>2] = 18; | |
| $52 = ((($0)) + 25|0); | |
| HEAP8[$52>>0] = 1; | |
| $53 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($53,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _randomFunc($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, $3 = 0; | |
| var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $3 = sp; | |
| _sqlite3_randomness(8,$3); | |
| $4 = $3; | |
| $5 = $4; | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = (($4) + 4)|0; | |
| $8 = $7; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = ($9|0)<(0); | |
| if ($10) { | |
| $11 = $9 & 2147483647; | |
| $12 = (_i64Subtract(0,0,($6|0),($11|0))|0); | |
| $13 = tempRet0; | |
| $14 = $3; | |
| $15 = $14; | |
| HEAP32[$15>>2] = $12; | |
| $16 = (($14) + 4)|0; | |
| $17 = $16; | |
| HEAP32[$17>>2] = $13; | |
| $23 = $12;$24 = $13; | |
| } else { | |
| $23 = $6;$24 = $9; | |
| } | |
| $18 = HEAP32[$0>>2]|0; | |
| $19 = ((($18)) + 8|0); | |
| $20 = HEAP16[$19>>1]|0; | |
| $21 = $20 & 9312; | |
| $22 = ($21<<16>>16)==(0); | |
| if ($22) { | |
| $25 = $18; | |
| $26 = $25; | |
| HEAP32[$26>>2] = $23; | |
| $27 = (($25) + 4)|0; | |
| $28 = $27; | |
| HEAP32[$28>>2] = $24; | |
| HEAP16[$19>>1] = 4; | |
| STACKTOP = sp;return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($18,$23,$24); | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| function _randomBlob($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$ = 0, $$0$i$off0$i = 0, $$idx$i$i = 0, $$idx$val$i$i = 0, $$idx8$i$i = 0, $$idx8$val$i$i = 0, $$idx9$i$i = 0, $$idx9$val$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5&65535; | |
| $7 = $6 & 4; | |
| $8 = ($7|0)==(0); | |
| do { | |
| if ($8) { | |
| $15 = $6 & 8; | |
| $16 = ($15|0)==(0); | |
| if (!($16)) { | |
| $17 = +HEAPF64[$3>>3]; | |
| $18 = (_doubleToInt64($17)|0); | |
| $19 = tempRet0; | |
| $$0$i$off0$i = $18; | |
| break; | |
| } | |
| $20 = $6 & 18; | |
| $21 = ($20|0)==(0); | |
| if ($21) { | |
| $$0$i$off0$i = 0; | |
| } else { | |
| $$idx$i$i = ((($3)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($3)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($3)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $22 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $23 = tempRet0; | |
| $$0$i$off0$i = $22; | |
| } | |
| } else { | |
| $9 = $3; | |
| $10 = $9; | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (($9) + 4)|0; | |
| $13 = $12; | |
| $14 = HEAP32[$13>>2]|0; | |
| $$0$i$off0$i = $11; | |
| } | |
| } while(0); | |
| $24 = ($$0$i$off0$i|0)>(1); | |
| $$ = $24 ? $$0$i$off0$i : 1; | |
| $25 = (_contextMalloc($0,$$,0)|0); | |
| $26 = ($25|0)==(0|0); | |
| if ($26) { | |
| return; | |
| } | |
| _sqlite3_randomness($$,$25); | |
| $27 = HEAP32[$0>>2]|0; | |
| $28 = (_sqlite3VdbeMemSetStr($27,$25,$$,0,148)|0); | |
| $29 = ($28|0)==(18); | |
| if (!($29)) { | |
| return; | |
| } | |
| $30 = ((($0)) + 20|0); | |
| HEAP32[$30>>2] = 18; | |
| $31 = ((($0)) + 25|0); | |
| HEAP8[$31>>0] = 1; | |
| $32 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($32,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _nullifFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$idx = 0, $$idx$val = 0, $$idx$val$idx = 0, $$idx$val$idx$val = 0, $$idx7 = 0, $$idx7$val = 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; | |
| $$idx = ((($0)) + 12|0); | |
| $$idx$val = HEAP32[$$idx>>2]|0; | |
| $$idx7 = ((($0)) + 16|0); | |
| $$idx7$val = HEAP32[$$idx7>>2]|0; | |
| $$idx$val$idx = ((($$idx$val)) + 88|0); | |
| $$idx$val$idx$val = HEAP32[$$idx$val$idx>>2]|0; | |
| $3 = (($$idx7$val) + -1)|0; | |
| $4 = (((($$idx$val$idx$val) + (($3*20)|0)|0)) + 16|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = HEAP32[$2>>2]|0; | |
| $7 = ((($2)) + 4|0); | |
| $8 = HEAP32[$7>>2]|0; | |
| $9 = (_sqlite3MemCompare($6,$8,$5)|0); | |
| $10 = ($9|0)==(0); | |
| if ($10) { | |
| return; | |
| } | |
| $11 = HEAP32[$2>>2]|0; | |
| _sqlite3_result_value($0,$11); | |
| return; | |
| } | |
| function _sourceidFunc($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 = HEAP32[$0>>2]|0; | |
| $4 = (_sqlite3VdbeMemSetStr($3,17032,-1,1,0)|0); | |
| $5 = ($4|0)==(18); | |
| if (!($5)) { | |
| return; | |
| } | |
| $6 = ((($0)) + 20|0); | |
| HEAP32[$6>>2] = 18; | |
| $7 = ((($0)) + 25|0); | |
| HEAP8[$7>>0] = 1; | |
| $8 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($8,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _errlogFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0, $$0$i$off0$i = 0, $$idx$i$i = 0, $$idx$val$i$i = 0, $$idx8$i$i = 0, $$idx8$val$i$i = 0, $$idx9$i$i = 0, $$idx9$val$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $vararg_buffer = sp; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5&65535; | |
| $7 = $6 & 4; | |
| $8 = ($7|0)==(0); | |
| do { | |
| if ($8) { | |
| $15 = $6 & 8; | |
| $16 = ($15|0)==(0); | |
| if (!($16)) { | |
| $17 = +HEAPF64[$3>>3]; | |
| $18 = (_doubleToInt64($17)|0); | |
| $19 = tempRet0; | |
| $$0$i$off0$i = $18; | |
| break; | |
| } | |
| $20 = $6 & 18; | |
| $21 = ($20|0)==(0); | |
| if ($21) { | |
| $$0$i$off0$i = 0; | |
| } else { | |
| $$idx$i$i = ((($3)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($3)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($3)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $22 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $23 = tempRet0; | |
| $$0$i$off0$i = $22; | |
| } | |
| } else { | |
| $9 = $3; | |
| $10 = $9; | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (($9) + 4)|0; | |
| $13 = $12; | |
| $14 = HEAP32[$13>>2]|0; | |
| $$0$i$off0$i = $11; | |
| } | |
| } while(0); | |
| $24 = ((($2)) + 4|0); | |
| $25 = HEAP32[$24>>2]|0; | |
| $26 = ($25|0)==(0|0); | |
| do { | |
| if ($26) { | |
| $$0$i$i = 0; | |
| } else { | |
| $27 = ((($25)) + 8|0); | |
| $28 = HEAP16[$27>>1]|0; | |
| $29 = $28&65535; | |
| $30 = $29 & 514; | |
| $31 = ($30|0)==(514); | |
| if ($31) { | |
| $32 = ((($25)) + 10|0); | |
| $33 = HEAP8[$32>>0]|0; | |
| $34 = ($33<<24>>24)==(1); | |
| if ($34) { | |
| $35 = ((($25)) + 16|0); | |
| $36 = HEAP32[$35>>2]|0; | |
| $$0$i$i = $36; | |
| break; | |
| } | |
| } | |
| $37 = $29 & 1; | |
| $38 = ($37|0)==(0); | |
| if ($38) { | |
| $39 = (_valueToText($25,1)|0); | |
| $$0$i$i = $39; | |
| } else { | |
| $$0$i$i = 0; | |
| } | |
| } | |
| } while(0); | |
| HEAP32[$vararg_buffer>>2] = $$0$i$i; | |
| _sqlite3_log($$0$i$off0$i,17859,$vararg_buffer); | |
| STACKTOP = sp;return; | |
| } | |
| function _quoteFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0.0, $$0$i$i90 = 0, $$0$i$i92 = 0, $$08598 = 0, $$087 = 0, $$096 = 0, $$186 = 0, $$18897 = 0, $$idx$i$i = 0, $$idx$val$i$i = 0, $$idx5$i$i = 0, $$idx5$val$i$i = 0, $$idx6$i$i = 0, $$idx6$val$i$i = 0, $$lcssa = 0, $$lcssa95 = 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.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, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; | |
| var $27 = 0.0, $28 = 0.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 $exitcond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 80|0; | |
| $vararg_buffer1 = sp + 16|0; | |
| $vararg_buffer = sp + 8|0; | |
| $3 = sp; | |
| $4 = sp + 24|0; | |
| $5 = HEAP32[$2>>2]|0; | |
| $6 = ((($5)) + 8|0); | |
| $7 = HEAP16[$6>>1]|0; | |
| $8 = $7 & 31; | |
| $9 = $8&65535; | |
| $10 = (19034 + ($9)|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| switch ($11<<24>>24) { | |
| case 2: { | |
| $12 = $7&65535; | |
| $13 = $12 & 8; | |
| $14 = ($13|0)==(0); | |
| do { | |
| if ($14) { | |
| $16 = $12 & 4; | |
| $17 = ($16|0)==(0); | |
| if (!($17)) { | |
| $18 = $5; | |
| $19 = $18; | |
| $20 = HEAP32[$19>>2]|0; | |
| $21 = (($18) + 4)|0; | |
| $22 = $21; | |
| $23 = HEAP32[$22>>2]|0; | |
| $24 = (+($20>>>0)) + (4294967296.0*(+($23|0))); | |
| $$0$i$i = $24; | |
| break; | |
| } | |
| $25 = $12 & 18; | |
| $26 = ($25|0)==(0); | |
| if ($26) { | |
| $$0$i$i = 0.0; | |
| } else { | |
| $$idx$i$i = ((($5)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx5$i$i = ((($5)) + 12|0); | |
| $$idx5$val$i$i = HEAP32[$$idx5$i$i>>2]|0; | |
| $$idx6$i$i = ((($5)) + 16|0); | |
| $$idx6$val$i$i = HEAP32[$$idx6$i$i>>2]|0; | |
| $27 = (+_memRealValue($$idx$val$i$i,$$idx5$val$i$i,$$idx6$val$i$i)); | |
| $$0$i$i = $27; | |
| } | |
| } else { | |
| $15 = +HEAPF64[$5>>3]; | |
| $$0$i$i = $15; | |
| } | |
| } while(0); | |
| HEAPF64[$vararg_buffer>>3] = $$0$i$i; | |
| (_sqlite3_snprintf(50,$4,19085,$vararg_buffer)|0); | |
| (_sqlite3AtoF($4,$3,20,1)|0); | |
| $28 = +HEAPF64[$3>>3]; | |
| $29 = $$0$i$i != $28; | |
| if ($29) { | |
| HEAPF64[$vararg_buffer1>>3] = $$0$i$i; | |
| (_sqlite3_snprintf(50,$4,19092,$vararg_buffer1)|0); | |
| } | |
| $30 = HEAP32[$0>>2]|0; | |
| $31 = (_sqlite3VdbeMemSetStr($30,$4,-1,1,(-1))|0); | |
| $32 = ($31|0)==(18); | |
| if ($32) { | |
| $33 = ((($0)) + 20|0); | |
| HEAP32[$33>>2] = 18; | |
| $34 = ((($0)) + 25|0); | |
| HEAP8[$34>>0] = 1; | |
| $35 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($35,18992,-1,1,0)|0); | |
| } | |
| STACKTOP = sp;return; | |
| break; | |
| } | |
| case 1: { | |
| _sqlite3_result_value($0,$5); | |
| STACKTOP = sp;return; | |
| break; | |
| } | |
| case 4: { | |
| $36 = (_sqlite3_value_blob($5)|0); | |
| $37 = HEAP32[$2>>2]|0; | |
| $38 = ((($37)) + 8|0); | |
| $39 = HEAP16[$38>>1]|0; | |
| $40 = $39&65535; | |
| $41 = $40 & 2; | |
| $42 = ($41|0)==(0); | |
| if ($42) { | |
| label = 17; | |
| } else { | |
| $43 = ((($37)) + 10|0); | |
| $44 = HEAP8[$43>>0]|0; | |
| $45 = ($44<<24>>24)==(1); | |
| if ($45) { | |
| $46 = ((($37)) + 12|0); | |
| $47 = HEAP32[$46>>2]|0; | |
| $$0$i$i90 = $47; | |
| } else { | |
| label = 17; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 17) { | |
| $48 = $40 & 16; | |
| $49 = ($48|0)==(0); | |
| if ($49) { | |
| $56 = $40 & 1; | |
| $57 = ($56|0)==(0); | |
| if (!($57)) { | |
| $$0$i$i90 = 0; | |
| break; | |
| } | |
| $58 = (_valueBytes($37,1)|0); | |
| $$0$i$i90 = $58; | |
| break; | |
| } else { | |
| $50 = $40 & 16384; | |
| $51 = ($50|0)==(0); | |
| $52 = ((($37)) + 12|0); | |
| $53 = HEAP32[$52>>2]|0; | |
| if ($51) { | |
| $$0$i$i90 = $53; | |
| break; | |
| } | |
| $54 = HEAP32[$37>>2]|0; | |
| $55 = (($54) + ($53))|0; | |
| $$0$i$i90 = $55; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $59 = ($$0$i$i90|0)<(0); | |
| $60 = $59 << 31 >> 31; | |
| $61 = (_bitshift64Shl(($$0$i$i90|0),($60|0),1)|0); | |
| $62 = tempRet0; | |
| $63 = (_i64Add(($61|0),($62|0),4,0)|0); | |
| $64 = tempRet0; | |
| $65 = (_contextMalloc($0,$63,$64)|0); | |
| $66 = ($65|0)==(0|0); | |
| if ($66) { | |
| STACKTOP = sp;return; | |
| } | |
| $67 = ($$0$i$i90|0)>(0); | |
| if ($67) { | |
| $$096 = 0; | |
| while(1) { | |
| $68 = (($36) + ($$096)|0); | |
| $69 = HEAP8[$68>>0]|0; | |
| $70 = $69&255; | |
| $71 = $70 >>> 4; | |
| $72 = (19099 + ($71)|0); | |
| $73 = HEAP8[$72>>0]|0; | |
| $74 = $$096 << 1; | |
| $75 = (($74) + 2)|0; | |
| $76 = (($65) + ($75)|0); | |
| HEAP8[$76>>0] = $73; | |
| $77 = HEAP8[$68>>0]|0; | |
| $78 = $77 & 15; | |
| $79 = $78&255; | |
| $80 = (19099 + ($79)|0); | |
| $81 = HEAP8[$80>>0]|0; | |
| $82 = (($74) + 3)|0; | |
| $83 = (($65) + ($82)|0); | |
| HEAP8[$83>>0] = $81; | |
| $84 = (($$096) + 1)|0; | |
| $exitcond = ($84|0)==($$0$i$i90|0); | |
| if ($exitcond) { | |
| break; | |
| } else { | |
| $$096 = $84; | |
| } | |
| } | |
| } | |
| $85 = $$0$i$i90 << 1; | |
| $86 = (($85) + 2)|0; | |
| $87 = (($65) + ($86)|0); | |
| HEAP8[$87>>0] = 39; | |
| $88 = (($85) + 3)|0; | |
| $89 = (($65) + ($88)|0); | |
| HEAP8[$89>>0] = 0; | |
| HEAP8[$65>>0] = 88; | |
| $90 = ((($65)) + 1|0); | |
| HEAP8[$90>>0] = 39; | |
| $91 = HEAP32[$0>>2]|0; | |
| $92 = (_sqlite3VdbeMemSetStr($91,$65,-1,1,(-1))|0); | |
| $93 = ($92|0)==(18); | |
| if ($93) { | |
| $94 = ((($0)) + 20|0); | |
| HEAP32[$94>>2] = 18; | |
| $95 = ((($0)) + 25|0); | |
| HEAP8[$95>>0] = 1; | |
| $96 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($96,18992,-1,1,0)|0); | |
| } | |
| $97 = HEAP32[2]|0; | |
| $98 = ($97|0)==(0); | |
| if ($98) { | |
| $106 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$106 & 255]($65); | |
| STACKTOP = sp;return; | |
| } else { | |
| $99 = HEAP32[(64)>>2]|0; | |
| $100 = (FUNCTION_TABLE_ii[$99 & 255]($65)|0); | |
| $101 = HEAP32[11822]|0; | |
| $102 = (($101) - ($100))|0; | |
| HEAP32[11822] = $102; | |
| $103 = HEAP32[11825]|0; | |
| $104 = (($103) + -1)|0; | |
| HEAP32[11825] = $104; | |
| $105 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$105 & 255]($65); | |
| STACKTOP = sp;return; | |
| } | |
| break; | |
| } | |
| case 3: { | |
| $107 = ($5|0)==(0|0); | |
| if ($107) { | |
| STACKTOP = sp;return; | |
| } | |
| $108 = $7&65535; | |
| $109 = $108 & 514; | |
| $110 = ($109|0)==(514); | |
| if ($110) { | |
| $111 = ((($5)) + 10|0); | |
| $112 = HEAP8[$111>>0]|0; | |
| $113 = ($112<<24>>24)==(1); | |
| if ($113) { | |
| $114 = ((($5)) + 16|0); | |
| $115 = HEAP32[$114>>2]|0; | |
| $$0$i$i92 = $115; | |
| } else { | |
| label = 34; | |
| } | |
| } else { | |
| label = 34; | |
| } | |
| do { | |
| if ((label|0) == 34) { | |
| $116 = $108 & 1; | |
| $117 = ($116|0)==(0); | |
| if ($117) { | |
| $118 = (_valueToText($5,1)|0); | |
| $$0$i$i92 = $118; | |
| break; | |
| } else { | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| } while(0); | |
| $119 = ($$0$i$i92|0)==(0|0); | |
| if ($119) { | |
| STACKTOP = sp;return; | |
| } else { | |
| $$087 = 0;$122 = 0;$123 = 0; | |
| } | |
| L67: while(1) { | |
| $120 = (($$0$i$i92) + ($$087)|0); | |
| $121 = HEAP8[$120>>0]|0; | |
| switch ($121<<24>>24) { | |
| case 0: { | |
| break L67; | |
| break; | |
| } | |
| case 39: { | |
| $124 = (_i64Add(($122|0),($123|0),1,0)|0); | |
| $125 = tempRet0; | |
| $165 = $124;$166 = $125; | |
| break; | |
| } | |
| default: { | |
| $165 = $122;$166 = $123; | |
| } | |
| } | |
| $126 = (($$087) + 1)|0; | |
| $$087 = $126;$122 = $165;$123 = $166; | |
| } | |
| $127 = ($$087|0)<(0); | |
| $128 = $127 << 31 >> 31; | |
| $129 = (_i64Add(($122|0),($123|0),3,0)|0); | |
| $130 = tempRet0; | |
| $131 = (_i64Add(($129|0),($130|0),($$087|0),($128|0))|0); | |
| $132 = tempRet0; | |
| $133 = (_contextMalloc($0,$131,$132)|0); | |
| $134 = ($133|0)==(0|0); | |
| if ($134) { | |
| STACKTOP = sp;return; | |
| } | |
| HEAP8[$133>>0] = 39; | |
| $135 = HEAP8[$$0$i$i92>>0]|0; | |
| $136 = ($135<<24>>24)==(0); | |
| $137 = ((($133)) + 1|0); | |
| if ($136) { | |
| $$lcssa = $137;$$lcssa95 = 2; | |
| } else { | |
| $$08598 = 1;$$18897 = 0;$138 = $135;$139 = $137;$141 = $$0$i$i92;$144 = 2; | |
| while(1) { | |
| HEAP8[$139>>0] = $138; | |
| $140 = HEAP8[$141>>0]|0; | |
| $142 = ($140<<24>>24)==(39); | |
| if ($142) { | |
| $143 = (($133) + ($144)|0); | |
| $145 = (($$08598) + 2)|0; | |
| HEAP8[$143>>0] = 39; | |
| $$186 = $145; | |
| } else { | |
| $$186 = $144; | |
| } | |
| $146 = (($$18897) + 1)|0; | |
| $147 = (($$0$i$i92) + ($146)|0); | |
| $148 = HEAP8[$147>>0]|0; | |
| $149 = ($148<<24>>24)==(0); | |
| $150 = (($$186) + 1)|0; | |
| $151 = (($133) + ($$186)|0); | |
| if ($149) { | |
| $$lcssa = $151;$$lcssa95 = $150; | |
| break; | |
| } else { | |
| $$08598 = $$186;$$18897 = $146;$138 = $148;$139 = $151;$141 = $147;$144 = $150; | |
| } | |
| } | |
| } | |
| HEAP8[$$lcssa>>0] = 39; | |
| $152 = (($133) + ($$lcssa95)|0); | |
| HEAP8[$152>>0] = 0; | |
| $153 = HEAP32[$0>>2]|0; | |
| $154 = (_sqlite3VdbeMemSetStr($153,$133,$$lcssa95,1,148)|0); | |
| $155 = ($154|0)==(18); | |
| if (!($155)) { | |
| STACKTOP = sp;return; | |
| } | |
| $156 = ((($0)) + 20|0); | |
| HEAP32[$156>>2] = 18; | |
| $157 = ((($0)) + 25|0); | |
| HEAP8[$157>>0] = 1; | |
| $158 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($158,18992,-1,1,0)|0); | |
| STACKTOP = sp;return; | |
| break; | |
| } | |
| default: { | |
| $159 = HEAP32[$0>>2]|0; | |
| $160 = (_sqlite3VdbeMemSetStr($159,17306,4,1,0)|0); | |
| $161 = ($160|0)==(18); | |
| if (!($161)) { | |
| STACKTOP = sp;return; | |
| } | |
| $162 = ((($0)) + 20|0); | |
| HEAP32[$162>>2] = 18; | |
| $163 = ((($0)) + 25|0); | |
| HEAP8[$163>>0] = 1; | |
| $164 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($164,18992,-1,1,0)|0); | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| } | |
| function _last_insert_rowid($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, $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 = ((($3)) + 32|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($5)) + 32|0); | |
| $7 = $6; | |
| $8 = $7; | |
| $9 = HEAP32[$8>>2]|0; | |
| $10 = (($7) + 4)|0; | |
| $11 = $10; | |
| $12 = HEAP32[$11>>2]|0; | |
| $13 = ((($3)) + 8|0); | |
| $14 = HEAP16[$13>>1]|0; | |
| $15 = $14 & 9312; | |
| $16 = ($15<<16>>16)==(0); | |
| if ($16) { | |
| $17 = $3; | |
| $18 = $17; | |
| HEAP32[$18>>2] = $9; | |
| $19 = (($17) + 4)|0; | |
| $20 = $19; | |
| HEAP32[$20>>2] = $12; | |
| HEAP16[$13>>1] = 4; | |
| return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($3,$9,$12); | |
| return; | |
| } | |
| } | |
| function _changes($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, $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 = ((($3)) + 32|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($5)) + 92|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ($7|0)<(0); | |
| $9 = $8 << 31 >> 31; | |
| $10 = ((($3)) + 8|0); | |
| $11 = HEAP16[$10>>1]|0; | |
| $12 = $11 & 9312; | |
| $13 = ($12<<16>>16)==(0); | |
| if ($13) { | |
| $14 = $3; | |
| $15 = $14; | |
| HEAP32[$15>>2] = $7; | |
| $16 = (($14) + 4)|0; | |
| $17 = $16; | |
| HEAP32[$17>>2] = $9; | |
| HEAP16[$10>>1] = 4; | |
| return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($3,$7,$9); | |
| return; | |
| } | |
| } | |
| function _total_changes($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, $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 = ((($3)) + 32|0); | |
| $5 = HEAP32[$4>>2]|0; | |
| $6 = ((($5)) + 96|0); | |
| $7 = HEAP32[$6>>2]|0; | |
| $8 = ($7|0)<(0); | |
| $9 = $8 << 31 >> 31; | |
| $10 = ((($3)) + 8|0); | |
| $11 = HEAP16[$10>>1]|0; | |
| $12 = $11 & 9312; | |
| $13 = ($12<<16>>16)==(0); | |
| if ($13) { | |
| $14 = $3; | |
| $15 = $14; | |
| HEAP32[$15>>2] = $7; | |
| $16 = (($14) + 4)|0; | |
| $17 = $16; | |
| HEAP32[$17>>2] = $9; | |
| HEAP16[$10>>1] = 4; | |
| return; | |
| } else { | |
| _vdbeReleaseAndSetInt64($3,$7,$9); | |
| return; | |
| } | |
| } | |
| function _replaceFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i$i = 0, $$0$i$i103 = 0, $$0$i$i104 = 0, $$0$i$i106 = 0, $$0$i$i108 = 0, $$0$i$i110 = 0, $$0$lcssa = 0, $$0100$lcssa = 0, $$0100121 = 0, $$0124 = 0, $$097$lcssa = 0, $$097122 = 0, $$2 = 0, $$2102 = 0, $$299 = 0, $$pre$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, $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, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ($3|0)==(0|0); | |
| if ($4) { | |
| return; | |
| } | |
| $5 = ((($3)) + 8|0); | |
| $6 = HEAP16[$5>>1]|0; | |
| $7 = $6&65535; | |
| $8 = $7 & 514; | |
| $9 = ($8|0)==(514); | |
| if ($9) { | |
| $10 = ((($3)) + 10|0); | |
| $11 = HEAP8[$10>>0]|0; | |
| $12 = ($11<<24>>24)==(1); | |
| if ($12) { | |
| $13 = ((($3)) + 16|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $$0$i$i = $14; | |
| } else { | |
| label = 5; | |
| } | |
| } else { | |
| label = 5; | |
| } | |
| do { | |
| if ((label|0) == 5) { | |
| $15 = $7 & 1; | |
| $16 = ($15|0)==(0); | |
| if ($16) { | |
| $17 = (_valueToText($3,1)|0); | |
| $$0$i$i = $17; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $18 = ($$0$i$i|0)==(0|0); | |
| if ($18) { | |
| return; | |
| } | |
| $19 = HEAP32[$2>>2]|0; | |
| $20 = ((($19)) + 8|0); | |
| $21 = HEAP16[$20>>1]|0; | |
| $22 = $21&65535; | |
| $23 = $22 & 2; | |
| $24 = ($23|0)==(0); | |
| if ($24) { | |
| label = 11; | |
| } else { | |
| $25 = ((($19)) + 10|0); | |
| $26 = HEAP8[$25>>0]|0; | |
| $27 = ($26<<24>>24)==(1); | |
| if ($27) { | |
| $28 = ((($19)) + 12|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $$0$i$i103 = $29; | |
| } else { | |
| label = 11; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 11) { | |
| $30 = $22 & 16; | |
| $31 = ($30|0)==(0); | |
| if ($31) { | |
| $38 = $22 & 1; | |
| $39 = ($38|0)==(0); | |
| if (!($39)) { | |
| $$0$i$i103 = 0; | |
| break; | |
| } | |
| $40 = (_valueBytes($19,1)|0); | |
| $$0$i$i103 = $40; | |
| break; | |
| } else { | |
| $32 = $22 & 16384; | |
| $33 = ($32|0)==(0); | |
| $34 = ((($19)) + 12|0); | |
| $35 = HEAP32[$34>>2]|0; | |
| if ($33) { | |
| $$0$i$i103 = $35; | |
| break; | |
| } | |
| $36 = HEAP32[$19>>2]|0; | |
| $37 = (($36) + ($35))|0; | |
| $$0$i$i103 = $37; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $41 = ((($2)) + 4|0); | |
| $42 = HEAP32[$41>>2]|0; | |
| $43 = ($42|0)==(0|0); | |
| if ($43) { | |
| return; | |
| } | |
| $44 = ((($42)) + 8|0); | |
| $45 = HEAP16[$44>>1]|0; | |
| $46 = $45&65535; | |
| $47 = $46 & 514; | |
| $48 = ($47|0)==(514); | |
| if ($48) { | |
| $49 = ((($42)) + 10|0); | |
| $50 = HEAP8[$49>>0]|0; | |
| $51 = ($50<<24>>24)==(1); | |
| if ($51) { | |
| $52 = ((($42)) + 16|0); | |
| $53 = HEAP32[$52>>2]|0; | |
| $$0$i$i104 = $53; | |
| } else { | |
| label = 20; | |
| } | |
| } else { | |
| label = 20; | |
| } | |
| do { | |
| if ((label|0) == 20) { | |
| $54 = $46 & 1; | |
| $55 = ($54|0)==(0); | |
| if ($55) { | |
| $56 = (_valueToText($42,1)|0); | |
| $$0$i$i104 = $56; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $57 = ($$0$i$i104|0)==(0|0); | |
| if ($57) { | |
| return; | |
| } | |
| $58 = HEAP8[$$0$i$i104>>0]|0; | |
| $59 = ($58<<24>>24)==(0); | |
| if ($59) { | |
| $60 = HEAP32[$2>>2]|0; | |
| _sqlite3_result_value($0,$60); | |
| return; | |
| } | |
| $61 = HEAP32[$41>>2]|0; | |
| $62 = ((($61)) + 8|0); | |
| $63 = HEAP16[$62>>1]|0; | |
| $64 = $63&65535; | |
| $65 = $64 & 2; | |
| $66 = ($65|0)==(0); | |
| if ($66) { | |
| label = 28; | |
| } else { | |
| $67 = ((($61)) + 10|0); | |
| $68 = HEAP8[$67>>0]|0; | |
| $69 = ($68<<24>>24)==(1); | |
| if ($69) { | |
| $70 = ((($61)) + 12|0); | |
| $71 = HEAP32[$70>>2]|0; | |
| $$0$i$i106 = $71; | |
| } else { | |
| label = 28; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 28) { | |
| $72 = $64 & 16; | |
| $73 = ($72|0)==(0); | |
| if ($73) { | |
| $80 = $64 & 1; | |
| $81 = ($80|0)==(0); | |
| if (!($81)) { | |
| $$0$i$i106 = 0; | |
| break; | |
| } | |
| $82 = (_valueBytes($61,1)|0); | |
| $$0$i$i106 = $82; | |
| break; | |
| } else { | |
| $74 = $64 & 16384; | |
| $75 = ($74|0)==(0); | |
| $76 = ((($61)) + 12|0); | |
| $77 = HEAP32[$76>>2]|0; | |
| if ($75) { | |
| $$0$i$i106 = $77; | |
| break; | |
| } | |
| $78 = HEAP32[$61>>2]|0; | |
| $79 = (($78) + ($77))|0; | |
| $$0$i$i106 = $79; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $83 = ((($2)) + 8|0); | |
| $84 = HEAP32[$83>>2]|0; | |
| $85 = ($84|0)==(0|0); | |
| if ($85) { | |
| return; | |
| } | |
| $86 = ((($84)) + 8|0); | |
| $87 = HEAP16[$86>>1]|0; | |
| $88 = $87&65535; | |
| $89 = $88 & 514; | |
| $90 = ($89|0)==(514); | |
| if ($90) { | |
| $91 = ((($84)) + 10|0); | |
| $92 = HEAP8[$91>>0]|0; | |
| $93 = ($92<<24>>24)==(1); | |
| if ($93) { | |
| $94 = ((($84)) + 16|0); | |
| $95 = HEAP32[$94>>2]|0; | |
| $$0$i$i108 = $95; | |
| } else { | |
| label = 37; | |
| } | |
| } else { | |
| label = 37; | |
| } | |
| do { | |
| if ((label|0) == 37) { | |
| $96 = $88 & 1; | |
| $97 = ($96|0)==(0); | |
| if ($97) { | |
| $98 = (_valueToText($84,1)|0); | |
| $$0$i$i108 = $98; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $99 = ($$0$i$i108|0)==(0|0); | |
| if ($99) { | |
| return; | |
| } | |
| $100 = HEAP32[$83>>2]|0; | |
| $101 = ((($100)) + 8|0); | |
| $102 = HEAP16[$101>>1]|0; | |
| $103 = $102&65535; | |
| $104 = $103 & 2; | |
| $105 = ($104|0)==(0); | |
| if ($105) { | |
| label = 43; | |
| } else { | |
| $106 = ((($100)) + 10|0); | |
| $107 = HEAP8[$106>>0]|0; | |
| $108 = ($107<<24>>24)==(1); | |
| if ($108) { | |
| $109 = ((($100)) + 12|0); | |
| $110 = HEAP32[$109>>2]|0; | |
| $$0$i$i110 = $110; | |
| } else { | |
| label = 43; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 43) { | |
| $111 = $103 & 16; | |
| $112 = ($111|0)==(0); | |
| if ($112) { | |
| $119 = $103 & 1; | |
| $120 = ($119|0)==(0); | |
| if (!($120)) { | |
| $$0$i$i110 = 0; | |
| break; | |
| } | |
| $121 = (_valueBytes($100,1)|0); | |
| $$0$i$i110 = $121; | |
| break; | |
| } else { | |
| $113 = $103 & 16384; | |
| $114 = ($113|0)==(0); | |
| $115 = ((($100)) + 12|0); | |
| $116 = HEAP32[$115>>2]|0; | |
| if ($114) { | |
| $$0$i$i110 = $116; | |
| break; | |
| } | |
| $117 = HEAP32[$100>>2]|0; | |
| $118 = (($117) + ($116))|0; | |
| $$0$i$i110 = $118; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $122 = (($$0$i$i103) + 1)|0; | |
| $123 = ($122|0)<(0); | |
| $124 = $123 << 31 >> 31; | |
| $125 = (_contextMalloc($0,$122,$124)|0); | |
| $126 = ($125|0)==(0|0); | |
| if ($126) { | |
| return; | |
| } | |
| $127 = (($$0$i$i103) - ($$0$i$i106))|0; | |
| $128 = ($127|0)<(0); | |
| L86: do { | |
| if ($128) { | |
| $$0$lcssa = $125;$$0100$lcssa = 0;$$097$lcssa = 0; | |
| } else { | |
| $129 = (($$0$i$i110) - ($$0$i$i106))|0; | |
| $130 = ($129|0)<(0); | |
| $131 = $130 << 31 >> 31; | |
| $132 = (($$0$i$i106) + -1)|0; | |
| $$0100121 = 0;$$0124 = $125;$$097122 = 0;$144 = $122;$145 = $124; | |
| while(1) { | |
| $133 = (($$0$i$i) + ($$0100121)|0); | |
| $134 = HEAP8[$133>>0]|0; | |
| $135 = HEAP8[$$0$i$i104>>0]|0; | |
| $136 = ($134<<24>>24)==($135<<24>>24); | |
| if ($136) { | |
| $137 = (_memcmp($133,$$0$i$i104,$$0$i$i106)|0); | |
| $138 = ($137|0)==(0); | |
| if ($138) { | |
| $141 = HEAP32[$0>>2]|0; | |
| $142 = ((($141)) + 32|0); | |
| $143 = HEAP32[$142>>2]|0; | |
| $146 = (_i64Add(($144|0),($145|0),($129|0),($131|0))|0); | |
| $147 = tempRet0; | |
| $148 = (_i64Add(($146|0),($147|0),-1,-1)|0); | |
| $149 = tempRet0; | |
| $150 = ((($143)) + 100|0); | |
| $151 = HEAP32[$150>>2]|0; | |
| $152 = ($151|0)<(0); | |
| $153 = $152 << 31 >> 31; | |
| $154 = ($149|0)>($153|0); | |
| $155 = ($148>>>0)>($151>>>0); | |
| $156 = ($149|0)==($153|0); | |
| $157 = $156 & $155; | |
| $158 = $154 | $157; | |
| if ($158) { | |
| label = 55; | |
| break; | |
| } | |
| $171 = (_sqlite3_initialize()|0); | |
| $172 = ($171|0)==(0); | |
| if (!($172)) { | |
| break; | |
| } | |
| $173 = (_bitshift64Ashr(0,($146|0),32)|0); | |
| $174 = tempRet0; | |
| $175 = (_sqlite3Realloc($$0124,$173,$174)|0); | |
| $176 = ($175|0)==(0|0); | |
| if ($176) { | |
| break; | |
| } | |
| $211 = (($175) + ($$097122)|0); | |
| _memcpy(($211|0),($$0$i$i108|0),($$0$i$i110|0))|0; | |
| $212 = (($$097122) + ($$0$i$i110))|0; | |
| $213 = (($132) + ($$0100121))|0; | |
| $$2 = $175;$$2102 = $213;$$299 = $212;$227 = $146;$228 = $147; | |
| } else { | |
| label = 53; | |
| } | |
| } else { | |
| label = 53; | |
| } | |
| if ((label|0) == 53) { | |
| label = 0; | |
| $139 = (($$097122) + 1)|0; | |
| $140 = (($$0124) + ($$097122)|0); | |
| HEAP8[$140>>0] = $134; | |
| $$2 = $$0124;$$2102 = $$0100121;$$299 = $139;$227 = $144;$228 = $145; | |
| } | |
| $214 = (($$2102) + 1)|0; | |
| $215 = ($$2102|0)<($127|0); | |
| if ($215) { | |
| $$0100121 = $214;$$0124 = $$2;$$097122 = $$299;$144 = $227;$145 = $228; | |
| } else { | |
| $$0$lcssa = $$2;$$0100$lcssa = $214;$$097$lcssa = $$299; | |
| break L86; | |
| } | |
| } | |
| if ((label|0) == 55) { | |
| $159 = ((($0)) + 20|0); | |
| HEAP32[$159>>2] = 18; | |
| $160 = ((($0)) + 25|0); | |
| HEAP8[$160>>0] = 1; | |
| (_sqlite3VdbeMemSetStr($141,18992,-1,1,0)|0); | |
| $161 = HEAP32[2]|0; | |
| $162 = ($161|0)==(0); | |
| if ($162) { | |
| $170 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$170 & 255]($$0124); | |
| return; | |
| } else { | |
| $163 = HEAP32[(64)>>2]|0; | |
| $164 = (FUNCTION_TABLE_ii[$163 & 255]($$0124)|0); | |
| $165 = HEAP32[11822]|0; | |
| $166 = (($165) - ($164))|0; | |
| HEAP32[11822] = $166; | |
| $167 = HEAP32[11825]|0; | |
| $168 = (($167) + -1)|0; | |
| HEAP32[11825] = $168; | |
| $169 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$169 & 255]($$0124); | |
| return; | |
| } | |
| } | |
| $177 = HEAP32[$0>>2]|0; | |
| $178 = ((($177)) + 8|0); | |
| $179 = HEAP16[$178>>1]|0; | |
| $180 = $179 & 9312; | |
| $181 = ($180<<16>>16)==(0); | |
| if ($181) { | |
| HEAP16[$178>>1] = 1; | |
| $185 = $177; | |
| } else { | |
| _vdbeMemClearExternAndSetNull($177); | |
| $$pre$i = HEAP32[$0>>2]|0; | |
| $185 = $$pre$i; | |
| } | |
| $182 = ((($0)) + 20|0); | |
| HEAP32[$182>>2] = 7; | |
| $183 = ((($0)) + 25|0); | |
| HEAP8[$183>>0] = 1; | |
| $184 = ((($185)) + 32|0); | |
| $186 = HEAP32[$184>>2]|0; | |
| $187 = ((($186)) + 73|0); | |
| $188 = HEAP8[$187>>0]|0; | |
| $189 = ($188<<24>>24)==(0); | |
| if ($189) { | |
| $190 = ((($186)) + 74|0); | |
| $191 = HEAP8[$190>>0]|0; | |
| $192 = ($191<<24>>24)==(0); | |
| if ($192) { | |
| HEAP8[$187>>0] = 1; | |
| $193 = ((($186)) + 172|0); | |
| $194 = HEAP32[$193>>2]|0; | |
| $195 = ($194|0)>(0); | |
| if ($195) { | |
| $196 = ((($186)) + 256|0); | |
| HEAP32[$196>>2] = 1; | |
| } | |
| $197 = ((($186)) + 264|0); | |
| $198 = HEAP32[$197>>2]|0; | |
| $199 = (($198) + 1)|0; | |
| HEAP32[$197>>2] = $199; | |
| } | |
| } | |
| $200 = ($$0124|0)==(0|0); | |
| if ($200) { | |
| return; | |
| } | |
| $201 = HEAP32[2]|0; | |
| $202 = ($201|0)==(0); | |
| if ($202) { | |
| $210 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$210 & 255]($$0124); | |
| return; | |
| } else { | |
| $203 = HEAP32[(64)>>2]|0; | |
| $204 = (FUNCTION_TABLE_ii[$203 & 255]($$0124)|0); | |
| $205 = HEAP32[11822]|0; | |
| $206 = (($205) - ($204))|0; | |
| HEAP32[11822] = $206; | |
| $207 = HEAP32[11825]|0; | |
| $208 = (($207) + -1)|0; | |
| HEAP32[11825] = $208; | |
| $209 = HEAP32[(56)>>2]|0; | |
| FUNCTION_TABLE_vi[$209 & 255]($$0124); | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $216 = (($$0$lcssa) + ($$097$lcssa)|0); | |
| $217 = (($$0$i$i) + ($$0100$lcssa)|0); | |
| $218 = (($$0$i$i103) - ($$0100$lcssa))|0; | |
| _memcpy(($216|0),($217|0),($218|0))|0; | |
| $219 = (($$097$lcssa) + ($218))|0; | |
| $220 = (($$0$lcssa) + ($219)|0); | |
| HEAP8[$220>>0] = 0; | |
| $221 = HEAP32[$0>>2]|0; | |
| $222 = (_sqlite3VdbeMemSetStr($221,$$0$lcssa,$219,1,148)|0); | |
| $223 = ($222|0)==(18); | |
| if (!($223)) { | |
| return; | |
| } | |
| $224 = ((($0)) + 20|0); | |
| HEAP32[$224>>2] = 18; | |
| $225 = ((($0)) + 25|0); | |
| HEAP8[$225>>0] = 1; | |
| $226 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($226,18992,-1,1,0)|0); | |
| return; | |
| } | |
| function _zeroblobFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$$i$i = 0, $$idx$i$i = 0, $$idx$val$i$i = 0, $$idx8$i$i = 0, $$idx8$val$i$i = 0, $$idx9$i$i = 0, $$idx9$val$i$i = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
| sp = STACKTOP; | |
| $3 = HEAP32[$2>>2]|0; | |
| $4 = ((($3)) + 8|0); | |
| $5 = HEAP16[$4>>1]|0; | |
| $6 = $5&65535; | |
| $7 = $6 & 4; | |
| $8 = ($7|0)==(0); | |
| do { | |
| if ($8) { | |
| $15 = $6 & 8; | |
| $16 = ($15|0)==(0); | |
| if (!($16)) { | |
| $17 = +HEAPF64[$3>>3]; | |
| $18 = (_doubleToInt64($17)|0); | |
| $19 = tempRet0; | |
| $24 = $19;$26 = $18; | |
| break; | |
| } | |
| $20 = $6 & 18; | |
| $21 = ($20|0)==(0); | |
| if ($21) { | |
| $24 = 0;$26 = 0; | |
| } else { | |
| $$idx$i$i = ((($3)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($3)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($3)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $22 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $23 = tempRet0; | |
| $24 = $23;$26 = $22; | |
| } | |
| } else { | |
| $9 = $3; | |
| $10 = $9; | |
| $11 = HEAP32[$10>>2]|0; | |
| $12 = (($9) + 4)|0; | |
| $13 = $12; | |
| $14 = HEAP32[$13>>2]|0; | |
| $24 = $14;$26 = $11; | |
| } | |
| } while(0); | |
| $25 = ($24|0)>(0); | |
| $27 = ($26>>>0)>(0); | |
| $28 = ($24|0)==(0); | |
| $29 = $28 & $27; | |
| $30 = $25 | $29; | |
| $31 = $30 ? $26 : 0; | |
| $32 = $30 ? $24 : 0; | |
| $33 = HEAP32[$0>>2]|0; | |
| $34 = ((($33)) + 32|0); | |
| $35 = HEAP32[$34>>2]|0; | |
| $36 = ((($35)) + 100|0); | |
| $37 = HEAP32[$36>>2]|0; | |
| $38 = ($37|0)<(0); | |
| $39 = $38 << 31 >> 31; | |
| $40 = ($39>>>0)<($32>>>0); | |
| $41 = ($37>>>0)<($31>>>0); | |
| $42 = ($39|0)==($32|0); | |
| $43 = $42 & $41; | |
| $44 = $40 | $43; | |
| if ($44) { | |
| $56 = ((($0)) + 20|0); | |
| HEAP32[$56>>2] = 18; | |
| $57 = ((($0)) + 25|0); | |
| HEAP8[$57>>0] = 1; | |
| $58 = ((($33)) + 8|0); | |
| $59 = HEAP16[$58>>1]|0; | |
| $60 = $59 & 1; | |
| $61 = ($60<<16>>16)==(0); | |
| if ($61) { | |
| return; | |
| } | |
| (_sqlite3VdbeMemSetStr($33,18992,-1,1,0)|0); | |
| return; | |
| } | |
| $45 = ((($33)) + 8|0); | |
| $46 = HEAP16[$45>>1]|0; | |
| $47 = $46 & 9312; | |
| $48 = ($47<<16>>16)==(0); | |
| if ($48) { | |
| $49 = ((($33)) + 24|0); | |
| $50 = HEAP32[$49>>2]|0; | |
| $51 = ($50|0)==(0); | |
| if (!($51)) { | |
| label = 10; | |
| } | |
| } else { | |
| label = 10; | |
| } | |
| if ((label|0) == 10) { | |
| _vdbeMemClear($33); | |
| } | |
| HEAP16[$45>>1] = 16400; | |
| $52 = ((($33)) + 12|0); | |
| HEAP32[$52>>2] = 0; | |
| $53 = ($31|0)>(0); | |
| $$$i$i = $53 ? $31 : 0; | |
| HEAP32[$33>>2] = $$$i$i; | |
| $54 = ((($33)) + 10|0); | |
| HEAP8[$54>>0] = 1; | |
| $55 = ((($33)) + 16|0); | |
| HEAP32[$55>>2] = 0; | |
| return; | |
| } | |
| function _substrFunc($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0 = 0, $$0$i$i = 0, $$0$i$i98 = 0, $$0$i$off0$i = 0, $$0$i$off0$i108 = 0, $$0$i$off0$i108$lobit = 0, $$084 = 0, $$088126 = 0, $$090125 = 0, $$185$lcssa = 0, $$185121 = 0, $$189 = 0, $$191 = 0, $$286 = 0, $$292 = 0, $$387 = 0, $$393$lcssa = 0, $$393119 = 0, $$494 = 0, $$5 = 0; | |
| var $$idx$i$i = 0, $$idx$i$i101 = 0, $$idx$val$i$i = 0, $$idx$val$i$i102 = 0, $$idx8$i$i = 0, $$idx8$i$i103 = 0, $$idx8$val$i$i = 0, $$idx8$val$i$i104 = 0, $$idx9$i$i = 0, $$idx9$i$i105 = 0, $$idx9$val$i$i = 0, $$idx9$val$i$i106 = 0, $$pre = 0, $$pre129 = 0, $$pre130 = 0, $$pre131 = 0, $$pre132 = 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.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, $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, $29 = 0; | |
| var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 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, $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, $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; | |
| $3 = ((($2)) + 4|0); | |
| $4 = HEAP32[$3>>2]|0; | |
| $5 = ((($4)) + 8|0); | |
| $6 = HEAP16[$5>>1]|0; | |
| $7 = $6 & 31; | |
| $8 = $7&65535; | |
| $9 = -1431655766 >>> $8; | |
| $10 = $9 & 1; | |
| $11 = ($10|0)==(0); | |
| if (!($11)) { | |
| return; | |
| } | |
| $12 = ($1|0)==(3); | |
| if ($12) { | |
| $13 = ((($2)) + 8|0); | |
| $14 = HEAP32[$13>>2]|0; | |
| $15 = ((($14)) + 8|0); | |
| $16 = HEAP16[$15>>1]|0; | |
| $17 = $16 & 31; | |
| $18 = $17&65535; | |
| $19 = -1431655766 >>> $18; | |
| $20 = $19 & 1; | |
| $21 = ($20|0)==(0); | |
| if (!($21)) { | |
| return; | |
| } | |
| } | |
| $22 = HEAP32[$2>>2]|0; | |
| $23 = ((($22)) + 8|0); | |
| $24 = HEAP16[$23>>1]|0; | |
| $25 = $24 & 15; | |
| $26 = $6&65535; | |
| $27 = $26 & 4; | |
| $28 = ($27|0)==(0); | |
| do { | |
| if ($28) { | |
| $35 = $26 & 8; | |
| $36 = ($35|0)==(0); | |
| if (!($36)) { | |
| $37 = +HEAPF64[$4>>3]; | |
| $38 = (_doubleToInt64($37)|0); | |
| $39 = tempRet0; | |
| $$0$i$off0$i = $38;$49 = $22; | |
| break; | |
| } | |
| $40 = $26 & 18; | |
| $41 = ($40|0)==(0); | |
| if ($41) { | |
| $$0$i$off0$i = 0;$49 = $22; | |
| } else { | |
| $$idx$i$i = ((($4)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($4)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($4)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $42 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $43 = tempRet0; | |
| $$pre = HEAP32[$2>>2]|0; | |
| $$0$i$off0$i = $42;$49 = $$pre; | |
| } | |
| } else { | |
| $29 = $4; | |
| $30 = $29; | |
| $31 = HEAP32[$30>>2]|0; | |
| $32 = (($29) + 4)|0; | |
| $33 = $32; | |
| $34 = HEAP32[$33>>2]|0; | |
| $$0$i$off0$i = $31;$49 = $22; | |
| } | |
| } while(0); | |
| $44 = ($$0$i$off0$i|0)<(0); | |
| $45 = $44 << 31 >> 31; | |
| $46 = $25 | 16; | |
| $47 = ($46<<16>>16)==(16); | |
| if ($47) { | |
| $48 = ((($49)) + 8|0); | |
| $50 = HEAP16[$48>>1]|0; | |
| $51 = $50&65535; | |
| $52 = $51 & 2; | |
| $53 = ($52|0)==(0); | |
| if ($53) { | |
| label = 14; | |
| } else { | |
| $54 = ((($49)) + 10|0); | |
| $55 = HEAP8[$54>>0]|0; | |
| $56 = ($55<<24>>24)==(1); | |
| if ($56) { | |
| $57 = ((($49)) + 12|0); | |
| $58 = HEAP32[$57>>2]|0; | |
| $$0$i$i = $58;$70 = $49; | |
| } else { | |
| label = 14; | |
| } | |
| } | |
| do { | |
| if ((label|0) == 14) { | |
| $59 = $51 & 16; | |
| $60 = ($59|0)==(0); | |
| if ($60) { | |
| $67 = $51 & 1; | |
| $68 = ($67|0)==(0); | |
| if (!($68)) { | |
| $$0$i$i = 0;$70 = $49; | |
| break; | |
| } | |
| $69 = (_valueBytes($49,1)|0); | |
| $$pre130 = HEAP32[$2>>2]|0; | |
| $$0$i$i = $69;$70 = $$pre130; | |
| break; | |
| } else { | |
| $61 = $51 & 16384; | |
| $62 = ($61|0)==(0); | |
| $63 = ((($49)) + 12|0); | |
| $64 = HEAP32[$63>>2]|0; | |
| if ($62) { | |
| $$0$i$i = $64;$70 = $49; | |
| break; | |
| } | |
| $65 = HEAP32[$49>>2]|0; | |
| $66 = (($65) + ($64))|0; | |
| $$0$i$i = $66;$70 = $49; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $71 = (_sqlite3_value_blob($70)|0); | |
| $72 = ($71|0)==(0|0); | |
| if ($72) { | |
| return; | |
| } else { | |
| $$084 = $71;$$189 = $$0$i$i; | |
| } | |
| } else { | |
| $73 = ($49|0)==(0|0); | |
| if ($73) { | |
| return; | |
| } | |
| $74 = ((($49)) + 8|0); | |
| $75 = HEAP16[$74>>1]|0; | |
| $76 = $75&65535; | |
| $77 = $76 & 514; | |
| $78 = ($77|0)==(514); | |
| if ($78) { | |
| $79 = ((($49)) + 10|0); | |
| $80 = HEAP8[$79>>0]|0; | |
| $81 = ($80<<24>>24)==(1); | |
| if ($81) { | |
| $82 = ((($49)) + 16|0); | |
| $83 = HEAP32[$82>>2]|0; | |
| $$0$i$i98 = $83; | |
| } else { | |
| label = 24; | |
| } | |
| } else { | |
| label = 24; | |
| } | |
| do { | |
| if ((label|0) == 24) { | |
| $84 = $76 & 1; | |
| $85 = ($84|0)==(0); | |
| if ($85) { | |
| $86 = (_valueToText($49,1)|0); | |
| $$0$i$i98 = $86; | |
| break; | |
| } else { | |
| return; | |
| } | |
| } | |
| } while(0); | |
| $87 = ($$0$i$i98|0)==(0|0); | |
| if ($87) { | |
| return; | |
| } | |
| $88 = ($$0$i$off0$i|0)<(0); | |
| if ($88) { | |
| $89 = HEAP8[$$0$i$i98>>0]|0; | |
| $90 = ($89<<24>>24)==(0); | |
| if ($90) { | |
| $$084 = $$0$i$i98;$$189 = 0; | |
| } else { | |
| $$088126 = 0;$$090125 = $$0$i$i98;$92 = $89; | |
| while(1) { | |
| $91 = ((($$090125)) + 1|0); | |
| $93 = ($92&255)>(191); | |
| if ($93) { | |
| $$191 = $91; | |
| while(1) { | |
| $94 = HEAP8[$$191>>0]|0; | |
| $95 = $94 & -64; | |
| $96 = ($95<<24>>24)==(-128); | |
| $97 = ((($$191)) + 1|0); | |
| if ($96) { | |
| $$191 = $97; | |
| } else { | |
| $$292 = $$191;$99 = $94; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$pre129 = HEAP8[$91>>0]|0; | |
| $$292 = $91;$99 = $$pre129; | |
| } | |
| $98 = (($$088126) + 1)|0; | |
| $100 = ($99<<24>>24)==(0); | |
| if ($100) { | |
| $$084 = $$0$i$i98;$$189 = $98; | |
| break; | |
| } else { | |
| $$088126 = $98;$$090125 = $$292;$92 = $99; | |
| } | |
| } | |
| } | |
| } else { | |
| $$084 = $$0$i$i98;$$189 = 0; | |
| } | |
| } | |
| if ($12) { | |
| $101 = ((($2)) + 8|0); | |
| $102 = HEAP32[$101>>2]|0; | |
| $103 = ((($102)) + 8|0); | |
| $104 = HEAP16[$103>>1]|0; | |
| $105 = $104&65535; | |
| $106 = $105 & 4; | |
| $107 = ($106|0)==(0); | |
| do { | |
| if ($107) { | |
| $114 = $105 & 8; | |
| $115 = ($114|0)==(0); | |
| if (!($115)) { | |
| $116 = +HEAPF64[$102>>3]; | |
| $117 = (_doubleToInt64($116)|0); | |
| $118 = tempRet0; | |
| $$0$i$off0$i108 = $117; | |
| break; | |
| } | |
| $119 = $105 & 18; | |
| $120 = ($119|0)==(0); | |
| if ($120) { | |
| $$0$i$off0$i108 = 0; | |
| } else { | |
| $$idx$i$i101 = ((($102)) + 10|0); | |
| $$idx$val$i$i102 = HEAP8[$$idx$i$i101>>0]|0; | |
| $$idx8$i$i103 = ((($102)) + 12|0); | |
| $$idx8$val$i$i104 = HEAP32[$$idx8$i$i103>>2]|0; | |
| $$idx9$i$i105 = ((($102)) + 16|0); | |
| $$idx9$val$i$i106 = HEAP32[$$idx9$i$i105>>2]|0; | |
| $121 = (_memIntValue($$idx$val$i$i102,$$idx8$val$i$i104,$$idx9$val$i$i106)|0); | |
| $122 = tempRet0; | |
| $$0$i$off0$i108 = $121; | |
| } | |
| } else { | |
| $108 = $102; | |
| $109 = $108; | |
| $110 = HEAP32[$109>>2]|0; | |
| $111 = (($108) + 4)|0; | |
| $112 = $111; | |
| $113 = HEAP32[$112>>2]|0; | |
| $$0$i$off0$i108 = $110; | |
| } | |
| } while(0); | |
| $123 = ($$0$i$off0$i108|0)<(0); | |
| $124 = $123 << 31 >> 31; | |
| $125 = ($$0$i$off0$i108|0)<(0); | |
| $126 = (_i64Subtract(0,0,($$0$i$off0$i108|0),($124|0))|0); | |
| $127 = tempRet0; | |
| $128 = $125 ? $126 : $$0$i$off0$i108; | |
| $129 = $125 ? $127 : $124; | |
| $$0$i$off0$i108$lobit = $$0$i$off0$i108 >>> 31; | |
| $$0 = $$0$i$off0$i108$lobit;$143 = $128;$144 = $129; | |
| } else { | |
| $130 = HEAP32[$0>>2]|0; | |
| $131 = ((($130)) + 32|0); | |
| $132 = HEAP32[$131>>2]|0; | |
| $133 = ((($132)) + 100|0); | |
| $134 = HEAP32[$133>>2]|0; | |
| $135 = ($134|0)<(0); | |
| $136 = $135 << 31 >> 31; | |
| $$0 = 0;$143 = $134;$144 = $136; | |
| } | |
| $137 = ($$0$i$off0$i|0)<(0); | |
| do { | |
| if ($137) { | |
| $138 = ($$189|0)<(0); | |
| $139 = $138 << 31 >> 31; | |
| $140 = (_i64Add(($$189|0),($139|0),($$0$i$off0$i|0),($45|0))|0); | |
| $141 = tempRet0; | |
| $142 = ($141|0)<(0); | |
| $145 = (_i64Add(($143|0),($144|0),($140|0),($141|0))|0); | |
| $146 = tempRet0; | |
| $147 = ($146|0)>(0); | |
| $148 = ($145>>>0)>(0); | |
| $149 = ($146|0)==(0); | |
| $150 = $149 & $148; | |
| $151 = $147 | $150; | |
| $152 = $151 ? $145 : 0; | |
| $153 = $151 ? $146 : 0; | |
| $154 = $142 ? 0 : $140; | |
| $155 = $142 ? 0 : $141; | |
| $156 = $142 ? $152 : $143; | |
| $157 = $142 ? $153 : $144; | |
| $172 = $154;$173 = $155;$174 = $156;$175 = $157; | |
| } else { | |
| $158 = ($$0$i$off0$i|0)==(0); | |
| if ($158) { | |
| $161 = ($144|0)>(0); | |
| $162 = ($143>>>0)>(0); | |
| $163 = ($144|0)==(0); | |
| $164 = $163 & $162; | |
| $165 = $161 | $164; | |
| $166 = $165 << 31 >> 31; | |
| $167 = ($166|0)<(0); | |
| $168 = $167 << 31 >> 31; | |
| $169 = (_i64Add(($166|0),($168|0),($143|0),($144|0))|0); | |
| $170 = tempRet0; | |
| $172 = $$0$i$off0$i;$173 = $45;$174 = $169;$175 = $170; | |
| break; | |
| } else { | |
| $159 = (_i64Add(($$0$i$off0$i|0),($45|0),-1,-1)|0); | |
| $160 = tempRet0; | |
| $172 = $159;$173 = $160;$174 = $143;$175 = $144; | |
| break; | |
| } | |
| } | |
| } while(0); | |
| $171 = ($$0|0)==(0); | |
| $176 = (_i64Subtract(($172|0),($173|0),($174|0),($175|0))|0); | |
| $177 = tempRet0; | |
| $178 = ($177|0)<(0); | |
| $179 = $178 ? 0 : $176; | |
| $180 = $178 ? 0 : $177; | |
| $181 = $178 ? $172 : $174; | |
| $182 = $178 ? $173 : $175; | |
| $183 = $171 ? $172 : $179; | |
| $184 = $171 ? $173 : $180; | |
| $185 = $171 ? $174 : $181; | |
| $186 = $171 ? $175 : $182; | |
| if ($47) { | |
| $247 = (_i64Add(($183|0),($184|0),($185|0),($186|0))|0); | |
| $248 = tempRet0; | |
| $249 = ($$189|0)<(0); | |
| $250 = $249 << 31 >> 31; | |
| $251 = ($248|0)>($250|0); | |
| $252 = ($247>>>0)>($$189>>>0); | |
| $253 = ($248|0)==($250|0); | |
| $254 = $253 & $252; | |
| $255 = $251 | $254; | |
| $256 = (_i64Subtract(($$189|0),($250|0),($183|0),($184|0))|0); | |
| $257 = tempRet0; | |
| $258 = ($257|0)>(0); | |
| $259 = ($256>>>0)>(0); | |
| $260 = ($257|0)==(0); | |
| $261 = $260 & $259; | |
| $262 = $258 | $261; | |
| $263 = $262 ? $256 : 0; | |
| $264 = $262 ? $257 : 0; | |
| $265 = $255 ? $263 : $185; | |
| $266 = $255 ? $264 : $186; | |
| $267 = ($266>>>0)>(0); | |
| $268 = ($265>>>0)>(2147483647); | |
| $269 = ($266|0)==(0); | |
| $270 = $269 & $268; | |
| $271 = $267 | $270; | |
| if ($271) { | |
| $272 = ($0|0)==(0|0); | |
| if ($272) { | |
| return; | |
| } | |
| $273 = ((($0)) + 20|0); | |
| HEAP32[$273>>2] = 18; | |
| $274 = ((($0)) + 25|0); | |
| HEAP8[$274>>0] = 1; | |
| $275 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($275,18992,-1,1,0)|0); | |
| return; | |
| } else { | |
| $276 = (($$084) + ($183)|0); | |
| $277 = HEAP32[$0>>2]|0; | |
| $278 = (_sqlite3VdbeMemSetStr($277,$276,$265,0,(-1))|0); | |
| $279 = ($278|0)==(18); | |
| if (!($279)) { | |
| return; | |
| } | |
| $280 = ((($0)) + 20|0); | |
| HEAP32[$280>>2] = 18; | |
| $281 = ((($0)) + 25|0); | |
| HEAP8[$281>>0] = 1; | |
| $282 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($282,18992,-1,1,0)|0); | |
| return; | |
| } | |
| } | |
| $187 = HEAP8[$$084>>0]|0; | |
| $188 = ($187<<24>>24)!=(0); | |
| $189 = ($183|0)!=(0); | |
| $190 = ($184|0)!=(0); | |
| $191 = $189 | $190; | |
| $192 = $191 & $188; | |
| if ($192) { | |
| $$185121 = $$084;$200 = $187;$206 = $183;$207 = $184; | |
| while(1) { | |
| $199 = ((($$185121)) + 1|0); | |
| $201 = ($200&255)>(191); | |
| if ($201) { | |
| $$286 = $199; | |
| while(1) { | |
| $202 = HEAP8[$$286>>0]|0; | |
| $203 = $202 & -64; | |
| $204 = ($203<<24>>24)==(-128); | |
| $205 = ((($$286)) + 1|0); | |
| if ($204) { | |
| $$286 = $205; | |
| } else { | |
| $$387 = $$286;$210 = $202; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$pre131 = HEAP8[$199>>0]|0; | |
| $$387 = $199;$210 = $$pre131; | |
| } | |
| $208 = (_i64Add(($206|0),($207|0),-1,-1)|0); | |
| $209 = tempRet0; | |
| $211 = ($210<<24>>24)!=(0); | |
| $212 = ($208|0)!=(0); | |
| $213 = ($209|0)!=(0); | |
| $214 = $212 | $213; | |
| $215 = $214 & $211; | |
| if ($215) { | |
| $$185121 = $$387;$200 = $210;$206 = $208;$207 = $209; | |
| } else { | |
| $$185$lcssa = $$387;$193 = $210; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$185$lcssa = $$084;$193 = $187; | |
| } | |
| $194 = ($193<<24>>24)!=(0); | |
| $195 = ($185|0)!=(0); | |
| $196 = ($186|0)!=(0); | |
| $197 = $195 | $196; | |
| $198 = $197 & $194; | |
| if ($198) { | |
| $$393119 = $$185$lcssa;$217 = $193;$223 = $185;$224 = $186; | |
| while(1) { | |
| $216 = ((($$393119)) + 1|0); | |
| $218 = ($217&255)>(191); | |
| if ($218) { | |
| $$494 = $216; | |
| while(1) { | |
| $219 = HEAP8[$$494>>0]|0; | |
| $220 = $219 & -64; | |
| $221 = ($220<<24>>24)==(-128); | |
| $222 = ((($$494)) + 1|0); | |
| if ($221) { | |
| $$494 = $222; | |
| } else { | |
| $$5 = $$494;$227 = $219; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$pre132 = HEAP8[$216>>0]|0; | |
| $$5 = $216;$227 = $$pre132; | |
| } | |
| $225 = (_i64Add(($223|0),($224|0),-1,-1)|0); | |
| $226 = tempRet0; | |
| $228 = ($227<<24>>24)!=(0); | |
| $229 = ($225|0)!=(0); | |
| $230 = ($226|0)!=(0); | |
| $231 = $229 | $230; | |
| $232 = $231 & $228; | |
| if ($232) { | |
| $$393119 = $$5;$217 = $227;$223 = $225;$224 = $226; | |
| } else { | |
| $$393$lcssa = $$5; | |
| break; | |
| } | |
| } | |
| } else { | |
| $$393$lcssa = $$185$lcssa; | |
| } | |
| $233 = $$393$lcssa; | |
| $234 = $$185$lcssa; | |
| $235 = (($233) - ($234))|0; | |
| $236 = ($235|0)<(0); | |
| if ($236) { | |
| $237 = ($0|0)==(0|0); | |
| if ($237) { | |
| return; | |
| } | |
| $238 = ((($0)) + 20|0); | |
| HEAP32[$238>>2] = 18; | |
| $239 = ((($0)) + 25|0); | |
| HEAP8[$239>>0] = 1; | |
| $240 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($240,18992,-1,1,0)|0); | |
| return; | |
| } else { | |
| $241 = HEAP32[$0>>2]|0; | |
| $242 = (_sqlite3VdbeMemSetStr($241,$$185$lcssa,$235,1,(-1))|0); | |
| $243 = ($242|0)==(18); | |
| if (!($243)) { | |
| return; | |
| } | |
| $244 = ((($0)) + 20|0); | |
| HEAP32[$244>>2] = 18; | |
| $245 = ((($0)) + 25|0); | |
| HEAP8[$245>>0] = 1; | |
| $246 = HEAP32[$0>>2]|0; | |
| (_sqlite3VdbeMemSetStr($246,18992,-1,1,0)|0); | |
| return; | |
| } | |
| } | |
| function _sumStep($0,$1,$2) { | |
| $0 = $0|0; | |
| $1 = $1|0; | |
| $2 = $2|0; | |
| var $$0$i = 0, $$0$i$i27 = 0.0, $$0$i23 = 0, $$idx$i$i = 0, $$idx$i$i25 = 0, $$idx$val$i$i = 0, $$idx$val$i$i26 = 0, $$idx5$i$i = 0, $$idx5$val$i$i = 0, $$idx6$i$i = 0, $$idx6$val$i$i = 0, $$idx8$i$i = 0, $$idx8$val$i$i = 0, $$idx9$i$i = 0, $$idx9$val$i$i = 0, $$pre$i = 0, $$sink$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.0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0.0; | |
| var $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 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.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, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, $or$cond = 0, $or$cond$i = 0, label = 0; | |
| var sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $3 = sp + 8|0; | |
| $4 = sp; | |
| $5 = ((($0)) + 8|0); | |
| $6 = HEAP32[$5>>2]|0; | |
| $7 = ((($6)) + 8|0); | |
| $8 = HEAP16[$7>>1]|0; | |
| $9 = $8 & 8192; | |
| $10 = ($9<<16>>16)==(0); | |
| if ($10) { | |
| $11 = (_createAggContext($0,32)|0); | |
| $$0$i = $11; | |
| } else { | |
| $12 = ((($6)) + 16|0); | |
| $13 = HEAP32[$12>>2]|0; | |
| $$0$i = $13; | |
| } | |
| $14 = HEAP32[$2>>2]|0; | |
| $15 = ((($14)) + 8|0); | |
| $16 = HEAP16[$15>>1]|0; | |
| $17 = $16 & 31; | |
| $18 = $17&65535; | |
| $19 = (19034 + ($18)|0); | |
| $20 = HEAP8[$19>>0]|0; | |
| $21 = $20&255; | |
| $22 = $18 | 16; | |
| $23 = ($22|0)==(18); | |
| if ($23) { | |
| $24 = ((($14)) + 10|0); | |
| $25 = HEAP8[$24>>0]|0; | |
| $26 = ((($14)) + 16|0); | |
| $27 = HEAP32[$26>>2]|0; | |
| $28 = ((($14)) + 12|0); | |
| $29 = HEAP32[$28>>2]|0; | |
| $30 = (_sqlite3AtoF($27,$3,$29,$25)|0); | |
| $31 = ($30|0)==(0); | |
| if ($31) { | |
| $$pre$i = HEAP16[$15>>1]|0; | |
| $52 = $$pre$i; | |
| } else { | |
| $32 = HEAP32[$26>>2]|0; | |
| $33 = HEAP32[$28>>2]|0; | |
| $34 = (_sqlite3Atoi64($32,$4,$33,$25)|0); | |
| $35 = ($34|0)==(0); | |
| $36 = HEAP16[$15>>1]|0; | |
| $37 = $36&65535; | |
| if ($35) { | |
| $38 = $4; | |
| $39 = $38; | |
| $40 = HEAP32[$39>>2]|0; | |
| $41 = (($38) + 4)|0; | |
| $42 = $41; | |
| $43 = HEAP32[$42>>2]|0; | |
| $44 = $14; | |
| $45 = $44; | |
| HEAP32[$45>>2] = $40; | |
| $46 = (($44) + 4)|0; | |
| $47 = $46; | |
| HEAP32[$47>>2] = $43; | |
| $$sink$i = 4; | |
| } else { | |
| $48 = +HEAPF64[$3>>3]; | |
| HEAPF64[$14>>3] = $48; | |
| $$sink$i = 8; | |
| } | |
| $49 = $$sink$i | $37; | |
| $50 = $49&65535; | |
| HEAP16[$15>>1] = $50; | |
| $52 = $50; | |
| } | |
| $51 = $52 & 31; | |
| $53 = $51&65535; | |
| $54 = (19034 + ($53)|0); | |
| $55 = HEAP8[$54>>0]|0; | |
| $56 = $55&255; | |
| $$0$i23 = $56; | |
| } else { | |
| $$0$i23 = $21; | |
| } | |
| $57 = ($$0$i|0)!=(0|0); | |
| $58 = ($$0$i23|0)!=(5); | |
| $or$cond = $57 & $58; | |
| if (!($or$cond)) { | |
| STACKTOP = sp;return; | |
| } | |
| $59 = ((($$0$i)) + 16|0); | |
| $60 = $59; | |
| $61 = $60; | |
| $62 = HEAP32[$61>>2]|0; | |
| $63 = (($60) + 4)|0; | |
| $64 = $63; | |
| $65 = HEAP32[$64>>2]|0; | |
| $66 = (_i64Add(($62|0),($65|0),1,0)|0); | |
| $67 = tempRet0; | |
| $68 = $59; | |
| $69 = $68; | |
| HEAP32[$69>>2] = $66; | |
| $70 = (($68) + 4)|0; | |
| $71 = $70; | |
| HEAP32[$71>>2] = $67; | |
| $72 = ($$0$i23|0)==(1); | |
| $73 = HEAP32[$2>>2]|0; | |
| $74 = ((($73)) + 8|0); | |
| $75 = HEAP16[$74>>1]|0; | |
| $76 = $75&65535; | |
| if (!($72)) { | |
| $145 = $76 & 8; | |
| $146 = ($145|0)==(0); | |
| do { | |
| if ($146) { | |
| $148 = $76 & 4; | |
| $149 = ($148|0)==(0); | |
| if (!($149)) { | |
| $150 = $73; | |
| $151 = $150; | |
| $152 = HEAP32[$151>>2]|0; | |
| $153 = (($150) + 4)|0; | |
| $154 = $153; | |
| $155 = HEAP32[$154>>2]|0; | |
| $156 = (+($152>>>0)) + (4294967296.0*(+($155|0))); | |
| $$0$i$i27 = $156; | |
| break; | |
| } | |
| $157 = $76 & 18; | |
| $158 = ($157|0)==(0); | |
| if ($158) { | |
| $$0$i$i27 = 0.0; | |
| } else { | |
| $$idx$i$i25 = ((($73)) + 10|0); | |
| $$idx$val$i$i26 = HEAP8[$$idx$i$i25>>0]|0; | |
| $$idx5$i$i = ((($73)) + 12|0); | |
| $$idx5$val$i$i = HEAP32[$$idx5$i$i>>2]|0; | |
| $$idx6$i$i = ((($73)) + 16|0); | |
| $$idx6$val$i$i = HEAP32[$$idx6$i$i>>2]|0; | |
| $159 = (+_memRealValue($$idx$val$i$i26,$$idx5$val$i$i,$$idx6$val$i$i)); | |
| $$0$i$i27 = $159; | |
| } | |
| } else { | |
| $147 = +HEAPF64[$73>>3]; | |
| $$0$i$i27 = $147; | |
| } | |
| } while(0); | |
| $160 = +HEAPF64[$$0$i>>3]; | |
| $161 = $$0$i$i27 + $160; | |
| HEAPF64[$$0$i>>3] = $161; | |
| $162 = ((($$0$i)) + 25|0); | |
| HEAP8[$162>>0] = 1; | |
| STACKTOP = sp;return; | |
| } | |
| $77 = $76 & 4; | |
| $78 = ($77|0)==(0); | |
| do { | |
| if ($78) { | |
| $85 = $76 & 8; | |
| $86 = ($85|0)==(0); | |
| if (!($86)) { | |
| $87 = +HEAPF64[$73>>3]; | |
| $88 = (_doubleToInt64($87)|0); | |
| $89 = tempRet0; | |
| $94 = $89;$95 = $88; | |
| break; | |
| } | |
| $90 = $76 & 18; | |
| $91 = ($90|0)==(0); | |
| if ($91) { | |
| $94 = 0;$95 = 0; | |
| } else { | |
| $$idx$i$i = ((($73)) + 10|0); | |
| $$idx$val$i$i = HEAP8[$$idx$i$i>>0]|0; | |
| $$idx8$i$i = ((($73)) + 12|0); | |
| $$idx8$val$i$i = HEAP32[$$idx8$i$i>>2]|0; | |
| $$idx9$i$i = ((($73)) + 16|0); | |
| $$idx9$val$i$i = HEAP32[$$idx9$i$i>>2]|0; | |
| $92 = (_memIntValue($$idx$val$i$i,$$idx8$val$i$i,$$idx9$val$i$i)|0); | |
| $93 = tempRet0; | |
| $94 = $93;$95 = $92; | |
| } | |
| } else { | |
| $79 = $73; | |
| $80 = $79; | |
| $81 = HEAP32[$80>>2]|0; | |
| $82 = (($79) + 4)|0; | |
| $83 = $82; | |
| $84 = HEAP32[$83>>2]|0; | |
| $94 = $84;$95 = $81; | |
| } | |
| } while(0); | |
| $96 = (+($95>>>0)) + (4294967296.0*(+($94|0))); | |
| $97 = +HEAPF64[$$0$i>>3]; | |
| $98 = $97 + $96; | |
| HEAPF64[$$0$i>>3] = $98; | |
| $99 = ((($$0$i)) + 25|0); | |
| $100 = HEAP8[$99>>0]|0; | |
| $101 = ((($$0$i)) + 24|0); | |
| $102 = HEAP8[$101>>0]|0; | |
| $103 = $102 | $100; | |
| $104 = ($103<<24>>24)==(0); | |
| if (!($104)) { | |
| STACKTOP = sp;return; | |
| } | |
| $105 = ((($$0$i)) + 8|0); | |
| $106 = $105; | |
| $107 = $106; | |
| $108 = HEAP32[$107>>2]|0; | |
| $109 = (($106) + 4)|0; | |
| $110 = $109; | |
| $111 = HEAP32[$110>>2]|0; | |
| $112 = ($94|0)>(-1); | |
| $113 = ($95>>>0)>(4294967295); | |
| $114 = ($94|0)==(-1); | |
| $115 = $114 & $113; | |
| $116 = $112 | $115; | |
| if ($116) { | |
| $117 = ($111|0)>(0); | |
| $118 = ($108>>>0)>(0); | |
| $119 = ($111|0)==(0); | |
| $120 = $119 & $118; | |
| $121 = $117 | $120; | |
| $122 = (_i64Subtract(-1,2147483647,($108|0),($111|0))|0); | |
| $123 = tempRet0; | |
| $124 = ($123|0)<($94|0); | |
| $125 = ($122>>>0)<($95>>>0); | |
| $126 = ($123|0)==($94|0); | |
| $127 = $126 & $125; | |
| $128 = $124 | $127; | |
| $or$cond$i = $121 & $128; | |
| if ($or$cond$i) { | |
| label = 26; | |
| } else { | |
| label = 25; | |
| } | |
| } else { | |
| $129 = ($111|0)<(0); | |
| if ($129) { | |
| $130 = (_i64Subtract(1,-2147483648,($108|0),($111|0))|0); | |
| $131 = tempRet0; | |
| $132 = (_i64Add(($95|0),($94|0),1,0)|0); | |
| $133 = tempRet0; | |
| $134 = ($131|0)>($133|0); | |
| $135 = ($130>>>0)>($132>>>0); | |
| $136 = ($131|0)==($133|0); | |
| $137 = $136 & $135; | |
| $138 = $134 | $137; | |
| if ($138) { | |
| label = 26; | |
| } else { | |
| label = 25; | |
| } | |
| } else { | |
| label = 25; | |
| } | |
| } | |
| if ((label|0) == 25) { | |
| $139 = (_i64Add(($108|0),($111|0),($95|0),($94|0))|0); | |
| $140 = tempRet0; | |
| $141 = $105; | |
| $142 = $141; | |
| HEAP32[$142>>2] = $139; | |
| $143 = (($141) + 4)|0; | |
| $144 = $143; | |
| HEAP32[$144>>2] = $140; | |
| STACKTOP = sp;return; | |
| } | |
| else if ((label|0) == 26) { | |
| HEAP8[$101>>0] = 1; | |
| STACKTOP = sp;return; | |
| } | |
| } | |
| function _sumFinalize($0) { | |
| $0 = $0|0; | |
| var $$0$$0$$0$$0$$0$$i$i$i = 0.0, $$0$$0$$0$$0$$0$2$i$i$i = 0.0, $$0$$0$$0$$0$$0$3$i$i$i = 0.0, $$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, $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.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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
| var label = 0, sp = 0; | |
| sp = STACKTOP; | |
| STACKTOP = STACKTOP + 16|0; | |
| $1 = sp + 8|0; | |
| $2 = sp; | |
| $3 = ((($0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment